import-js/eslint-plugin-import

Add 'allow' option to the no-relative-parent-imports rule or 'ignoreChildren' option to no-internal-modules rule.

Offen

#1.118 geöffnet am 07.06.2018

 (4 Kommentare) (7 Reaktionen) (0 zugewiesene Personen)JavaScript (1.549 Forks)batch import
acceptedenhancementhelp wantedquestion

Repository-Metriken

Stars
 (5.940 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 138T 22h) (3 gemergte PRs in 30 T)

Beschreibung

Our use case is to have some util classes/functions in a folder on top and then always import using relative path. Eg.

src/
 utils/
   util1.js
 comp1/
   index.js
 comp2/
   index.js

From src/comp1/index.js i'd like to be able to import from ../utils/util1 but prohibit import from ../comp2

To achieve this, I see two options:

  1. add 'allow' option to no-relative-parent-imports rule (in the same form as no-internal-modules 'allow'), eg.
"import/no-relative-parent-imports": [ "error", { "allow": ["**/src/utils/**"] } ]
  1. add 'ignoreChildren' option to no-internal-modules to only inspect parent's internal modules, eg.
"import/no-internal-modules": [ "error", { "allow": ["**/src/utils/**"], "ignoreChildren": true  } ]

I'm willing to provide a PR to any of the rules.

Contributor Guide