diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index f447d4789..000000000 --- a/.eslintignore +++ /dev/null @@ -1,6 +0,0 @@ -node_modules -build -mobile -docs -json_examples -**/external diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index ff6250aef..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "env": { - "browser": true, - "es2024": true, - "jquery": true, - "greasemonkey": true - }, - "parserOptions": { - "sourceType": "module" - }, - "extends": [ - "eslint:recommended", - "plugin:prettier/recommended", - "prettier" - ], - "ignorePatterns": [ - "/core/external/*.js", - "/plugins/external/*.js" - ], - "plugins": ["prettier"], - "rules": { - "eqeqeq": "error", - "spaced-comment": "error", - "no-unused-expressions": "error" - } -} diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..aedf27cea --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,44 @@ +import prettier from 'eslint-plugin-prettier'; +import globals from 'globals'; +import eslint from '@eslint/js'; +import PrettierRecommended from 'eslint-plugin-prettier/recommended'; + +export default [ + eslint.configs.recommended, + PrettierRecommended, + { + ignores: [ + 'eslint.config.js', + 'core/external/*.js', + 'plugins/external/*.js', + '**/node_modules', + '**/build', + '**/mobile', + '**/docs', + '**/json_examples', + '**/external', + ], + }, + { + plugins: { + prettier, + }, + + languageOptions: { + globals: { + ...globals.browser, + ...globals.jquery, + ...globals.greasemonkey, + }, + + ecmaVersion: 2024, + sourceType: 'module', + }, + + rules: { + eqeqeq: 'error', + 'spaced-comment': 'error', + 'no-unused-expressions': 'error', + }, + }, +]; diff --git a/package.json b/package.json index b641bdd62..4ffec907b 100644 --- a/package.json +++ b/package.json @@ -7,12 +7,14 @@ "private": true, "type": "module", "devDependencies": { + "@eslint/js": "^9.9.1", "chai": "^4.3.6", - "eslint": "^8.20.0", - "eslint-config-prettier": "^8.5.0", - "eslint-plugin-prettier": "^4.2.1", + "eslint": "^9.9.1", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.2.1", + "globals": "^15.9.0", "mocha": "^9.2.2", - "prettier": "^2.7.1" + "prettier": "^3.3.3" }, "scripts": { "build": "npm run build:local",