даже догуглить куда копать.
Есть репа1, в ней находится либа. Никакого пайплайна.
Есть репа2, в ней сервис, который тащит к себе ту либу.
В package.json в репо2 есть нечто типа
: "git+ssh://git@****.git#v3.0.7",
И это всё работало (были прокинуты ssh ключи).
работали yart install, start, test, build etc.
Начал превращать в нормальное состояние.
Поменял в репе1 так, чтобы была публикация самого пакета.
Добавил
"publishConfig": {
"@****:registry": "https://npm.pkg.github.com"
},
Со стороны репо2 поменял пути к либе, убрав ssh+git.
И добавил в .npmrc путь к реджистри и плеёсхолдер токена.
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}
@***:registry=https://npm.pkg.github.com
always-auth=true
И в целом это работает.
В репо1 есть пайплайн для публикации на гитхабе, в репо2 при сборке тянется либо из гитхаба.
Проверяю в репо2
yarn install
yarn build
всё работает.
Однако если юзать yarn start в репо2 то возникает ошибка.
Причем каких-то совсем левых зависимостей.
./node_modules/@react-spring/core/dist/react-spring_core.legacy-esm.js 106:11
Module parse failed: Unexpected token (106:11)
File was processed with these loaders:
* ./node_modules/react-scripts/node_modules/babel-loader/lib/index.js
You may need an additional loader to handle the result of these loaders.
| }
| function detachRefs(ctrl, ref) {
> ctrl.ref?.delete(ctrl);
| ref?.delete(ctrl);
| }
Я пробовал поиграться с параметрами паблиша, добавляя в репо1 все варианты(может что-то не допубликуется, может чего не хватает или наоборот лишнее)
"files": [
"dist",
"src",
"package.json",
"node_modules"
],
Не помогло.
Перед каждой итерацией тестов черную дыру нодмодулес чищу, лок файл тоже, этот этап из советов можно пропустить.
Версии ноды пробовал от 124 до 16, такой же результат, переключаюсь при помощи nvm.
Если сделать откат до пути с sshgit - снова всё работает.
И вот теперь мои вопросы:
- как такое можно зачинить?
- куда копать дальше, хотя бы направление?
- я же только сменил сорс для либы откуда пакет брать, почему депенденси хелл произошел?
Сам я не разработчик, девпёс, которому надо поставить на пайплайн странные решения в виде либы из гита.
https://docs.npmjs.com/cli/v10/configuring-npm/package-json#files https://docs.npmjs.com/cli/v10/commands/npm-publish
Обсуждают сегодня