Как стать автором
Обновить

Комментарии 9

  • Автоматически упорядочивать импорты в соответствии с заранее оговорёнными правилами, что значительно снижает вероятность ошибок и конфликтов в коде.

А каким образом порядок импортов "значительно" влияет на вероятность ошибок в коде?

Спасибо за вопрос.

Неправильный порядок импортов может привести к тому, что модули будут инициализированы не в нужном порядке, что иногда вызывает ошибки выполнения. Консистентность помогает избежать подобных проблем.

А так вы правы. Здесь речь идет скорее о читаемости кода в первую очередь.

Это моя первая стать. Автор я пока так себе ;)

О-ф-ф...
Если выполнение программы зависит от порядка импортов, это что-то не то...
В js бывает проблема зацикливания импортов, но перестраиванием порядка она не решается

Зацикливание импортов это понятно. Здесь плагин не поможет.

Пример чуть-чуть надуманный, но подобное, к сожалению, встречается.

foo.js

window.aloha = {
  foo: "hi",
};

bar.js

console.log(window.aloha.foo);

test.js

import "./foo";
import "./bar";

На вызовет ошибку

import "./bar";
import "./foo";

Вызовет ошибку

Uncaught TypeError: Cannot read properties of undefined (reading 'foo')
at bar.js:1:26

И подобные вещи встречаются. Этот пример конечно надуманый, но буквально вчера столкнулся с подобной проблемой, где порядок импортов действительно был важен.

Но Вы правы. Этот плагин написан, в первую очередь, для лучшего структурирования кода, а не для то, чтобы избежать ошибок. ;) Спасибо за замечание.

Это скорее не правильно спроектированный код и исключение из правил

Я с этим и не спорю. Просто говорю, что такое бывает.

Интересно, всегда пишу на ES-модулях и даже не смотрю что импортировано и в каком порядке, автоматическим импортом занимается IDE. Звучит как "Недавно я столкнулся с проблемой: сотрудники в офисе ставили кружки в шкафу не по размеру ручки, и мне пришлось написать инструкцию по правильному размещению офисной посуды."

Спасибо за мнение. У меня оно другое.

Чем код структурированее, тем легче его читать, поддерживать, ... Это касается и импортов.

Создание собственного ESLint-плагина — прагматичное решение реальной проблемы, с которой сталкиваются команды при работе над проектами. Крутая возможность настройки порядка импортов и группировки по категориям и внедрение автоматической коррекции через флаг --fix !!! Отличная работа!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации