| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- // .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',
- },
- }
|