import-js/eslint-plugin-import

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

Aberta

#1.118 aberto em 7 de jun. de 2018

 (4 comentários) (7 reações) (0 responsável)JavaScript (1.549 forks)batch import
acceptedenhancementhelp wantedquestion

Métricas do repositório

Stars
 (5.940 estrelas)
Métricas de merge de PR
 (Mesclagem média 138d 22h) (3 fundiu PRs em 30d)

Description

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.

Guia do colaborador