31 lines
970 B
Bash
31 lines
970 B
Bash
#!/bin/bash
|
|
set -e
|
|
|
|
REGISTRY="${NEXUS_REGISTRY_NPM:-http://localhost:8081/repository/local-npm/}"
|
|
MODULES_DIR="../src/modules"
|
|
|
|
# Важно!
|
|
# Модули перечисляются в порядке, который учитывает зависимость данного модуля от остальных.
|
|
# Например: core - первый в списке, т.к. от него зависят все остальные модули, модуль role идет после core и page - т.к.
|
|
# он зависит от них.
|
|
|
|
modules=()
|
|
while IFS= read -r line; do
|
|
modules+=("$line")
|
|
done < <(jq -r '.[]' modules.json)
|
|
|
|
for modName in "${modules[@]}"; do
|
|
mod="$MODULES_DIR/$modName"
|
|
echo "=== Deploying $modName ==="
|
|
|
|
# Очистка dist
|
|
[ -d "$mod/dist" ] && rm -rf "$mod/dist"
|
|
|
|
# Билд
|
|
(cd "$mod" && npm run build)
|
|
|
|
# Публикация
|
|
(cd "$mod" && npm publish --registry "$REGISTRY")
|
|
done
|
|
|
|
echo "✅ Deployment completed." |