33 lines
1.1 KiB
PowerShell
33 lines
1.1 KiB
PowerShell
$ErrorActionPreference = "Stop"
|
|
|
|
$REGISTRY = $env:NEXUS_REGISTRY_NPM
|
|
if (-not $REGISTRY) { $REGISTRY = "http://localhost:8081/repository/local-npm/" }
|
|
|
|
# Важно!
|
|
# Модули перечисляются в порядке, который учитывает зависимость данного модуля от остальных.
|
|
# Например: core - первый в списке, т.к. от него зависят все остальные модули, модуль role идет после core и page - т.к.
|
|
# он зависит от них.
|
|
|
|
$MODULES_DIR = "..\src\modules"
|
|
$modules = Get-Content .\modules.json | ConvertFrom-Json
|
|
|
|
foreach ($modName in $modules) {
|
|
$mod = Join-Path $MODULES_DIR $modName
|
|
Write-Host "=== Deploying $modName ==="
|
|
|
|
# Очистка dist
|
|
$dist = Join-Path $mod "dist"
|
|
if (Test-Path $dist) { Remove-Item -Recurse -Force $dist }
|
|
|
|
# Билд
|
|
Push-Location $mod
|
|
npm run build
|
|
Pop-Location
|
|
|
|
# Публикация
|
|
Push-Location $mod
|
|
npm publish --registry $REGISTRY
|
|
Pop-Location
|
|
}
|
|
|
|
Write-Host "✅ Deployment completed." |