From 68748047034f018d4d67c0fefdc162b277587079 Mon Sep 17 00:00:00 2001 From: Max Nuding Date: Fri, 4 Jul 2025 14:06:06 +0200 Subject: [PATCH] update eslint config --- .eslint.cjs | 73 ---------------------------------------- .eslintrc.cjs | 29 ++++++++++++++++ .nova/Configuration.json | 3 +- eslint.config.cjs | 73 ++++++++++++++++++++++++++++++++++++++++ package-lock.json | 23 +++---------- package.json | 2 +- 6 files changed, 109 insertions(+), 94 deletions(-) delete mode 100644 .eslint.cjs create mode 100644 .eslintrc.cjs create mode 100644 eslint.config.cjs diff --git a/.eslint.cjs b/.eslint.cjs deleted file mode 100644 index db46b2e..0000000 --- a/.eslint.cjs +++ /dev/null @@ -1,73 +0,0 @@ -const { defineConfig, globalIgnores } = require('eslint/config'); - -const tsParser = require('@typescript-eslint/parser'); -const typescriptEslint = require('@typescript-eslint/eslint-plugin'); -const parser = require('svelte-eslint-parser'); -const globals = require('globals'); -const js = require('@eslint/js'); - -const { FlatCompat } = require('@eslint/eslintrc'); - -const compat = new FlatCompat({ - baseDirectory: __dirname, - recommendedConfig: js.configs.recommended, - allConfig: js.configs.all -}); - -module.exports = defineConfig([ - { - languageOptions: { - parser: tsParser, - sourceType: 'module', - ecmaVersion: 2020, - - parserOptions: { - extraFileExtensions: ['.svelte'] - }, - - globals: { - ...globals.browser, - ...globals.node - } - }, - - extends: compat.extends( - 'plugin:svelte/recommended', - 'plugin:@typescript-eslint/recommended', - 'prettier' - ), - - plugins: { - '@typescript-eslint': typescriptEslint - }, - - settings: { - 'svelte3/typescript': () => require('typescript') - } - }, - globalIgnores(['**/*.cjs']), - { - files: ['**/*.svelte'], - - languageOptions: { - parser: parser, - - parserOptions: { - parser: '@typescript-eslint/parser' - } - } - }, - globalIgnores([ - '**/.DS_Store', - '**/node_modules', - 'build', - '.svelte-kit', - 'package', - '**/.env', - '**/.env.*', - '!**/.env.example', - '**/pnpm-lock.yaml', - '**/package-lock.json', - '**/yarn.lock' - ]) -]); diff --git a/.eslintrc.cjs b/.eslintrc.cjs new file mode 100644 index 0000000..914e81c --- /dev/null +++ b/.eslintrc.cjs @@ -0,0 +1,29 @@ +module.exports = { + root: true, + parser: '@typescript-eslint/parser', + extends: ['plugin:svelte/recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], + plugins: ['@typescript-eslint'], + ignorePatterns: ['*.cjs'], + overrides: [ + { + files: ['*.svelte'], + parser: 'svelte-eslint-parser', + parserOptions: { + parser: '@typescript-eslint/parser' + } + } + ], + settings: { + 'svelte3/typescript': () => require('typescript') + }, + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020, + extraFileExtensions: ['.svelte'] + }, + env: { + browser: true, + es2017: true, + node: true + } +}; diff --git a/.nova/Configuration.json b/.nova/Configuration.json index 3d7f496..3cf9d5d 100644 --- a/.nova/Configuration.json +++ b/.nova/Configuration.json @@ -1,6 +1,5 @@ { - "apexskier.eslint.config.eslintConfigPath" : ".eslintrc.cjs", - "apexskier.eslint.config.eslintPath" : "node_modules\/@eslint\/eslintrc\/dist\/eslintrc.cjs", + "apexskier.eslint.config.eslintConfigPath" : ".eslint.cjs", "apexskier.eslint.config.fixOnSave" : "Enable", "apexskier.typescript.config.formatDocumentOnSave" : "false", "apexskier.typescript.config.isEnabledForJavascript" : "Enable", diff --git a/eslint.config.cjs b/eslint.config.cjs new file mode 100644 index 0000000..04a7967 --- /dev/null +++ b/eslint.config.cjs @@ -0,0 +1,73 @@ +const { + defineConfig, + globalIgnores, +} = require("eslint/config"); + +const tsParser = require("@typescript-eslint/parser"); +const typescriptEslint = require("@typescript-eslint/eslint-plugin"); +const parser = require("svelte-eslint-parser"); +const globals = require("globals"); +const js = require("@eslint/js"); + +const { + FlatCompat, +} = require("@eslint/eslintrc"); + +const compat = new FlatCompat({ + baseDirectory: __dirname, + recommendedConfig: js.configs.recommended, + allConfig: js.configs.all +}); + +module.exports = defineConfig([{ + languageOptions: { + parser: tsParser, + sourceType: "module", + ecmaVersion: 2020, + + parserOptions: { + extraFileExtensions: [".svelte"], + }, + + globals: { + ...globals.browser, + ...globals.node, + }, + }, + + extends: compat.extends( + "plugin:svelte/recommended", + "plugin:@typescript-eslint/recommended", + "prettier", + ), + + plugins: { + "@typescript-eslint": typescriptEslint, + }, + + settings: { + "svelte3/typescript": () => require("typescript"), + }, +}, globalIgnores(["**/*.cjs"]), { + files: ["**/*.svelte"], + + languageOptions: { + parser: parser, + + parserOptions: { + parser: "@typescript-eslint/parser", + }, + }, +}, globalIgnores([ + "**/.DS_Store", + "**/node_modules", + "build", + ".svelte-kit", + "package", + "**/.env", + "**/.env.*", + "!**/.env.example", + "**/pnpm-lock.yaml", + "**/package-lock.json", + "**/yarn.lock", +])]); diff --git a/package-lock.json b/package-lock.json index 75fbf20..3c85ca6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", "@zerodevx/svelte-toast": "^0.9.3", - "eslint": "^9.11.1", + "eslint": "^9.30.1", "eslint-config-prettier": "^10.0.0", "eslint-plugin-svelte": "^3.0.0", "globals": "^16.3.0", @@ -2730,9 +2730,9 @@ } }, "node_modules/eslint": { - "version": "9.30.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.0.tgz", - "integrity": "sha512-iN/SiPxmQu6EVkf+m1qpBxzUhE12YqFLOSySuOyVLJLEF9nzTf+h/1AJYc1JWzCnktggeNrjvQGLngDzXirU6g==", + "version": "9.30.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.30.1.tgz", + "integrity": "sha512-zmxXPNMOXmwm9E0yQLi5uqXHs7uq2UIiqEKo3Gq+3fwo1XrJ+hijAZImyF7hclW3E6oHz43Yk3RP8at6OTKflQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2742,7 +2742,7 @@ "@eslint/config-helpers": "^0.3.0", "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.30.0", + "@eslint/js": "9.30.1", "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", @@ -2870,19 +2870,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/@eslint/js": { - "version": "9.30.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.30.0.tgz", - "integrity": "sha512-Wzw3wQwPvc9sHM+NjakWTcPx11mbZyiYHuwWa/QfZ7cIRX7WK54PSk7bdyXDaoaopUcMatv1zaQvOAAO8hCdww==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", diff --git a/package.json b/package.json index 0f8e49f..97b8230 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "@typescript-eslint/eslint-plugin": "^8.0.0", "@typescript-eslint/parser": "^8.0.0", "@zerodevx/svelte-toast": "^0.9.3", - "eslint": "^9.11.1", + "eslint": "^9.30.1", "eslint-config-prettier": "^10.0.0", "eslint-plugin-svelte": "^3.0.0", "globals": "^16.3.0",