chore(tooling): add 15 missing direct ESLint deps + Cursor settings cleanup
Surfaced during WS-3 1c-prep follow-up: Cursor's ESLint extension uses
strict module resolution and crashed on every plugin in the
@antfu/eslint-config-vue extends-chain that was only resolvable via
pnpm-hoisting in terminal.
Direct deps added (versions match what was already in pnpm store —
zero version shifts):
- 12 unscoped ESLint plugins (eslint-plugin-{antfu,es-x,html,i,jest,
jsdoc,jsonc,markdown,n,no-only-tests,unused-imports,yml,
eslint-comments})
- vue-eslint-parser
- @antfu/eslint-config-basic + @antfu/eslint-config-ts (extends targets)
- @stylistic/eslint-plugin-js + @stylistic/eslint-plugin-ts
.vscode/settings.json: removed redundant root-level
editor.defaultFormatter (per-language overrides do the job).
ESLint extension now activates correctly, server runs, save-on-format
works for TS/Vue files. Verified via smoke test: double quote in
useImpersonationStore.ts:1 was auto-corrected to single quote on Cmd+S.
Note: package.json declares some deprecated dependencies that pnpm
warns about (@antfu/eslint-config-vue@0.43.1, eslint@8.57.1,
eslint-plugin-i@2.28.1, eslint-plugin-markdown@3.0.1). Those are
pre-existing — not introduced here. Migration to ESLint v9 + flat
config + @antfu/eslint-config (modern) is a separate workstream.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
36
.vscode/settings.json
vendored
36
.vscode/settings.json
vendored
@@ -1,57 +1,61 @@
|
||||
{
|
||||
"editor.formatOnSave": true,
|
||||
"editor.tabSize": 2,
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint",
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit"
|
||||
},
|
||||
|
||||
"eslint.format.enable": true,
|
||||
"eslint.validate": [
|
||||
"javascriptreact",
|
||||
"typescriptreact",
|
||||
"javascript",
|
||||
"typescript",
|
||||
"vue"
|
||||
"vue",
|
||||
"html"
|
||||
],
|
||||
"eslint.useFlatConfig": false,
|
||||
"eslint.nodePath": "apps/app/node_modules",
|
||||
"eslint.run": "onSave",
|
||||
"eslint.workingDirectories": [
|
||||
{ "directory": "apps/admin", "changeProcessCWD": true },
|
||||
{ "directory": "apps/app", "changeProcessCWD": true },
|
||||
{ "directory": "apps/portal", "changeProcessCWD": true }
|
||||
{
|
||||
"directory": "apps/admin",
|
||||
"changeProcessCWD": true
|
||||
},
|
||||
{
|
||||
"directory": "apps/app",
|
||||
"changeProcessCWD": true
|
||||
},
|
||||
{
|
||||
"directory": "apps/portal",
|
||||
"changeProcessCWD": true
|
||||
}
|
||||
],
|
||||
|
||||
"prettier.enable": false,
|
||||
|
||||
"[php]": {
|
||||
"editor.defaultFormatter": "bmewburn.vscode-intelephense-client",
|
||||
"editor.tabSize": 4
|
||||
},
|
||||
|
||||
"[typescript]": {
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
|
||||
},
|
||||
|
||||
"[typescriptreact]": {
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
|
||||
},
|
||||
|
||||
"[javascript]": {
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
|
||||
},
|
||||
|
||||
"[vue]": {
|
||||
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
|
||||
},
|
||||
|
||||
"typescript.preferences.importModuleSpecifier": "relative",
|
||||
"typescript.suggest.autoImports": true,
|
||||
|
||||
"files.associations": {
|
||||
"*.php": "php",
|
||||
".env*": "dotenv"
|
||||
},
|
||||
|
||||
"search.exclude": {
|
||||
"**/node_modules": true,
|
||||
"**/vendor": true,
|
||||
"**/dist": true
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -63,6 +63,8 @@
|
||||
"zod": "3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@antfu/eslint-config-basic": "0.43.1",
|
||||
"@antfu/eslint-config-ts": "0.43.1",
|
||||
"@antfu/eslint-config-vue": "0.43.1",
|
||||
"@antfu/utils": "0.7.10",
|
||||
"@fullcalendar/core": "6.1.19",
|
||||
@@ -79,6 +81,8 @@
|
||||
"@iconify/utils": "2.3.0",
|
||||
"@iconify/vue": "4.1.2",
|
||||
"@intlify/unplugin-vue-i18n": "11.0.1",
|
||||
"@stylistic/eslint-plugin-js": "0.0.4",
|
||||
"@stylistic/eslint-plugin-ts": "0.0.4",
|
||||
"@stylistic/stylelint-config": "1.0.1",
|
||||
"@stylistic/stylelint-plugin": "2.1.3",
|
||||
"@testing-library/vue": "^8.1.0",
|
||||
@@ -101,13 +105,26 @@
|
||||
"eslint": "8.57.1",
|
||||
"eslint-config-airbnb-base": "15.0.0",
|
||||
"eslint-import-resolver-typescript": "3.10.1",
|
||||
"eslint-plugin-antfu": "0.43.1",
|
||||
"eslint-plugin-case-police": "0.6.1",
|
||||
"eslint-plugin-es-x": "7.8.0",
|
||||
"eslint-plugin-eslint-comments": "3.2.0",
|
||||
"eslint-plugin-html": "7.1.0",
|
||||
"eslint-plugin-i": "2.28.1",
|
||||
"eslint-plugin-import": "2.32.0",
|
||||
"eslint-plugin-jest": "27.9.0",
|
||||
"eslint-plugin-jsdoc": "46.10.1",
|
||||
"eslint-plugin-jsonc": "2.21.0",
|
||||
"eslint-plugin-markdown": "3.0.1",
|
||||
"eslint-plugin-n": "16.6.2",
|
||||
"eslint-plugin-no-only-tests": "3.3.0",
|
||||
"eslint-plugin-promise": "6.6.0",
|
||||
"eslint-plugin-regex": "1.10.0",
|
||||
"eslint-plugin-sonarjs": "0.24.0",
|
||||
"eslint-plugin-unicorn": "51.0.1",
|
||||
"eslint-plugin-unused-imports": "3.2.0",
|
||||
"eslint-plugin-vue": "9.33.0",
|
||||
"eslint-plugin-yml": "1.19.0",
|
||||
"happy-dom": "^20.9.0",
|
||||
"msw": "2.6.8",
|
||||
"postcss-html": "1.8.0",
|
||||
@@ -130,6 +147,7 @@
|
||||
"vite-plugin-vuetify": "2.1.2",
|
||||
"vite-svg-loader": "5.1.0",
|
||||
"vitest": "^4.1.5",
|
||||
"vue-eslint-parser": "9.4.3",
|
||||
"vue-shepherd": "3.0.0",
|
||||
"vue-tsc": "3.1.2"
|
||||
},
|
||||
|
||||
94
apps/app/pnpm-lock.yaml
generated
94
apps/app/pnpm-lock.yaml
generated
@@ -145,6 +145,12 @@ importers:
|
||||
specifier: '3'
|
||||
version: 3.25.76
|
||||
devDependencies:
|
||||
'@antfu/eslint-config-basic':
|
||||
specifier: 0.43.1
|
||||
version: 0.43.1(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)(typescript@5.9.3)
|
||||
'@antfu/eslint-config-ts':
|
||||
specifier: 0.43.1
|
||||
version: 0.43.1(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)(typescript@5.9.3)
|
||||
'@antfu/eslint-config-vue':
|
||||
specifier: 0.43.1
|
||||
version: 0.43.1(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)(typescript@5.9.3)
|
||||
@@ -193,6 +199,12 @@ importers:
|
||||
'@intlify/unplugin-vue-i18n':
|
||||
specifier: 11.0.1
|
||||
version: 11.0.1(@vue/compiler-dom@3.5.22)(eslint@8.57.1)(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@11.1.12(vue@3.5.22(typescript@5.9.3)))(vue@3.5.22(typescript@5.9.3))
|
||||
'@stylistic/eslint-plugin-js':
|
||||
specifier: 0.0.4
|
||||
version: 0.0.4
|
||||
'@stylistic/eslint-plugin-ts':
|
||||
specifier: 0.0.4
|
||||
version: 0.0.4(eslint@8.57.1)(typescript@5.9.3)
|
||||
'@stylistic/stylelint-config':
|
||||
specifier: 1.0.1
|
||||
version: 1.0.1(stylelint@16.8.0(typescript@5.9.3))
|
||||
@@ -259,12 +271,45 @@ importers:
|
||||
eslint-import-resolver-typescript:
|
||||
specifier: 3.10.1
|
||||
version: 3.10.1(eslint-plugin-import@2.32.0)(eslint@8.57.1)
|
||||
eslint-plugin-antfu:
|
||||
specifier: 0.43.1
|
||||
version: 0.43.1(eslint@8.57.1)(typescript@5.9.3)
|
||||
eslint-plugin-case-police:
|
||||
specifier: 0.6.1
|
||||
version: 0.6.1(eslint@8.57.1)(typescript@5.9.3)
|
||||
eslint-plugin-es-x:
|
||||
specifier: 7.8.0
|
||||
version: 7.8.0(eslint@8.57.1)
|
||||
eslint-plugin-eslint-comments:
|
||||
specifier: 3.2.0
|
||||
version: 3.2.0(eslint@8.57.1)
|
||||
eslint-plugin-html:
|
||||
specifier: 7.1.0
|
||||
version: 7.1.0
|
||||
eslint-plugin-i:
|
||||
specifier: 2.28.1
|
||||
version: 2.28.1(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
|
||||
eslint-plugin-import:
|
||||
specifier: 2.32.0
|
||||
version: 2.32.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@8.57.1)
|
||||
eslint-plugin-jest:
|
||||
specifier: 27.9.0
|
||||
version: 27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
|
||||
eslint-plugin-jsdoc:
|
||||
specifier: 46.10.1
|
||||
version: 46.10.1(eslint@8.57.1)
|
||||
eslint-plugin-jsonc:
|
||||
specifier: 2.21.0
|
||||
version: 2.21.0(eslint@8.57.1)
|
||||
eslint-plugin-markdown:
|
||||
specifier: 3.0.1
|
||||
version: 3.0.1(eslint@8.57.1)
|
||||
eslint-plugin-n:
|
||||
specifier: 16.6.2
|
||||
version: 16.6.2(eslint@8.57.1)
|
||||
eslint-plugin-no-only-tests:
|
||||
specifier: 3.3.0
|
||||
version: 3.3.0
|
||||
eslint-plugin-promise:
|
||||
specifier: 6.6.0
|
||||
version: 6.6.0(eslint@8.57.1)
|
||||
@@ -277,9 +322,15 @@ importers:
|
||||
eslint-plugin-unicorn:
|
||||
specifier: 51.0.1
|
||||
version: 51.0.1(eslint@8.57.1)
|
||||
eslint-plugin-unused-imports:
|
||||
specifier: 3.2.0
|
||||
version: 3.2.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)
|
||||
eslint-plugin-vue:
|
||||
specifier: 9.33.0
|
||||
version: 9.33.0(eslint@8.57.1)
|
||||
eslint-plugin-yml:
|
||||
specifier: 1.19.0
|
||||
version: 1.19.0(eslint@8.57.1)
|
||||
happy-dom:
|
||||
specifier: ^20.9.0
|
||||
version: 20.9.0
|
||||
@@ -346,6 +397,9 @@ importers:
|
||||
vitest:
|
||||
specifier: ^4.1.5
|
||||
version: 4.1.5(@types/node@24.9.2)(happy-dom@20.9.0)(msw@2.6.8(@types/node@24.9.2)(typescript@5.9.3))(vite@7.1.12(@types/node@24.9.2)(sass@1.76.0)(tsx@4.20.6)(yaml@2.8.1))
|
||||
vue-eslint-parser:
|
||||
specifier: 9.4.3
|
||||
version: 9.4.3(eslint@8.57.1)
|
||||
vue-shepherd:
|
||||
specifier: 3.0.0
|
||||
version: 3.0.0(vue@3.5.22(typescript@5.9.3))
|
||||
@@ -6529,7 +6583,7 @@ snapshots:
|
||||
graphemer: 1.4.0
|
||||
ignore: 5.3.2
|
||||
natural-compare: 1.4.0
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
ts-api-utils: 1.4.3(typescript@5.9.3)
|
||||
optionalDependencies:
|
||||
typescript: 5.9.3
|
||||
@@ -6667,7 +6721,7 @@ snapshots:
|
||||
globby: 11.1.0
|
||||
is-glob: 4.0.3
|
||||
minimatch: 9.0.3
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
ts-api-utils: 1.4.3(typescript@5.9.3)
|
||||
optionalDependencies:
|
||||
typescript: 5.9.3
|
||||
@@ -6729,7 +6783,7 @@ snapshots:
|
||||
'@typescript-eslint/types': 6.21.0
|
||||
'@typescript-eslint/typescript-estree': 6.21.0(typescript@5.9.3)
|
||||
eslint: 8.57.1
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
@@ -7305,7 +7359,7 @@ snapshots:
|
||||
|
||||
builtins@5.1.0:
|
||||
dependencies:
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
|
||||
bundle-name@4.1.0:
|
||||
dependencies:
|
||||
@@ -7835,12 +7889,12 @@ snapshots:
|
||||
eslint-compat-utils@0.5.1(eslint@8.57.1):
|
||||
dependencies:
|
||||
eslint: 8.57.1
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
|
||||
eslint-compat-utils@0.6.5(eslint@8.57.1):
|
||||
dependencies:
|
||||
eslint: 8.57.1
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
|
||||
eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.32.0)(eslint@8.57.1):
|
||||
dependencies:
|
||||
@@ -8031,6 +8085,16 @@ snapshots:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3):
|
||||
dependencies:
|
||||
'@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3)
|
||||
eslint: 8.57.1
|
||||
optionalDependencies:
|
||||
'@typescript-eslint/eslint-plugin': 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
- typescript
|
||||
|
||||
eslint-plugin-jsdoc@46.10.1(eslint@8.57.1):
|
||||
dependencies:
|
||||
'@es-joy/jsdoccomment': 0.41.0
|
||||
@@ -8041,7 +8105,7 @@ snapshots:
|
||||
eslint: 8.57.1
|
||||
esquery: 1.6.0
|
||||
is-builtin-module: 3.2.1
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
spdx-expression-parse: 4.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
@@ -8074,14 +8138,14 @@ snapshots:
|
||||
builtins: 5.1.0
|
||||
eslint: 8.57.1
|
||||
eslint-plugin-es-x: 7.8.0(eslint@8.57.1)
|
||||
get-tsconfig: 4.13.0
|
||||
get-tsconfig: 4.13.7
|
||||
globals: 13.24.0
|
||||
ignore: 5.3.2
|
||||
is-builtin-module: 3.2.1
|
||||
is-core-module: 2.16.1
|
||||
minimatch: 3.1.2
|
||||
resolve: 1.22.11
|
||||
semver: 7.7.3
|
||||
minimatch: 3.1.5
|
||||
resolve: 1.22.12
|
||||
semver: 7.7.4
|
||||
|
||||
eslint-plugin-no-only-tests@3.3.0: {}
|
||||
|
||||
@@ -8124,7 +8188,7 @@ snapshots:
|
||||
read-pkg-up: 7.0.1
|
||||
regexp-tree: 0.1.27
|
||||
regjsparser: 0.10.0
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
strip-indent: 3.0.0
|
||||
|
||||
eslint-plugin-unicorn@51.0.1(eslint@8.57.1):
|
||||
@@ -8498,7 +8562,7 @@ snapshots:
|
||||
fs.realpath: 1.0.0
|
||||
inflight: 1.0.6
|
||||
inherits: 2.0.4
|
||||
minimatch: 3.1.2
|
||||
minimatch: 3.1.5
|
||||
once: 1.4.0
|
||||
path-is-absolute: 1.0.1
|
||||
|
||||
@@ -9176,7 +9240,7 @@ snapshots:
|
||||
normalize-package-data@2.5.0:
|
||||
dependencies:
|
||||
hosted-git-info: 2.8.9
|
||||
resolve: 1.22.11
|
||||
resolve: 1.22.12
|
||||
semver: 5.7.2
|
||||
validate-npm-package-license: 3.0.4
|
||||
|
||||
@@ -10683,7 +10747,7 @@ snapshots:
|
||||
espree: 9.6.1
|
||||
esquery: 1.6.0
|
||||
lodash: 4.17.21
|
||||
semver: 7.7.3
|
||||
semver: 7.7.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
|
||||
|
||||
Reference in New Issue
Block a user