Apply 'npx @eslint/migrate-config .eslintrc.json'

And the suggested 'npm install globals @eslint/js @eslint/eslintrc -D'
This commit is contained in:
Pierre Sassoulas 2025-02-09 16:45:56 +01:00
parent 283963f599
commit 02491677ad
5 changed files with 104 additions and 73 deletions

View File

@ -1,70 +0,0 @@
{
"env": {
"browser": true,
"commonjs": true,
"es2021": true
},
"extends": [
"google"
],
"parserOptions": {
"ecmaVersion": "latest"
},
"rules": {
"array-bracket-spacing": "error",
"block-scoped-var": "error",
"block-spacing": "error",
"brace-style": "error",
"camelcase": "off",
"class-methods-use-this": "error",
"consistent-return": "error",
"default-case": "error",
"default-case-last": "error",
"default-param-last": "error",
"grouped-accessor-pairs": "error",
"indent": [ "error", 4 ],
"linebreak-style": [ "error", "unix" ],
"max-len": ["error", { "code": 120 }],
"no-caller": "error",
"no-console": "error",
"no-empty-function": "error",
"no-eval": "error",
"no-extra-parens": "error",
"no-labels": "error",
"no-new": "error",
"no-new-func": "error",
"no-new-wrappers": "error",
"no-return-await": "error",
"no-script-url": "error",
"no-self-compare": "error",
"no-shadow": "error",
"no-throw-literal": "error",
"no-undefined": "error",
"no-unreachable-loop": "error",
"no-unused-expressions": "off",
"no-useless-backreference": "error",
"no-useless-concat": "error",
"no-var": "error",
"object-curly-spacing": [
"error",
"always",
{
"arraysInObjects": true
}
],
"prefer-const": "error",
"prefer-promise-reject-errors": "error",
"require-atomic-updates": "error",
"require-await": "error",
"require-jsdoc" : 0,
"semi": [
"error",
"never"
],
"quotes": [
"error",
"single"
],
"yoda": "error"
}
}

View File

@ -59,6 +59,10 @@ repos:
additional_dependencies:
- eslint@9.20.0
- eslint-config-google@0.14.0
- globals@15.14.0
- "@eslint/js@9.20.0"
- "@eslint/eslintrc@3.2.0"
args: ["--fix"]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.14.1

79
eslint.config.mjs Normal file
View File

@ -0,0 +1,79 @@
import globals from 'globals'
import path from 'node:path'
import { fileURLToPath } from 'node:url'
import js from '@eslint/js'
import { FlatCompat } from '@eslint/eslintrc'
const __filename = fileURLToPath(import.meta.url)
const __dirname = path.dirname(__filename)
const compat = new FlatCompat({
baseDirectory: __dirname,
recommendedConfig: js.configs.recommended,
allConfig: js.configs.all,
})
export default [...compat.extends('google'), {
languageOptions: {
globals: {
...globals.browser,
...globals.commonjs,
},
ecmaVersion: 'latest',
sourceType: 'script',
},
rules: {
'array-bracket-spacing': 'error',
'block-scoped-var': 'error',
'block-spacing': 'error',
'brace-style': 'error',
'camelcase': 'off',
'class-methods-use-this': 'error',
'consistent-return': 'error',
'default-case': 'error',
'default-case-last': 'error',
'default-param-last': 'error',
'grouped-accessor-pairs': 'error',
'indent': ['error', 4],
'linebreak-style': ['error', 'unix'],
'max-len': ['error', {
code: 120,
}],
'no-caller': 'error',
'no-console': 'error',
'no-empty-function': 'error',
'no-eval': 'error',
'no-extra-parens': 'error',
'no-labels': 'error',
'no-new': 'error',
'no-new-func': 'error',
'no-new-wrappers': 'error',
'no-return-await': 'error',
'no-script-url': 'error',
'no-self-compare': 'error',
'no-shadow': 'error',
'no-throw-literal': 'error',
'no-undefined': 'error',
'no-unreachable-loop': 'error',
'no-unused-expressions': 'off',
'no-useless-backreference': 'error',
'no-useless-concat': 'error',
'no-var': 'error',
'object-curly-spacing': ['error', 'always', {
arraysInObjects: true,
}],
'prefer-const': 'error',
'prefer-promise-reject-errors': 'error',
'require-atomic-updates': 'error',
'require-await': 'error',
'require-jsdoc': 0,
'semi': ['error', 'never'],
'quotes': ['error', 'single'],
'yoda': 'error',
},
}]

21
package-lock.json generated
View File

@ -5,10 +5,13 @@
"packages": {
"": {
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.20.0",
"browserify": "^17.0.0",
"chai": "^4.3.6",
"eslint": "^9.20.0",
"eslint-config-google": "^0.14.0",
"globals": "^15.14.0",
"mocha": "^10.0.0",
"mock-local-storage": "^1.1.24",
"nyc": "^17.1.0",
@ -366,6 +369,18 @@
"url": "https://opencollective.com/eslint"
}
},
"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,
"engines": {
"node": ">=18"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@eslint/js": {
"version": "9.20.0",
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.20.0.tgz",
@ -2737,9 +2752,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": "15.14.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz",
"integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
"dev": true,
"engines": {
"node": ">=18"

View File

@ -8,10 +8,13 @@
"all": "npm run lint && npm run unit && npm run build:css && npm run build:jsapp"
},
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.20.0",
"browserify": "^17.0.0",
"chai": "^4.3.6",
"eslint": "^9.20.0",
"eslint-config-google": "^0.14.0",
"globals": "^15.14.0",
"mocha": "^10.0.0",
"mock-local-storage": "^1.1.24",
"nyc": "^17.1.0",