У меня возникли проблемы с добавлением репозитория github в мой монорепозиторий Yarn. Репозиторий, который я хочу добавить, имеет скомпилированный код TS для модуля commonjs и es в папке dist.
Я добавил репозиторий, который хочу использовать, в package.json в следующем формате:
"dependencies": {
"@foo/some-lib": "[email protected]:zantinger/some-lib.git"
}
но я продолжаю получать сообщение об ошибке "Не удается найти модуль..." (думаю, с моего языкового сервера LSP).
Я могу подтвердить, что веб-пакет может собрать проект, даже с диагностической ошибкой от LSP-сервера. Так что это похоже на проблему с tsserver.
Вот что я пробовал до сих пор:
Есть ли способ добавить репозиторий github в монорепозиторий Yarn с нулевой установкой и активным PnP? Любые предложения о том, что еще я мог бы попытаться решить эту проблему?
Я использую:
Не стесняйтесь взглянуть на мои примеры репозиториев:
возможно, вы захотите перепроверить основной индекс и индекс модуля.. { .. "main": "dist/lib/es5/index.js", "module": "dist/lib/es6/index.js", .. } ... вы должны убедиться, что скомпилированные файлы действительно существуют в папке dist репозитория библиотеки и что они фиксируются в репозитории.
Привет @ManojKumar, кажется, --verbose не поддерживается. Скомпилированные файлы находятся в потребительском репозитории из-за нулевой установки пряжи: github.com/zantinger/some-consumer/blob/main/.yarn/cache/… Я могу открыть zip-файлы с помощью neovim и я видим скомпилированные файлы и определения типов (.d.ts).
@Zantinger, если вы игнорируете ошибки TS, можете ли вы импортировать их во время выполнения? Или с асинхронным import()
? (т.е. это ошибка типа или ошибка времени выполнения)
Интересный. webpack может успешно собрать код. Встроенный в код console.info отображается у меня в браузере. Даже если позиция, отображаемая сервером LSP как ошибка, не снабжена параметром @ts-ignore.
Теперь я смог решить проблему сам. Машинопись нуждается в скд из пряжи. Я пытался установить его раньше, но не знал, что typescript должен существовать как зависимость в корневом каталоге. У меня был только машинописный текст в рабочих областях как зависимость от разработчиков. добавление машинописного текста в качестве зависимости на корневом уровне и запуск пряжи dlx @yarnpkg/sdks vim снова устранили проблему. В любом случае большое спасибо тем, кто уделил время моей проблеме.
Пожалуйста, не добавляйте ответы ни в сам вопрос, ни в комментарии. Вместо этого вы должны добавить его в качестве ответа. Отвечать на свой вопрос разрешается и даже приветствуется.
Теперь я смог решить проблему сам. Машинопись нуждается в скд из пряжи. Я пытался установить его раньше, но не знал, что typescript должен существовать как зависимость в корневом каталоге. У меня был только машинописный текст в рабочих областях как зависимость от разработчиков. добавление машинописного текста в качестве зависимости на корневом уровне и запуск пряжи dlx @yarnpkg/sdks vim снова устранили проблему.
@Zantinger уже дал решение, но для тех, кто все еще сомневается, есть страница в документах Yarn, посвященная этой теме. Вы можете проверить лучший для вас вариант, например, я использую неовим, такой же, как в вопросе, поэтому, следуя доку, я побежал yarn dlx @yarnpkg/sdks base
и бинго! Оно работает.
не могли бы вы предоставить результат
yarn run consumer --verbose
, попробуйте запустить потребительский проект с флагом --verbose, чтобы получить больше информации о том, что делает Yarn при разрешении зависимости...