diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..2aa10c6 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,42 @@ +name: Publish + +on: + push: + branches: + - main + +jobs: + publish: + runs-on: ubuntu-latest + permissions: + contents: read + id-token: write + strategy: + fail-fast: false + matrix: + package: + - md-react-preview + - vite-plugin-react-preview + - vitepress-plugin-react-preview + steps: + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 + - uses: actions/setup-node@v4 + with: + cache: pnpm + cache-dependency-path: ./pnpm-lock.yaml + node-version-file: "./package.json" + registry-url: "https://registry.npmjs.org" + - run: pnpm install + - run: pnpm build + - name: Publish @izumisy/${{ matrix.package }} + working-directory: packages/${{ matrix.package }} + run: | + PKG_NAME=$(jq -r .name package.json) + PKG_VER=$(jq -r .version package.json) + PUBLISHED=$(npm view "${PKG_NAME}@${PKG_VER}" version 2>/dev/null || echo "") + if [ "$PUBLISHED" = "$PKG_VER" ]; then + echo "Skip: ${PKG_NAME}@${PKG_VER} already published" + else + pnpm publish --no-git-checks --access public + fi diff --git a/packages/md-react-preview/package.json b/packages/md-react-preview/package.json index 2c47f5d..2d58cd6 100644 --- a/packages/md-react-preview/package.json +++ b/packages/md-react-preview/package.json @@ -19,6 +19,7 @@ "scripts": { "dev": "tsdown --watch", "build": "tsdown", + "prepublishOnly": "pnpm run build", "type-check": "tsc --incremental", "lint": "oxlint", "fmt": "oxfmt --write src app/src", diff --git a/packages/vite-plugin-react-preview/package.json b/packages/vite-plugin-react-preview/package.json index 7dbf6b9..f59694e 100644 --- a/packages/vite-plugin-react-preview/package.json +++ b/packages/vite-plugin-react-preview/package.json @@ -19,6 +19,7 @@ "scripts": { "dev": "tsdown --watch", "build": "tsdown", + "prepublishOnly": "pnpm run build", "type-check": "tsc --incremental", "test": "vitest run" }, diff --git a/packages/vitepress-plugin-react-preview/package.json b/packages/vitepress-plugin-react-preview/package.json index bbe6a24..5c6c8cb 100644 --- a/packages/vitepress-plugin-react-preview/package.json +++ b/packages/vitepress-plugin-react-preview/package.json @@ -17,6 +17,7 @@ "scripts": { "dev": "tsdown --watch", "build": "tsdown", + "prepublishOnly": "pnpm run build", "type-check": "tsc --incremental", "test": "vitest run" },