eslint-plugin-fast-import 2.0.0 → 2.2.0
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/README.md +37 -25
- package/dist/plugin.d.ts +3 -2
- package/dist/rules/alias/alias.d.ts +2 -1
- package/dist/rules/alias/alias.js +60 -32
- package/dist/rules/alias/alias.js.map +1 -1
- package/dist/rules/extension/extension.d.ts +1 -1
- package/dist/settings/settings.js +7 -2
- package/dist/settings/settings.js.map +1 -1
- package/dist/settings/user.d.ts +7 -3
- package/dist/settings/user.js +10 -2
- package/dist/settings/user.js.map +1 -1
- package/eslint.config.mjs +6 -2
- package/oxlint.config.ts +53 -0
- package/package.json +7 -3
- package/tsconfig.base.json +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 2.2.0 (3/26/2026)
|
|
4
|
+
|
|
5
|
+
- Added support for `regexp` property in `entryPoints` and `externallyImported` options
|
|
6
|
+
- Added formal support for Oxlint
|
|
7
|
+
|
|
8
|
+
## 2.1.0 (3/13/2026)
|
|
9
|
+
|
|
10
|
+
- Fixed logic errors in `prefer-alias-imports` rule
|
|
11
|
+
- Renamed `relative-if-descendant` mode to `relative-if-local` to accurately represent what it actually does
|
|
12
|
+
- Technically this is a breaking change, but due to the previous release being so recent and very few downloads of 2.0.0, I'm instead going to just deprecate 2.0.0
|
|
13
|
+
- Added configurable `minSharedPathDepth` option to `prefer-alias-imports` rule
|
|
14
|
+
|
|
3
15
|
## 2.0.0 (3/13/2026)
|
|
4
16
|
|
|
5
17
|
- Added `prefer-alias-imports` rule
|
package/README.md
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
- [Installation](#installation)
|
|
6
6
|
- [Rules](#rules)
|
|
7
7
|
- [Configuration](#configuration)
|
|
8
|
-
- [Using fast-import.config.json](#using-fast-importconfigjson)
|
|
9
8
|
- [Configuration options](#configuration-options)
|
|
10
9
|
- [rootDir (required)](#rootdir-required)
|
|
11
10
|
- [alias](#alias)
|
|
@@ -17,7 +16,9 @@
|
|
|
17
16
|
- [editorUpdateRate](#editorupdaterate)
|
|
18
17
|
- [debugLogging](#debuglogging)
|
|
19
18
|
- [requireFileExtensions](#requirefileextensions)
|
|
19
|
+
- [Using fast-import.config.json](#using-fast-importconfigjson)
|
|
20
20
|
- [Use in monorepos](#use-in-monorepos)
|
|
21
|
+
- [Using with OXLint](#using-with-oxlint)
|
|
21
22
|
- [Comparisons to import and import-x](#comparisons-to-import-and-import-x)
|
|
22
23
|
- [Performance](#performance)
|
|
23
24
|
- [Accuracy](#accuracy)
|
|
@@ -94,28 +95,6 @@ export default [
|
|
|
94
95
|
|
|
95
96
|
This will apply the recommended rules along with the default configuration.
|
|
96
97
|
|
|
97
|
-
### Using fast-import.config.json
|
|
98
|
-
|
|
99
|
-
You can also define the configuration in a `fast-import.config.json` file. This file should contain the same configuration options as the [Configuration options](#configuration-options) section, except that it should not include the `rootDir` option.
|
|
100
|
-
|
|
101
|
-
To use this file, pass in a path to the directory containing the `fast-import.config.json` file. `rootDir` will automatically be set to this path, like so:
|
|
102
|
-
|
|
103
|
-
```js
|
|
104
|
-
import { recommended } from 'eslint-plugin-fast-import';
|
|
105
|
-
|
|
106
|
-
export default [recommended(import.meta.dirname)];
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
And then the configuration file:
|
|
110
|
-
|
|
111
|
-
```json
|
|
112
|
-
{
|
|
113
|
-
"entryPoints": {
|
|
114
|
-
"./src/index.ts": ["default"]
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
```
|
|
118
|
-
|
|
119
98
|
### Configuration options
|
|
120
99
|
|
|
121
100
|
Fast Import supports a number of configuration options. Fast Import attempts to auto-detect as many as possible, but you may need to tweak or suppliment these options.
|
|
@@ -173,7 +152,7 @@ Note: patterns with a single star after them will match any symbols/files that s
|
|
|
173
152
|
|
|
174
153
|
#### externallyImported / entryPoints
|
|
175
154
|
|
|
176
|
-
Type: `Record<string, Array<string> | RegExp>`
|
|
155
|
+
Type: `Record<string, Array<string> | RegExp | { regexp: string }>`
|
|
177
156
|
|
|
178
157
|
Exports specified with `externallyImported` or `entryPoints` define exports that are not imported by code inside of the code base, but instead by code outside of the codebase. The difference between `externallyImported` and `entryPoints` is:
|
|
179
158
|
|
|
@@ -196,6 +175,9 @@ recommended({
|
|
|
196
175
|
},
|
|
197
176
|
externallyImported: {
|
|
198
177
|
'index.ts': /.*/,
|
|
178
|
+
// Or use { regexp: string } for environments that don't support RegExp
|
|
179
|
+
// (e.g. OXLint's JS plugin interface):
|
|
180
|
+
// 'index.ts': { regexp: '.*' },
|
|
199
181
|
},
|
|
200
182
|
});
|
|
201
183
|
```
|
|
@@ -253,7 +235,7 @@ Example:
|
|
|
253
235
|
```js
|
|
254
236
|
recommended({
|
|
255
237
|
rootDir: import.meta.dirname
|
|
256
|
-
|
|
238
|
+
testFilePatterns: [
|
|
257
239
|
'__fixture__',
|
|
258
240
|
]
|
|
259
241
|
})
|
|
@@ -329,10 +311,40 @@ recommended({
|
|
|
329
311
|
})
|
|
330
312
|
```
|
|
331
313
|
|
|
314
|
+
### Using fast-import.config.json
|
|
315
|
+
|
|
316
|
+
You can also define the configuration in a `fast-import.config.json` file. This file should contain the same configuration options as the [Configuration options](#configuration-options) section, except that it should not include the `rootDir` option.
|
|
317
|
+
|
|
318
|
+
To use this file, pass in a path to the directory containing the `fast-import.config.json` file. `rootDir` will automatically be set to this path, like so:
|
|
319
|
+
|
|
320
|
+
```js
|
|
321
|
+
import { recommended } from 'eslint-plugin-fast-import';
|
|
322
|
+
|
|
323
|
+
export default [recommended(import.meta.dirname)];
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
And then the configuration file:
|
|
327
|
+
|
|
328
|
+
```json
|
|
329
|
+
{
|
|
330
|
+
"entryPoints": {
|
|
331
|
+
"./src/index.ts": ["default"]
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
```
|
|
335
|
+
|
|
332
336
|
### Use in monorepos
|
|
333
337
|
|
|
334
338
|
Fast import is designed to work well in monorepos. The caching mechanism described in [the algorithm](#algorithm) is monorepo aware, allowing fast import to manage multiple caches for different packages in the monorepo simultaneously.
|
|
335
339
|
|
|
340
|
+
### Using with OXLint
|
|
341
|
+
|
|
342
|
+
Fast Import works with [OXLint](https://oxc.rs/docs/guide/usage/linter) via its [JS plugin interface](https://oxc.rs/docs/guide/usage/linter/js-plugins).
|
|
343
|
+
|
|
344
|
+
Configuration is essentially the same as with ESLint, with one exception: OXLint's JS plugin interface does not yet [support `RegExp` values in settings](https://github.com/oxc-project/oxc/issues/20530). If you use regexes in `entryPoints` or `externallyImported`, use the `{ regexp: string }` form instead (see [externallyImported / entryPoints](#externallyimported--entrypoints)).
|
|
345
|
+
|
|
346
|
+
For a full working example, see this repo's own [oxlint.config.ts](./oxlint.config.ts).
|
|
347
|
+
|
|
336
348
|
## Comparisons to import and import-x
|
|
337
349
|
|
|
338
350
|
Below are performance and accuracy comparisons to [eslint-plugin-import](https://github.com/import-js/eslint-plugin-import) and [eslint-plugin-import-x](https://github.com/un-ts/eslint-plugin-import-x)
|
package/dist/plugin.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ declare const plugin: {
|
|
|
9
9
|
configs: {};
|
|
10
10
|
rules: {
|
|
11
11
|
'consistent-file-extensions': TSESLint.RuleModule<"missingExtension" | "extraExtension" | "incorrectExtension", [{
|
|
12
|
-
mode?: "
|
|
12
|
+
mode?: "never" | "always" | undefined;
|
|
13
13
|
forceTsExtension?: boolean | undefined;
|
|
14
14
|
} | undefined], unknown, TSESLint.RuleListener> & {
|
|
15
15
|
name: string;
|
|
@@ -63,7 +63,8 @@ declare const plugin: {
|
|
|
63
63
|
name: string;
|
|
64
64
|
};
|
|
65
65
|
'prefer-alias-imports': TSESLint.RuleModule<"preferAlias" | "preferRelative", [{
|
|
66
|
-
mode?: "always" | "relative-if-
|
|
66
|
+
mode?: "always" | "relative-if-local" | undefined;
|
|
67
|
+
minSharedPathDepth?: number | undefined;
|
|
67
68
|
} | undefined], unknown, TSESLint.RuleListener> & {
|
|
68
69
|
name: string;
|
|
69
70
|
};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const preferAliasImports: import("@typescript-eslint/utils/ts-eslint").RuleModule<"preferAlias" | "preferRelative", [{
|
|
2
|
-
mode?: "always" | "relative-if-
|
|
2
|
+
mode?: "always" | "relative-if-local" | undefined;
|
|
3
|
+
minSharedPathDepth?: number | undefined;
|
|
3
4
|
} | undefined], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
4
5
|
name: string;
|
|
5
6
|
};
|
|
@@ -2,10 +2,12 @@ import { dirname, relative, resolve } from 'node:path';
|
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { InternalError } from '../../util/error.js';
|
|
4
4
|
import { createRule, getESMInfo, getLocFromRange } from '../util.js';
|
|
5
|
-
const MODE_DEFAULT = 'relative-if-
|
|
5
|
+
const MODE_DEFAULT = 'relative-if-local';
|
|
6
|
+
const MIN_SHARED_PATH_DEPTH_DEFAULT = 1;
|
|
6
7
|
const schema = z
|
|
7
8
|
.strictObject({
|
|
8
|
-
mode: z.enum(['always', 'relative-if-
|
|
9
|
+
mode: z.enum(['always', 'relative-if-local']).optional(),
|
|
10
|
+
minSharedPathDepth: z.number().int().min(0).optional(),
|
|
9
11
|
})
|
|
10
12
|
.optional();
|
|
11
13
|
/**
|
|
@@ -22,18 +24,41 @@ function findBestWildcardAlias(absolutePath, wildcardAliases) {
|
|
|
22
24
|
}
|
|
23
25
|
return best;
|
|
24
26
|
}
|
|
27
|
+
function getAliasInternalPathSegments(absolutePath, aliasPath) {
|
|
28
|
+
if (!absolutePath.startsWith(aliasPath)) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
return absolutePath
|
|
32
|
+
.slice(aliasPath.length)
|
|
33
|
+
.split(/[/\\]+/)
|
|
34
|
+
.filter(Boolean);
|
|
35
|
+
}
|
|
36
|
+
function getSharedPathDepth(sourcePath, targetPath, aliasPath) {
|
|
37
|
+
const sourceSegments = getAliasInternalPathSegments(sourcePath, aliasPath);
|
|
38
|
+
const targetSegments = getAliasInternalPathSegments(targetPath, aliasPath);
|
|
39
|
+
if (!sourceSegments || !targetSegments) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
let sharedPathDepth = 0;
|
|
43
|
+
while (sharedPathDepth < sourceSegments.length &&
|
|
44
|
+
sharedPathDepth < targetSegments.length &&
|
|
45
|
+
sourceSegments[sharedPathDepth] === targetSegments[sharedPathDepth]) {
|
|
46
|
+
sharedPathDepth++;
|
|
47
|
+
}
|
|
48
|
+
return sharedPathDepth;
|
|
49
|
+
}
|
|
25
50
|
export const preferAliasImports = createRule({
|
|
26
51
|
name: 'prefer-alias-imports',
|
|
27
52
|
meta: {
|
|
28
53
|
docs: {
|
|
29
|
-
description: 'Enforces the use of alias imports instead of relative paths when an alias is available, and vice versa for files under the same alias',
|
|
54
|
+
description: 'Enforces the use of alias imports instead of relative paths when an alias is available, and vice versa for sufficiently local files under the same alias',
|
|
30
55
|
},
|
|
31
56
|
schema: [schema.toJSONSchema()],
|
|
32
57
|
fixable: 'code',
|
|
33
58
|
type: 'suggestion',
|
|
34
59
|
messages: {
|
|
35
60
|
preferAlias: 'Use alias import "{{alias}}" instead of relative path "{{relative}}"',
|
|
36
|
-
preferRelative: 'Use relative import "{{relative}}" instead of alias "{{alias}}" for files under the same alias',
|
|
61
|
+
preferRelative: 'Use relative import "{{relative}}" instead of alias "{{alias}}" for local files under the same alias',
|
|
37
62
|
},
|
|
38
63
|
},
|
|
39
64
|
defaultOptions: [{ mode: MODE_DEFAULT }],
|
|
@@ -54,8 +79,8 @@ export const preferAliasImports = createRule({
|
|
|
54
79
|
Object.keys(fixedAliases).length === 0) {
|
|
55
80
|
return {};
|
|
56
81
|
}
|
|
57
|
-
const { mode = MODE_DEFAULT } = context.options[0] ?? {};
|
|
58
|
-
// Pre-compute the current file's "home alias" for relative-if-
|
|
82
|
+
const { mode = MODE_DEFAULT, minSharedPathDepth = MIN_SHARED_PATH_DEPTH_DEFAULT, } = context.options[0] ?? {};
|
|
83
|
+
// Pre-compute the current file's "home alias" for relative-if-local mode
|
|
59
84
|
const homeAlias = findBestWildcardAlias(context.filename, wildcardAliases);
|
|
60
85
|
for (const importEntry of [
|
|
61
86
|
...fileInfo.singleImports,
|
|
@@ -86,9 +111,8 @@ export const preferAliasImports = createRule({
|
|
|
86
111
|
}
|
|
87
112
|
}
|
|
88
113
|
// Check wildcard aliases
|
|
89
|
-
if (!matchedAliasName) {
|
|
90
|
-
const
|
|
91
|
-
const match = findBestWildcardAlias(absolutePath, wildcardAliases);
|
|
114
|
+
if (!matchedAliasName && resolvedModulePath) {
|
|
115
|
+
const match = findBestWildcardAlias(resolvedModulePath, wildcardAliases);
|
|
92
116
|
if (match) {
|
|
93
117
|
matchedAliasSymbol = match.symbol;
|
|
94
118
|
matchedAliasPath = match.path;
|
|
@@ -97,15 +121,22 @@ export const preferAliasImports = createRule({
|
|
|
97
121
|
if (!matchedAliasName && !matchedAliasSymbol) {
|
|
98
122
|
continue;
|
|
99
123
|
}
|
|
100
|
-
|
|
101
|
-
|
|
124
|
+
const sharedPathDepth = homeAlias &&
|
|
125
|
+
resolvedModulePath &&
|
|
126
|
+
matchedAliasSymbol === homeAlias.symbol &&
|
|
127
|
+
matchedAliasPath === homeAlias.path
|
|
128
|
+
? getSharedPathDepth(context.filename, resolvedModulePath, homeAlias.path)
|
|
129
|
+
: undefined;
|
|
130
|
+
// In relative-if-local mode, skip if the files are local enough
|
|
131
|
+
if (mode === 'relative-if-local') {
|
|
102
132
|
if (matchedAliasName) {
|
|
103
133
|
// Fixed alias — always different from a wildcard home alias, so report
|
|
104
134
|
}
|
|
105
135
|
else if (homeAlias &&
|
|
106
136
|
matchedAliasSymbol === homeAlias.symbol &&
|
|
107
|
-
matchedAliasPath === homeAlias.path
|
|
108
|
-
|
|
137
|
+
matchedAliasPath === homeAlias.path &&
|
|
138
|
+
sharedPathDepth !== undefined &&
|
|
139
|
+
sharedPathDepth >= minSharedPathDepth) {
|
|
109
140
|
continue;
|
|
110
141
|
}
|
|
111
142
|
}
|
|
@@ -135,28 +166,25 @@ export const preferAliasImports = createRule({
|
|
|
135
166
|
},
|
|
136
167
|
});
|
|
137
168
|
}
|
|
138
|
-
else if (mode === 'relative-if-
|
|
169
|
+
else if (mode === 'relative-if-local') {
|
|
139
170
|
// --- Alias import: check if it should be relative ---
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
(!matchedSymbol || path.length > (matchedPath?.length ?? 0))) {
|
|
146
|
-
matchedSymbol = symbol;
|
|
147
|
-
matchedPath = path;
|
|
148
|
-
}
|
|
171
|
+
if (moduleSpecifier in fixedAliases) {
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (!importEntry.resolvedModulePath) {
|
|
175
|
+
continue;
|
|
149
176
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
177
|
+
const matchedAlias = findBestWildcardAlias(importEntry.resolvedModulePath, wildcardAliases);
|
|
178
|
+
const sharedPathDepth = homeAlias && matchedAlias && matchedAlias.path === homeAlias.path
|
|
179
|
+
? getSharedPathDepth(context.filename, importEntry.resolvedModulePath, homeAlias.path)
|
|
180
|
+
: undefined;
|
|
181
|
+
if (matchedAlias &&
|
|
153
182
|
homeAlias &&
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
let newSpecifier = relative(dirname(context.filename),
|
|
159
|
-
// Ensure it starts with ./ or ../
|
|
183
|
+
matchedAlias.symbol === homeAlias.symbol &&
|
|
184
|
+
matchedAlias.path === homeAlias.path &&
|
|
185
|
+
sharedPathDepth !== undefined &&
|
|
186
|
+
sharedPathDepth >= minSharedPathDepth) {
|
|
187
|
+
let newSpecifier = relative(dirname(context.filename), resolve(matchedAlias.path, moduleSpecifier.slice(matchedAlias.symbol.length)));
|
|
160
188
|
if (!newSpecifier.startsWith('.')) {
|
|
161
189
|
newSpecifier = './' + newSpecifier;
|
|
162
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alias.js","sourceRoot":"","sources":["../../../src/rules/alias/alias.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIvD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAOrE,MAAM,YAAY,GAAG,
|
|
1
|
+
{"version":3,"file":"alias.js","sourceRoot":"","sources":["../../../src/rules/alias/alias.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const consistentFileExtensions: import("@typescript-eslint/utils/ts-eslint").RuleModule<"missingExtension" | "extraExtension" | "incorrectExtension", [{
|
|
2
|
-
mode?: "
|
|
2
|
+
mode?: "never" | "always" | undefined;
|
|
3
3
|
forceTsExtension?: boolean | undefined;
|
|
4
4
|
} | undefined], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
|
|
5
5
|
name: string;
|
|
@@ -104,7 +104,9 @@ export function getSettings(context) {
|
|
|
104
104
|
})) {
|
|
105
105
|
const formattedSymbols = Array.isArray(symbols)
|
|
106
106
|
? symbols.map((symbol) => trimTrailingPathSeparator(symbol))
|
|
107
|
-
: symbols
|
|
107
|
+
: symbols instanceof RegExp
|
|
108
|
+
? symbols
|
|
109
|
+
: new RegExp(symbols.regexp);
|
|
108
110
|
if (isAbsolute(filePattern)) {
|
|
109
111
|
warn(`Invalid entry point file patter "${filePattern}". Entry point files patterns must be relative to the directory with your ESLint config file, not absolute. This entry point will be ignored.`);
|
|
110
112
|
continue;
|
|
@@ -173,9 +175,12 @@ export function getSettings(context) {
|
|
|
173
175
|
debug(` ${symbol}`);
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
|
-
else {
|
|
178
|
+
else if (symbols instanceof RegExp) {
|
|
177
179
|
debug(` ${symbols.toString()}`);
|
|
178
180
|
}
|
|
181
|
+
else {
|
|
182
|
+
debug(` /${symbols.regexp}/`);
|
|
183
|
+
}
|
|
179
184
|
}
|
|
180
185
|
}
|
|
181
186
|
const ignorePatterns = (mergedSettings.ignorePatterns ?? []).map((p) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings/settings.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/settings/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/settings/user.d.ts
CHANGED
|
@@ -3,14 +3,18 @@ import type { GenericContext } from '../types/context.js';
|
|
|
3
3
|
declare const settingsSchema: z.ZodObject<{
|
|
4
4
|
rootDir: z.ZodString;
|
|
5
5
|
alias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
6
|
-
entryPoints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodCustom<RegExp, RegExp
|
|
7
|
-
|
|
6
|
+
entryPoints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodCustom<RegExp, RegExp>, z.ZodObject<{
|
|
7
|
+
regexp: z.ZodString;
|
|
8
|
+
}, z.core.$strict>]>>>;
|
|
9
|
+
externallyImported: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodCustom<RegExp, RegExp>, z.ZodObject<{
|
|
10
|
+
regexp: z.ZodString;
|
|
11
|
+
}, z.core.$strict>]>>>;
|
|
8
12
|
ignorePatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
9
13
|
ignoreOverridePatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
10
14
|
mode: z.ZodOptional<z.ZodEnum<{
|
|
11
|
-
fix: "fix";
|
|
12
15
|
auto: "auto";
|
|
13
16
|
"one-shot": "one-shot";
|
|
17
|
+
fix: "fix";
|
|
14
18
|
editor: "editor";
|
|
15
19
|
}>>;
|
|
16
20
|
editorUpdateRate: z.ZodOptional<z.ZodNumber>;
|
package/dist/settings/user.js
CHANGED
|
@@ -7,10 +7,18 @@ const settingsSchema = z.strictObject({
|
|
|
7
7
|
rootDir: z.string(),
|
|
8
8
|
alias: z.record(z.string(), z.string()).optional(),
|
|
9
9
|
entryPoints: z
|
|
10
|
-
.record(z.string(), z.union([
|
|
10
|
+
.record(z.string(), z.union([
|
|
11
|
+
z.array(z.string()),
|
|
12
|
+
z.instanceof(RegExp),
|
|
13
|
+
z.strictObject({ regexp: z.string() }),
|
|
14
|
+
]))
|
|
11
15
|
.optional(),
|
|
12
16
|
externallyImported: z
|
|
13
|
-
.record(z.string(), z.union([
|
|
17
|
+
.record(z.string(), z.union([
|
|
18
|
+
z.array(z.string()),
|
|
19
|
+
z.instanceof(RegExp),
|
|
20
|
+
z.strictObject({ regexp: z.string() }),
|
|
21
|
+
]))
|
|
14
22
|
.optional(),
|
|
15
23
|
ignorePatterns: z.array(z.string()).optional(),
|
|
16
24
|
ignoreOverridePatterns: z.array(z.string()).optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/settings/user.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD,MAAM,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC;IACpC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,CAAC;SACX,MAAM,
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/settings/user.ts"],"names":[],"mappings":"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"}
|
package/eslint.config.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { join
|
|
1
|
+
import { join } from 'node:path';
|
|
2
2
|
|
|
3
3
|
import { includeIgnoreFile } from '@eslint/compat';
|
|
4
4
|
import js from '@eslint/js';
|
|
@@ -16,7 +16,11 @@ const ROOT_DIR = import.meta.dirname;
|
|
|
16
16
|
|
|
17
17
|
export default defineConfig([
|
|
18
18
|
includeIgnoreFile(join(ROOT_DIR, '.gitignore')),
|
|
19
|
-
globalIgnores([
|
|
19
|
+
globalIgnores([
|
|
20
|
+
'src/**/__test__/**/project/**/*',
|
|
21
|
+
'jest.config.ts',
|
|
22
|
+
'oxlint.config.ts',
|
|
23
|
+
]),
|
|
20
24
|
{
|
|
21
25
|
files: ['**/*.{js,mjs,jsx,ts,tsx,mts}'],
|
|
22
26
|
languageOptions: {
|
package/oxlint.config.ts
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { all } from './dist/plugin.js';
|
|
2
|
+
|
|
3
|
+
const ROOT_DIR = import.meta.dirname;
|
|
4
|
+
|
|
5
|
+
// Get fast-import rules and settings from the plugin helper,
|
|
6
|
+
// same as eslint.config.mjs uses all(ROOT_DIR)
|
|
7
|
+
const fastImportConfig = all(ROOT_DIR);
|
|
8
|
+
|
|
9
|
+
export default {
|
|
10
|
+
plugins: ['typescript', 'jest'],
|
|
11
|
+
categories: {
|
|
12
|
+
correctness: 'error',
|
|
13
|
+
},
|
|
14
|
+
options: {
|
|
15
|
+
typeAware: true,
|
|
16
|
+
},
|
|
17
|
+
jsPlugins: [
|
|
18
|
+
{ name: 'fast-import', specifier: './dist/plugin.js' },
|
|
19
|
+
'eslint-plugin-simple-import-sort',
|
|
20
|
+
],
|
|
21
|
+
ignorePatterns: [
|
|
22
|
+
'dist',
|
|
23
|
+
'coverage',
|
|
24
|
+
'node_modules',
|
|
25
|
+
'src/**/__test__/**/project/**/*',
|
|
26
|
+
'jest.config.ts',
|
|
27
|
+
],
|
|
28
|
+
overrides: [
|
|
29
|
+
{
|
|
30
|
+
files: ['**/*.test.ts'],
|
|
31
|
+
rules: {
|
|
32
|
+
'jest/expect-expect': 'error',
|
|
33
|
+
'jest/no-disabled-tests': 'warn',
|
|
34
|
+
'jest/no-focused-tests': 'error',
|
|
35
|
+
'jest/no-identical-title': 'error',
|
|
36
|
+
'jest/valid-expect': 'error',
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
rules: {
|
|
41
|
+
// Core ESLint rules matching eslint.config.mjs
|
|
42
|
+
'eslint/object-shorthand': 'error',
|
|
43
|
+
'simple-import-sort/imports': 'error',
|
|
44
|
+
|
|
45
|
+
// TypeScript rules matching eslint.config.mjs
|
|
46
|
+
'typescript/consistent-type-imports': 'error',
|
|
47
|
+
'typescript/no-unsafe-enum-comparison': 'off',
|
|
48
|
+
|
|
49
|
+
// fast-import rules from the all() helper
|
|
50
|
+
...fastImportConfig.rules,
|
|
51
|
+
},
|
|
52
|
+
settings: fastImportConfig.settings,
|
|
53
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eslint-plugin-fast-import",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "ESLint plugin with rules to ensure proper usage of imports and exports",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"eslint",
|
|
@@ -18,8 +18,10 @@
|
|
|
18
18
|
"main": "dist/plugin.js",
|
|
19
19
|
"type": "module",
|
|
20
20
|
"scripts": {
|
|
21
|
-
"lint": "
|
|
22
|
-
"lint:
|
|
21
|
+
"lint": "npm run lint:eslint && npm run lint:oxlint",
|
|
22
|
+
"lint:eslint": "TIMING=1 eslint --report-unused-disable-directives \"**/*.{ts,tsx,mts,js,jsx,mjs}\"",
|
|
23
|
+
"lint:eslint:fix": "eslint --fix \"**/*.{js,jsx,mjs,ts,tsx,mts}\"",
|
|
24
|
+
"lint:oxlint": "oxlint --type-aware",
|
|
23
25
|
"build": "tsc",
|
|
24
26
|
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --coverage src",
|
|
25
27
|
"format": "prettier --write \"**/*.{js,jsx,mjs,ts,tsx,mts}\"",
|
|
@@ -52,6 +54,8 @@
|
|
|
52
54
|
"global": "^4.4.0",
|
|
53
55
|
"globals": "^17.0.0",
|
|
54
56
|
"jest-diff": "^30.0.0",
|
|
57
|
+
"oxlint": "^1.57.0",
|
|
58
|
+
"oxlint-tsgolint": "^0.17.4",
|
|
55
59
|
"prettier": "^3.4.2",
|
|
56
60
|
"simple-git": "^3.27.0",
|
|
57
61
|
"ts-jest": "^29.2.5",
|