Комментарии 14
Если вы имеете в виду хранить библиотеки с проектом в составе монорепы, то, например, в нашем случае, когда проекты небольшие и за год их делается по несколько десятков, не очень удобно собирать монорепу для каждого из них, проще всё же подключать библиотеки. Плюс удобнее вносить изменения сразу в несколько разных проектов, просто подтянув новую версию либы. Для одного большого проекта с разными либами, да, монорепа будет удобнее
yalc попробуйте, я с ним проблем не знаю, очень удобно. https://github.com/wclr/yalc
Эточё, гайд по использованию символических ссылок?
А зачем тут yarn?
Не совсем понял, для чего создавать и удалять глобальную ссылку на библиотеку, если можно просто указать путь до папки с библиотекой относительно папки текущего проекта.
Если имеется в виду положить папку с библиотекой рядом с проектом и обращаться к ней без симлинка, то будет долго и неудобно во всех файлах проекта в импортах менять пути с обращения к установленной библиотеке на пути к папке с измененной библиотекой (условно, import smth from "@lib"
заменять на import smth from "../../../@lib"
). Кажется, что придется, например, вносить эту папку с либой в исключения для линтеров и тайпскрипта
А зачем этим заниматься, если можно алиасы настроить?
Не, я про выполнение пункта 3 и линковку библиотеки через yarn link "@ktsstudio/test-library". Можно сделать "yarn add @ktsstudio/test-library@link:путь_до_папки_с_test_library_относительно_текущей_папки" и оно прекрасно будет работать, даже hot reload на изменения в test_library будет реагировать. Потом отменяете изменения в package.json и yarn.lock, указываете нужную версию библиотеки test_library, запускаете yarn install (или просто yarn), получаете ошибки из-за линковки, еще раз запускаете yarn install и библиотека нормально встает из пакета
Подключаем библиотеку к проекту с помощью npm/yarn link