import-js/eslint-plugin-import

import/order group by prefix

Open

#795 ouverte le 6 avr. 2017

Voir sur GitHub
 (9 commentaires) (5 réactions) (0 assignés)JavaScript (1 540 forks)batch import
enhancementhelp wantedimport/export ordering

Métriques du dépôt

Stars
 (4 946 stars)
Métriques de merge PR
 (Merge moyen 138j 22h) (3 PRs mergées en 30 j)

Description

I import from all over my app, with a mix of relative and root imports. The current order rule covers most of my cases, and with #629 fixing #389 (sorting alphabetically), that will cover more. But one case that won't be covered is that I prefer to have all my global functions imported first, which come from a /lib directory, followed by my components which come from a /client/modules directory.

Sorting alphabetically, I would have to do

import someComponent from '/client/modules/someComponent';
import someFunction from '/lib/someFunction';

But I'd rather do

import someFunction from '/lib/someFunction';
import someComponent from '/client/modules/someComponent';

Within the rule itself, there's one way I could see it being defined

Use the existing groups option, and anything that isn't currently an option (builtins, sibling, etc) would be considered a prefix "import/order": ["error", {"groups": ["builtins", "external", "/lib", "/client"]}]

This would also handle the concern in this comment that people will start to request a bunch of order types and exceptions to them

Guide contributeur