/
home
/
techb158
/
balavpn.abdallabala.com
/
node_modules
/
eslint-plugin-import
/
docs
/
rules
/
/home/techb158/balavpn.abdallabala.com/node_modules/eslint-plugin-import/docs/rules
mkdir
upload
Name
Size
Mode
Actions
consistent-type-specifier-style.md
2822
0666
edit
dl
rm
default.md
2016
0666
edit
dl
rm
dynamic-import-chunkname.md
3288
0666
edit
dl
rm
enforce-node-protocol-usage.md
2122
0666
edit
dl
rm
export.md
998
0666
edit
dl
rm
exports-last.md
935
0666
edit
dl
rm
extensions.md
7558
0666
edit
dl
rm
first.md
2230
0666
edit
dl
rm
group-exports.md
2419
0666
edit
dl
rm
imports-first.md
424
0666
edit
dl
rm
max-dependencies.md
1836
0666
edit
dl
rm
named.md
2610
0666
edit
dl
rm
namespace.md
2833
0666
edit
dl
rm
newline-after-import.md
2903
0666
edit
dl
rm
no-absolute-path.md
1486
0666
edit
dl
rm
no-amd.md
977
0666
edit
dl
rm
no-anonymous-default-export.md
2235
0666
edit
dl
rm
no-commonjs.md
2231
0666
edit
dl
rm
no-cycle.md
3752
0666
edit
dl
rm
no-default-export.md
1217
0666
edit
dl
rm
no-deprecated.md
1478
0666
edit
dl
rm
no-duplicates.md
3542
0666
edit
dl
rm
no-dynamic-require.md
780
0666
edit
dl
rm
no-empty-named-blocks.md
866
0666
edit
dl
rm
no-extraneous-dependencies.md
4879
0666
edit
dl
rm
no-import-module-exports.md
1780
0666
edit
dl
rm
no-internal-modules.md
2927
0666
edit
dl
rm
no-mutable-exports.md
1433
0666
edit
dl
rm
no-named-as-default-member.md
1413
0666
edit
dl
rm
no-named-as-default.md
1383
0666
edit
dl
rm
no-named-default.md
705
0666
edit
dl
rm
no-named-export.md
1472
0666
edit
dl
rm
no-namespace.md
993
0666
edit
dl
rm
no-nodejs-modules.md
829
0666
edit
dl
rm
no-relative-packages.md
1490
0666
edit
dl
rm
no-relative-parent-imports.md
2621
0666
edit
dl
rm
no-restricted-paths.md
4853
0666
edit
dl
rm
no-self-import.md
417
0666
edit
dl
rm
no-unassigned-import.md
2001
0666
edit
dl
rm
no-unresolved.md
4315
0666
edit
dl
rm
no-unused-modules.md
3422
0666
edit
dl
rm
no-useless-path-segments.md
2582
0666
edit
dl
rm
no-webpack-loader-syntax.md
1081
0666
edit
dl
rm
order.md
29632
0666
edit
dl
rm
prefer-default-export.md
3263
0666
edit
dl
rm
unambiguous.md
1913
0666
edit
dl
rm
Edit:
/home/techb158/balavpn.abdallabala.com/node_modules/eslint-plugin-import/docs/rules/no-cycle.md
(3752B)
# import/no-cycle <!-- end auto-generated rule header --> Ensures that there is no resolvable path back to this module via its dependencies. This includes cycles of depth 1 (imported module imports me) to `"∞"` (or `Infinity`), if the [`maxDepth`](#maxdepth) option is not set. ```js // dep-b.js import './dep-a.js' export function b() { /* ... */ } ``` ```js // dep-a.js import { b } from './dep-b.js' // reported: Dependency cycle detected. ``` This rule does _not_ detect imports that resolve directly to the linted module; for that, see [`no-self-import`]. This rule ignores type-only imports in Flow and TypeScript syntax (`import type` and `import typeof`), which have no runtime effect. ## Rule Details ### Options By default, this rule only detects cycles for ES6 imports, but see the [`no-unresolved` options](./no-unresolved.md#options) as this rule also supports the same `commonjs` and `amd` flags. However, these flags only impact which import types are _linted_; the import/export infrastructure only registers `import` statements in dependencies, so cycles created by `require` within imported modules may not be detected. #### `maxDepth` There is a `maxDepth` option available to prevent full expansion of very deep dependency trees: ```js /*eslint import/no-cycle: [2, { maxDepth: 1 }]*/ // dep-c.js import './dep-a.js' ``` ```js // dep-b.js import './dep-c.js' export function b() { /* ... */ } ``` ```js // dep-a.js import { b } from './dep-b.js' // not reported as the cycle is at depth 2 ``` This is not necessarily recommended, but available as a cost/benefit tradeoff mechanism for reducing total project lint time, if needed. #### `ignoreExternal` An `ignoreExternal` option is available to prevent the cycle detection to expand to external modules: ```js /*eslint import/no-cycle: [2, { ignoreExternal: true }]*/ // dep-a.js import 'module-b/dep-b.js' export function a() { /* ... */ } ``` ```js // node_modules/module-b/dep-b.js import { a } from './dep-a.js' // not reported as this module is external ``` Its value is `false` by default, but can be set to `true` for reducing total project lint time, if needed. #### `allowUnsafeDynamicCyclicDependency` This option disable reporting of errors if a cycle is detected with at least one dynamic import. ```js // bar.js import { foo } from './foo'; export const bar = foo; // foo.js export const foo = 'Foo'; export function getBar() { return import('./bar'); } ``` > Cyclic dependency are **always** a dangerous anti-pattern as discussed extensively in [#2265](https://github.com/import-js/eslint-plugin-import/issues/2265). Please be extra careful about using this option. #### `disableScc` This option disables a pre-processing step that calculates [Strongly Connected Components](https://en.wikipedia.org/wiki/Strongly_connected_component), which are used for avoiding unnecessary work checking files in different SCCs for cycles. However, under some configurations, this pre-processing may be more expensive than the time it saves. When this option is `true`, we don't calculate any SCC graph, and check all files for cycles (leading to higher time-complexity). Default is `false`. ## When Not To Use It This rule is comparatively computationally expensive. If you are pressed for lint time, or don't think you have an issue with dependency cycles, you may not want this rule enabled. ## Further Reading - [Original inspiring issue](https://github.com/import-js/eslint-plugin-import/issues/941) - Rule to detect that module imports itself: [`no-self-import`] - [`import/external-module-folders`] setting [`no-self-import`]: ./no-self-import.md [`import/external-module-folders`]: ../../README.md#importexternal-module-folders
Save
cmd:
run