module.exports = { env: { node: true, browser: true, es2021: true, }, globals: { describe: true, it: true, expect: true, beforeEach: true, }, extends: [ 'eslint-config-tencent', 'eslint-config-tencent/ts', 'plugin:vue/vue3-essential', './prettier.cjs', ], parser: 'vue-eslint-parser', parserOptions: { ecmaVersion: 12, parser: '@typescript-eslint/parser', extraFileExtensions: ['.vue'], sourceType: 'module', }, plugins: [ 'vue', '@typescript-eslint', 'simple-import-sort' ], ignorePatterns: ['.eslintrc.cjs'], rules: { 'vue/no-mutating-props': 'off', 'vue/multi-word-component-names': 'off', 'no-param-reassign': 'off', '@typescript-eslint/naming-convention': 'off', '@typescript-eslint/no-require-imports': 'off', "@typescript-eslint/no-misused-promises": [ "error", { "checksVoidReturn": false } ], 'simple-import-sort/imports': [ "error", { groups: [ ['./polyfills'], // Node.js builtins. You could also generate this regex if you use a `.js` config. // For example: `^(${require("module").builtinModules.join("|")})(/|$)` [ "^(assert|buffer|child_process|cluster|console|constants|crypto|dgram|dns|domain|events|fs|http|https|module|net|os|path|punycode|querystring|readline|repl|stream|string_decoder|sys|timers|tls|tty|url|util|vm|zlib|freelist|v8|process|async_hooks|http2|perf_hooks)(/.*|$)", ], ["^(node)(:.*|$)"], // Packages. `react|vue` related packages come first. ["^(react|vue|vite)", "^@?\\w"], ["^(@tmagic)(/.*|$)"], // Internal packages. ["^(@|@editor|@data-source)(/.*|$)"], // Side effect imports. ["^\\u0000"], // Parent imports. Put `..` last. ["^\\.\\.(?!/?$)", "^\\.\\./?$"], // Other relative imports. Put same-folder imports and `.` last. ["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"], // Style imports. ["^.+\\.s?css$"], ], } ] }, };