Skip to content

Publish package to npm #27

Publish package to npm

Publish package to npm #27

Workflow file for this run

name: Publish package to npm
on:
release:
types: [published]
workflow_dispatch:
permissions:
contents: read
id-token: write
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
deps:
name: Install dependencies
uses: ./.github/workflows/base.yml
with:
command: pnpm install --frozen-lockfile --prefer-offline
build:
name: Build & check exports
needs: [deps]
uses: ./.github/workflows/base.yml
with:
command: npm run build && npm run check-exports
test:
name: Test
needs: [deps]
uses: ./.github/workflows/base.yml
with:
command: npm run test
lint:
name: Lint
needs: [deps]
uses: ./.github/workflows/base.yml
with:
command: npm run lint
check-format:
name: Check format
needs: [deps]
uses: ./.github/workflows/base.yml
with:
command: npm run check-format
check-spelling:
name: Check spelling
needs: [deps]
uses: ./.github/workflows/base.yml
with:
command: npm run check-spelling
deploy:
name: Deploy
runs-on: ubuntu-latest
needs: [build, test, lint]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22.x'
- uses: actions/cache@v4
with:
path: dist/
key: ${{ runner.os }}-build-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-
- run: npm pkg delete scripts
- run: npm pkg delete packageManager
- uses: actions/upload-artifact@v4
with:
name: build
path: dist/
# - run: npm publish --provenance --access public
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}