Frontend: Update to Eslint 9 (#94823)
* chore(eslint): bump all eslint related packages to latest * chore(eslint): update linting scripts work with v9 * chore(eslint): introduce flat config * chore(eslint): delete legacy configs * feat(grafana-eslint-rules): update rules to use eslint 9 APIs * chore(eslint): migrate all nested eslintrc files over to root config * chore(packages): bump eslint dependencies * feat(betterer): make it work with eslint 9 * style(grafana-data): remove non-existant ban-types rule from disable declarations * chore(wip): [wip] link eslint-config-grafana * chore(packages): add @eslint/compat * chore(eslint): add compat to testing library and fix alerting rules * chore(eslint): bump grafana eslint-config to v8 * chore(explore): delete legacy eslint config * chore: clean codeowners file, remove grafana/eslint-config from e2e plugins * test(eslint-rules): fix no-border-radius-literal and no-aria-label-e2e-selectors rule tests * Add .js to prettier checks so new eslint.config.js file isn't missed * chore(eslint): move emotion/syntax-preference to grafana/defaults * test(eslint): use core-js structured-clone * revert(services): undo merge backend-format githook changes * test(eslint-rules): remove structured-clone polyfill from tests * chore(eslint): add back public/lib/monaco to ignore list, sort alphabetically * chore(e2e-plugins): remove eslint config 7 from plugins package.json --------- Co-authored-by: Tom Ratcliffe <tom.ratcliffe@grafana.com>
This commit is contained in:
co-authored by
Tom Ratcliffe
parent
8956400498
commit
8c41137bcf
+16
-14
@@ -27,7 +27,7 @@
|
||||
"test:coverage:changes": "jest --coverage --changedSince=origin/main",
|
||||
"test:accessibility-report": "./scripts/generate-a11y-report.sh",
|
||||
"lint": "yarn run lint:ts && yarn run lint:sass",
|
||||
"lint:ts": "eslint . --ext .js,.tsx,.ts --cache",
|
||||
"lint:ts": "eslint . --cache",
|
||||
"lint:sass": "yarn stylelint '{public/sass,packages}/**/*.scss' --cache",
|
||||
"test:ci": "mkdir -p reports/junit && JEST_JUNIT_OUTPUT_DIR=reports/junit jest --ci --reporters=default --reporters=jest-junit -w ${TEST_MAX_WORKERS:-100%}",
|
||||
"lint:fix": "yarn lint:ts --fix",
|
||||
@@ -36,7 +36,7 @@
|
||||
"packages:prepare": "lerna version --no-push --no-git-tag-version --force-publish --exact",
|
||||
"packages:pack": "mkdir -p ./npm-artifacts && lerna exec --no-private -- yarn pack --out \"../../npm-artifacts/%s-%v.tgz\"",
|
||||
"packages:typecheck": "nx run-many -t typecheck --projects='tag:scope:package'",
|
||||
"prettier:check": "prettier --check --list-different=false --log-level=warn \"**/*.{ts,tsx,scss,md,mdx,json}\"",
|
||||
"prettier:check": "prettier --check --list-different=false --log-level=warn \"**/*.{ts,tsx,scss,md,mdx,json,js}\"",
|
||||
"prettier:checkDocs": "prettier --check --list-different=false --log-level=warn \"docs/**/*.md\" \"*.md\" \"packages/**/*.{ts,tsx,scss,md,mdx,json}\"",
|
||||
"prettier:write": "prettier --list-different \"**/*.{js,ts,tsx,scss,md,mdx,json}\" --write",
|
||||
"start": "NODE_ENV=dev nx exec -- webpack --config scripts/webpack/webpack.dev.js --watch",
|
||||
@@ -46,7 +46,7 @@
|
||||
"storybook": "yarn workspace @grafana/ui storybook --ci",
|
||||
"storybook:build": "yarn workspace @grafana/ui storybook:build",
|
||||
"themes-generate": "esbuild --target=es6 ./scripts/cli/generateSassVariableFiles.ts --bundle --platform=node --tsconfig=./scripts/cli/tsconfig.json | node",
|
||||
"themes:usage": "eslint . --ext .tsx,.ts --ignore-pattern '*.test.ts*' --ignore-pattern '*.spec.ts*' --cache --rule '{ @grafana/theme-token-usage: \"error\" }'",
|
||||
"themes:usage": "eslint . --ignore-pattern '*.test.ts*' --ignore-pattern '*.spec.ts*' --cache --plugin '@grafana' --rule '{ @grafana/theme-token-usage: \"error\" }'",
|
||||
"typecheck": "tsc --noEmit && yarn run packages:typecheck",
|
||||
"plugins:build-bundled": "find plugins-bundled -name package.json -not -path '*/node_modules/*' -execdir yarn build \\;",
|
||||
"watch": "yarn start -d watch,start core:start --watchTheme",
|
||||
@@ -77,7 +77,8 @@
|
||||
"@betterer/eslint": "5.4.0",
|
||||
"@cypress/webpack-preprocessor": "6.0.2",
|
||||
"@emotion/eslint-plugin": "11.12.0",
|
||||
"@grafana/eslint-config": "7.0.0",
|
||||
"@eslint/compat": "^1.2.0",
|
||||
"@grafana/eslint-config": "8.0.0",
|
||||
"@grafana/eslint-plugin": "link:./packages/grafana-eslint-rules",
|
||||
"@grafana/plugin-e2e": "^1.11.0",
|
||||
"@grafana/tsconfig": "^2.0.0",
|
||||
@@ -90,6 +91,7 @@
|
||||
"@react-types/shared": "3.25.0",
|
||||
"@rtk-query/codegen-openapi": "^1.2.0",
|
||||
"@rtsao/plugin-proposal-class-properties": "7.0.1-patch.1",
|
||||
"@stylistic/eslint-plugin-ts": "^2.9.0",
|
||||
"@swc/core": "1.4.2",
|
||||
"@swc/helpers": "0.5.13",
|
||||
"@testing-library/dom": "10.4.0",
|
||||
@@ -152,8 +154,8 @@
|
||||
"@types/webpack-assets-manifest": "^5",
|
||||
"@types/webpack-env": "^1.18.4",
|
||||
"@types/yargs": "17.0.33",
|
||||
"@typescript-eslint/eslint-plugin": "6.21.0",
|
||||
"@typescript-eslint/parser": "6.21.0",
|
||||
"@typescript-eslint/eslint-plugin": "8.9.0",
|
||||
"@typescript-eslint/parser": "8.9.0",
|
||||
"autoprefixer": "10.4.20",
|
||||
"babel-loader": "9.2.1",
|
||||
"blob-polyfill": "9.0.20240710",
|
||||
@@ -171,19 +173,19 @@
|
||||
"esbuild": "0.24.0",
|
||||
"esbuild-loader": "4.2.2",
|
||||
"esbuild-plugin-browserslist": "^0.15.0",
|
||||
"eslint": "8.57.0",
|
||||
"eslint": "9.12.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-import": "^2.26.0",
|
||||
"eslint-plugin-import": "^2.31.0",
|
||||
"eslint-plugin-jest": "28.8.3",
|
||||
"eslint-plugin-jest-dom": "^5.4.0",
|
||||
"eslint-plugin-jsdoc": "48.11.0",
|
||||
"eslint-plugin-jsdoc": "50.4.1",
|
||||
"eslint-plugin-jsx-a11y": "6.10.2",
|
||||
"eslint-plugin-lodash": "7.4.0",
|
||||
"eslint-plugin-no-barrel-files": "^1.1.0",
|
||||
"eslint-plugin-lodash": "8.0.0",
|
||||
"eslint-plugin-no-barrel-files": "^1.1.1",
|
||||
"eslint-plugin-react": "7.37.2",
|
||||
"eslint-plugin-react-hooks": "4.6.0",
|
||||
"eslint-plugin-testing-library": "^6.2.2",
|
||||
"eslint-scope": "^8.0.0",
|
||||
"eslint-plugin-react-hooks": "5.0.0",
|
||||
"eslint-plugin-testing-library": "^6.3.0",
|
||||
"eslint-scope": "^8.1.0",
|
||||
"eslint-webpack-plugin": "4.2.0",
|
||||
"expose-loader": "5.0.0",
|
||||
"fork-ts-checker-webpack-plugin": "9.0.2",
|
||||
|
||||
Reference in New Issue
Block a user