Как предотвратить использование относительных путей за пределами пакета в Node.js? - PullRequest
0 голосов
/ 07 мая 2019

Допустим, у проекта есть 2 пакета на одном уровне:

  • package1
    • приложение
      • test1.js
    • package.json
  • package2
    • приложение
      • test2.js
    • package.json

Я бы хотел предотвратить импорт относительных путей к файлам "package2" внутри package1 и наоборот. Например, запретить импорт require (../../ package2 / app / test2.js) внутри package1 / app / test1.js.

Мы могли бы написать какой-нибудь статический анализатор для такой проверки, но интересно, существуют ли какие-либо инструменты для решения этой проблемы?

1 Ответ

0 голосов
/ 07 мая 2019

Это запах кода, который предполагает, что ваши две посылки действительно не являются автономными. Правильный способ обработки кросс-пакетных зависимостей - это опубликовать package1 и включить его в зависимости package2, и сделать его доступным для package2, запустив npm install в его каталоге.

При разработке этих двух пакетов вы можете избежать публикации своих модулей, запустив npm link в каталоге package1, чтобы сделать его доступным в глобальном кэше пакетов и сделать его доступным для package2, вы можете запустить npm link package1 из каталога package2.

...