eslint-plugin-logical-imports 0.2.4 → 0.3.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/README.md CHANGED
@@ -13,6 +13,7 @@ Autofix in one pass with `--fix`.
13
13
  * [Block glossary](#block-glossary)
14
14
  * [How do I use it?](#how-do-i-use-it)
15
15
  * [Can I control how it handles import blocks?](#can-i-control-how-it-handles-import-blocks)
16
+ * [Can I use a prefix for internal paths?](#can-i-use-a-prefix-for-internal-paths)
16
17
  * [Single imports is crazy, what about performance?](#single-imports-is-crazy-what-about-performance)
17
18
  * [Single imports is still crazy, can I opt out of that part?](#single-imports-is-still-crazy-can-i-opt-out-of-that-part)
18
19
  * [What alternatives exist?](#what-alternatives-exist)
@@ -178,7 +179,7 @@ import { useUser } from './hooks/use-user';
178
179
  npm install --save-dev eslint-plugin-logical-imports
179
180
  ```
180
181
 
181
- Tested with ESLint v10 and Oxlint v1.
182
+ Tested with ESLint versions 9 and 10, and Oxlint version 1.
182
183
 
183
184
  ## How do I configure it?
184
185
 
@@ -236,17 +237,18 @@ Option|Type|Default|Description
236
237
  ------|----|-------|-----------
237
238
  `allowMultipleSpecifiers`|`boolean`|`false`|Set to `true` to allow multi-imports like `{ a, b }`
238
239
  `blocks`|`string[]`|`['builtin', 'external', 'internal']`|Change the handling of import blocks, or use `[]` for a single block.
240
+ `internalPrefixes`|`string[]`|`[]`|Identify path prefixes as internal, e.g. `['@/', '~/']`.
239
241
 
240
242
  ### Block glossary
241
243
 
242
244
  Value|Matches
243
245
  -----|-------
244
- `builtin`|Node/Deno/Bun builtins, e.g. `node:fs`, `module`, `bun:test`
245
- `builtin:types`|Type-only imports of builtins
246
- `external`|External dependencies (npm packages)
247
- `external:types`|Type-only imports of external dependencies
248
- `internal`|Local dependencies, e.g. `./foo/bar`, `../baz`, `/qux`
249
- `internal:types`|Type-only imports of internal dependencies
246
+ `builtin`|Node/Deno/Bun builtins, e.g. `node:fs`, `module`, `bun:test`.
247
+ `builtin:types`|Type-only imports of builtins.
248
+ `external`|External dependencies (npm packages).
249
+ `external:types`|Type-only imports of external dependencies.
250
+ `internal`|Local dependencies, e.g. `./foo/bar`, `../baz`, `/qux`, or matching a prefix in `internalPrefixes`.
251
+ `internal:types`|Type-only imports of internal dependencies.
250
252
 
251
253
  If a `:types` variant is omitted from `blocks`,
252
254
  type imports of that category fall back to the runtime-block peer,
@@ -318,6 +320,27 @@ export default [
318
320
  ];
319
321
  ```
320
322
 
323
+ ### Can I use a prefix for internal paths?
324
+
325
+ Yes, you can these with the `internalPrefixes` option:
326
+
327
+ ```js
328
+ // ...
329
+ import logicalImports from 'eslint-plugin-logical-imports';
330
+
331
+ export default [
332
+ // ...
333
+ {
334
+ plugins: { 'logical-imports': logicalImports },
335
+ rules: {
336
+ 'logical-imports/order': ['error', {
337
+ internalPrefixes: ['@/', '~/'],
338
+ }],
339
+ },
340
+ },
341
+ ];
342
+ ```
343
+
321
344
  ## Single imports is crazy, what about performance?
322
345
 
323
346
  There's no impact from splitting imports across multiple declarations.
@@ -10,6 +10,10 @@ type Plugin = {
10
10
  };
11
11
  };
12
12
  };
13
+ meta: {
14
+ name: string;
15
+ version: string;
16
+ };
13
17
  rules: {
14
18
  order: typeof rule;
15
19
  };
@@ -1,6 +1,11 @@
1
+ import pkg from 'eslint-plugin-logical-imports/package.json' with { type: 'json' };
1
2
  import rule from "./rule.js";
2
3
  const plugin = {
3
4
  configs: {},
5
+ meta: {
6
+ name: pkg.name,
7
+ version: pkg.version,
8
+ },
4
9
  rules: { order: rule },
5
10
  };
6
11
  plugin.configs.recommended = {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAc7B,MAAM,MAAM,GAAW;IACrB,OAAO,EAAE,EAAuB;IAChC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG;IAC3B,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE;IACtC,KAAK,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE;CAC5C,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,4CAA4C,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAEnF,OAAO,IAAI,MAAM,WAAW,CAAC;AAkB7B,MAAM,MAAM,GAAW;IACrB,OAAO,EAAE,EAAuB;IAChC,IAAI,EAAE;QACJ,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;KACrB;IACD,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;CACvB,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,WAAW,GAAG;IAC3B,OAAO,EAAE,EAAE,iBAAiB,EAAE,MAAM,EAAE;IACtC,KAAK,EAAE,EAAE,uBAAuB,EAAE,OAAO,EAAE;CAC5C,CAAC;AAEF,eAAe,MAAM,CAAC"}
package/build/src/rule.js CHANGED
@@ -27,8 +27,9 @@ const BASE_BLOCKS = [
27
27
  ];
28
28
  const rule = {
29
29
  create(context) {
30
- const { allowMultipleSpecifiers, blocks } = (context.options[0] ?? {});
30
+ const { allowMultipleSpecifiers, blocks, internalPrefixes } = (context.options[0] ?? {});
31
31
  const blockOrder = blocks ?? DEFAULT_BLOCKS;
32
+ const prefixes = internalPrefixes ?? [];
32
33
  if (blockOrder.length > 0) {
33
34
  const missing = BASE_BLOCKS.filter((block) => !blockOrder.includes(block));
34
35
  if (missing.length > 0) {
@@ -50,11 +51,11 @@ const rule = {
50
51
  : chunk.filter((decl) => decl.specifiers.length > 1);
51
52
  const muddledDecl = isFlat
52
53
  ? null
53
- : getMuddledBlocksDecl(chunk, extendedRanges, sourceCode, blockOrder);
54
+ : getMuddledBlocksDecl(chunk, extendedRanges, sourceCode, blockOrder, prefixes);
54
55
  const disorderedBlocksDecl = isFlat || muddledDecl !== null
55
56
  ? null
56
- : getDisorderedBlocksDecl(chunk, blockOrder);
57
- const disorderedDecl = getFirstDisorderedDecl(chunk, sourceCode, blockOrder, allowMultipleSpecifiers ?? false);
57
+ : getDisorderedBlocksDecl(chunk, blockOrder, prefixes);
58
+ const disorderedDecl = getFirstDisorderedDecl(chunk, sourceCode, blockOrder, allowMultipleSpecifiers ?? false, prefixes);
58
59
  if (disorderedSpecDecls.length === 0
59
60
  && multiSpecDecls.length === 0
60
61
  && muddledDecl === null
@@ -62,7 +63,7 @@ const rule = {
62
63
  && disorderedDecl === null) {
63
64
  continue;
64
65
  }
65
- const newText = buildChunkText(chunk, extendedRanges, sourceCode, blockOrder, lineEnding, allowMultipleSpecifiers ?? false);
66
+ const newText = buildChunkText(chunk, extendedRanges, sourceCode, blockOrder, lineEnding, allowMultipleSpecifiers ?? false, prefixes);
66
67
  const fix = (fixer) => fixer.replaceTextRange([extendedRanges[0][0], extendedRanges[extendedRanges.length - 1][1]], newText);
67
68
  for (const decl of disorderedSpecDecls) {
68
69
  context.report({ fix, messageId: Messages.disorderedSpecifiers, node: decl });
@@ -137,6 +138,11 @@ const rule = {
137
138
  },
138
139
  ],
139
140
  },
141
+ internalPrefixes: {
142
+ items: { type: 'string' },
143
+ type: 'array',
144
+ uniqueItems: true,
145
+ },
140
146
  },
141
147
  type: 'object',
142
148
  },
@@ -187,8 +193,8 @@ function hasFloatingCommentBetween(prev, curr, sourceCode) {
187
193
  }
188
194
  return false;
189
195
  }
190
- function buildChunkText(chunk, extendedRanges, sourceCode, blockOrder, lineEnding, allowMultipleSpecifiers) {
191
- const items = getLogicalImports(chunk, extendedRanges, sourceCode, blockOrder, allowMultipleSpecifiers);
196
+ function buildChunkText(chunk, extendedRanges, sourceCode, blockOrder, lineEnding, allowMultipleSpecifiers, prefixes) {
197
+ const items = getLogicalImports(chunk, extendedRanges, sourceCode, blockOrder, allowMultipleSpecifiers, prefixes);
192
198
  if (blockOrder.length === 0) {
193
199
  return items
194
200
  .sort((a, b) => compareKeys(a.sortKey, b.sortKey))
@@ -210,11 +216,11 @@ function buildChunkText(chunk, extendedRanges, sourceCode, blockOrder, lineEndin
210
216
  .join(lineEnding))
211
217
  .join(lineEnding + lineEnding);
212
218
  }
213
- function getLogicalImports(chunk, extendedRanges, sourceCode, blockOrder, allowMultipleSpecifiers) {
219
+ function getLogicalImports(chunk, extendedRanges, sourceCode, blockOrder, allowMultipleSpecifiers, prefixes) {
214
220
  const items = [];
215
221
  for (let i = 0; i < chunk.length; i++) {
216
222
  const decl = chunk[i];
217
- const block = classify(decl, blockOrder);
223
+ const block = classify(decl, blockOrder, prefixes);
218
224
  if (decl.specifiers.length > 1
219
225
  && !allowMultipleSpecifiers
220
226
  && !hasInsideComments(decl, sourceCode)) {
@@ -346,8 +352,8 @@ function detectLineEnding(text) {
346
352
  const lf = (text.match(/(?<!\r)\n/g) ?? []).length;
347
353
  return crlf > lf ? '\r\n' : '\n';
348
354
  }
349
- function classify(decl, blockOrder) {
350
- const baseBlock = getBaseBlock(decl);
355
+ function classify(decl, blockOrder, prefixes) {
356
+ const baseBlock = getBaseBlock(decl, prefixes);
351
357
  if (isTypeImport(decl)) {
352
358
  const typesBlock = `${baseBlock}:types`;
353
359
  if (blockOrder.includes(typesBlock)) {
@@ -356,12 +362,12 @@ function classify(decl, blockOrder) {
356
362
  }
357
363
  return baseBlock;
358
364
  }
359
- function getBaseBlock(decl) {
365
+ function getBaseBlock(decl, prefixes) {
360
366
  const source = decl.source.value;
361
367
  if (/^(bun|deno|node):/.test(source) || BUILTIN_MODULES.has(source)) {
362
368
  return BlockTypes.builtin;
363
369
  }
364
- if (source.startsWith('.') || source.startsWith('/')) {
370
+ if (source.startsWith('.') || source.startsWith('/') || prefixes.some((p) => source.startsWith(p))) {
365
371
  return BlockTypes.internal;
366
372
  }
367
373
  return BlockTypes.external;
@@ -372,11 +378,11 @@ function isTypeImport(decl) {
372
378
  }
373
379
  return decl.specifiers.some((specifier) => specifier.importKind === 'type');
374
380
  }
375
- function getMuddledBlocksDecl(chunk, extendedRanges, sourceCode, blockOrder) {
381
+ function getMuddledBlocksDecl(chunk, extendedRanges, sourceCode, blockOrder, prefixes) {
376
382
  const closedBlocks = new Set();
377
383
  let prevBlock = null;
378
384
  for (let i = 0; i < chunk.length; i++) {
379
- const block = classify(chunk[i], blockOrder);
385
+ const block = classify(chunk[i], blockOrder, prefixes);
380
386
  if (prevBlock !== null && prevBlock !== block) {
381
387
  closedBlocks.add(prevBlock);
382
388
  if (closedBlocks.has(block)) {
@@ -392,17 +398,17 @@ function getMuddledBlocksDecl(chunk, extendedRanges, sourceCode, blockOrder) {
392
398
  }
393
399
  return null;
394
400
  }
395
- function getDisorderedBlocksDecl(chunk, blockOrder) {
401
+ function getDisorderedBlocksDecl(chunk, blockOrder, prefixes) {
396
402
  for (let i = 1; i < chunk.length; i++) {
397
- const prevIdx = blockOrder.indexOf(classify(chunk[i - 1], blockOrder));
398
- const currIdx = blockOrder.indexOf(classify(chunk[i], blockOrder));
403
+ const prevIdx = blockOrder.indexOf(classify(chunk[i - 1], blockOrder, prefixes));
404
+ const currIdx = blockOrder.indexOf(classify(chunk[i], blockOrder, prefixes));
399
405
  if (currIdx < prevIdx) {
400
406
  return chunk[i];
401
407
  }
402
408
  }
403
409
  return null;
404
410
  }
405
- function getFirstDisorderedDecl(chunk, sourceCode, blockOrder, allowMultipleSpecifiers) {
411
+ function getFirstDisorderedDecl(chunk, sourceCode, blockOrder, allowMultipleSpecifiers, prefixes) {
406
412
  if (chunk.length < 2) {
407
413
  return null;
408
414
  }
@@ -418,7 +424,7 @@ function getFirstDisorderedDecl(chunk, sourceCode, blockOrder, allowMultipleSpec
418
424
  }
419
425
  const buckets = new Map();
420
426
  for (const decl of chunk) {
421
- const block = classify(decl, blockOrder);
427
+ const block = classify(decl, blockOrder, prefixes);
422
428
  const bucket = buckets.get(block) ?? [];
423
429
  bucket.push(decl);
424
430
  buckets.set(block, bucket);
@@ -429,7 +435,7 @@ function getFirstDisorderedDecl(chunk, sourceCode, blockOrder, allowMultipleSpec
429
435
  cursors.set(block, 0);
430
436
  }
431
437
  for (const decl of chunk) {
432
- const block = classify(decl, blockOrder);
438
+ const block = classify(decl, blockOrder, prefixes);
433
439
  const sorted = buckets.get(block);
434
440
  const cursor = cursors.get(block);
435
441
  if (sorted[cursor] !== decl) {
@@ -1 +1 @@
1
- {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../src/rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../src/rule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-logical-imports",
3
- "version": "0.2.4",
3
+ "version": "0.3.0",
4
4
  "description": "ESLint plugin that enforces one specifier per import statement and alphabetical sort by local symbol name, with configurable block grouping.",
5
5
  "license": "MIT",
6
6
  "author": "Phil Booth (https://philbooth.me/)",
@@ -16,13 +16,14 @@
16
16
  ".": {
17
17
  "types": "./build/src/index.d.ts",
18
18
  "default": "./build/src/index.js"
19
- }
19
+ },
20
+ "./package.json": "./package.json"
20
21
  },
21
22
  "files": [
22
23
  "build/src"
23
24
  ],
24
25
  "engines": {
25
- "node": ">=24"
26
+ "node": ">=22"
26
27
  },
27
28
  "type": "module",
28
29
  "scripts": {
@@ -35,12 +36,14 @@
35
36
  },
36
37
  "keywords": [
37
38
  "eslint",
38
- "import",
39
+ "oxlint",
39
40
  "plugin",
41
+ "import",
42
+ "order",
40
43
  "sort"
41
44
  ],
42
45
  "peerDependencies": {
43
- "eslint": ">=10"
46
+ "eslint": ">=9"
44
47
  },
45
48
  "devDependencies": {
46
49
  "@eslint/js": "^10.0.1",