Skip to content

refactor: align dependency pattern with official SvelteKit adapters #7

refactor: align dependency pattern with official SvelteKit adapters

refactor: align dependency pattern with official SvelteKit adapters #7

Workflow file for this run

name: CI/CD Pipeline
on:
push:
branches: [main]
pull_request:
branches: [main]
release:
types: [published]
env:
NODE_VERSION: '22'
jobs:
test:
name: Test & Lint
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: latest
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Type check
run: pnpm typecheck
- name: Lint code
run: pnpm lint
- name: Run tests with coverage
run: pnpm test:coverage
- name: Test build
run: pnpm build
publish:
name: Publish to npm
runs-on: ubuntu-latest
needs: [test]
if: github.event_name == 'release' && github.event.action == 'published'
permissions:
contents: read
id-token: write # for npm provenance
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: latest
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION }}
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build package
run: pnpm build
- name: Update package version
run: |
# Extract version from git tag (remove 'v' prefix if present)
VERSION="${{ github.event.release.tag_name }}"
VERSION="${VERSION#v}"
# Update package.json version
pnpm version "$VERSION" --no-git-tag-version
echo "Updated package.json to version $VERSION"
- name: Publish to npm
run: pnpm publish --access public --provenance
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}