diff --git a/apps/website/eslint.config.mjs b/apps/website/eslint.config.mjs index afe2c241f..d83a5e66d 100644 --- a/apps/website/eslint.config.mjs +++ b/apps/website/eslint.config.mjs @@ -1,9 +1,25 @@ +import nextPlugin from "@next/eslint-plugin-next"; import nextConfig from "@dxc-technology/eslint-config/next.js"; -import { fileURLToPath } from "url"; -import { dirname } from "path"; +import js from "@eslint/js"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; const __filename = fileURLToPath(import.meta.url); -const __dirname = dirname(__filename); +const __dirname = path.dirname(__filename); -/** @type {import("eslint").Config[]} */ -export default [{ ignores: ["out/**", ".next/**", "eslint.config.mjs"] }, ...nextConfig({ tsconfigRootDir: __dirname })]; +export default [ + js.configs.recommended, + { + plugins: { "@next/next": nextPlugin }, + rules: { + ...nextPlugin.configs.recommended.rules, + }, + }, + ...nextConfig({ + tsconfigRootDir: __dirname, + tsconfigName: "tsconfig.lint.json", + }), + { + ignores: ["out/**", ".next/**"], + }, +]; diff --git a/apps/website/package.json b/apps/website/package.json index d4b7466d1..e686a7207 100644 --- a/apps/website/package.json +++ b/apps/website/package.json @@ -29,12 +29,13 @@ }, "devDependencies": { "@dxc-technology/typescript-config": "*", + "@eslint/js": "^9.31.1", "@types/node": "^20", "@types/react": "^18", "@types/react-color": "^3.0.6", "@types/react-dom": "^18", "eslint": "^9.39.1", - "eslint-config-next": "16.0.5", + "eslint-config-next": "16.0.8", "typescript": "^5.6.3" } } diff --git a/package-lock.json b/package-lock.json index 217994755..fdc5039fb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,12 +49,13 @@ }, "devDependencies": { "@dxc-technology/typescript-config": "*", + "@eslint/js": "^9.31.1", "@types/node": "^20", "@types/react": "^18", "@types/react-color": "^3.0.6", "@types/react-dom": "^18", "eslint": "^9.39.1", - "eslint-config-next": "16.0.5", + "eslint-config-next": "16.0.8", "typescript": "^5.6.3" } }, @@ -4727,9 +4728,9 @@ "integrity": "sha512-4h6Y2NyEkIEN7Z8YxkA27pq6zTkS09bUSYC0xjd0NpwFxjnIKeZEeH591o5WECSmjpUhLn3H2QLJcDye3Uzcvg==" }, "node_modules/@next/eslint-plugin-next": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.0.5.tgz", - "integrity": "sha512-m1zPz6hsBvQt1CMRz7rTga8OXpRE9rVW4JHCSjW+tswTxiEU+6ev+GTlgm7ZzcCiMEVQAHTNhpEGFzDtVha9qg==", + "version": "16.0.8", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.0.8.tgz", + "integrity": "sha512-1miV0qXDcLUaOdHridVPCh4i39ElRIAraseVIbb3BEqyZ5ol9sPyjTP/GNTPV5rBxqxjF6/vv5zQTVbhiNaLqA==", "dev": true, "license": "MIT", "dependencies": { @@ -9920,13 +9921,13 @@ } }, "node_modules/eslint-config-next": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.0.5.tgz", - "integrity": "sha512-9rBjZ/biSpolkIUiqvx/iwJJaz8sxJ6pKWSPptJenpj01HlWbCDeaA1v0yG3a71IIPMplxVCSXhmtP27SXqMdg==", + "version": "16.0.8", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.0.8.tgz", + "integrity": "sha512-8J5cOAboXIV3f8OD6BOyj7Fik6n/as7J4MboiUSExWruf/lCu1OPR3ZVSdnta6WhzebrmAATEmNSBZsLWA6kbg==", "dev": true, "license": "MIT", "dependencies": { - "@next/eslint-plugin-next": "16.0.5", + "@next/eslint-plugin-next": "16.0.8", "eslint-import-resolver-node": "^0.3.6", "eslint-import-resolver-typescript": "^3.5.2", "eslint-plugin-import": "^2.32.0", diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js index 8e3fcb15d..8f0868364 100644 --- a/packages/eslint-config/next.js +++ b/packages/eslint-config/next.js @@ -33,27 +33,5 @@ export default function nextConfig({ tsconfigRootDir, tsconfigName = "tsconfig.l "@typescript-eslint/triple-slash-reference": "off", }, }, - { - files: ["**/*.{ts,tsx}"], - plugins: { "@typescript-eslint": tsPlugin }, - languageOptions: { - parser: tsParser, - parserOptions: { - project: join(tsconfigRootDir, tsconfigName), - tsconfigRootDir, - }, - globals: { - ...globals.browser, - ...globals.node, - }, - }, - rules: { - ...tsPlugin.configs.recommended.rules, - ...tsPlugin.configs["recommended-requiring-type-checking"].rules, - "@typescript-eslint/no-unused-vars": ["warn", { argsIgnorePattern: "^_" }], - "no-unused-vars": "off", - "@typescript-eslint/triple-slash-reference": "off", - }, - }, ]; }