diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 00000000..cc0f1186 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,73 @@ +module.exports = { + env: { + browser: true, + commonjs: true, + es2017: true, + node: true, + }, + extends: [ + "eslint:recommended", + "plugin:vue/vue3-recommended", + ], + parserOptions: { + ecmaVersion: 2018, + sourceType: "module", + }, + rules: { + // override/add rules settings here, such as: + // 'vue/no-unused-vars': 'error' + indent: ["error", 4], + quotes: ["warn", "double"], + //semi: ['off', 'never'], + "vue/html-indent": ["warn", 4], // default: 2 + "vue/max-attributes-per-line": "off", + "no-multi-spaces": ["error", { + ignoreEOLComments: true, + }], + "curly": "error", + "object-curly-spacing": ["error", "always"], + "object-curly-newline": ["error", { + "ObjectExpression": { + "minProperties": 1, + }, + "ObjectPattern": { + "multiline": true, + "minProperties": 2, + }, + "ImportDeclaration": { + "multiline": true, + }, + "ExportDeclaration": { + "multiline": true, + //'minProperties': 2, + }, + }], + "object-property-newline": "error", + "comma-spacing": "error", + "brace-style": "error", + "no-var": "error", + "key-spacing": "warn", + "keyword-spacing": "warn", + "space-infix-ops": "warn", + "arrow-spacing": "warn", + "no-trailing-spaces": "warn", + "space-before-blocks": "warn", + //'no-console': 'warn', + "no-extra-boolean-cast": "off", + "no-multiple-empty-lines": ["warn", { + "max": 1, + "maxBOF": 0, + }], + "lines-between-class-members": ["warn", "always", { + exceptAfterSingleLine: true, + }], + "no-unneeded-ternary": "error", + "no-else-return": ["error", { + "allowElseIf": false, + }], + "array-bracket-newline": ["error", "consistent"], + "eol-last": ["error", "always"], + //'prefer-template': 'error', + "comma-dangle": ["warn", "always-multiline"], + }, +} diff --git a/.stylelintrc b/.stylelintrc new file mode 100644 index 00000000..4d3d9d1f --- /dev/null +++ b/.stylelintrc @@ -0,0 +1,3 @@ +{ + "extends": "stylelint-config-recommended", +} diff --git a/package.json b/package.json index d4fe6888..7069e3ed 100644 --- a/package.json +++ b/package.json @@ -45,11 +45,16 @@ "vue-toastification": "^2.0.0-rc.1" }, "devDependencies": { - "@vitejs/plugin-legacy": "^1.4.4", - "@vitejs/plugin-vue": "^1.2.5", + "@vitejs/plugin-legacy": "^1.5.0", + "@vitejs/plugin-vue": "^1.3.0", "@vue/compiler-sfc": "^3.1.5", "core-js": "^3.15.2", - "sass": "^1.35.2", - "vite": "^2.4.2" + "eslint": "^7.31.0", + "eslint-plugin-vue": "^7.14.0", + "sass": "^1.36.0", + "stylelint": "^13.13.1", + "stylelint-config-recommended": "^5.0.0", + "stylelint-config-standard": "^22.0.0", + "vite": "^2.4.4" } }