diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9961d6b..487f0d3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -3,6 +3,7 @@ name: Build WASM on: push: branches: [main] + tags: ['v*'] pull_request: branches: [main] workflow_dispatch: @@ -94,3 +95,27 @@ jobs: dist/anisette_rs.node.js dist/anisette_rs.node.wasm generate_release_notes: true + + - name: Setup Node.js + if: startsWith(github.ref, 'refs/tags/v') + uses: actions/setup-node@v4 + with: + node-version: '20' + registry-url: 'https://npm.pkg.github.com' + + - name: Install dependencies + if: startsWith(github.ref, 'refs/tags/v') + working-directory: js/ + run: npm ci + + - name: Build TypeScript + if: startsWith(github.ref, 'refs/tags/v') + working-directory: js/ + run: npm run build + + - name: Publish to GitHub Packages + if: startsWith(github.ref, 'refs/tags/v') + working-directory: js/ + run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/js/package.json b/js/package.json index 3d87114..0176b41 100644 --- a/js/package.json +++ b/js/package.json @@ -1,5 +1,5 @@ { - "name": "anisette-js", + "name": "@lbr77/anisette-js", "version": "0.1.0", "description": "High-level JavaScript/TypeScript API for Apple Anisette headers via WASM", "type": "module", @@ -8,8 +8,8 @@ "exports": { ".": { "types": "./dist/index.d.ts", - "default": "./src/browser.ts", - "node": "./src/index.ts" + "default": "./src/index.ts", + "browser": "./src/browser.ts" } }, "files": [ @@ -26,5 +26,13 @@ }, "dependencies": { "@types/node": "^25.3.2" + }, + "publishConfig": { + "registry": "https://npm.pkg.github.com", + "access": "restricted" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/lbr77/anisette-js.git" } }