chore(deps): declare eslint config deps, eslint-plugin-n 18

eslint.config.js imports @eslint/js and globals but neither was declared;
both resolved transitively through eslint. Declaring them fixes a latent
break and is a prerequisite for ESLint 10, which stops providing them.

ESLint 10 itself is not taken. eslint-plugin-react 7.37.5 is the latest
release and peers at eslint "^3 || ... || ^9.7", and under 10 every rule
load throws "contextOrFilename.getFilename is not a function" because
ESLint 10 removed context.getFilename(). The frontend stays on eslint 9
until that ships; note npm already marks 9.x as no longer supported.

eslint-plugin-n goes to 18, though the flat config does not reference it
(nor eslint-plugin-import, eslint-plugin-promise or eslint-config-prettier
-- all four are unused devDependencies).

Lint output unchanged from baseline.
This commit is contained in:
Alex committed 2026-09-12 19:32:49 +01:00
1 parent 05d9338983
commit def32a44fc
2 files changed
+38 -35

No files matched your search

+35 -34
View File
@@ -47,6 +47,7 @@
"tailwind-merge": "^3.6.0"
},
"devDependencies": {
"@eslint/js": "^9.39.5",
"@tailwindcss/postcss": "^4.3.3",
"@types/d3-force": "^3.0.10",
"@types/lodash": "^4.17.25",
@@ -59,11 +60,12 @@
"eslint": "^9.39.5",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-n": "^17.24.0",
"eslint-plugin-n": "^18.3.0",
"eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-promise": "^7.3.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-unused-imports": "^4.4.1",
"globals": "^17.12.0",
"happy-dom": "^20.14.5",
"husky": "^9.1.7",
"lint-staged": "^17.5.1",
@@ -583,6 +585,19 @@
"concat-map": "0.0.1"
}
},
"node_modules/@eslint/eslintrc/node_modules/globals": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@eslint/eslintrc/node_modules/ignore": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
@@ -6233,9 +6248,9 @@
}
},
"node_modules/eslint-plugin-n": {
"version": "17.24.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.24.0.tgz",
"integrity": "sha512-/gC7/KAYmfNnPNOb3eu8vw+TdVnV0zhdQwexsw6FLXbhzroVj20vRn2qL8lDWDGnAQ2J8DhdfvXxX9EoxvERvw==",
"version": "18.3.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-18.3.0.tgz",
"integrity": "sha512-cPVguuDe6DrIPb/qUXHf8P89MaVTUmiYWwpt5gX5AILsvRIiZAxMFXcFR6QHYBksqKJpjfUBlL/RleCJUWcD7w==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -6246,17 +6261,26 @@
"globals": "^15.11.0",
"globrex": "^0.1.2",
"ignore": "^5.3.2",
"semver": "^7.6.3",
"ts-declaration-location": "^1.0.6"
"semver": "^7.6.3"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
"node": "^20.19.0 || ^22.13.0 || >=24"
},
"funding": {
"url": "https://opencollective.com/eslint"
},
"peerDependencies": {
"eslint": ">=8.23.0"
"eslint": ">=8.57.1",
"ts-declaration-location": "^1.0.6",
"typescript": ">=5.0.0"
},
"peerDependenciesMeta": {
"ts-declaration-location": {
"optional": true
},
"typescript": {
"optional": true
}
}
},
"node_modules/eslint-plugin-n/node_modules/globals": {
@@ -6971,9 +6995,9 @@
}
},
"node_modules/globals": {
"version": "14.0.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
"version": "17.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-17.12.0.tgz",
"integrity": "sha512-cezEd/DTyyht9cvSSURyygXPfy04GtWO/5e6ZPvH7fCtjKz9PYOmuawphw1Ctd1f6C+5JypXfGD7ahNMXvevBA==",
"dev": true,
"license": "MIT",
"engines": {
@@ -11589,29 +11613,6 @@
"typescript": ">=4.8.4"
}
},
"node_modules/ts-declaration-location": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz",
"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==",
"dev": true,
"funding": [
{
"type": "ko-fi",
"url": "https://ko-fi.com/rebeccastevens"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/ts-declaration-location"
}
],
"license": "BSD-3-Clause",
"dependencies": {
"picomatch": "^4.0.2"
},
"peerDependencies": {
"typescript": ">=4.0.0"
}
},
"node_modules/ts-dedent": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.3.0.tgz",
+3 -1
View File
@@ -63,6 +63,7 @@
"tailwind-merge": "^3.6.0"
},
"devDependencies": {
"@eslint/js": "^9.39.5",
"@tailwindcss/postcss": "^4.3.3",
"@types/d3-force": "^3.0.10",
"@types/lodash": "^4.17.25",
@@ -75,11 +76,12 @@
"eslint": "^9.39.5",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-n": "^17.24.0",
"eslint-plugin-n": "^18.3.0",
"eslint-plugin-prettier": "^5.5.6",
"eslint-plugin-promise": "^7.3.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-unused-imports": "^4.4.1",
"globals": "^17.12.0",
"happy-dom": "^20.14.5",
"husky": "^9.1.7",
"lint-staged": "^17.5.1",