Кажется, что задать этот вопрос неудобно, но, недавно опубликовав пакет Node в реестре NPM, я обнаружил, что он не работает.
Кажется, проблема в том, что мой основной файл, ./src/index.js
, не включается в глобальную установку.
Я знаю это, потому что, когда я вызываю пакет из командной строки, он запускает ./bin/cli.js
в пакете, как и ожидалось, но затем выдает:
Error: Cannot find module '../src/index.js'
Require stack:
- /usr/lib/node_modules/diffcraft/bin/cli.js
Ошибка даже ссылается на строку в ./bin/cli.js
, где требуется индексный файл, так что проблема определенно в этом.
Я также знаю это, потому что я проверил папку, в которой модуль установлен глобально, и, хотя папка bin
есть, папки src
нет. Так что основного кода для моего пакета просто нет.
Обнаружив это, я даже пропатчил package. json, чтобы ./src/index.js
был явно внесен в белый список files
массив. Я не делал этого раньше, поскольку NPM руководство утверждает, что любой файл, указанный в main
, также автоматически попадает в белый список. Но даже включение файла в files
явно не сработало.
Для справки, у меня нет файла .npmignore
.
У меня ужасное чувство, m отсутствует что-то простое и базовое c ... Есть идеи, почему мой основной файл может быть пропущен?
Пакет diffcraft .