eslint-plugin-import-next 2.3.0 โ†’ 2.3.2

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/AGENTS.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  ```bash
8
8
  # Install dependencies (from monorepo root)
9
- pnpm install
9
+ npm install
10
10
 
11
11
  # Build this package
12
12
  nx build eslint-plugin-import-next
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [2.3.1] - 2026-02-02
2
+
3
+ This was a version bump only for eslint-plugin-import-next to align it with other projects, there were no code changes.
4
+
1
5
  # Changelog
2
6
 
3
7
  All notable changes to this project will be documented in this file.
@@ -5,8 +9,6 @@ All notable changes to this project will be documented in this file.
5
9
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
10
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
11
 
8
- ## [Unreleased]
9
-
10
12
  ### Documentation
11
13
 
12
14
  - ๐Ÿ“˜ Launched new documentation site: [eslint.interlace.tools](https://eslint.interlace.tools/)
package/README.md CHANGED
@@ -16,7 +16,8 @@
16
16
 
17
17
  ## Description
18
18
 
19
- This plugin represents the next evolution of import validation, offering advanced features like granular import sorting and strictly enforced architectural boundaries. It is designed to modernize your development workflow by providing tools that prevent circular dependencies and enforce clean module structures. By integrating these rules, you can maintain a scalable and organized codebase that is easy to navigate and refactor.
19
+ This plugin provides Next-generation import sorting, validation, and architectural boundaries.
20
+ By using this plugin, you can proactively identify and mitigate security risks across your entire codebase.
20
21
 
21
22
  ## Philosophy
22
23
 
@@ -24,131 +25,18 @@ This plugin represents the next evolution of import validation, offering advance
24
25
 
25
26
  ## Getting Started
26
27
 
27
- - To check out the [guide](https://eslint.interlace.tools/docs/import-next), visit [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
28
- - ่ฆๆŸฅ็œ‹ไธญๆ–‡ [ๆŒ‡ๅ—](https://eslint.interlace.tools/docs/import-next), ่ฏท่ฎฟ้—ฎ [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
29
- - [๊ฐ€์ด๋“œ](https://eslint.interlace.tools/docs/import-next) ๋ฌธ์„œ๋Š” [eslint.interlace.tools](https://eslint.interlace.tools)์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“š
30
- - [ใ‚ฌใ‚คใƒ‰](https://eslint.interlace.tools/docs/import-next)ใฏ [eslint.interlace.tools](https://eslint.interlace.tools)ใงใ”็ขบ่ชใใ ใ•ใ„ใ€‚ ๐Ÿ“š
31
- - Para ver la [guรญa](https://eslint.interlace.tools/docs/import-next), visita [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
32
- - ู„ู„ุงุทู„ุงุน ุนู„ู‰ [ุงู„ุฏู„ูŠู„](https://eslint.interlace.tools/docs/import-next)ุŒ ู‚ู… ุจุฒูŠุงุฑุฉ [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
28
+ - To check out the [guide](https://eslint.interlace.tools/docs/quality/plugin-import-next), visit [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
29
+ - ่ฆๆŸฅ็œ‹ไธญๆ–‡ [ๆŒ‡ๅ—](https://eslint.interlace.tools/docs/quality/plugin-import-next), ่ฏท่ฎฟ้—ฎ [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
30
+ - [๊ฐ€์ด๋“œ](https://eslint.interlace.tools/docs/quality/plugin-import-next) ๋ฌธ์„œ๋Š” [eslint.interlace.tools](https://eslint.interlace.tools)์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐Ÿ“š
31
+ - [ใ‚ฌใ‚คใƒ‰](https://eslint.interlace.tools/docs/quality/plugin-import-next)ใฏ [eslint.interlace.tools](https://eslint.interlace.tools)ใงใ”็ขบ่ชใใ ใ•ใ„ใ€‚ ๐Ÿ“š
32
+ - Para ver la [guรญa](https://eslint.interlace.tools/docs/quality/plugin-import-next), visita [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
33
+ - ู„ู„ุงุทู„ุงุน ุนู„ู‰ [ุงู„ุฏู„ูŠู„](https://eslint.interlace.tools/docs/quality/plugin-import-next)ุŒ ู‚ู… ุจุฒูŠุงุฑุฉ [eslint.interlace.tools](https://eslint.interlace.tools). ๐Ÿ“š
33
34
 
34
35
  ```bash
