eslint-plugin-fast-import 2.1.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 +5 -0
- package/README.md +37 -25
- package/dist/plugin.d.ts +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
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;
|
|
@@ -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",
|