eslint-plugin-fast-import 1.11.0 → 2.0.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 CHANGED
@@ -1,5 +1,16 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.0.0 (3/13/2026)
4
+
5
+ - Added `prefer-alias-imports` rule
6
+ - BREAKING CHANGE: added `prefer-alias-imports` rule to the recommend and all configs
7
+ - This rule is likely to cause new errors in codebases that use aliases and have the recommended or all configs enabled
8
+ - To disable this rule to preserve existing behavior, add `"fast-import/prefer-alias-imports": "off"` to your eslint config.
9
+
10
+ ## 1.12.0 (2/15/2026)
11
+
12
+ - Added `externallyImported` option
13
+
3
14
  ## 1.11.0 (2/15/2026)
4
15
 
5
16
  - Added support for reading config from a separate JSON file
package/README.md CHANGED
@@ -5,14 +5,19 @@
5
5
  - [Installation](#installation)
6
6
  - [Rules](#rules)
7
7
  - [Configuration](#configuration)
8
+ - [Using fast-import.config.json](#using-fast-importconfigjson)
8
9
  - [Configuration options](#configuration-options)
9
10
  - [rootDir (required)](#rootdir-required)
10
11
  - [alias](#alias)
11
- - [entryPoints](#entrypoints)
12
+ - [externallyImported / entryPoints](#externallyimported--entrypoints)
12
13
  - [ignorePatterns](#ignorepatterns)
14
+ - [ignoreOverridePatterns](#ignoreoverridepatterns)
15
+ - [testFilePatterns](#testfilepatterns)
13
16
  - [mode](#mode)
14
17
  - [editorUpdateRate](#editorupdaterate)
15
18
  - [debugLogging](#debuglogging)
19
+ - [requireFileExtensions](#requirefileextensions)
20
+ - [Use in monorepos](#use-in-monorepos)
16
21
  - [Comparisons to import and import-x](#comparisons-to-import-and-import-x)
17
22
  - [Performance](#performance)
18
23
  - [Accuracy](#accuracy)
@@ -62,6 +67,7 @@ npm install --save-dev eslint-plugin-fast-import
62
67
  | [no-unresolved-imports](src/rules/unresolved/README.md) | 🧰 ☑️ | |
63
68
  | [no-unused-exports](src/rules/unused/README.md) | 🧰 ☑️ | |
64
69
  | [consistent-file-extensions](src/rules/extension/README.md) | 🧰 | 🔧 |
70
+ | [prefer-alias-imports](src/rules/alias/README.md) | 🧰 ☑️ | 🔧 |
65
71
  | [require-node-prefix](src/rules/nodePrefix/README.md) | 🧰 | 🔧 |
66
72
  | [no-node-builtins](src/rules/nodeBuiltins/README.md) \* | | |
67
73
  | [no-restricted-imports](src/rules/restricted/README.md) \*\* | | |
@@ -155,7 +161,7 @@ Example:
155
161
 
156
162
  ```js
157
163
  recommended({
158
- rootDir: __dirname
164
+ rootDir: import.meta.dirname
159
165
  alias: {
160
166
  '@/*': 'src/*'
161
167
  'foo': 'src/foo.ts'
@@ -165,11 +171,16 @@ recommended({
165
171
 
166
172
  Note: patterns with a single star after them will match any symbols/files that start with the symbol/filepath.
167
173
 
168
- #### entryPoints
174
+ #### externallyImported / entryPoints
169
175
 
170
- Type: `Record<string, Array<string | RegExp>>`
176
+ Type: `Record<string, Array<string> | RegExp>`
171
177
 
172
- Entry points define exports that are not imported by code inside of the code base, but instead by code outside of the codebase.
178
+ 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
+
180
+ - `entryPoints` are intended to represent entry points in a library intended for use by others, aka a "public API."
181
+ - `externallyImported` are intended to represent exports intended for use by a specific framework, e.g. the default export in a `page.tsx` file in a Next.js application or the default export in a file called `eslint.config.mjs` in a ESLint configuration.
182
+
183
+ In practice, this distinction only matters in monorepos. In the monorepo case, this categorization is necessary for determining if a package's entry points are intended to be used by other packages in the monorepo, and thus should be analyzed for usage. See [Use in monorepos](#use-in-monorepos) for more info.
173
184
 
174
185
  For example, if you are building a Next.js application, then the `default` export in files titled `page.tsx`, `layout.tsx`, etc. are imported by the Next.js runtime itself, and thus Fast Import never sees the import.
175
186
 
@@ -179,12 +190,14 @@ Example:
179
190
 
180
191
  ```js
181
192
  recommended({
182
- rootDir: __dirname
193
+ rootDir: import.meta.dirname,
183
194
  entryPoints: {
184
- './src/index.ts': ['default', 'anotherExport'],
185
- './src/app/**/page.tsx': ['default']
186
- }
187
- })
195
+ './src/app/**/page.tsx': ['default', 'metadata'],
196
+ },
197
+ externallyImported: {
198
+ 'index.ts': /.*/,
199
+ },
200
+ });
188
201
  ```
189
202
 
190
203
  #### ignorePatterns
@@ -199,7 +212,7 @@ Example:
199
212
 
200
213
  ```js
201
214
  recommended({
202
- rootDir: __dirname
215
+ rootDir: import.meta.dirname
203
216
  ignorePatterns: [
204
217
  'src/**/__test__/**/snapshot/**/*',
205
218
  '*.pid'
@@ -217,7 +230,7 @@ Example:
217
230
 
218
231
  ```js
219
232
  recommended({
220
- rootDir: __dirname
233
+ rootDir: import.meta.dirname
221
234
  ignoreOverridePatterns: [
222
235
  'src/generated/**/*.ts',
223
236
  ]
@@ -239,7 +252,7 @@ Example:
239
252
 
240
253
  ```js
241
254
  recommended({
242
- rootDir: __dirname
255
+ rootDir: import.meta.dirname
243
256
  ignoreOverridePatterns: [
244
257
  '__fixture__',
245
258
  ]
@@ -281,7 +294,7 @@ Example:
281
294
 
282
295
  ```js
283
296
  recommended({
284
- rootDir: __dirname
297
+ rootDir: import.meta.dirname
285
298
  editorUpdateRate: 2_000
286
299
  })
287
300
  ```
@@ -296,7 +309,7 @@ Example:
296
309
 
297
310
  ```js
298
311
  recommended({
299
- rootDir: __dirname
312
+ rootDir: import.meta.dirname
300
313
  debugLogging: true
301
314
  })
302
315
  ```
@@ -311,11 +324,15 @@ Example:
311
324
 
312
325
  ```js
313
326
  recommended({
314
- rootDir: __dirname
327
+ rootDir: import.meta.dirname
315
328
  requireFileExtensions: true
316
329
  })
317
330
  ```
318
331
 
332
+ ### Use in monorepos
333
+
334
+ 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
+
319
336
  ## Comparisons to import and import-x
320
337
 
321
338
  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)
@@ -0,0 +1,8 @@
1
+ type PackageInfo = {
2
+ name: string;
3
+ entryPoints: string[];
4
+ };
5
+ export declare function initializeMonorepo({ rootDir }: {
6
+ rootDir: string;
7
+ }): PackageInfo[] | undefined;
8
+ export {};
@@ -0,0 +1,41 @@
1
+ import { readdirSync, readFileSync } from 'node:fs';
2
+ import { join } from 'node:path';
3
+ let packages = undefined;
4
+ function getPacakgeConfigs(rootDir) {
5
+ const packages = [];
6
+ const dirContents = readdirSync(rootDir, {
7
+ withFileTypes: true,
8
+ });
9
+ let packageJsonPath = null;
10
+ let fastImportConfigPath = null;
11
+ for (const content of dirContents) {
12
+ if (!content.isDirectory()) {
13
+ if (content.name === 'package.json') {
14
+ packageJsonPath = join(rootDir, content.name);
15
+ }
16
+ else if (content.name === 'fast-import.config.json') {
17
+ fastImportConfigPath = join(rootDir, content.name);
18
+ }
19
+ }
20
+ else if (content.name !== 'node_modules' &&
21
+ content.name !== 'dist' &&
22
+ content.name !== 'build' &&
23
+ content.name !== '.git') {
24
+ packages.push(...getPacakgeConfigs(join(rootDir, content.name)));
25
+ }
26
+ }
27
+ if (packageJsonPath && fastImportConfigPath) {
28
+ const { name } = JSON.parse(readFileSync(packageJsonPath, 'utf-8'));
29
+ // Need to validate using zod. Or alternately pass to getsettings?
30
+ const { entryPoints } = JSON.parse(readFileSync(fastImportConfigPath, 'utf-8'));
31
+ }
32
+ return packages;
33
+ }
34
+ export function initializeMonorepo({ rootDir }) {
35
+ if (packages) {
36
+ return packages;
37
+ }
38
+ packages = getPacakgeConfigs(rootDir);
39
+ console.log(packages);
40
+ }
41
+ //# sourceMappingURL=package.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.js","sourceRoot":"","sources":["../../src/package/package.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAOjC,IAAI,QAAQ,GAA8B,SAAS,CAAC;AAEpD,SAAS,iBAAiB,CAAC,OAAe;IACxC,MAAM,QAAQ,GAAkB,EAAE,CAAC;IAEnC,MAAM,WAAW,GAAG,WAAW,CAAC,OAAO,EAAE;QACvC,aAAa,EAAE,IAAI;KACpB,CAAC,CAAC;IAEH,IAAI,eAAe,GAAkB,IAAI,CAAC;IAC1C,IAAI,oBAAoB,GAAkB,IAAI,CAAC;IAC/C,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;YAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBACpC,eAAe,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBACtD,oBAAoB,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;aAAM,IACL,OAAO,CAAC,IAAI,KAAK,cAAc;YAC/B,OAAO,CAAC,IAAI,KAAK,MAAM;YACvB,OAAO,CAAC,IAAI,KAAK,OAAO;YACxB,OAAO,CAAC,IAAI,KAAK,MAAM,EACvB,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,eAAe,IAAI,oBAAoB,EAAE,CAAC;QAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAEjE,CAAC;QACF,kEAAkE;QAClE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAChC,YAAY,CAAC,oBAAoB,EAAE,OAAO,CAAC,CACC,CAAC;IACjD,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAE,OAAO,EAAuB;IACjE,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxB,CAAC"}
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?: "never" | "always" | undefined;
12
+ mode?: "always" | "never" | undefined;
13
13
  forceTsExtension?: boolean | undefined;
14
14
  } | undefined], unknown, TSESLint.RuleListener> & {
15
15
  name: string;
@@ -62,6 +62,11 @@ declare const plugin: {
62
62
  }], unknown, TSESLint.RuleListener> & {
63
63
  name: string;
64
64
  };
65
+ 'prefer-alias-imports': TSESLint.RuleModule<"preferAlias" | "preferRelative", [{
66
+ mode?: "always" | "relative-if-descendant" | undefined;
67
+ } | undefined], unknown, TSESLint.RuleListener> & {
68
+ name: string;
69
+ };
65
70
  };
66
71
  processors: {};
67
72
  };
package/dist/plugin.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import { readFileSync } from 'node:fs';
2
2
  import { isAbsolute, join } from 'node:path';
3
3
  import { getDirname } from 'cross-dirname';
4
+ import { preferAliasImports } from './rules/alias/alias.js';
4
5
  import { noCycle } from './rules/cycle/cycle.js';
5
6
  import { noEntryPointImports } from './rules/entryPoint/entryPoint.js';
6
7
  import { consistentFileExtensions } from './rules/extension/extension.js';
@@ -34,6 +35,7 @@ const plugin = {
34
35
  'no-node-builtins': noNodeBuiltins,
35
36
  'require-node-prefix': nodePrefix,
36
37
  'no-restricted-imports': noRestrictedImports,
38
+ 'prefer-alias-imports': preferAliasImports,
37
39
  },
38
40
  processors: {},
39
41
  };
@@ -49,6 +51,7 @@ const recommendedConfig = {
49
51
  'fast-import/no-external-barrel-reexports': 'error',
50
52
  'fast-import/no-test-imports-in-prod': 'error',
51
53
  'fast-import/no-named-as-default': 'error',
54
+ 'fast-import/prefer-alias-imports': 'error',
52
55
  'fast-import/require-node-prefix': 'off',
53
56
  },
54
57
  };
@@ -66,6 +69,7 @@ const allConfig = {
66
69
  'fast-import/no-test-imports-in-prod': 'error',
67
70
  'fast-import/no-named-as-default': 'error',
68
71
  'fast-import/require-node-prefix': 'error',
72
+ 'fast-import/prefer-alias-imports': 'error',
69
73
  },
70
74
  };
71
75
  const offConfig = {
@@ -84,6 +88,7 @@ const offConfig = {
84
88
  'fast-import/no-node-builtins': 'off',
85
89
  'fast-import/require-node-prefix': 'off',
86
90
  'fast-import/no-restricted-imports': 'off',
91
+ 'fast-import/prefer-alias-imports': 'off',
87
92
  },
88
93
  };
89
94
  Object.assign(plugin.configs, {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare const preferAliasImports: import("@typescript-eslint/utils/ts-eslint").RuleModule<"preferAlias" | "preferRelative", [{
2
+ mode?: "always" | "relative-if-descendant" | undefined;
3
+ } | undefined], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
4
+ name: string;
5
+ };
@@ -0,0 +1,185 @@
1
+ import { dirname, relative, resolve } from 'node:path';
2
+ import { z } from 'zod';
3
+ import { InternalError } from '../../util/error.js';
4
+ import { createRule, getESMInfo, getLocFromRange } from '../util.js';
5
+ const MODE_DEFAULT = 'relative-if-descendant';
6
+ const schema = z
7
+ .strictObject({
8
+ mode: z.enum(['always', 'relative-if-descendant']).optional(),
9
+ })
10
+ .optional();
11
+ /**
12
+ * Find the best matching wildcard alias for an absolute path.
13
+ * Returns the entry with the longest (most specific) path match.
14
+ */
15
+ function findBestWildcardAlias(absolutePath, wildcardAliases) {
16
+ let best;
17
+ for (const [symbol, path] of Object.entries(wildcardAliases)) {
18
+ if (absolutePath.startsWith(path) &&
19
+ (!best || path.length > best.path.length)) {
20
+ best = { symbol, path };
21
+ }
22
+ }
23
+ return best;
24
+ }
25
+ export const preferAliasImports = createRule({
26
+ name: 'prefer-alias-imports',
27
+ meta: {
28
+ 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',
30
+ },
31
+ schema: [schema.toJSONSchema()],
32
+ fixable: 'code',
33
+ type: 'suggestion',
34
+ messages: {
35
+ 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',
37
+ },
38
+ },
39
+ defaultOptions: [{ mode: MODE_DEFAULT }],
40
+ create(context) {
41
+ const esmInfo = getESMInfo(context);
42
+ /* istanbul ignore if */
43
+ if (!esmInfo) {
44
+ return {};
45
+ }
46
+ const { fileInfo, settings } = esmInfo;
47
+ /* istanbul ignore if */
48
+ if (fileInfo.fileType !== 'code') {
49
+ return {};
50
+ }
51
+ const { wildcardAliases, fixedAliases } = settings;
52
+ // No aliases configured — nothing to enforce
53
+ if (Object.keys(wildcardAliases).length === 0 &&
54
+ Object.keys(fixedAliases).length === 0) {
55
+ return {};
56
+ }
57
+ const { mode = MODE_DEFAULT } = context.options[0] ?? {};
58
+ // Pre-compute the current file's "home alias" for relative-if-descendant mode
59
+ const homeAlias = findBestWildcardAlias(context.filename, wildcardAliases);
60
+ for (const importEntry of [
61
+ ...fileInfo.singleImports,
62
+ ...fileInfo.barrelImports,
63
+ ...fileInfo.dynamicImports,
64
+ ...fileInfo.singleReexports,
65
+ ...fileInfo.barrelReexports,
66
+ ]) {
67
+ const { moduleSpecifier, resolvedModuleType, statementNodeRange } = importEntry;
68
+ if (!moduleSpecifier ||
69
+ (resolvedModuleType !== 'firstPartyCode' &&
70
+ resolvedModuleType !== 'firstPartyOther')) {
71
+ continue;
72
+ }
73
+ if (moduleSpecifier.startsWith('.')) {
74
+ // --- Relative import: check if it should use an alias ---
75
+ // Check fixed aliases first (exact resolvedModulePath match)
76
+ const { resolvedModulePath } = importEntry;
77
+ let matchedAliasName;
78
+ let matchedAliasSymbol;
79
+ let matchedAliasPath;
80
+ if (resolvedModulePath) {
81
+ for (const [alias, path] of Object.entries(fixedAliases)) {
82
+ if (resolvedModulePath === path) {
83
+ matchedAliasName = alias;
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ // Check wildcard aliases
89
+ if (!matchedAliasName) {
90
+ const absolutePath = resolve(dirname(context.filename), moduleSpecifier);
91
+ const match = findBestWildcardAlias(absolutePath, wildcardAliases);
92
+ if (match) {
93
+ matchedAliasSymbol = match.symbol;
94
+ matchedAliasPath = match.path;
95
+ }
96
+ }
97
+ if (!matchedAliasName && !matchedAliasSymbol) {
98
+ continue;
99
+ }
100
+ // In relative-if-descendant mode, skip if same alias as home
101
+ if (mode === 'relative-if-descendant') {
102
+ if (matchedAliasName) {
103
+ // Fixed alias — always different from a wildcard home alias, so report
104
+ }
105
+ else if (homeAlias &&
106
+ matchedAliasSymbol === homeAlias.symbol &&
107
+ matchedAliasPath === homeAlias.path) {
108
+ // Same wildcard alias — relative is preferred
109
+ continue;
110
+ }
111
+ }
112
+ let newSpecifier;
113
+ if (matchedAliasName) {
114
+ newSpecifier = matchedAliasName;
115
+ }
116
+ else if (matchedAliasSymbol && matchedAliasPath) {
117
+ newSpecifier =
118
+ matchedAliasSymbol +
119
+ resolve(dirname(context.filename), moduleSpecifier).slice(matchedAliasPath.length);
120
+ }
121
+ else {
122
+ continue;
123
+ }
124
+ context.report({
125
+ messageId: 'preferAlias',
126
+ loc: getLocFromRange(context, importEntry.reportNodeRange),
127
+ data: { alias: newSpecifier, relative: moduleSpecifier },
128
+ fix(fixer) {
129
+ const sourceNode = context.sourceCode.getNodeByRangeIndex(statementNodeRange[0]);
130
+ /* istanbul ignore if */
131
+ if (!('raw' in sourceNode.source)) {
132
+ throw new InternalError(`Property "raw" is missing in sourceNode.source`);
133
+ }
134
+ return fixer.replaceText(sourceNode.source, sourceNode.source.raw.replace(moduleSpecifier, newSpecifier));
135
+ },
136
+ });
137
+ }
138
+ else if (mode === 'relative-if-descendant') {
139
+ // --- Alias import: check if it should be relative ---
140
+ // Check wildcard aliases
141
+ let matchedSymbol;
142
+ let matchedPath;
143
+ for (const [symbol, path] of Object.entries(wildcardAliases)) {
144
+ if (moduleSpecifier.startsWith(symbol) &&
145
+ (!matchedSymbol || path.length > (matchedPath?.length ?? 0))) {
146
+ matchedSymbol = symbol;
147
+ matchedPath = path;
148
+ }
149
+ }
150
+ // Only convert wildcard aliases that match the home alias
151
+ if (matchedSymbol &&
152
+ matchedPath &&
153
+ homeAlias &&
154
+ matchedSymbol === homeAlias.symbol &&
155
+ matchedPath === homeAlias.path) {
156
+ // Compute the absolute target path and then a relative path from current file
157
+ const targetAbsPath = matchedPath + moduleSpecifier.slice(matchedSymbol.length);
158
+ let newSpecifier = relative(dirname(context.filename), targetAbsPath);
159
+ // Ensure it starts with ./ or ../
160
+ if (!newSpecifier.startsWith('.')) {
161
+ newSpecifier = './' + newSpecifier;
162
+ }
163
+ context.report({
164
+ messageId: 'preferRelative',
165
+ loc: getLocFromRange(context, importEntry.reportNodeRange),
166
+ data: { relative: newSpecifier, alias: moduleSpecifier },
167
+ fix(fixer) {
168
+ const sourceNode = context.sourceCode.getNodeByRangeIndex(statementNodeRange[0]);
169
+ /* istanbul ignore if */
170
+ if (!('raw' in sourceNode.source)) {
171
+ throw new InternalError(`Property "raw" is missing in sourceNode.source`);
172
+ }
173
+ return fixer.replaceText(sourceNode.source, sourceNode.source.raw.replace(moduleSpecifier, newSpecifier));
174
+ },
175
+ });
176
+ }
177
+ // Fixed aliases that match the home alias scope could also be flagged,
178
+ // but fixed aliases are exact-match by nature — they don't have a
179
+ // "scope" in the same way. We leave them alone.
180
+ }
181
+ }
182
+ return {};
183
+ },
184
+ });
185
+ //# sourceMappingURL=alias.js.map
@@ -0,0 +1 @@
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?: "never" | "always" | undefined;
2
+ mode?: "always" | "never" | undefined;
3
3
  forceTsExtension?: boolean | undefined;
4
4
  } | undefined], unknown, import("@typescript-eslint/utils/ts-eslint").RuleListener> & {
5
5
  name: string;
@@ -6,7 +6,7 @@ export type IgnorePattern = {
6
6
  dir: string;
7
7
  contents: string;
8
8
  };
9
- export type ParsedSettings = Omit<RequiredDeep<Settings>, 'ignorePatterns' | 'ignoreOverridePatterns' | 'alias' | 'entryPoints'> & {
9
+ export type ParsedSettings = Omit<RequiredDeep<Settings>, 'ignorePatterns' | 'ignoreOverridePatterns' | 'alias' | 'entryPoints' | 'externallyImported'> & {
10
10
  ignorePatterns: IgnorePattern[];
11
11
  ignoreOverridePatterns: IgnorePattern[];
12
12
  wildcardAliases: Record<string, string>;
@@ -63,7 +63,7 @@ export function getSettings(context) {
63
63
  ...typeScriptSettings,
64
64
  ...userSettings,
65
65
  };
66
- const { alias = {}, entryPoints = {} } = mergedSettings;
66
+ const { alias = {}, entryPoints = {}, externallyImported = {}, } = mergedSettings;
67
67
  // Clean up any aliases
68
68
  const wildcardAliases = {};
69
69
  const fixedAliases = {};
@@ -95,7 +95,13 @@ export function getSettings(context) {
95
95
  }
96
96
  // Clean up any entry points
97
97
  const parsedEntryPoints = [];
98
- for (const [filePattern, symbols] of Object.entries(entryPoints)) {
98
+ // Merge entry points and externally imported exports, since they mean the
99
+ // same thing from inside the module. They are kept separate in settings for
100
+ // use by monorepo package analysis rules (aka outside the module)
101
+ for (const [filePattern, symbols] of Object.entries({
102
+ ...entryPoints,
103
+ ...externallyImported,
104
+ })) {
99
105
  const formattedSymbols = Array.isArray(symbols)
100
106
  ? symbols.map((symbol) => trimTrailingPathSeparator(symbol))
101
107
  : symbols;
@@ -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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"}
@@ -4,12 +4,13 @@ declare const settingsSchema: z.ZodObject<{
4
4
  rootDir: z.ZodString;
5
5
  alias: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
6
6
  entryPoints: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodCustom<RegExp, RegExp>]>>>;
7
+ externallyImported: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodCustom<RegExp, RegExp>]>>>;
7
8
  ignorePatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
8
9
  ignoreOverridePatterns: z.ZodOptional<z.ZodArray<z.ZodString>>;
9
10
  mode: z.ZodOptional<z.ZodEnum<{
11
+ fix: "fix";
10
12
  auto: "auto";
11
13
  "one-shot": "one-shot";
12
- fix: "fix";
13
14
  editor: "editor";
14
15
  }>>;
15
16
  editorUpdateRate: z.ZodOptional<z.ZodNumber>;
@@ -9,6 +9,9 @@ const settingsSchema = z.strictObject({
9
9
  entryPoints: z
10
10
  .record(z.string(), z.union([z.array(z.string()), z.instanceof(RegExp)]))
11
11
  .optional(),
12
+ externallyImported: z
13
+ .record(z.string(), z.union([z.array(z.string()), z.instanceof(RegExp)]))
14
+ .optional(),
12
15
  ignorePatterns: z.array(z.string()).optional(),
13
16
  ignoreOverridePatterns: z.array(z.string()).optional(),
14
17
  mode: z.enum(['auto', 'one-shot', 'fix', 'editor']).optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/settings/user.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/settings/user.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@
7
7
  "isNonTestFile",
8
8
  "recommended",
9
9
  "all"
10
- ],
10
+ ]
11
+ },
12
+ "externallyImported": {
11
13
  "*.config.*": [
12
14
  "default"
13
15
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-fast-import",
3
- "version": "1.11.0",
3
+ "version": "2.0.0",
4
4
  "description": "ESLint plugin with rules to ensure proper usage of imports and exports",
5
5
  "keywords": [
6
6
  "eslint",