Skip to content

Commit 27235e9

Browse files
chore: migrate to eslint defineConfig
Wow things are a mess. tseslint is trying to stay compatible with eslint v8 while also keeping up with v9's defineConfig. This causes some big type-incompatibilities in the more complicated plugins. For now we'll ignore errors because it's runtime-compatible.
1 parent 967ad0b commit 27235e9

File tree

4 files changed

+21
-21
lines changed

4 files changed

+21
-21
lines changed

src/bhs-e2e/eslint.config.mjs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
1+
/* eslint-disable import-x/no-named-as-default */
12
/* eslint-disable import-x/no-named-as-default-member */
3+
// @ts-check
24
import js from '@eslint/js';
35
import stylistic from '@stylistic/eslint-plugin';
6+
import { defineConfig } from 'eslint/config';
47
import gitignore from 'eslint-config-flat-gitignore';
58
import importX from 'eslint-plugin-import-x';
69
import n from 'eslint-plugin-n';
710
import * as wdio from 'eslint-plugin-wdio';
811
import tseslint from 'typescript-eslint';
912

10-
export default tseslint.config(gitignore(), {
13+
export default defineConfig(gitignore(), {
1114
files: [
1215
'**/*.js',
1316
'**/*.mjs',
@@ -17,14 +20,15 @@ export default tseslint.config(gitignore(), {
1720
js.configs.recommended,
1821
stylistic.configs['disable-legacy'],
1922
stylistic.configs.customize({
20-
flat: true,
2123
quotes: 'single',
2224
semi: true,
2325
jsx: false,
2426
braceStyle: '1tbs',
2527
commaDangle: 'always-multiline',
2628
}),
29+
// @ts-expect-error
2730
importX.flatConfigs.recommended,
31+
// @ts-expect-error
2832
importX.flatConfigs.typescript,
2933
n.configs['flat/recommended-module'],
3034
],

src/bhs-web-angular-app/eslint.config.mjs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
1+
/* eslint-disable import-x/no-named-as-default */
12
/* eslint-disable import-x/no-named-as-default-member */
23
/* eslint-disable import-x/no-rename-default */
34
// @ts-check
45
import js from '@eslint/js';
56
import stylistic from '@stylistic/eslint-plugin';
67
import vitest from '@vitest/eslint-plugin';
78
import angular from 'angular-eslint';
9+
import { defineConfig } from 'eslint/config';
810
import gitignore from 'eslint-config-flat-gitignore';
911
import { importX } from 'eslint-plugin-import-x';
1012
import jsdoc from 'eslint-plugin-jsdoc';
@@ -13,14 +15,13 @@ import rxjsX from 'eslint-plugin-rxjs-x';
1315
import globals from 'globals';
1416
import tseslint from 'typescript-eslint';
1517

16-
// TODO: tseslint.config() is now deprecated, replace with eslint/config defineConfig().
17-
export default tseslint.config(gitignore(), {
18+
export default defineConfig(gitignore(), {
1819
files: [
1920
'**/*.js',
2021
'**/*.mjs',
2122
'**/*.ts',
2223
],
23-
extends: [
24+
extends: ([
2425
js.configs.recommended,
2526
stylistic.configs['disable-legacy'],
2627
stylistic.configs.customize({
@@ -30,10 +31,12 @@ export default tseslint.config(gitignore(), {
3031
braceStyle: '1tbs',
3132
commaDangle: 'always-multiline',
3233
}),
34+
// @ts-expect-error -- community is struggling with growing pains right now and plugin types aren't type-compatible for now.
3335
importX.flatConfigs.recommended,
36+
// @ts-expect-error -- ditto.
3437
importX.flatConfigs.typescript,
35-
jsdoc.configs['flat/recommended-typescript-error'],
36-
],
38+
jsdoc.configs['flat/recommended-mixed'],
39+
]),
3740
rules: {
3841
// #region General
3942
// Maximum cyclomatic complexity.

src/bhs-web-angular-app/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
"@angular/build": "20.3.8",
3939
"@angular/cli": "20.3.8",
4040
"@angular/compiler-cli": "20.3.9",
41+
"@eslint/config-helpers": "0.4.1",
4142
"@stylistic/eslint-plugin": "^5.5.0",
4243
"@tailwindcss/postcss": "^4.1.16",
4344
"@tailwindcss/typography": "^0.5.19",

yarn.lock

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1126,12 +1126,12 @@ __metadata:
11261126
languageName: node
11271127
linkType: hard
11281128

1129-
"@eslint/config-helpers@npm:^0.4.1":
1130-
version: 0.4.2
1131-
resolution: "@eslint/config-helpers@npm:0.4.2"
1129+
"@eslint/config-helpers@npm:0.4.1, @eslint/config-helpers@npm:^0.4.1":
1130+
version: 0.4.1
1131+
resolution: "@eslint/config-helpers@npm:0.4.1"
11321132
dependencies:
1133-
"@eslint/core": "npm:^0.17.0"
1134-
checksum: 10c0/92efd7a527b2d17eb1a148409d71d80f9ac160b565ac73ee092252e8bf08ecd08670699f46b306b94f13d22e88ac88a612120e7847570dd7cdc72f234d50dcb4
1133+
"@eslint/core": "npm:^0.16.0"
1134+
checksum: 10c0/bb7dd534019a975320ac0f8e0699b37433cee9a3731354c1ee941648e6651032386e7848792060fb53a0fd603ea6cf7a101ed3bd5b82ee2f641598986d1e080a
11351135
languageName: node
11361136
linkType: hard
11371137

@@ -1144,15 +1144,6 @@ __metadata:
11441144
languageName: node
11451145
linkType: hard
11461146

1147-
"@eslint/core@npm:^0.17.0":
1148-
version: 0.17.0
1149-
resolution: "@eslint/core@npm:0.17.0"
1150-
dependencies:
1151-
"@types/json-schema": "npm:^7.0.15"
1152-
checksum: 10c0/9a580f2246633bc752298e7440dd942ec421860d1946d0801f0423830e67887e4aeba10ab9a23d281727a978eb93d053d1922a587d502942a713607f40ed704e
1153-
languageName: node
1154-
linkType: hard
1155-
11561147
"@eslint/eslintrc@npm:^3.3.1":
11571148
version: 3.3.1
11581149
resolution: "@eslint/eslintrc@npm:3.3.1"
@@ -4194,6 +4185,7 @@ __metadata:
41944185
"@angular/platform-browser": "npm:20.3.9"
41954186
"@angular/router": "npm:20.3.9"
41964187
"@auth0/auth0-angular": "npm:^2.3.0"
4188+
"@eslint/config-helpers": "npm:0.4.1"
41974189
"@microsoft/applicationinsights-analytics-js": "npm:3.3.10"
41984190
"@microsoft/applicationinsights-angularplugin-js": "npm:^15.3.8"
41994191
"@microsoft/applicationinsights-web": "npm:^3.3.10"

0 commit comments

Comments
 (0)