// .eslintrc.cjs module.exports = { root: true, env: { node: true, es2021: true, }, globals: { uni: 'readonly', wx: 'readonly', my: 'readonly', plus: 'readonly', getApp: 'readonly', getCurrentPages: 'readonly', }, parser: 'vue-eslint-parser', parserOptions: { parser: '@typescript-eslint/parser', ecmaVersion: 'latest', sourceType: 'module', extraFileExtensions: ['.vue'], }, plugins: ['vue', '@typescript-eslint', 'simple-import-sort'], extends: [ 'eslint:recommended', 'plugin:vue/vue3-essential', 'plugin:@typescript-eslint/recommended', 'prettier', ], ignorePatterns: ['dist/', 'dist-ssr/', 'coverage/', 'node_modules/'], rules: { /* ========= Vue ========= */ 'vue/multi-word-component-names': 'off', /* ========= TypeScript ========= */ '@typescript-eslint/no-explicit-any': 'off', '@typescript-eslint/no-unused-vars': ['warn', { argsIgnorePattern: '^_' }], /* ========= Import Sort(核心) ========= */ 'simple-import-sort/imports': [ 'error', { groups: [ // 1. Vue / 框架核心 ['^vue$', '^vue-router$', '^pinia$'], // 2. 其他第三方依赖 ['^@?\\w'], // 3. 项目基础设施 ['^@/(lib|plugins|config|themes|styles)(/.*)?$'], // 4. services ['^@/services(/.*)?$'], // 5. 状态 / composables ['^@/(stores|composables)(/.*)?$'], // 6. utils / validators / constants / types ['^@/(utils|validators|constants|types)(/.*)?$'], // 7. components / pages ['^@/(components|pages)(/.*)?$'], // 8. 相对路径 ['^\\.'], // 9. 样式 ['^.+\\.s?css$'], ], }, ], 'simple-import-sort/exports': 'error', 'no-undef': 'off', }, }