@wistia/eslint-config 2.0.0 → 2.1.1
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/CHANGELOG.md +12 -0
- package/package.json +5 -5
- package/src/configs/javascript.mjs +3 -3
- package/src/configs/node.mjs +2 -2
- package/src/configs/storybook.mjs +6 -6
- package/src/configs/typescript.mjs +8 -8
- package/src/configs/vitest.mjs +0 -4
- package/src/rules/base.mjs +1 -1
- package/src/rules/import.mjs +99 -95
- package/src/rules/node.mjs +1 -1
- package/src/rules/vitest.mjs +32 -0
- package/test/__snapshots__/javascript.mjs.snap +52 -52
- package/test/__snapshots__/node.mjs.snap +2 -2
- package/test/__snapshots__/storybook.mjs.snap +5 -5
- package/test/__snapshots__/typescript.mjs.snap +55 -55
- package/test/__snapshots__/vitest.mjs.snap +24 -25
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @wistia/eslint-config
|
|
2
2
|
|
|
3
|
+
## 2.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#438](https://github.com/wistia/eslint-config/pull/438) [`bd5eaaa`](https://github.com/wistia/eslint-config/commit/bd5eaaa1c65f68969a61d67871dbe177cecc94ca) Thanks [@okize](https://github.com/okize)! - fix: official vitest plugin includes formatting rules so we do not need to use `eslint-plugin-jest-formatting`
|
|
8
|
+
|
|
9
|
+
## 2.1.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [#436](https://github.com/wistia/eslint-config/pull/436) [`8a5b5ac`](https://github.com/wistia/eslint-config/commit/8a5b5acac52b08919ccf2f9467fa9b53c7951cc1) Thanks [@okize](https://github.com/okize)! - feat: migrate from `eslint-plugin-import` to `eslint-plugin-import-x`
|
|
14
|
+
|
|
3
15
|
## 2.0.0
|
|
4
16
|
|
|
5
17
|
### Major Changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wistia/eslint-config",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Wistia's ESLint configurations",
|
|
5
5
|
"packageManager": "yarn@4.12.0",
|
|
6
6
|
"type": "module",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
50
50
|
"eslint-plugin-barrel-files": "^3.0.1",
|
|
51
51
|
"eslint-plugin-filenames": "^1.3.2",
|
|
52
|
-
"eslint-plugin-import": "^
|
|
52
|
+
"eslint-plugin-import-x": "^4.16.2",
|
|
53
53
|
"eslint-plugin-jest": "^29.15.0",
|
|
54
54
|
"eslint-plugin-jest-dom": "^5.5.0",
|
|
55
55
|
"eslint-plugin-jest-formatting": "^3.1.0",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
66
66
|
"eslint-plugin-react-hooks-ssr": "^0.1.5",
|
|
67
67
|
"eslint-plugin-ssr-friendly": "^1.3.0",
|
|
68
|
-
"eslint-plugin-storybook": "^10.3.
|
|
68
|
+
"eslint-plugin-storybook": "^10.3.3",
|
|
69
69
|
"eslint-plugin-styled-components-a11y": "^2.2.1",
|
|
70
70
|
"eslint-plugin-testing-library": "^7.16.1",
|
|
71
71
|
"globals": "^17.4.0",
|
|
@@ -81,9 +81,9 @@
|
|
|
81
81
|
"glob": "^13.0.6",
|
|
82
82
|
"husky": "^9.1.7",
|
|
83
83
|
"prettier": "^3.8.1",
|
|
84
|
-
"storybook": "^10.3.
|
|
84
|
+
"storybook": "^10.3.3",
|
|
85
85
|
"typescript": "^5.9.3",
|
|
86
|
-
"vitest": "^4.1.
|
|
86
|
+
"vitest": "^4.1.1"
|
|
87
87
|
},
|
|
88
88
|
"peerDependencies": {
|
|
89
89
|
"eslint": ">= 10",
|
|
@@ -4,7 +4,7 @@ import typescriptParser from '@typescript-eslint/parser';
|
|
|
4
4
|
import jsPlugin from '@eslint/js';
|
|
5
5
|
import stylisticPlugin from '@stylistic/eslint-plugin';
|
|
6
6
|
import filenamesPlugin from 'eslint-plugin-filenames';
|
|
7
|
-
import importPlugin from 'eslint-plugin-import';
|
|
7
|
+
import { importX as importPlugin } from 'eslint-plugin-import-x';
|
|
8
8
|
import barrelFilesPlugin from 'eslint-plugin-barrel-files';
|
|
9
9
|
import prettierPlugin from 'eslint-plugin-prettier';
|
|
10
10
|
import promisePlugin from 'eslint-plugin-promise';
|
|
@@ -32,13 +32,13 @@ export default [
|
|
|
32
32
|
},
|
|
33
33
|
},
|
|
34
34
|
settings: {
|
|
35
|
-
'import/extensions': ['.js', '.jsx', '.mjs', '.cjs'],
|
|
35
|
+
'import-x/extensions': ['.js', '.jsx', '.mjs', '.cjs'],
|
|
36
36
|
},
|
|
37
37
|
plugins: {
|
|
38
38
|
'@stylistic': stylisticPlugin,
|
|
39
39
|
'barrel-files': barrelFilesPlugin,
|
|
40
40
|
filenames: fixupPluginRules(filenamesPlugin),
|
|
41
|
-
import: importPlugin,
|
|
41
|
+
'import-x': importPlugin,
|
|
42
42
|
js: jsPlugin,
|
|
43
43
|
prettier: prettierPlugin,
|
|
44
44
|
promise: promisePlugin,
|
package/src/configs/node.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import globals from 'globals';
|
|
2
2
|
import nodePlugin from 'eslint-plugin-n';
|
|
3
|
-
import importPlugin from 'eslint-plugin-import';
|
|
3
|
+
import { importX as importPlugin } from 'eslint-plugin-import-x';
|
|
4
4
|
import nodeRules from '../rules/node.mjs';
|
|
5
5
|
|
|
6
6
|
export default [
|
|
@@ -12,7 +12,7 @@ export default [
|
|
|
12
12
|
},
|
|
13
13
|
plugins: {
|
|
14
14
|
n: nodePlugin,
|
|
15
|
-
import: importPlugin,
|
|
15
|
+
'import-x': importPlugin,
|
|
16
16
|
},
|
|
17
17
|
rules: {
|
|
18
18
|
...nodeRules,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { fixupPluginRules } from '@eslint/compat';
|
|
2
2
|
import storybookPlugin from 'eslint-plugin-storybook';
|
|
3
3
|
import filenamesPlugin from 'eslint-plugin-filenames';
|
|
4
|
-
import importPlugin from 'eslint-plugin-import';
|
|
4
|
+
import { importX as importPlugin } from 'eslint-plugin-import-x';
|
|
5
5
|
import storybookRules from '../rules/storybook.mjs';
|
|
6
6
|
|
|
7
7
|
export default [
|
|
@@ -9,15 +9,15 @@ export default [
|
|
|
9
9
|
plugins: {
|
|
10
10
|
storybook: storybookPlugin,
|
|
11
11
|
filenames: fixupPluginRules(filenamesPlugin),
|
|
12
|
-
import: importPlugin,
|
|
12
|
+
'import-x': importPlugin,
|
|
13
13
|
},
|
|
14
14
|
rules: {
|
|
15
15
|
...storybookRules,
|
|
16
16
|
// storybook >7 requires default exports in stories
|
|
17
|
-
'import/no-anonymous-default-export': 'off',
|
|
18
|
-
'import/no-default-export': 'off',
|
|
19
|
-
'import/no-extraneous-dependencies': ['error', { devDependencies: true }],
|
|
20
|
-
'import/prefer-default-export': 'error',
|
|
17
|
+
'import-x/no-anonymous-default-export': 'off',
|
|
18
|
+
'import-x/no-default-export': 'off',
|
|
19
|
+
'import-x/no-extraneous-dependencies': ['error', { devDependencies: true }],
|
|
20
|
+
'import-x/prefer-default-export': 'error',
|
|
21
21
|
|
|
22
22
|
// the default export is always called `meta` so the filenames
|
|
23
23
|
// will never match the exported name
|
|
@@ -4,7 +4,7 @@ import typescriptPlugin from '@typescript-eslint/eslint-plugin';
|
|
|
4
4
|
import { fixupPluginRules } from '@eslint/compat';
|
|
5
5
|
import stylisticPlugin from '@stylistic/eslint-plugin';
|
|
6
6
|
import filenamesPlugin from 'eslint-plugin-filenames';
|
|
7
|
-
import importPlugin from 'eslint-plugin-import';
|
|
7
|
+
import { importX as importPlugin } from 'eslint-plugin-import-x';
|
|
8
8
|
import barrelFilesPlugin from 'eslint-plugin-barrel-files';
|
|
9
9
|
import prettierPlugin from 'eslint-plugin-prettier';
|
|
10
10
|
import promisePlugin from 'eslint-plugin-promise';
|
|
@@ -37,23 +37,23 @@ export default [
|
|
|
37
37
|
'@typescript-eslint': typescriptPlugin,
|
|
38
38
|
'barrel-files': barrelFilesPlugin,
|
|
39
39
|
filenames: fixupPluginRules(filenamesPlugin),
|
|
40
|
-
import: importPlugin,
|
|
40
|
+
'import-x': importPlugin,
|
|
41
41
|
prettier: prettierPlugin,
|
|
42
42
|
promise: promisePlugin,
|
|
43
43
|
},
|
|
44
44
|
settings: {
|
|
45
|
-
'import/extensions': ['.ts', '.cts', '.mts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'],
|
|
45
|
+
'import-x/extensions': ['.ts', '.cts', '.mts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'],
|
|
46
46
|
|
|
47
|
-
'import/external-module-folders': ['node_modules', 'node_modules/@types'],
|
|
47
|
+
'import-x/external-module-folders': ['node_modules', 'node_modules/@types'],
|
|
48
48
|
|
|
49
|
-
'import/parsers': {
|
|
49
|
+
'import-x/parsers': {
|
|
50
50
|
// omit `.d.ts` because
|
|
51
51
|
// 1) TypeScript compilation already confirms that types are resolved, and
|
|
52
52
|
// 2) it would mask an unresolved `.ts`/`.tsx`/`.js`/`.jsx` implementation.
|
|
53
53
|
'@typescript-eslint/parser': ['.ts', '.cts', '.mts', '.tsx'],
|
|
54
54
|
},
|
|
55
55
|
|
|
56
|
-
'import/resolver': {
|
|
56
|
+
'import-x/resolver': {
|
|
57
57
|
typescript: {
|
|
58
58
|
node: {
|
|
59
59
|
extensions: ['.ts', '.cts', '.mts', '.tsx', '.js', '.jsx', '.mjs', '.cjs'],
|
|
@@ -76,8 +76,8 @@ export default [
|
|
|
76
76
|
...promiseRules,
|
|
77
77
|
...typescriptRules,
|
|
78
78
|
|
|
79
|
-
'import/named': 'off', // conflicts with TS's type system
|
|
80
|
-
'import/no-unused-modules': 'off', // false positives
|
|
79
|
+
'import-x/named': 'off', // conflicts with TS's type system
|
|
80
|
+
'import-x/no-unused-modules': 'off', // false positives
|
|
81
81
|
'prettier/prettier': 'error',
|
|
82
82
|
},
|
|
83
83
|
},
|
package/src/configs/vitest.mjs
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import globalsVitest from 'globals-vitest';
|
|
2
2
|
import vitestPlugin from '@vitest/eslint-plugin';
|
|
3
|
-
import jestFormattingPlugin from 'eslint-plugin-jest-formatting';
|
|
4
3
|
import noOnlyTestsPlugin from 'eslint-plugin-no-only-tests';
|
|
5
4
|
import vitestRules from '../rules/vitest.mjs';
|
|
6
|
-
import jestFormattingRules from '../rules/jest-formatting.mjs';
|
|
7
5
|
|
|
8
6
|
export default [
|
|
9
7
|
{
|
|
@@ -16,12 +14,10 @@ export default [
|
|
|
16
14
|
},
|
|
17
15
|
plugins: {
|
|
18
16
|
vitest: vitestPlugin,
|
|
19
|
-
'jest-formatting': jestFormattingPlugin,
|
|
20
17
|
'no-only-tests': noOnlyTestsPlugin,
|
|
21
18
|
},
|
|
22
19
|
rules: {
|
|
23
20
|
...vitestRules,
|
|
24
|
-
...jestFormattingRules,
|
|
25
21
|
},
|
|
26
22
|
},
|
|
27
23
|
];
|
package/src/rules/base.mjs
CHANGED
|
@@ -85,7 +85,7 @@ export default {
|
|
|
85
85
|
|
|
86
86
|
// Disallow duplicate module imports
|
|
87
87
|
// https://eslint.org/docs/rules/no-duplicate-imports
|
|
88
|
-
// replaced by https://github.com/
|
|
88
|
+
// replaced by https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-duplicates.md
|
|
89
89
|
'no-duplicate-imports': 'off',
|
|
90
90
|
|
|
91
91
|
// Disallow empty character classes in regular expressions
|
package/src/rules/import.mjs
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
1
|
export default {
|
|
2
2
|
// ensure named imports coupled with named exports
|
|
3
|
-
// https://github.com/
|
|
4
|
-
'import/named': 'error',
|
|
3
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/named.md
|
|
4
|
+
'import-x/named': 'error',
|
|
5
5
|
|
|
6
6
|
// Forbid cyclical dependencies between modules
|
|
7
|
-
// https://github.com/
|
|
8
|
-
'import/no-cycle': ['error', { maxDepth: '∞' }],
|
|
7
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-cycle.md
|
|
8
|
+
'import-x/no-cycle': ['error', { maxDepth: '∞' }],
|
|
9
9
|
|
|
10
10
|
// ensure imports point to files/modules that can be resolved
|
|
11
|
-
// https://github.com/
|
|
12
|
-
'import/no-unresolved': ['error', { caseSensitive: true }],
|
|
11
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-unresolved.md
|
|
12
|
+
'import-x/no-unresolved': ['error', { caseSensitive: true }],
|
|
13
13
|
|
|
14
14
|
// ensure default import coupled with default export
|
|
15
|
-
// https://github.com/
|
|
16
|
-
'import/default': 'error',
|
|
15
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/default.md
|
|
16
|
+
'import-x/default': 'error',
|
|
17
17
|
|
|
18
|
-
// https://github.com/
|
|
19
|
-
'import/namespace': 'error',
|
|
18
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/namespace.md
|
|
19
|
+
'import-x/namespace': 'error',
|
|
20
20
|
|
|
21
21
|
// Helpful warnings:
|
|
22
22
|
|
|
23
23
|
// disallow invalid exports, e.g. multiple defaults
|
|
24
|
-
// https://github.com/
|
|
25
|
-
'import/export': 'error',
|
|
24
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/export.md
|
|
25
|
+
'import-x/export': 'error',
|
|
26
26
|
|
|
27
27
|
// do not allow a default import name to match a named export
|
|
28
|
-
// https://github.com/
|
|
29
|
-
'import/no-named-as-default': 'error',
|
|
28
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-as-default.md
|
|
29
|
+
'import-x/no-named-as-default': 'error',
|
|
30
30
|
|
|
31
31
|
// warn on accessing default export property names that are also named exports
|
|
32
|
-
// https://github.com/
|
|
33
|
-
'import/no-named-as-default-member': 'error',
|
|
32
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-as-default-member.md
|
|
33
|
+
'import-x/no-named-as-default-member': 'error',
|
|
34
34
|
|
|
35
35
|
// disallow use of jsdoc-marked-deprecated imports
|
|
36
|
-
// https://github.com/
|
|
37
|
-
'import/no-deprecated': 'off',
|
|
36
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-deprecated.md
|
|
37
|
+
'import-x/no-deprecated': 'off',
|
|
38
38
|
|
|
39
39
|
// Forbid the use of extraneous packages
|
|
40
|
-
// https://github.com/
|
|
40
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-extraneous-dependencies.md
|
|
41
41
|
// paths are treated both as absolute paths, and relative to process.cwd()
|
|
42
|
-
'import/no-extraneous-dependencies': [
|
|
42
|
+
'import-x/no-extraneous-dependencies': [
|
|
43
43
|
'error',
|
|
44
44
|
{
|
|
45
45
|
devDependencies: [
|
|
@@ -64,45 +64,49 @@ export default {
|
|
|
64
64
|
],
|
|
65
65
|
|
|
66
66
|
// Forbid mutable exports
|
|
67
|
-
// https://github.com/
|
|
68
|
-
'import/no-mutable-exports': 'error',
|
|
67
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-mutable-exports.md
|
|
68
|
+
'import-x/no-mutable-exports': 'error',
|
|
69
|
+
|
|
70
|
+
// Reports if a default export is renamed during import
|
|
71
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-rename-default.md
|
|
72
|
+
'import-x/no-rename-default': 'error',
|
|
69
73
|
|
|
70
74
|
// Module systems:
|
|
71
75
|
|
|
72
76
|
// disallow require()
|
|
73
|
-
// https://github.com/
|
|
74
|
-
'import/no-commonjs': 'error',
|
|
77
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-commonjs.md
|
|
78
|
+
'import-x/no-commonjs': 'error',
|
|
75
79
|
|
|
76
80
|
// disallow AMD require/define
|
|
77
|
-
// https://github.com/
|
|
78
|
-
'import/no-amd': 'error',
|
|
81
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-amd.md
|
|
82
|
+
'import-x/no-amd': 'error',
|
|
79
83
|
|
|
80
84
|
// No Node.js builtin modules
|
|
81
|
-
// https://github.com/
|
|
82
|
-
'import/no-nodejs-modules': 'off',
|
|
85
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-nodejs-modules.md
|
|
86
|
+
'import-x/no-nodejs-modules': 'off',
|
|
83
87
|
|
|
84
88
|
// Style guide:
|
|
85
89
|
|
|
86
90
|
// disallow non-import statements appearing before import statements
|
|
87
|
-
// https://github.com/
|
|
88
|
-
'import/first': 'error',
|
|
91
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/first.md
|
|
92
|
+
'import-x/first': 'error',
|
|
89
93
|
|
|
90
94
|
// disallow non-import statements appearing before import statements
|
|
91
|
-
// https://github.com/
|
|
92
|
-
// deprecated: use `import/first`
|
|
93
|
-
// 'import/imports-first': 'off',
|
|
95
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/imports-first.md
|
|
96
|
+
// deprecated: use `import-x/first`
|
|
97
|
+
// 'import-x/imports-first': 'off',
|
|
94
98
|
|
|
95
99
|
// disallow duplicate imports
|
|
96
|
-
// https://github.com/
|
|
97
|
-
'import/no-duplicates': 'error',
|
|
100
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-duplicates.md
|
|
101
|
+
'import-x/no-duplicates': 'error',
|
|
98
102
|
|
|
99
103
|
// disallow namespace imports
|
|
100
|
-
// https://github.com/
|
|
101
|
-
'import/no-namespace': 'off',
|
|
104
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-namespace.md
|
|
105
|
+
'import-x/no-namespace': 'off',
|
|
102
106
|
|
|
103
107
|
// Ensure consistent use of file extension within the import path
|
|
104
|
-
// https://github.com/
|
|
105
|
-
'import/extensions': [
|
|
108
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/extensions.md
|
|
109
|
+
'import-x/extensions': [
|
|
106
110
|
'error',
|
|
107
111
|
'ignorePackages',
|
|
108
112
|
{
|
|
@@ -115,8 +119,8 @@ export default {
|
|
|
115
119
|
],
|
|
116
120
|
|
|
117
121
|
// ensure absolute imports are above relative imports and that unassigned imports are ignored
|
|
118
|
-
// https://github.com/
|
|
119
|
-
'import/order': [
|
|
122
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/order.md
|
|
123
|
+
'import-x/order': [
|
|
120
124
|
'error',
|
|
121
125
|
{
|
|
122
126
|
groups: [['builtin', 'external', 'internal'], 'index', ['parent', 'sibling']],
|
|
@@ -125,36 +129,32 @@ export default {
|
|
|
125
129
|
],
|
|
126
130
|
|
|
127
131
|
// Require a newline after the last import/require in a group
|
|
128
|
-
// https://github.com/
|
|
129
|
-
'import/newline-after-import': 'error',
|
|
132
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/newline-after-import.md
|
|
133
|
+
'import-x/newline-after-import': 'error',
|
|
130
134
|
|
|
131
135
|
// Require modules with a single export to use a default export
|
|
132
|
-
// https://github.com/
|
|
133
|
-
'import/prefer-default-export': 'off',
|
|
136
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/prefer-default-export.md
|
|
137
|
+
'import-x/prefer-default-export': 'off',
|
|
134
138
|
|
|
135
139
|
// Restrict which files can be imported in a given folder
|
|
136
|
-
// https://github.com/
|
|
137
|
-
'import/no-restricted-paths': 'off',
|
|
140
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-restricted-paths.md
|
|
141
|
+
'import-x/no-restricted-paths': 'off',
|
|
138
142
|
|
|
139
143
|
// Forbid modules to have too many dependencies
|
|
140
|
-
// https://github.com/
|
|
141
|
-
'import/max-dependencies': ['off', { max: 10 }],
|
|
144
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/max-dependencies.md
|
|
145
|
+
'import-x/max-dependencies': ['off', { max: 10 }],
|
|
142
146
|
|
|
143
147
|
// Forbid import of modules using absolute paths
|
|
144
|
-
// https://github.com/
|
|
145
|
-
'import/no-absolute-path': 'error',
|
|
148
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-absolute-path.md
|
|
149
|
+
'import-x/no-absolute-path': 'error',
|
|
146
150
|
|
|
147
151
|
// Forbid require() calls with expressions
|
|
148
|
-
// https://github.com/
|
|
149
|
-
'import/no-dynamic-require': 'error',
|
|
150
|
-
|
|
151
|
-
// Enforce either using, or omitting, the node: protocol when importing Node.js builtin modules
|
|
152
|
-
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/enforce-node-protocol-usage.md
|
|
153
|
-
'import/enforce-node-protocol-usage': ['error', 'always'],
|
|
152
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-dynamic-require.md
|
|
153
|
+
'import-x/no-dynamic-require': 'error',
|
|
154
154
|
|
|
155
155
|
// prevent importing the submodules of other modules
|
|
156
|
-
// https://github.com/
|
|
157
|
-
'import/no-internal-modules': [
|
|
156
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-internal-modules.md
|
|
157
|
+
'import-x/no-internal-modules': [
|
|
158
158
|
'off',
|
|
159
159
|
{
|
|
160
160
|
allow: [],
|
|
@@ -163,28 +163,28 @@ export default {
|
|
|
163
163
|
|
|
164
164
|
// Warn if a module could be mistakenly parsed as a script by a consumer
|
|
165
165
|
// leveraging Unambiguous JavaScript Grammar
|
|
166
|
-
// https://github.com/
|
|
166
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/unambiguous.md
|
|
167
167
|
// this should not be enabled until this proposal has at least been *presented* to TC39.
|
|
168
168
|
// At the moment, it's not a thing.
|
|
169
|
-
'import/unambiguous': 'off',
|
|
169
|
+
'import-x/unambiguous': 'off',
|
|
170
170
|
|
|
171
171
|
// Forbid Webpack loader syntax in imports
|
|
172
|
-
// https://github.com/
|
|
173
|
-
'import/no-webpack-loader-syntax': 'error',
|
|
172
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-webpack-loader-syntax.md
|
|
173
|
+
'import-x/no-webpack-loader-syntax': 'error',
|
|
174
174
|
|
|
175
175
|
// Prevent unassigned imports
|
|
176
|
-
// https://github.com/
|
|
176
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-unassigned-import.md
|
|
177
177
|
// importing for side effects is perfectly acceptable, if you need side effects.
|
|
178
|
-
'import/no-unassigned-import': 'off',
|
|
178
|
+
'import-x/no-unassigned-import': 'off',
|
|
179
179
|
|
|
180
180
|
// Prevent importing the default as if it were named
|
|
181
|
-
// https://github.com/
|
|
182
|
-
'import/no-named-default': 'error',
|
|
181
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-default.md
|
|
182
|
+
'import-x/no-named-default': 'error',
|
|
183
183
|
|
|
184
184
|
// Reports if a module's default export is unnamed
|
|
185
185
|
// (anonymous exports make grepping code from Dev Tools component tree more difficult)
|
|
186
|
-
// https://github.com/
|
|
187
|
-
'import/no-anonymous-default-export': [
|
|
186
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-anonymous-default-export.md
|
|
187
|
+
'import-x/no-anonymous-default-export': [
|
|
188
188
|
'error',
|
|
189
189
|
{
|
|
190
190
|
allowArray: false,
|
|
@@ -198,34 +198,34 @@ export default {
|
|
|
198
198
|
],
|
|
199
199
|
|
|
200
200
|
// This rule enforces that all exports are declared at the bottom of the file.
|
|
201
|
-
// https://github.com/
|
|
202
|
-
'import/exports-last': 'off',
|
|
201
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/exports-last.md
|
|
202
|
+
'import-x/exports-last': 'off',
|
|
203
203
|
|
|
204
204
|
// Reports when named exports are not grouped together in a single export declaration
|
|
205
205
|
// or when multiple assignments to CommonJS module.exports or exports object are present
|
|
206
206
|
// in a single file.
|
|
207
|
-
// https://github.com/
|
|
208
|
-
'import/group-exports': 'off',
|
|
207
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/group-exports.md
|
|
208
|
+
'import-x/group-exports': 'off',
|
|
209
209
|
|
|
210
210
|
// forbid default exports
|
|
211
|
-
// https://github.com/
|
|
212
|
-
'import/no-default-export': 'error',
|
|
211
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-default-export.md
|
|
212
|
+
'import-x/no-default-export': 'error',
|
|
213
213
|
|
|
214
214
|
// Prohibit named exports. this is a terrible rule, do not use it.
|
|
215
|
-
// https://github.com/
|
|
216
|
-
'import/no-named-export': 'off',
|
|
215
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-named-export.md
|
|
216
|
+
'import-x/no-named-export': 'off',
|
|
217
217
|
|
|
218
218
|
// Forbid a module from importing itself
|
|
219
|
-
// https://github.com/
|
|
220
|
-
'import/no-self-import': 'error',
|
|
219
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-self-import.md
|
|
220
|
+
'import-x/no-self-import': 'error',
|
|
221
221
|
|
|
222
222
|
// Ensures that there are no useless path segments
|
|
223
|
-
// https://github.com/
|
|
224
|
-
'import/no-useless-path-segments': ['error', { commonjs: true }],
|
|
223
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-useless-path-segments.md
|
|
224
|
+
'import-x/no-useless-path-segments': ['error', { commonjs: true }],
|
|
225
225
|
|
|
226
226
|
// dynamic imports require a leading comment with a webpackChunkName
|
|
227
|
-
// https://github.com/
|
|
228
|
-
'import/dynamic-import-chunkname': [
|
|
227
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/dynamic-import-chunkname.md
|
|
228
|
+
'import-x/dynamic-import-chunkname': [
|
|
229
229
|
'off',
|
|
230
230
|
{
|
|
231
231
|
importFunctions: [],
|
|
@@ -234,17 +234,17 @@ export default {
|
|
|
234
234
|
],
|
|
235
235
|
|
|
236
236
|
// Use this rule to prevent imports to folders in relative parent paths.
|
|
237
|
-
// https://github.com/
|
|
238
|
-
'import/no-relative-parent-imports': 'off',
|
|
237
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-relative-parent-imports.md
|
|
238
|
+
'import-x/no-relative-parent-imports': 'off',
|
|
239
239
|
|
|
240
240
|
// Reports modules without any exports, or with unused exports
|
|
241
|
-
// https://github.com/
|
|
241
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-unused-modules.md
|
|
242
242
|
// note: there are better tools to detect unused exports
|
|
243
|
-
'import/no-unused-modules': 'off',
|
|
243
|
+
'import-x/no-unused-modules': 'off',
|
|
244
244
|
|
|
245
245
|
// Reports the use of import declarations with CommonJS exports in any module except for the main module.
|
|
246
|
-
// https://github.com/
|
|
247
|
-
'import/no-import-module-exports': [
|
|
246
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-import-module-exports.md
|
|
247
|
+
'import-x/no-import-module-exports': [
|
|
248
248
|
'error',
|
|
249
249
|
{
|
|
250
250
|
exceptions: [],
|
|
@@ -252,15 +252,19 @@ export default {
|
|
|
252
252
|
],
|
|
253
253
|
|
|
254
254
|
// Use this rule to prevent importing packages through relative paths.
|
|
255
|
-
// https://github.com/
|
|
256
|
-
'import/no-relative-packages': 'error',
|
|
255
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-relative-packages.md
|
|
256
|
+
'import-x/no-relative-packages': 'error',
|
|
257
257
|
|
|
258
258
|
// Forbid empty named import blocks
|
|
259
|
-
// https://github.com/
|
|
260
|
-
'import/no-empty-named-blocks': 'error',
|
|
259
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/no-empty-named-blocks.md
|
|
260
|
+
'import-x/no-empty-named-blocks': 'error',
|
|
261
261
|
|
|
262
262
|
// Enforce a convention in type specifier style for imports
|
|
263
|
-
// https://github.com/
|
|
263
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/consistent-type-specifier-style.md
|
|
264
264
|
// note: this rule is better handled by @typescript-eslint/consistent-type-imports
|
|
265
|
-
'import/consistent-type-specifier-style': 'off',
|
|
265
|
+
'import-x/consistent-type-specifier-style': 'off',
|
|
266
|
+
|
|
267
|
+
// Enforce namespace imports for specified modules
|
|
268
|
+
// https://github.com/un-ts/eslint-plugin-import-x/blob/master/docs/rules/prefer-namespace-import.md
|
|
269
|
+
'import-x/prefer-namespace-import': 'off',
|
|
266
270
|
};
|
package/src/rules/node.mjs
CHANGED
package/src/rules/vitest.mjs
CHANGED
|
@@ -113,6 +113,38 @@ export default {
|
|
|
113
113
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
|
|
114
114
|
'vitest/no-test-return-statement': 'error',
|
|
115
115
|
|
|
116
|
+
// This rule enforces a line of padding before and after 1 or more `afterAll` statements.
|
|
117
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-all-blocks.md
|
|
118
|
+
'vitest/padding-around-after-all-blocks': 'error',
|
|
119
|
+
|
|
120
|
+
// This rule enforces a line of padding before and after 1 or more `afterEach` statements.
|
|
121
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-after-each-blocks.md
|
|
122
|
+
'vitest/padding-around-after-each-blocks': 'error',
|
|
123
|
+
|
|
124
|
+
// This rule enforces a line of padding before and after `beforeAll` statements.
|
|
125
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-all-blocks.md
|
|
126
|
+
'vitest/padding-around-before-all-blocks': 'error',
|
|
127
|
+
|
|
128
|
+
// This rule enforces a line of padding before and after 1 or more `beforeEach` statements
|
|
129
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-before-each-blocks.md
|
|
130
|
+
'vitest/padding-around-before-each-blocks': 'error',
|
|
131
|
+
|
|
132
|
+
// This rule enforces a line of padding before and after 1 or more `expect` statements
|
|
133
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-expect-groups.md
|
|
134
|
+
'vitest/padding-around-expect-groups': 'error',
|
|
135
|
+
|
|
136
|
+
// This rule enforces a line of padding before and after 1 or more `describe` statements
|
|
137
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-describe-blocks.md
|
|
138
|
+
'vitest/padding-around-describe-blocks': 'error',
|
|
139
|
+
|
|
140
|
+
// This rule enforces a line of padding before and after 1 or more `test`/`it` statements
|
|
141
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-test-blocks.md
|
|
142
|
+
'vitest/padding-around-test-blocks': 'error',
|
|
143
|
+
|
|
144
|
+
// This is a meta rule that simply enables all of the previous rules
|
|
145
|
+
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/padding-around-all.md
|
|
146
|
+
'vitest/padding-around-all': 'off',
|
|
147
|
+
|
|
116
148
|
// Suggest using toBeCalledWith() or toHaveBeenCalledWith()
|
|
117
149
|
// https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
|
|
118
150
|
'vitest/prefer-called-with': 'error',
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"@stylistic:@stylistic/eslint-plugin@5.10.0",
|
|
79
79
|
"barrel-files:eslint-plugin-barrel-files@3.0.1",
|
|
80
80
|
"filenames",
|
|
81
|
-
"import",
|
|
81
|
+
"import-x:eslint-plugin-import-x@4.16.2",
|
|
82
82
|
"js:@eslint/js@10.0.1",
|
|
83
83
|
"prettier:eslint-plugin-prettier@5.5.5",
|
|
84
84
|
"promise",
|
|
@@ -838,30 +838,26 @@
|
|
|
838
838
|
"properties": false,
|
|
839
839
|
},
|
|
840
840
|
],
|
|
841
|
-
"import/consistent-type-specifier-style": [
|
|
841
|
+
"import-x/consistent-type-specifier-style": [
|
|
842
842
|
0,
|
|
843
843
|
],
|
|
844
|
-
"import/default": [
|
|
844
|
+
"import-x/default": [
|
|
845
845
|
2,
|
|
846
846
|
],
|
|
847
|
-
"import/dynamic-import-chunkname": [
|
|
847
|
+
"import-x/dynamic-import-chunkname": [
|
|
848
848
|
0,
|
|
849
849
|
{
|
|
850
850
|
"importFunctions": [],
|
|
851
851
|
"webpackChunknameFormat": "[0-9a-zA-Z-_/.]+",
|
|
852
852
|
},
|
|
853
853
|
],
|
|
854
|
-
"import/
|
|
855
|
-
2,
|
|
856
|
-
"always",
|
|
857
|
-
],
|
|
858
|
-
"import/export": [
|
|
854
|
+
"import-x/export": [
|
|
859
855
|
2,
|
|
860
856
|
],
|
|
861
|
-
"import/exports-last": [
|
|
857
|
+
"import-x/exports-last": [
|
|
862
858
|
0,
|
|
863
859
|
],
|
|
864
|
-
"import/extensions": [
|
|
860
|
+
"import-x/extensions": [
|
|
865
861
|
2,
|
|
866
862
|
"ignorePackages",
|
|
867
863
|
{
|
|
@@ -872,34 +868,34 @@
|
|
|
872
868
|
"tsx": "never",
|
|
873
869
|
},
|
|
874
870
|
],
|
|
875
|
-
"import/first": [
|
|
871
|
+
"import-x/first": [
|
|
876
872
|
2,
|
|
877
873
|
],
|
|
878
|
-
"import/group-exports": [
|
|
874
|
+
"import-x/group-exports": [
|
|
879
875
|
0,
|
|
880
876
|
],
|
|
881
|
-
"import/max-dependencies": [
|
|
877
|
+
"import-x/max-dependencies": [
|
|
882
878
|
0,
|
|
883
879
|
{
|
|
884
880
|
"max": 10,
|
|
885
881
|
},
|
|
886
882
|
],
|
|
887
|
-
"import/named": [
|
|
883
|
+
"import-x/named": [
|
|
888
884
|
2,
|
|
889
885
|
],
|
|
890
|
-
"import/namespace": [
|
|
886
|
+
"import-x/namespace": [
|
|
891
887
|
2,
|
|
892
888
|
],
|
|
893
|
-
"import/newline-after-import": [
|
|
889
|
+
"import-x/newline-after-import": [
|
|
894
890
|
2,
|
|
895
891
|
],
|
|
896
|
-
"import/no-absolute-path": [
|
|
892
|
+
"import-x/no-absolute-path": [
|
|
897
893
|
2,
|
|
898
894
|
],
|
|
899
|
-
"import/no-amd": [
|
|
895
|
+
"import-x/no-amd": [
|
|
900
896
|
2,
|
|
901
897
|
],
|
|
902
|
-
"import/no-anonymous-default-export": [
|
|
898
|
+
"import-x/no-anonymous-default-export": [
|
|
903
899
|
2,
|
|
904
900
|
{
|
|
905
901
|
"allowAnonymousClass": false,
|
|
@@ -911,34 +907,33 @@
|
|
|
911
907
|
"allowObject": false,
|
|
912
908
|
},
|
|
913
909
|
],
|
|
914
|
-
"import/no-commonjs": [
|
|
910
|
+
"import-x/no-commonjs": [
|
|
915
911
|
2,
|
|
916
912
|
],
|
|
917
|
-
"import/no-cycle": [
|
|
913
|
+
"import-x/no-cycle": [
|
|
918
914
|
2,
|
|
919
915
|
{
|
|
920
916
|
"allowUnsafeDynamicCyclicDependency": false,
|
|
921
|
-
"disableScc": false,
|
|
922
917
|
"ignoreExternal": false,
|
|
923
918
|
"maxDepth": "∞",
|
|
924
919
|
},
|
|
925
920
|
],
|
|
926
|
-
"import/no-default-export": [
|
|
921
|
+
"import-x/no-default-export": [
|
|
927
922
|
2,
|
|
928
923
|
],
|
|
929
|
-
"import/no-deprecated": [
|
|
924
|
+
"import-x/no-deprecated": [
|
|
930
925
|
0,
|
|
931
926
|
],
|
|
932
|
-
"import/no-duplicates": [
|
|
927
|
+
"import-x/no-duplicates": [
|
|
933
928
|
2,
|
|
934
929
|
],
|
|
935
|
-
"import/no-dynamic-require": [
|
|
930
|
+
"import-x/no-dynamic-require": [
|
|
936
931
|
2,
|
|
937
932
|
],
|
|
938
|
-
"import/no-empty-named-blocks": [
|
|
933
|
+
"import-x/no-empty-named-blocks": [
|
|
939
934
|
2,
|
|
940
935
|
],
|
|
941
|
-
"import/no-extraneous-dependencies": [
|
|
936
|
+
"import-x/no-extraneous-dependencies": [
|
|
942
937
|
2,
|
|
943
938
|
{
|
|
944
939
|
"devDependencies": [
|
|
@@ -961,74 +956,76 @@
|
|
|
961
956
|
"optionalDependencies": false,
|
|
962
957
|
},
|
|
963
958
|
],
|
|
964
|
-
"import/no-import-module-exports": [
|
|
959
|
+
"import-x/no-import-module-exports": [
|
|
965
960
|
2,
|
|
966
961
|
{
|
|
967
962
|
"exceptions": [],
|
|
968
963
|
},
|
|
969
964
|
],
|
|
970
|
-
"import/no-internal-modules": [
|
|
965
|
+
"import-x/no-internal-modules": [
|
|
971
966
|
0,
|
|
972
967
|
{
|
|
973
968
|
"allow": [],
|
|
974
969
|
},
|
|
975
970
|
],
|
|
976
|
-
"import/no-mutable-exports": [
|
|
971
|
+
"import-x/no-mutable-exports": [
|
|
977
972
|
2,
|
|
978
973
|
],
|
|
979
|
-
"import/no-named-as-default": [
|
|
974
|
+
"import-x/no-named-as-default": [
|
|
980
975
|
2,
|
|
981
976
|
],
|
|
982
|
-
"import/no-named-as-default-member": [
|
|
977
|
+
"import-x/no-named-as-default-member": [
|
|
983
978
|
2,
|
|
984
979
|
],
|
|
985
|
-
"import/no-named-default": [
|
|
980
|
+
"import-x/no-named-default": [
|
|
986
981
|
2,
|
|
987
982
|
],
|
|
988
|
-
"import/no-named-export": [
|
|
983
|
+
"import-x/no-named-export": [
|
|
989
984
|
0,
|
|
990
985
|
],
|
|
991
|
-
"import/no-namespace": [
|
|
986
|
+
"import-x/no-namespace": [
|
|
992
987
|
0,
|
|
993
988
|
],
|
|
994
|
-
"import/no-nodejs-modules": [
|
|
989
|
+
"import-x/no-nodejs-modules": [
|
|
995
990
|
0,
|
|
996
991
|
],
|
|
997
|
-
"import/no-relative-packages": [
|
|
992
|
+
"import-x/no-relative-packages": [
|
|
998
993
|
2,
|
|
999
994
|
],
|
|
1000
|
-
"import/no-relative-parent-imports": [
|
|
995
|
+
"import-x/no-relative-parent-imports": [
|
|
1001
996
|
0,
|
|
1002
997
|
],
|
|
1003
|
-
"import/no-
|
|
998
|
+
"import-x/no-rename-default": [
|
|
999
|
+
2,
|
|
1000
|
+
],
|
|
1001
|
+
"import-x/no-restricted-paths": [
|
|
1004
1002
|
0,
|
|
1005
1003
|
],
|
|
1006
|
-
"import/no-self-import": [
|
|
1004
|
+
"import-x/no-self-import": [
|
|
1007
1005
|
2,
|
|
1008
1006
|
],
|
|
1009
|
-
"import/no-unassigned-import": [
|
|
1007
|
+
"import-x/no-unassigned-import": [
|
|
1010
1008
|
0,
|
|
1011
1009
|
],
|
|
1012
|
-
"import/no-unresolved": [
|
|
1010
|
+
"import-x/no-unresolved": [
|
|
1013
1011
|
2,
|
|
1014
1012
|
{
|
|
1015
1013
|
"caseSensitive": true,
|
|
1016
|
-
"caseSensitiveStrict": false,
|
|
1017
1014
|
},
|
|
1018
1015
|
],
|
|
1019
|
-
"import/no-unused-modules": [
|
|
1016
|
+
"import-x/no-unused-modules": [
|
|
1020
1017
|
0,
|
|
1021
1018
|
],
|
|
1022
|
-
"import/no-useless-path-segments": [
|
|
1019
|
+
"import-x/no-useless-path-segments": [
|
|
1023
1020
|
2,
|
|
1024
1021
|
{
|
|
1025
1022
|
"commonjs": true,
|
|
1026
1023
|
},
|
|
1027
1024
|
],
|
|
1028
|
-
"import/no-webpack-loader-syntax": [
|
|
1025
|
+
"import-x/no-webpack-loader-syntax": [
|
|
1029
1026
|
2,
|
|
1030
1027
|
],
|
|
1031
|
-
"import/order": [
|
|
1028
|
+
"import-x/order": [
|
|
1032
1029
|
2,
|
|
1033
1030
|
{
|
|
1034
1031
|
"distinctGroup": true,
|
|
@@ -1050,10 +1047,13 @@
|
|
|
1050
1047
|
"warnOnUnassignedImports": false,
|
|
1051
1048
|
},
|
|
1052
1049
|
],
|
|
1053
|
-
"import/prefer-default-export": [
|
|
1050
|
+
"import-x/prefer-default-export": [
|
|
1051
|
+
0,
|
|
1052
|
+
],
|
|
1053
|
+
"import-x/prefer-namespace-import": [
|
|
1054
1054
|
0,
|
|
1055
1055
|
],
|
|
1056
|
-
"import/unambiguous": [
|
|
1056
|
+
"import-x/unambiguous": [
|
|
1057
1057
|
0,
|
|
1058
1058
|
],
|
|
1059
1059
|
"init-declarations": [
|
|
@@ -2229,7 +2229,7 @@
|
|
|
2229
2229
|
],
|
|
2230
2230
|
},
|
|
2231
2231
|
"settings": {
|
|
2232
|
-
"import/extensions": [
|
|
2232
|
+
"import-x/extensions": [
|
|
2233
2233
|
".js",
|
|
2234
2234
|
".jsx",
|
|
2235
2235
|
".mjs",
|
|
@@ -15,25 +15,25 @@
|
|
|
15
15
|
"@",
|
|
16
16
|
"storybook",
|
|
17
17
|
"filenames",
|
|
18
|
-
"import",
|
|
18
|
+
"import-x:eslint-plugin-import-x@4.16.2",
|
|
19
19
|
],
|
|
20
20
|
"rules": {
|
|
21
21
|
"filenames/match-exported": [
|
|
22
22
|
0,
|
|
23
23
|
],
|
|
24
|
-
"import/no-anonymous-default-export": [
|
|
24
|
+
"import-x/no-anonymous-default-export": [
|
|
25
25
|
0,
|
|
26
26
|
],
|
|
27
|
-
"import/no-default-export": [
|
|
27
|
+
"import-x/no-default-export": [
|
|
28
28
|
0,
|
|
29
29
|
],
|
|
30
|
-
"import/no-extraneous-dependencies": [
|
|
30
|
+
"import-x/no-extraneous-dependencies": [
|
|
31
31
|
2,
|
|
32
32
|
{
|
|
33
33
|
"devDependencies": true,
|
|
34
34
|
},
|
|
35
35
|
],
|
|
36
|
-
"import/prefer-default-export": [
|
|
36
|
+
"import-x/prefer-default-export": [
|
|
37
37
|
2,
|
|
38
38
|
],
|
|
39
39
|
"storybook/await-interactions": [
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
"@typescript-eslint:@typescript-eslint/eslint-plugin@8.57.1",
|
|
82
82
|
"barrel-files:eslint-plugin-barrel-files@3.0.1",
|
|
83
83
|
"filenames",
|
|
84
|
-
"import",
|
|
84
|
+
"import-x:eslint-plugin-import-x@4.16.2",
|
|
85
85
|
"prettier:eslint-plugin-prettier@5.5.5",
|
|
86
86
|
"promise",
|
|
87
87
|
],
|
|
@@ -1298,30 +1298,26 @@
|
|
|
1298
1298
|
"properties": false,
|
|
1299
1299
|
},
|
|
1300
1300
|
],
|
|
1301
|
-
"import/consistent-type-specifier-style": [
|
|
1301
|
+
"import-x/consistent-type-specifier-style": [
|
|
1302
1302
|
0,
|
|
1303
1303
|
],
|
|
1304
|
-
"import/default": [
|
|
1304
|
+
"import-x/default": [
|
|
1305
1305
|
2,
|
|
1306
1306
|
],
|
|
1307
|
-
"import/dynamic-import-chunkname": [
|
|
1307
|
+
"import-x/dynamic-import-chunkname": [
|
|
1308
1308
|
0,
|
|
1309
1309
|
{
|
|
1310
1310
|
"importFunctions": [],
|
|
1311
1311
|
"webpackChunknameFormat": "[0-9a-zA-Z-_/.]+",
|
|
1312
1312
|
},
|
|
1313
1313
|
],
|
|
1314
|
-
"import/
|
|
1315
|
-
2,
|
|
1316
|
-
"always",
|
|
1317
|
-
],
|
|
1318
|
-
"import/export": [
|
|
1314
|
+
"import-x/export": [
|
|
1319
1315
|
2,
|
|
1320
1316
|
],
|
|
1321
|
-
"import/exports-last": [
|
|
1317
|
+
"import-x/exports-last": [
|
|
1322
1318
|
0,
|
|
1323
1319
|
],
|
|
1324
|
-
"import/extensions": [
|
|
1320
|
+
"import-x/extensions": [
|
|
1325
1321
|
2,
|
|
1326
1322
|
"ignorePackages",
|
|
1327
1323
|
{
|
|
@@ -1332,34 +1328,34 @@
|
|
|
1332
1328
|
"tsx": "never",
|
|
1333
1329
|
},
|
|
1334
1330
|
],
|
|
1335
|
-
"import/first": [
|
|
1331
|
+
"import-x/first": [
|
|
1336
1332
|
2,
|
|
1337
1333
|
],
|
|
1338
|
-
"import/group-exports": [
|
|
1334
|
+
"import-x/group-exports": [
|
|
1339
1335
|
0,
|
|
1340
1336
|
],
|
|
1341
|
-
"import/max-dependencies": [
|
|
1337
|
+
"import-x/max-dependencies": [
|
|
1342
1338
|
0,
|
|
1343
1339
|
{
|
|
1344
1340
|
"max": 10,
|
|
1345
1341
|
},
|
|
1346
1342
|
],
|
|
1347
|
-
"import/named": [
|
|
1343
|
+
"import-x/named": [
|
|
1348
1344
|
0,
|
|
1349
1345
|
],
|
|
1350
|
-
"import/namespace": [
|
|
1346
|
+
"import-x/namespace": [
|
|
1351
1347
|
2,
|
|
1352
1348
|
],
|
|
1353
|
-
"import/newline-after-import": [
|
|
1349
|
+
"import-x/newline-after-import": [
|
|
1354
1350
|
2,
|
|
1355
1351
|
],
|
|
1356
|
-
"import/no-absolute-path": [
|
|
1352
|
+
"import-x/no-absolute-path": [
|
|
1357
1353
|
2,
|
|
1358
1354
|
],
|
|
1359
|
-
"import/no-amd": [
|
|
1355
|
+
"import-x/no-amd": [
|
|
1360
1356
|
2,
|
|
1361
1357
|
],
|
|
1362
|
-
"import/no-anonymous-default-export": [
|
|
1358
|
+
"import-x/no-anonymous-default-export": [
|
|
1363
1359
|
2,
|
|
1364
1360
|
{
|
|
1365
1361
|
"allowAnonymousClass": false,
|
|
@@ -1371,34 +1367,33 @@
|
|
|
1371
1367
|
"allowObject": false,
|
|
1372
1368
|
},
|
|
1373
1369
|
],
|
|
1374
|
-
"import/no-commonjs": [
|
|
1370
|
+
"import-x/no-commonjs": [
|
|
1375
1371
|
2,
|
|
1376
1372
|
],
|
|
1377
|
-
"import/no-cycle": [
|
|
1373
|
+
"import-x/no-cycle": [
|
|
1378
1374
|
2,
|
|
1379
1375
|
{
|
|
1380
1376
|
"allowUnsafeDynamicCyclicDependency": false,
|
|
1381
|
-
"disableScc": false,
|
|
1382
1377
|
"ignoreExternal": false,
|
|
1383
1378
|
"maxDepth": "∞",
|
|
1384
1379
|
},
|
|
1385
1380
|
],
|
|
1386
|
-
"import/no-default-export": [
|
|
1381
|
+
"import-x/no-default-export": [
|
|
1387
1382
|
2,
|
|
1388
1383
|
],
|
|
1389
|
-
"import/no-deprecated": [
|
|
1384
|
+
"import-x/no-deprecated": [
|
|
1390
1385
|
0,
|
|
1391
1386
|
],
|
|
1392
|
-
"import/no-duplicates": [
|
|
1387
|
+
"import-x/no-duplicates": [
|
|
1393
1388
|
2,
|
|
1394
1389
|
],
|
|
1395
|
-
"import/no-dynamic-require": [
|
|
1390
|
+
"import-x/no-dynamic-require": [
|
|
1396
1391
|
2,
|
|
1397
1392
|
],
|
|
1398
|
-
"import/no-empty-named-blocks": [
|
|
1393
|
+
"import-x/no-empty-named-blocks": [
|
|
1399
1394
|
2,
|
|
1400
1395
|
],
|
|
1401
|
-
"import/no-extraneous-dependencies": [
|
|
1396
|
+
"import-x/no-extraneous-dependencies": [
|
|
1402
1397
|
2,
|
|
1403
1398
|
{
|
|
1404
1399
|
"devDependencies": [
|
|
@@ -1421,74 +1416,76 @@
|
|
|
1421
1416
|
"optionalDependencies": false,
|
|
1422
1417
|
},
|
|
1423
1418
|
],
|
|
1424
|
-
"import/no-import-module-exports": [
|
|
1419
|
+
"import-x/no-import-module-exports": [
|
|
1425
1420
|
2,
|
|
1426
1421
|
{
|
|
1427
1422
|
"exceptions": [],
|
|
1428
1423
|
},
|
|
1429
1424
|
],
|
|
1430
|
-
"import/no-internal-modules": [
|
|
1425
|
+
"import-x/no-internal-modules": [
|
|
1431
1426
|
0,
|
|
1432
1427
|
{
|
|
1433
1428
|
"allow": [],
|
|
1434
1429
|
},
|
|
1435
1430
|
],
|
|
1436
|
-
"import/no-mutable-exports": [
|
|
1431
|
+
"import-x/no-mutable-exports": [
|
|
1437
1432
|
2,
|
|
1438
1433
|
],
|
|
1439
|
-
"import/no-named-as-default": [
|
|
1434
|
+
"import-x/no-named-as-default": [
|
|
1440
1435
|
2,
|
|
1441
1436
|
],
|
|
1442
|
-
"import/no-named-as-default-member": [
|
|
1437
|
+
"import-x/no-named-as-default-member": [
|
|
1443
1438
|
2,
|
|
1444
1439
|
],
|
|
1445
|
-
"import/no-named-default": [
|
|
1440
|
+
"import-x/no-named-default": [
|
|
1446
1441
|
2,
|
|
1447
1442
|
],
|
|
1448
|
-
"import/no-named-export": [
|
|
1443
|
+
"import-x/no-named-export": [
|
|
1449
1444
|
0,
|
|
1450
1445
|
],
|
|
1451
|
-
"import/no-namespace": [
|
|
1446
|
+
"import-x/no-namespace": [
|
|
1452
1447
|
0,
|
|
1453
1448
|
],
|
|
1454
|
-
"import/no-nodejs-modules": [
|
|
1449
|
+
"import-x/no-nodejs-modules": [
|
|
1455
1450
|
0,
|
|
1456
1451
|
],
|
|
1457
|
-
"import/no-relative-packages": [
|
|
1452
|
+
"import-x/no-relative-packages": [
|
|
1458
1453
|
2,
|
|
1459
1454
|
],
|
|
1460
|
-
"import/no-relative-parent-imports": [
|
|
1455
|
+
"import-x/no-relative-parent-imports": [
|
|
1461
1456
|
0,
|
|
1462
1457
|
],
|
|
1463
|
-
"import/no-
|
|
1458
|
+
"import-x/no-rename-default": [
|
|
1459
|
+
2,
|
|
1460
|
+
],
|
|
1461
|
+
"import-x/no-restricted-paths": [
|
|
1464
1462
|
0,
|
|
1465
1463
|
],
|
|
1466
|
-
"import/no-self-import": [
|
|
1464
|
+
"import-x/no-self-import": [
|
|
1467
1465
|
2,
|
|
1468
1466
|
],
|
|
1469
|
-
"import/no-unassigned-import": [
|
|
1467
|
+
"import-x/no-unassigned-import": [
|
|
1470
1468
|
0,
|
|
1471
1469
|
],
|
|
1472
|
-
"import/no-unresolved": [
|
|
1470
|
+
"import-x/no-unresolved": [
|
|
1473
1471
|
2,
|
|
1474
1472
|
{
|
|
1475
1473
|
"caseSensitive": true,
|
|
1476
|
-
"caseSensitiveStrict": false,
|
|
1477
1474
|
},
|
|
1478
1475
|
],
|
|
1479
|
-
"import/no-unused-modules": [
|
|
1476
|
+
"import-x/no-unused-modules": [
|
|
1480
1477
|
0,
|
|
1481
1478
|
],
|
|
1482
|
-
"import/no-useless-path-segments": [
|
|
1479
|
+
"import-x/no-useless-path-segments": [
|
|
1483
1480
|
2,
|
|
1484
1481
|
{
|
|
1485
1482
|
"commonjs": true,
|
|
1486
1483
|
},
|
|
1487
1484
|
],
|
|
1488
|
-
"import/no-webpack-loader-syntax": [
|
|
1485
|
+
"import-x/no-webpack-loader-syntax": [
|
|
1489
1486
|
2,
|
|
1490
1487
|
],
|
|
1491
|
-
"import/order": [
|
|
1488
|
+
"import-x/order": [
|
|
1492
1489
|
2,
|
|
1493
1490
|
{
|
|
1494
1491
|
"distinctGroup": true,
|
|
@@ -1510,10 +1507,13 @@
|
|
|
1510
1507
|
"warnOnUnassignedImports": false,
|
|
1511
1508
|
},
|
|
1512
1509
|
],
|
|
1513
|
-
"import/prefer-default-export": [
|
|
1510
|
+
"import-x/prefer-default-export": [
|
|
1511
|
+
0,
|
|
1512
|
+
],
|
|
1513
|
+
"import-x/prefer-namespace-import": [
|
|
1514
1514
|
0,
|
|
1515
1515
|
],
|
|
1516
|
-
"import/unambiguous": [
|
|
1516
|
+
"import-x/unambiguous": [
|
|
1517
1517
|
0,
|
|
1518
1518
|
],
|
|
1519
1519
|
"init-declarations": [
|
|
@@ -2668,7 +2668,7 @@
|
|
|
2668
2668
|
],
|
|
2669
2669
|
},
|
|
2670
2670
|
"settings": {
|
|
2671
|
-
"import/extensions": [
|
|
2671
|
+
"import-x/extensions": [
|
|
2672
2672
|
".ts",
|
|
2673
2673
|
".cts",
|
|
2674
2674
|
".mts",
|
|
@@ -2678,11 +2678,11 @@
|
|
|
2678
2678
|
".mjs",
|
|
2679
2679
|
".cjs",
|
|
2680
2680
|
],
|
|
2681
|
-
"import/external-module-folders": [
|
|
2681
|
+
"import-x/external-module-folders": [
|
|
2682
2682
|
"node_modules",
|
|
2683
2683
|
"node_modules/@types",
|
|
2684
2684
|
],
|
|
2685
|
-
"import/parsers": {
|
|
2685
|
+
"import-x/parsers": {
|
|
2686
2686
|
"@typescript-eslint/parser": [
|
|
2687
2687
|
".ts",
|
|
2688
2688
|
".cts",
|
|
@@ -2690,7 +2690,7 @@
|
|
|
2690
2690
|
".tsx",
|
|
2691
2691
|
],
|
|
2692
2692
|
},
|
|
2693
|
-
"import/resolver": {
|
|
2693
|
+
"import-x/resolver": {
|
|
2694
2694
|
"typescript": {
|
|
2695
2695
|
"alwaysTryTypes": true,
|
|
2696
2696
|
"node": {
|
|
@@ -36,34 +36,9 @@
|
|
|
36
36
|
"plugins": [
|
|
37
37
|
"@",
|
|
38
38
|
"vitest:vitest@1.6.13",
|
|
39
|
-
"jest-formatting",
|
|
40
39
|
"no-only-tests",
|
|
41
40
|
],
|
|
42
41
|
"rules": {
|
|
43
|
-
"jest-formatting/padding-around-after-all-blocks": [
|
|
44
|
-
2,
|
|
45
|
-
],
|
|
46
|
-
"jest-formatting/padding-around-after-each-blocks": [
|
|
47
|
-
2,
|
|
48
|
-
],
|
|
49
|
-
"jest-formatting/padding-around-all": [
|
|
50
|
-
0,
|
|
51
|
-
],
|
|
52
|
-
"jest-formatting/padding-around-before-all-blocks": [
|
|
53
|
-
2,
|
|
54
|
-
],
|
|
55
|
-
"jest-formatting/padding-around-before-each-blocks": [
|
|
56
|
-
2,
|
|
57
|
-
],
|
|
58
|
-
"jest-formatting/padding-around-describe-blocks": [
|
|
59
|
-
2,
|
|
60
|
-
],
|
|
61
|
-
"jest-formatting/padding-around-expect-groups": [
|
|
62
|
-
2,
|
|
63
|
-
],
|
|
64
|
-
"jest-formatting/padding-around-test-blocks": [
|
|
65
|
-
2,
|
|
66
|
-
],
|
|
67
42
|
"no-only-tests/no-only-tests": [
|
|
68
43
|
2,
|
|
69
44
|
],
|
|
@@ -174,6 +149,30 @@
|
|
|
174
149
|
"vitest/no-test-return-statement": [
|
|
175
150
|
2,
|
|
176
151
|
],
|
|
152
|
+
"vitest/padding-around-after-all-blocks": [
|
|
153
|
+
2,
|
|
154
|
+
],
|
|
155
|
+
"vitest/padding-around-after-each-blocks": [
|
|
156
|
+
2,
|
|
157
|
+
],
|
|
158
|
+
"vitest/padding-around-all": [
|
|
159
|
+
0,
|
|
160
|
+
],
|
|
161
|
+
"vitest/padding-around-before-all-blocks": [
|
|
162
|
+
2,
|
|
163
|
+
],
|
|
164
|
+
"vitest/padding-around-before-each-blocks": [
|
|
165
|
+
2,
|
|
166
|
+
],
|
|
167
|
+
"vitest/padding-around-describe-blocks": [
|
|
168
|
+
2,
|
|
169
|
+
],
|
|
170
|
+
"vitest/padding-around-expect-groups": [
|
|
171
|
+
2,
|
|
172
|
+
],
|
|
173
|
+
"vitest/padding-around-test-blocks": [
|
|
174
|
+
2,
|
|
175
|
+
],
|
|
177
176
|
"vitest/prefer-called-with": [
|
|
178
177
|
2,
|
|
179
178
|
],
|