@etchteam/eslint-config 3.3.2 → 3.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +1 -1
- package/CHANGELOG.md +5 -3
- package/package.json +2 -2
- package/src/base.mjs +4 -4
- package/src/configs/environments/nextjs.mjs +2 -1
- package/src/configs/environments/preact.mjs +1 -0
- package/src/configs/react.mjs +2 -4
package/AGENTS.md
CHANGED
|
@@ -132,7 +132,7 @@ Note: `HUSKY=0` environment variable disables hooks in CI.
|
|
|
132
132
|
|
|
133
133
|
### CI Pipeline (`.github/workflows/ci.yml`)
|
|
134
134
|
- Runs on pull requests
|
|
135
|
-
- Tests against Node.js
|
|
135
|
+
- Tests against Node.js 20, 22, 24 (matches `engines` field)
|
|
136
136
|
- Lints source code with `npx eslint src`
|
|
137
137
|
- Validates config against `test-files/` (expects violations to prove rules work)
|
|
138
138
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
## <small>3.3.
|
|
1
|
+
## <small>3.3.3 (2026-04-24)</small>
|
|
2
2
|
|
|
3
|
-
* Merge pull request #
|
|
4
|
-
*
|
|
3
|
+
* Merge pull request #573 from etchteam/fix/import-x-native-flat-config ([81e963d](https://github.com/etchteam/eslint/commit/81e963d)), closes [#573](https://github.com/etchteam/eslint/issues/573)
|
|
4
|
+
* test: add JSON/YAML fixtures to every preset dir ([0fd6678](https://github.com/etchteam/eslint/commit/0fd6678))
|
|
5
|
+
* fix: scope preact config block to JS/TS files ([acf94db](https://github.com/etchteam/eslint/commit/acf94db))
|
|
6
|
+
* fix: switch to eslint-plugin-import-x and drop fixup wrappers ([052f3ce](https://github.com/etchteam/eslint/commit/052f3ce))
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@etchteam/eslint-config",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.3",
|
|
4
4
|
"description": "Etch's standard eslint config",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.mjs",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@eslint/js": "^9.29.0",
|
|
60
60
|
"eslint-config-prettier": "^10.1.5",
|
|
61
61
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
62
|
-
"eslint-plugin-import": "^
|
|
62
|
+
"eslint-plugin-import-x": "^4.16.2",
|
|
63
63
|
"eslint-plugin-json": "^4.0.1",
|
|
64
64
|
"eslint-plugin-prettier": "^5.5.0",
|
|
65
65
|
"eslint-plugin-security": "^4.0.0",
|
package/src/base.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import js from '@eslint/js';
|
|
2
|
-
import
|
|
2
|
+
import importX from 'eslint-plugin-import-x';
|
|
3
3
|
import prettier from 'eslint-plugin-prettier/recommended';
|
|
4
4
|
import security from 'eslint-plugin-security';
|
|
5
5
|
import sonarjs from 'eslint-plugin-sonarjs';
|
|
@@ -47,7 +47,7 @@ export default [
|
|
|
47
47
|
files: JS_FILES,
|
|
48
48
|
plugins: {
|
|
49
49
|
'unused-imports': unusedImports,
|
|
50
|
-
import:
|
|
50
|
+
'import-x': importX,
|
|
51
51
|
'you-dont-need-lodash-underscore': fixupPluginRules(youDontNeedLodash),
|
|
52
52
|
},
|
|
53
53
|
languageOptions: {
|
|
@@ -61,7 +61,7 @@ export default [
|
|
|
61
61
|
'@typescript-eslint/no-explicit-any': 'warn',
|
|
62
62
|
'unused-imports/no-unused-imports': 'error',
|
|
63
63
|
'unused-imports/no-unused-vars': 'off',
|
|
64
|
-
'import/order': [
|
|
64
|
+
'import-x/order': [
|
|
65
65
|
'error',
|
|
66
66
|
{
|
|
67
67
|
'newlines-between': 'always',
|
|
@@ -100,7 +100,7 @@ export default [
|
|
|
100
100
|
],
|
|
101
101
|
},
|
|
102
102
|
settings: {
|
|
103
|
-
'import/resolver': {
|
|
103
|
+
'import-x/resolver': {
|
|
104
104
|
typescript: true,
|
|
105
105
|
node: true,
|
|
106
106
|
},
|
|
@@ -24,6 +24,7 @@ export default [
|
|
|
24
24
|
...storybook,
|
|
25
25
|
...react,
|
|
26
26
|
{
|
|
27
|
+
files: ['**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}'],
|
|
27
28
|
plugins: {
|
|
28
29
|
'@next/next': nextPlugin,
|
|
29
30
|
'react-hooks': reactHooks,
|
|
@@ -32,7 +33,7 @@ export default [
|
|
|
32
33
|
...nextPlugin.configs.recommended.rules,
|
|
33
34
|
...nextPlugin.configs['core-web-vitals'].rules,
|
|
34
35
|
...reactHooks.configs.recommended.rules,
|
|
35
|
-
'import/no-anonymous-default-export': 'warn',
|
|
36
|
+
'import-x/no-anonymous-default-export': 'warn',
|
|
36
37
|
'react/react-in-jsx-scope': 'off',
|
|
37
38
|
'react/prop-types': 'off',
|
|
38
39
|
},
|
package/src/configs/react.mjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import jsxA11y from 'eslint-plugin-jsx-a11y';
|
|
2
2
|
import react from 'eslint-plugin-react';
|
|
3
3
|
|
|
4
|
-
import { fixupPluginRules } from '../utils/fixup.mjs';
|
|
5
|
-
|
|
6
4
|
/**
|
|
7
5
|
* React and JSX accessibility linting configuration.
|
|
8
6
|
*/
|
|
@@ -10,8 +8,8 @@ export default [
|
|
|
10
8
|
{
|
|
11
9
|
files: ['**/*.{js,mjs,cjs,jsx,ts,mts,cts,tsx}'],
|
|
12
10
|
plugins: {
|
|
13
|
-
react
|
|
14
|
-
'jsx-a11y':
|
|
11
|
+
react,
|
|
12
|
+
'jsx-a11y': jsxA11y,
|
|
15
13
|
},
|
|
16
14
|
rules: {
|
|
17
15
|
'jsx-a11y/anchor-ambiguous-text': 'error',
|