Skip to content

Commit 8d86f0f

Browse files
committed
fix: fix solid and react configs
1 parent c08ede8 commit 8d86f0f

File tree

7 files changed

+72
-61
lines changed

7 files changed

+72
-61
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@
4646
"eslint-plugin-react": "^7.37.4",
4747
"eslint-plugin-solid": "^0.14.5",
4848
"eslint-plugin-yaml": "^1.0.3",
49+
"globals": "^16.0.0",
4950
"globify-gitignore": "^1.0.3",
5051
"make-synchronous": "^0.1.1",
5152
"prettier": "3.5.3",

pnpm-lock.yaml

Lines changed: 9 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/index-react.cts

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,32 @@
11
import type { Linter } from "eslint"
22
import base from "./index.cjs"
3-
import { tsConfig } from "./typescript.cjs"
3+
import { tsConfigs } from "./typescript.cjs"
4+
import reactPlugin from "eslint-plugin-react"
5+
import globals from "globals";
46

5-
const nonStrictConfig: Linter.Config = {
7+
const reactTypeScript: Linter.Config = {
8+
...tsConfigs,
9+
...reactPlugin.configs.flat.recommended
10+
};
11+
12+
const nonStrictConfig: Linter.Config[] = [
613
...base,
7-
plugins: ["react", ...(base.plugins ?? [])],
8-
extends: ["plugin:react/recommended", ...(base.extends ?? [])],
9-
overrides: [
10-
// TypeScript:
11-
{
12-
...tsConfig,
13-
plugins: ["react", ...(tsConfig.plugins ?? [])],
14-
extends: ["plugin:react/recommended", ...(tsConfig.extends ?? [])],
15-
rules: tsConfig.rules,
16-
},
17-
// The rest is the same
18-
...(base.overrides?.slice(1) ?? []),
19-
],
20-
settings: {
21-
...base.settings,
22-
react: {
23-
version: "detect",
14+
// JavaScript:
15+
{
16+
files: ['**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}'],
17+
...reactPlugin.configs.flat.recommended,
18+
},
19+
{
20+
files: ['**/*.{js,mjs,cjs,jsx,mjsx,ts,tsx,mtsx}'],
21+
languageOptions: {
22+
globals: {
23+
...globals.serviceworker,
24+
...globals.browser,
25+
},
2426
},
2527
},
26-
}
28+
// TypeScript:
29+
reactTypeScript,
30+
]
2731

2832
export default nonStrictConfig

src/index-solid.cts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,19 @@
11
import type { Linter } from "eslint"
22
import base from "./index.cjs"
33
import { tsConfig } from "./typescript.cjs"
4+
import solid from "eslint-plugin-solid"
5+
6+
const solidTypeScript: Linter.Config = {
7+
...tsConfig,
8+
...solid.configs["flat/typescript"]
9+
};
410

511
const nonStrictConfig: Linter.Config[] = [
612
...base,
713
// JavaScript:
8-
{
9-
files: ["*.js", "*.jsx", "*.mjs", "*.cjs"],
10-
plugins: ["solid", ...(base.plugins ?? [])],
11-
extends: ["plugin:solid/recommended", ...(base.extends ?? [])],
12-
},
14+
solid.configs["flat/recommended"],
1315
// TypeScript:
14-
{
15-
...tsConfig,
16-
plugins: ["solid", ...(tsConfig.plugins ?? [])],
17-
extends: ["plugin:solid/typescript", ...(tsConfig.extends ?? [])],
18-
rules: tsConfig.rules,
19-
},
20-
// The rest is the same
21-
...(base.overrides?.slice(1) ?? []),
16+
solidTypeScript,
2217
]
2318

2419
export default nonStrictConfig

src/index.cts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { jsConfig } from "./javascript.cjs"
2-
import { tsConfig } from "./typescript.cjs"
2+
import { tsConfigs } from "./typescript.cjs"
33
import { jsonConfig } from "./json.cjs"
44
import { yamlConfig } from "./yaml.cjs"
55
import { htmlConfig } from "./html.cjs"
@@ -31,7 +31,7 @@ function maybeAddCoffeeScript() {
3131
const config: Linter.Config[] = [
3232
...jsConfig,
3333
pluginOptmizeRegex.configs.all,
34-
...tsConfig,
34+
...tsConfigs,
3535
jsonConfig,
3636
yamlConfig,
3737
htmlConfig,
File renamed without changes.

src/typescript.cts

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import makeSynchronous from "make-synchronous"
99
import { eslintRulesExtra } from "./official-eslint-rules.cjs"
1010
import { pluginImportRulesExtra, pluginImportTypeScriptRulesExtra } from "./plugin-import-rules.cjs"
1111
import { pluginNodeRules } from "./plugin-node-rules.cjs"
12-
import { findFilesForGroups } from "./utils.cjs"
12+
import { findFilesForGroups } from "./searchFs.cjs"
1313
import * as eslintTypeScriptParser from "@typescript-eslint/parser"
1414

1515
const tsFiles = ["**/*.tsx", "**/*.ts", "**/*.mts", "**/*.cts"]
@@ -125,32 +125,34 @@ const pluginTypeScriptProjectRules: Linter.RulesRecord = disableProjectBasedRule
125125
"@typescript-eslint/switch-exhaustiveness-check": "warn",
126126
}
127127

128-
export const tsConfig: Linter.Config[] = [
128+
export const tsConfig: Linter.Config = {
129+
files: tsFiles,
130+
languageOptions: {
131+
parser: eslintTypeScriptParser,
132+
parserOptions: {
133+
project: tsConfigFiles,
134+
createDefaultProgram: true, // otherwise Eslint will error if a ts file is not covered by one of the tsconfig.json files
135+
},
136+
},
137+
plugins: {
138+
node: nodePlugin,
139+
import: importPlugin,
140+
"only-warn": onlyWarnPlugin,
141+
},
142+
rules: {
143+
...javaScriptRules(),
144+
...pluginTypeScriptRulesExtra,
145+
...pluginTypeScriptProjectRules,
146+
...pluginNodeRules,
147+
...pluginImportRulesExtra,
148+
...pluginImportTypeScriptRulesExtra,
149+
...importPlugin.configs.recommended.rules,
150+
},
151+
};
152+
153+
export const tsConfigs: Linter.Config[] = [
129154
// TypeScript files
130155
js.configs.recommended,
131156
...typeScriptPlugin.configs.recommended,
132-
{
133-
files: tsFiles,
134-
languageOptions: {
135-
parser: eslintTypeScriptParser,
136-
parserOptions: {
137-
project: tsConfigFiles,
138-
createDefaultProgram: true, // otherwise Eslint will error if a ts file is not covered by one of the tsconfig.json files
139-
},
140-
},
141-
plugins: {
142-
node: nodePlugin,
143-
import: importPlugin,
144-
"only-warn": onlyWarnPlugin,
145-
},
146-
rules: {
147-
...javaScriptRules(),
148-
...pluginTypeScriptRulesExtra,
149-
...pluginTypeScriptProjectRules,
150-
...pluginNodeRules,
151-
...pluginImportRulesExtra,
152-
...pluginImportTypeScriptRulesExtra,
153-
...importPlugin.configs.recommended.rules,
154-
},
155-
},
157+
tsConfig,
156158
]

0 commit comments

Comments
 (0)