35
36
  npm install eslint-plugin-import-next --save-dev
36
37
  ```
37
38
 
38
- ## AI-Optimized Messages
39
-
40
- This plugin is optimized for ESLint's [Model Context Protocol (MCP)](https://eslint.org/docs/latest/use/mcp), enabling AI assistants like **Cursor**, **GitHub Copilot**, and **Claude** to:
41
-
42
- - Understand the exact vulnerability type via CWE references
43
- - Apply the correct fix using structured guidance
44
- - Provide educational context to developers
45
-
46
- Unlike legacy plugins, we analyze the _type_ of issue and suggest the correct fix:
47
-
48
- ```bash
49
- # Type-only Cycle
50
- ๐Ÿงฉ CWE-407 | Circular Dependency (Types Only)
51
- Path: auth.ts โ†’ user.ts โ†’ auth.ts
52
- Fix: Extract shared types to 'types.ts' or use 'import type'
53
-
54
- # Hard Dependency Cycle
55
- ๐Ÿ—๏ธ CWE-407 | Circular Dependency (Runtime)
56
- Path: ServiceA โ†’ ServiceB โ†’ ServiceA
57
- Fix: Use Dependency Injection or split into Core/Extended modules
58
-
59
- # Deep Cycle (previously undetectable)
60
- โš ๏ธ CWE-407 | Deep Circular Dependency (depth: 7)
61
- Path: A โ†’ B โ†’ C โ†’ D โ†’ E โ†’ F โ†’ G โ†’ A
62
- Impact: May cause Vite/Next.js build failures
63
- Fix: Introduce an abstraction layer between A and G
64
- ```
65
-
66
- ```json
67
- // .cursor/mcp.json
68
- {
69
- "mcpServers": {
70
- "eslint": {
71
- "command": "npx",
72
- "args": ["@eslint/mcp@latest"]
73
- }
74
- }
75
- }
76
- ```
77
-
78
- By providing this structured context (CWE, OWASP, Fix), we enable AI tools to **reason** about the security flaw rather than hallucinating. This allows Copilot/Cursor to suggest the _exact_ correct fix immediately.
79
-
80
- ---
81
-
82
- ## Rules
83
-
84
- **Legend**
85
-
86
- | Icon | Description |
87
- | :--: | :----------------------------------------------------------------- |
88
- | ๐Ÿ’ผ | **Recommended**: Included in the recommended preset. |
89
- | โš ๏ธ | **Warns**: Set to warn in recommended preset. |
90
- | ๐Ÿ”ง | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
91
- | ๐Ÿ’ก | **Suggestions**: Providing code suggestions in IDE. |
92
- | ๐Ÿšซ | **Deprecated**: This rule is deprecated. |
93
-
94
- | Rule | Pattern/Concept | Description | ๐Ÿ’ผ | โš ๏ธ | ๐Ÿ”ง | ๐Ÿ’ก | ๐Ÿšซ |
95
- | :------------------------------------------------------------------------------------------------------------------------- | :--------------- | :-------------------------------------------------- | :-: | :-: | :-: | :-: | :-: |
96
- | [`no-unresolved`](https://eslint.interlace.tools/docs/import-next/rules/no-unresolved) | Static Analysis | Ensure imports resolve | ๐Ÿ’ผ | | | ๐Ÿ’ก | |
97
- | [`named`](https://eslint.interlace.tools/docs/import-next/rules/named) | Static Analysis | Ensure named imports exist | ๐Ÿ’ผ | | | | |
98
- | [`default`](https://eslint.interlace.tools/docs/import-next/rules/default) | Static Analysis | Ensure default export exists | ๐Ÿ’ผ | | | | |
99
- | [`namespace`](https://eslint.interlace.tools/docs/import-next/rules/namespace) | Static Analysis | Ensure namespace properties exist | ๐Ÿ’ผ | | | | |
100
- | [`no-absolute-path`](https://eslint.interlace.tools/docs/import-next/rules/no-absolute-path) | Static Analysis | Forbid absolute paths | | | ๐Ÿ”ง | | |
101
- | [`no-dynamic-require`](https://eslint.interlace.tools/docs/import-next/rules/no-dynamic-require) | Static Analysis | Forbid dynamic require() | | | | | |
102
- | [`no-internal-modules`](https://eslint.interlace.tools/docs/import-next/rules/no-internal-modules) | Static Analysis | Enforce entry points only | | | | ๐Ÿ’ก | |
103
- | [`no-relative-packages`](https://eslint.interlace.tools/docs/import-next/rules/no-relative-packages) | Static Analysis | Use package names | | | ๐Ÿ”ง | | |
104
- | [`no-relative-parent-imports`](https://eslint.interlace.tools/docs/import-next/rules/no-relative-parent-imports) | Static Analysis | Prevent `../` imports | | | | | |
105
- | [`no-self-import`](https://eslint.interlace.tools/docs/import-next/rules/no-self-import) | Static Analysis | Prevent self-imports | ๐Ÿ’ผ | | | ๐Ÿ’ก | |
106
- | [`no-cycle`](https://eslint.interlace.tools/docs/import-next/rules/no-cycle) | Static Analysis | **100x faster** cycle detection | ๐Ÿ’ผ | | | ๐Ÿ’ก | |
107
- | [`no-useless-path-segments`](https://eslint.interlace.tools/docs/import-next/rules/no-useless-path-segments) | Static Analysis | Simplify paths | | | ๐Ÿ”ง | | |
108
- | [`no-restricted-paths`](https://eslint.interlace.tools/docs/import-next/rules/no-restricted-paths) | Static Analysis | Custom path restrictions | | | | | |
109
- | [`export`](https://eslint.interlace.tools/docs/import-next/rules/export) | Helpful Warnings | Forbid duplicate exports | ๐Ÿ’ผ | | | | |
110
- | [`no-deprecated`](https://eslint.interlace.tools/docs/import-next/rules/no-deprecated) | Helpful Warnings | Warn on `@deprecated` imports | | | | | |
111
- | [`no-empty-named-blocks`](https://eslint.interlace.tools/docs/import-next/rules/no-empty-named-blocks) | Helpful Warnings | Forbid empty `{}` imports | | | ๐Ÿ”ง | ๐Ÿ’ก | |
112
- | [`no-extraneous-dependencies`](https://eslint.interlace.tools/docs/import-next/rules/no-extraneous-dependencies) | Helpful Warnings | Prevent unlisted deps | ๐Ÿ’ผ | | | ๐Ÿ’ก | |
113
- | [`no-mutable-exports`](https://eslint.interlace.tools/docs/import-next/rules/no-mutable-exports) | Helpful Warnings | Forbid `let`/`var` exports | | | | | |
114
- | [`no-named-as-default`](https://eslint.interlace.tools/docs/import-next/rules/no-named-as-default) | Helpful Warnings | Warn on default shadowing | ๐Ÿ’ผ | | | | |
115
- | [`no-named-as-default-member`](https://eslint.interlace.tools/docs/import-next/rules/no-named-as-default-member) | Helpful Warnings | Warn on property access | ๐Ÿ’ผ | | | | |
116
- | [`no-unused-modules`](https://eslint.interlace.tools/docs/import-next/rules/no-unused-modules) | Helpful Warnings | Find dead code | | | | ๐Ÿ’ก | |
117
- | [`no-amd`](https://eslint.interlace.tools/docs/import-next/rules/no-amd) | Module Systems | Forbid AMD require/define | | | | | |
118
- | [`no-commonjs`](https://eslint.interlace.tools/docs/import-next/rules/no-commonjs) | Module Systems | Forbid CommonJS | | | | | |
119
- | [`no-nodejs-modules`](https://eslint.interlace.tools/docs/import-next/rules/no-nodejs-modules) | Module Systems | Forbid Node.js builtins | | | | | |
120
- | [`no-import-module-exports`](https://eslint.interlace.tools/docs/import-next/rules/no-import-module-exports) | Module Systems | No mixed ES/CJS | | | | | |
121
- | [`unambiguous`](https://eslint.interlace.tools/docs/import-next/rules/unambiguous) | Module Systems | Warn on ambiguous modules | | | | | |
122
- | [`consistent-type-specifier-style`](https://eslint.interlace.tools/docs/import-next/rules/consistent-type-specifier-style) | Style Guide | Type import style | | | ๐Ÿ”ง | | |
123
- | [`dynamic-import-chunkname`](https://eslint.interlace.tools/docs/import-next/rules/dynamic-import-chunkname) | Style Guide | Require webpack chunk names | | | | ๐Ÿ’ก | |
124
- | [`exports-last`](https://eslint.interlace.tools/docs/import-next/rules/exports-last) | Style Guide | Exports at end of file | | | | | |
125
- | [`extensions`](https://eslint.interlace.tools/docs/import-next/rules/extensions) | Style Guide | Enforce file extension usage | | | | | |
126
- | [`first`](https://eslint.interlace.tools/docs/import-next/rules/first) | Style Guide | Imports must be first | | | ๐Ÿ”ง | | |
127
- | [`group-exports`](https://eslint.interlace.tools/docs/import-next/rules/group-exports) | Style Guide | Group exports together | | | | | |
128
- | [`max-dependencies`](https://eslint.interlace.tools/docs/import-next/rules/max-dependencies) | Style Guide | Limit module dependencies | | | | | |
129
- | [`newline-after-import`](https://eslint.interlace.tools/docs/import-next/rules/newline-after-import) | Style Guide | Newline after imports | | | ๐Ÿ”ง | | |
130
- | [`no-anonymous-default-export`](https://eslint.interlace.tools/docs/import-next/rules/no-anonymous-default-export) | Style Guide | Require named default exports | | | | | |
131
- | [`no-default-export`](https://eslint.interlace.tools/docs/import-next/rules/no-default-export) | Style Guide | Forbid default exports | | | | ๐Ÿ’ก | |
132
- | [`no-duplicates`](https://eslint.interlace.tools/docs/import-next/rules/no-duplicates) | Style Guide | Merge duplicate imports | ๐Ÿ’ผ | | ๐Ÿ”ง | | |
133
- | [`no-named-default`](https://eslint.interlace.tools/docs/import-next/rules/no-named-default) | Style Guide | Use default import syntax | | | | | |
134
- | [`no-named-export`](https://eslint.interlace.tools/docs/import-next/rules/no-named-export) | Style Guide | Forbid named exports | | | | | |
135
- | [`no-namespace`](https://eslint.interlace.tools/docs/import-next/rules/no-namespace) | Style Guide | Forbid `* as` imports | | | | | |
136
- | [`no-unassigned-import`](https://eslint.interlace.tools/docs/import-next/rules/no-unassigned-import) | Style Guide | Forbid side-effect imports | | | | | |
137
- | [`order`](https://eslint.interlace.tools/docs/import-next/rules/order) | Style Guide | Sort and group imports | ๐Ÿ’ผ | | ๐Ÿ”ง | | |
138
- | [`prefer-default-export`](https://eslint.interlace.tools/docs/import-next/rules/prefer-default-export) | Style Guide | Prefer default for single exports | | | | | |
139
- | [`no-cross-domain-imports`](https://eslint.interlace.tools/docs/import-next/rules/no-cross-domain-imports) | Architecture | Enforce clean architecture boundaries | | | | | |
140
- | [`enforce-dependency-direction`](https://eslint.interlace.tools/docs/import-next/rules/enforce-dependency-direction) | Architecture | Enforce layered architecture (UI โ†’ Services โ†’ Data) | | | | | |
141
- | [`prefer-node-protocol`](https://eslint.interlace.tools/docs/import-next/rules/prefer-node-protocol) | Architecture | Prefer `node:fs` over `fs` | | | | | |
142
- | [`no-barrel-file`](https://eslint.interlace.tools/docs/import-next/rules/no-barrel-file) | Architecture | Detect barrel files that harm build performance | | | | | |
143
- | [`no-barrel-import`](https://eslint.interlace.tools/docs/import-next/rules/no-barrel-import) | Architecture | Flag imports from barrel files | | | | | |
144
- | [`prefer-tree-shakeable-imports`](https://eslint.interlace.tools/docs/import-next/rules/prefer-tree-shakeable-imports) | Architecture | Enforce tree-shakeable import patterns | | | | | |
145
- | [`prefer-direct-import`](https://eslint.interlace.tools/docs/import-next/rules/prefer-direct-import) | Architecture | Suggest direct imports with autofix | | | | | |
146
- | [`no-full-package-import`](https://eslint.interlace.tools/docs/import-next/rules/no-full-package-import) | Architecture | Block full imports from large packages | | | | | |
147
- | [`enforce-team-boundaries`](https://eslint.interlace.tools/docs/import-next/rules/enforce-team-boundaries) | Architecture | Prevent unauthorized cross-team imports | | | | | |
148
- | [`no-legacy-imports`](https://eslint.interlace.tools/docs/import-next/rules/no-legacy-imports) | Architecture | Detect deprecated imports with autofix | | | | | |
149
-
150
39
  ## ๐Ÿ”„ Compatibility Matrix
151
-
152
40
  | Rule | Original Plugin | Status | Notes |
153
41
  | :-------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :----------- | :----------------------- |
154
42
  | All Rules | [`eslint-plugin-import`](https://www.npmjs.com/package/eslint-plugin-import) [![npm](https://img.shields.io/npm/v/eslint-plugin-import.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import) | โœ… Supported | Full drop-in replacement |
@@ -156,7 +44,6 @@ By providing this structured context (CWE, OWASP, Fix), we enable AI tools to **
156
44
  ---
157
45
 
158
46
  ## โš™๏ธ Configuration Presets
159
-
160
47
  | Preset | Description |
161
48
  | :------------------ | :----------------------------------------------- |
162
49
  | `recommended` | Warns on import order issues |
@@ -171,28 +58,98 @@ By providing this structured context (CWE, OWASP, Fix), we enable AI tools to **
171
58
  | `errors` | Matches eslint-plugin-import errors preset |
172
59
  | `warnings` | Matches eslint-plugin-import warnings preset |
173
60
 
61
+ ## Rules
62
+
63
+ **Legend**
64
+
65
+ | Icon | Description |
66
+ | :---: | :--- |
67
+ | ๐Ÿ’ผ | **Recommended**: Included in the recommended preset. |
68
+ | โš ๏ธ | **Warns**: Set towarn in recommended preset. |
69
+ | ๐Ÿ”ง | **Auto-fixable**: Automatically fixable by the `--fix` CLI option. |
70
+ | ๐Ÿ’ก | **Suggestions**: Providing code suggestions in IDE. |
71
+ | ๐Ÿšซ | **Deprecated**: This rule is deprecated. |
72
+
73
+ | Rule | CWE | OWASP | CVSS | Description | ๐Ÿ’ผ | โš ๏ธ | ๐Ÿ”ง | ๐Ÿ’ก | ๐Ÿšซ |
74
+ | :--- | :---: | :---: | :---: | :--- | :---: | :---: | :---: | :---: | :---: |
75
+ | [consistent-type-specifier-style](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/consistent-type-specifier-style) | | | | ESLint rule documentation for consistent-type-specifier-style | | | | | |
76
+ | [default](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/default) | | | | ESLint rule documentation for default | | | | | |
77
+ | [dynamic-import-chunkname](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/dynamic-import-chunkname) | | | | ESLint rule documentation for dynamic-import-chunkname | | | | | |
78
+ | [enforce-dependency-direction](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/enforce-dependency-direction) | | | | ESLint rule documentation for enforce-dependency-direction | | | | | |
79
+ | [enforce-import-order](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/enforce-import-order) | | | | ESLint rule documentation for enforce-import-order | | | | | |
80
+ | [enforce-team-boundaries](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/enforce-team-boundaries) | | | | ESLint rule documentation for enforce-team-boundaries | | | | | |
81
+ | [export](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/export) | | | | ESLint rule documentation for export | | | | | |
82
+ | [exports-last](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/exports-last) | | | | ESLint rule documentation for exports-last | | | | | |
83
+ | [extensions](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/extensions) | | | | ESLint rule documentation for extensions | | | | | |
84
+ | [first](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/first) | | | | ESLint rule documentation for first | | | | | |
85
+ | [group-exports](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/group-exports) | | | | ESLint rule documentation for group-exports | | | | | |
86
+ | [max-dependencies](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/max-dependencies) | | | | ESLint rule documentation for max-dependencies | | | | | |
87
+ | [named](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/named) | | | | ESLint rule documentation for named | | | | | |
88
+ | [namespace](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/namespace) | | | | ESLint rule documentation for namespace | | | | | |
89
+ | [newline-after-import](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/newline-after-import) | | | | ESLint rule documentation for newline-after-import | | | | | |
90
+ | [no-absolute-path](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-absolute-path) | | | | ESLint rule documentation for no-absolute-path | | | | | |
91
+ | [no-amd](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-amd) | | | | ESLint rule documentation for no-amd | | | | | |
92
+ | [no-anonymous-default-export](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-anonymous-default-export) | | | | ESLint rule documentation for no-anonymous-default-export | | | | | |
93
+ | [no-barrel-file](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-barrel-file) | | | | ESLint rule documentation for no-barrel-file | | | | | |
94
+ | [no-barrel-import](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-barrel-import) | | | | ESLint rule documentation for no-barrel-import | | | | | |
95
+ | [no-commonjs](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-commonjs) | | | | ESLint rule documentation for no-commonjs | | | | | |
96
+ | [no-cross-domain-imports](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-cross-domain-imports) | | | | ESLint rule documentation for no-cross-domain-imports | | | | | |
97
+ | [no-cycle](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-cycle) | | | | ESLint rule documentation for no-cycle | | | | | |
98
+ | [no-default-export](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-default-export) | | | | ESLint rule documentation for no-default-export | | | | | |
99
+ | [no-deprecated](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-deprecated) | | | | ESLint rule documentation for no-deprecated | | | | | |
100
+ | [no-duplicates](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-duplicates) | | | | ESLint rule documentation for no-duplicates | | | | | |
101
+ | [no-dynamic-require](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-dynamic-require) | | | | ESLint rule documentation for no-dynamic-require | | | | | |
102
+ | [no-empty-named-blocks](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-empty-named-blocks) | | | | ESLint rule documentation for no-empty-named-blocks | | | | | |
103
+ | [no-extraneous-dependencies](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-extraneous-dependencies) | | | | ESLint rule documentation for no-extraneous-dependencies | | | | | |
104
+ | [no-full-package-import](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-full-package-import) | | | | ESLint rule documentation for no-full-package-import | | | | | |
105
+ | [no-import-module-exports](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-import-module-exports) | | | | ESLint rule documentation for no-import-module-exports | | | | | |
106
+ | [no-internal-modules](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-internal-modules) | | | | ESLint rule documentation for no-internal-modules | | | | | |
107
+ | [no-legacy-imports](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-legacy-imports) | | | | ESLint rule documentation for no-legacy-imports | | | | | |
108
+ | [no-mutable-exports](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-mutable-exports) | | | | ESLint rule documentation for no-mutable-exports | | | | | |
109
+ | [no-named-as-default](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-named-as-default) | | | | ESLint rule documentation for no-named-as-default | | | | | |
110
+ | [no-named-as-default-member](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-named-as-default-member) | | | | ESLint rule documentation for no-named-as-default-member | | | | | |
111
+ | [no-named-default](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-named-default) | | | | ESLint rule documentation for no-named-default | | | | | |
112
+ | [no-named-export](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-named-export) | | | | ESLint rule documentation for no-named-export | | | | | |
113
+ | [no-namespace](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-namespace) | | | | ESLint rule documentation for no-namespace | | | | | |
114
+ | [no-nodejs-modules](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-nodejs-modules) | | | | ESLint rule documentation for no-nodejs-modules | | | | | |
115
+ | [no-relative-packages](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-relative-packages) | | | | ESLint rule documentation for no-relative-packages | | | | | |
116
+ | [no-relative-parent-imports](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-relative-parent-imports) | | | | ESLint rule documentation for no-relative-parent-imports | | | | | |
117
+ | [no-restricted-paths](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-restricted-paths) | | | | ESLint rule documentation for no-restricted-paths | | | | | |
118
+ | [no-self-import](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-self-import) | | | | ESLint rule documentation for no-self-import | | | | | |
119
+ | [no-unassigned-import](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-unassigned-import) | | | | ESLint rule documentation for no-unassigned-import | | | | | |
120
+ | [no-unresolved](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-unresolved) | | | | ESLint rule documentation for no-unresolved | | | | | |
121
+ | [no-unused-modules](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-unused-modules) | | | | ESLint rule documentation for no-unused-modules | | | | | |
122
+ | [no-useless-path-segments](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/no-useless-path-segments) | | | | ESLint rule documentation for no-useless-path-segments | | | | | |
123
+ | [prefer-default-export](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/prefer-default-export) | | | | ESLint rule documentation for prefer-default-export | | | | | |
124
+ | [prefer-direct-import](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/prefer-direct-import) | | | | ESLint rule documentation for prefer-direct-import | | | | | |
125
+ | [prefer-modern-api](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/prefer-modern-api) | | | | ESLint rule documentation for prefer-modern-api | | | | | |
126
+ | [prefer-node-protocol](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/prefer-node-protocol) | | | | ESLint rule documentation for prefer-node-protocol | | | | | |
127
+ | [prefer-tree-shakeable-imports](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/prefer-tree-shakeable-imports) | | | | ESLint rule documentation for prefer-tree-shakeable-imports | | | | | |
128
+ | [require-import-approval](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/require-import-approval) | | | | ESLint rule documentation for require-import-approval | | | | | |
129
+ | [unambiguous](https://eslint.interlace.tools/docs/quality/plugin-import-next/rules/unambiguous) | | | | ESLint rule documentation for unambiguous | | | | | |
130
+
174
131
  ## ๐Ÿ”— Related ESLint Plugins
175
132
 
176
133
  Part of the **Interlace ESLint Ecosystem** โ€” AI-native security plugins with LLM-optimized error messages:
177
134
 
178
- | Plugin | Downloads | Description |
179
- | :--------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :------------------------------------------ |
180
- | [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-secure-coding.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-secure-coding) | General security rules & OWASP guidelines. |
181
- | [`eslint-plugin-pg`](https://www.npmjs.com/package/eslint-plugin-pg) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-pg.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-pg) | PostgreSQL security & best practices. |
182
- | [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-crypto.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-crypto) | NodeJS Cryptography security rules. |
183
- | [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-jwt) | JWT security & best practices. |
184
- | [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-browser-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-browser-security) | Browser-specific security & XSS prevention. |
185
- | [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-express-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-express-security) | Express.js security hardening rules. |
186
- | [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-lambda-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda security best practices. |
187
- | [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-nestjs-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS security rules & patterns. |
188
- | [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mongodb-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB security best practices. |
189
- | [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-vercel-ai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | Vercel AI SDK security hardening. |
190
- | [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import-next) | Next-gen import sorting & architecture. |
135
+ | Plugin | Downloads | Description |
136
+ | :--- | :---: | :--- |
137
+ | [`eslint-plugin-secure-coding`](https://www.npmjs.com/package/eslint-plugin-secure-coding) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-secure-coding.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-secure-coding) | General security rules & OWASP guidelines. |
138
+ | [`eslint-plugin-pg`](https://www.npmjs.com/package/eslint-plugin-pg) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-pg.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-pg) | PostgreSQL security & best practices. |
139
+ | [`eslint-plugin-crypto`](https://www.npmjs.com/package/eslint-plugin-crypto) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-crypto.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-crypto) | NodeJS Cryptography security rules. |
140
+ | [`eslint-plugin-jwt`](https://www.npmjs.com/package/eslint-plugin-jwt) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-jwt.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-jwt) | JWT security & best practices. |
141
+ | [`eslint-plugin-browser-security`](https://www.npmjs.com/package/eslint-plugin-browser-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-browser-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-browser-security) | Browser-specific security & XSS prevention. |
142
+ | [`eslint-plugin-express-security`](https://www.npmjs.com/package/eslint-plugin-express-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-express-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-express-security) | Express.js security hardening rules. |
143
+ | [`eslint-plugin-lambda-security`](https://www.npmjs.com/package/eslint-plugin-lambda-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-lambda-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-lambda-security) | AWS Lambda security best practices. |
144
+ | [`eslint-plugin-nestjs-security`](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-nestjs-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-nestjs-security) | NestJS security rules & patterns. |
145
+ | [`eslint-plugin-mongodb-security`](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-mongodb-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-mongodb-security) | MongoDB security best practices. |
146
+ | [`eslint-plugin-vercel-ai-security`](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-vercel-ai-security.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-vercel-ai-security) | Vercel AI SDK security hardening. |
147
+ | [`eslint-plugin-import-next`](https://www.npmjs.com/package/eslint-plugin-import-next) | [![downloads](https://img.shields.io/npm/dt/eslint-plugin-import-next.svg?style=flat-square)](https://www.npmjs.com/package/eslint-plugin-import-next) | Next-gen import sorting & architecture. |
191
148
 
192
149
  ## ๐Ÿ“„ License
193
150
 
194
151
  MIT ยฉ [Ofri Peretz](https://github.com/ofri-peretz)
195
152
 
196
153
  <p align="center">
197
- <a href="https://eslint.interlace.tools/docs/import-next"><img src="https://eslint.interlace.tools/images/og-import-next.png" alt="ESLint Interlace Plugin" width="300" /></a>
198
- </p>
154
+ <a href="https://eslint.interlace.tools/docs/quality/plugin-import-next"><img src="https://eslint.interlace.tools/images/og-import-next.png" alt="ESLint Interlace Plugin" width="100%" /></a>
155
+ </p>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-import-next",
3
- "version": "2.3.0",
3
+ "version": "2.3.2",
4
4
  "description": "Drop-in replacement for eslint-plugin-import. 100x faster no-cycle detection, AI-optimized fixes, zero config migration.",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
@@ -17,10 +17,10 @@
17
17
  },
18
18
  "author": "Ofri Peretz <ofriperetzdev@gmail.com>",
19
19
  "license": "MIT",
20
- "homepage": "https://github.com/ofri-peretz/eslint#readme",
20
+ "homepage": "https://github.com/ofri-peretz/eslint/tree/main/packages/eslint-plugin-import-next#readme",
21
21
  "repository": {
22
22
  "type": "git",
23
- "url": "git+https://github.com/ofri-peretz/eslint.git",
23
+ "url": "https://github.com/ofri-peretz/eslint",
24
24
  "directory": "packages/eslint-plugin-import-next"
25
25
  },
26
26
  "bugs": {