diff --git a/.github/workflows/release-ui-packages.yaml b/.github/workflows/release-ui-packages.yaml new file mode 100644 index 000000000..ae454bcc8 --- /dev/null +++ b/.github/workflows/release-ui-packages.yaml @@ -0,0 +1,23 @@ +name: Release UI Packages + +permissions: + contents: write + id-token: write + +on: + release: + types: + - published + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Environment + uses: ./.github/actions/setup-env + - run: pnpm install + - name: Publish to NPM + run: cd ui && pnpm run publish:packages diff --git a/ui/package.json b/ui/package.json index 4fe759598..676c92d8f 100644 --- a/ui/package.json +++ b/ui/package.json @@ -21,7 +21,8 @@ "lint": "eslint . --max-warnings=0 -f html -o build/lint-result/index.html", "prettier": "prettier . --write", "typecheck:packages": "pnpm --parallel -r run typecheck", - "test:unit:packages": "pnpm --parallel -r run test:unit" + "test:unit:packages": "pnpm --parallel -r run test:unit", + "publish:packages": "pnpm -r publish --access public --no-git-checks" }, "lint-staged": { "**/*": "prettier --write --ignore-unknown", diff --git a/ui/packages/api-client/package.json b/ui/packages/api-client/package.json index f91162383..f0a414d55 100644 --- a/ui/packages/api-client/package.json +++ b/ui/packages/api-client/package.json @@ -39,7 +39,8 @@ ], "scripts": { "build": "tsdown", - "gen": "rimraf --glob './src/**' && openapi-generator-cli generate -i ../../../api-docs/openapi/v3_0/aggregated.json -g typescript-axios -c ./.openapi_config.yaml -o ./src --type-mappings='set=Array'" + "gen": "rimraf --glob './src/**' && openapi-generator-cli generate -i ../../../api-docs/openapi/v3_0/aggregated.json -g typescript-axios -c ./.openapi_config.yaml -o ./src --type-mappings='set=Array'", + "prepublishOnly": "pnpm run build" }, "dependencies": { "qs": "^6.13.0" diff --git a/ui/packages/components/package.json b/ui/packages/components/package.json index fa23d2d44..67d5bbf7d 100644 --- a/ui/packages/components/package.json +++ b/ui/packages/components/package.json @@ -47,7 +47,8 @@ "test:unit:coverage": "vitest run --coverage", "test:unit:ui": "vitest --watch --ui", "test:unit:watch": "vitest --watch", - "typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false", + "prepublishOnly": "pnpm run build" }, "dependencies": { "floating-vue": "^5.2.2" diff --git a/ui/packages/editor/package.json b/ui/packages/editor/package.json index b84329c93..ab3cc2648 100644 --- a/ui/packages/editor/package.json +++ b/ui/packages/editor/package.json @@ -36,7 +36,8 @@ "test:unit:coverage": "vitest run --environment jsdom --coverage", "test:unit:ui": "vitest --environment jsdom --watch --ui", "test:unit:watch": "vitest --environment jsdom --watch", - "typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false" + "typecheck": "vue-tsc --noEmit -p tsconfig.app.json --composite false", + "prepublishOnly": "pnpm run build" }, "dependencies": { "@ckpack/vue-color": "^1.5.0", diff --git a/ui/packages/shared/package.json b/ui/packages/shared/package.json index b62096d15..2d2ab1498 100644 --- a/ui/packages/shared/package.json +++ b/ui/packages/shared/package.json @@ -30,7 +30,8 @@ "scripts": { "build": "tsdown", "dev": "tsdown --watch", - "typecheck": "tsc --noEmit -p tsconfig.app.json --composite false" + "typecheck": "tsc --noEmit -p tsconfig.app.json --composite false", + "prepublishOnly": "pnpm run build" }, "dependencies": { "@halo-dev/api-client": "workspace:*"