ITA-designer-ui-core
Гитовый сабмодуль-ядро для ангуляровых приложений. Представляет из себя подмодуль гита, но для простоты установки зависимостей они всё же вынесены в package.json;
Установка
Ядро подключается к ui-приложению сначала как git подмодуль, а потом как npm-пакет
Если ядро ещё не подключено к приложению, то в текущий git-проект нужно добавить подмодуль ядра, подключить его и установить зависимости
Если клонируется проект к которому ядро уже подключено, то нужно инициализировать, подключить его и установить зависимости
Для обновления проекта с подключенным ядром достаточно обновить файлы ядра и зависимости приложения
Добавление подмодуля
git submodule add -f https://gitlab.it-alnc.ru/alfa-mvp/ita-userui/ita-designer-ui-core src/ita-designer-ui-core
Инициализация
git submodule update --init --recursive
git submodule foreach git checkout master
Переключение ветки
git submodule foreach git checkout <branch>
Обновление файлов
git submodule foreach git pull
Подключение ядра и установка зависимостей
-
Установка зависимостей ui-приложения:
npm i
-
Подключение ядра и установка его зависимостей:
npm i src\ita-designer-ui-core
Установка (old)
В package.json
ui приложения надо закинуть скрипты, приведённые ниже:
"merge-install": "npm i && npm run prepare-packages && npm i -f && npm run rename-app-package-back",
"merge-install-for-ci": "npm i && npm run prepare-packages-for-ci && npm i -f && npm run rename-app-package-back",
"prepare-packages-for-ci": "npm run rename-app-package && package-json-merge src/ita-designer-ui-core/package.json package-app.json > package.json",
"prepare-packages": "npm run install-utils && npm run rename-app-package && package-json-merge src/ita-designer-ui-core/package.json package-app.json > package.json",
"rename-app-package-back": "move-file package.json package-merged.json && move-file package-app.json package.json",
"rename-app-package": "move-file package.json package-app.json",
"install-utils": "npm install -g package-json-merge move-file-cli",
И прогнать первый, это расширенный npm i
Таким незамысловатым способом будет происходить установка зависимостей, указанных в ядре, и имеющихся в целевом приложении.