diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000000000000000000000000000000000000..ff2ba5584efa89dfa6fa80daa55f3f39e9fcdee4 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,9 @@ +module.exports = { + extends: [ + 'plugin:vue/strongly-recommended', + ], + rules: { + // override/add rules settings here, such as: + // 'vue/no-unused-vars': 'error' + } +} diff --git a/.stylelintrc.json b/.stylelintrc.json new file mode 100644 index 0000000000000000000000000000000000000000..40db42c6689bd157e91cec65fda28693350b6332 --- /dev/null +++ b/.stylelintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "stylelint-config-standard" +} diff --git a/package.json b/package.json index dc5e529f56a729a9c7e11a057d3e95c5e91bf31e..3e3423dc9a8cdeb2436849dca17e35e482e90a95 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,15 @@ { "devDependencies": { "css-loader": "^6.7.1", - "vue-style-loader": "^4.1.3", + "eslint": "^8.20.0", + "eslint-plugin-vue": "^9.2.0", + "eslint-webpack-plugin": "^3.2.0", "sass-loader": "^8.0", + "stylelint": "^13.0", + "stylelint-config-standard": "^22.0.0", + "stylelint-webpack-plugin": "^3.3.0", "vue-loader": "^15.0.0", + "vue-style-loader": "^4.1.3", "vue-template-compiler": "^2.7.7", "webpack": "^5.73.0", "webpack-bundle-tracker": "^1.6.0", diff --git a/webpack.config.js b/webpack.config.js index 7c690833fea4762a4b86394701c2dafbaf01c6f7..b15388b8b8c620e20cddfd362c9b274aa8486970 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,7 +1,9 @@ const path = require('path'); const webpack = require('webpack'); -const BundleTracker = require('webpack-bundle-tracker') -const { VueLoaderPlugin } = require('vue-loader') +const BundleTracker = require('webpack-bundle-tracker'); +const { VueLoaderPlugin } = require('vue-loader'); +const ESLintPlugin = require('eslint-webpack-plugin'); +const StyleLintPlugin = require('stylelint-webpack-plugin'); module.exports = { context: __dirname, @@ -19,6 +21,12 @@ module.exports = { plugins: [ new BundleTracker({filename: './webpack-stats.json'}), new VueLoaderPlugin(), + new ESLintPlugin({ + extensions: ["js", "vue"], + }), + new StyleLintPlugin({ + files: ['assets/**/*.{vue,htm,html,css,sss,less,scss,sass}'], + }), ], module: { rules: [