Nothing has been published, so a 1.0.0/2.0.0 split claimed a stability and a history that do not exist. Staying on 0.x says what is true: the API may still move. Under semver a breaking change is then a minor bump, which is exactly the relationship between the two lines — 0.1.x keeps legacy experimentalDecorators, 0.2.x moves to TC39 standard decorators. Branch renamed 1.x -> 0.1.x to match, along with its CI trigger and the maintenance-line notice in the README. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SAcqrz3FcadkYr3xG32CjK
42 lines
1.1 KiB
YAML
42 lines
1.1 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [ main, develop, 0.1.x ]
|
|
pull_request:
|
|
branches: [ main, develop, 0.1.x ]
|
|
|
|
jobs:
|
|
verify:
|
|
name: Node ${{ matrix.node-version }}
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
node-version: [20.x, 22.x, 24.x]
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
uses: actions/setup-node@v4
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
cache: 'npm'
|
|
- name: Install dependencies
|
|
run: npm ci
|
|
- name: Type Check
|
|
run: npm run type-check
|
|
- name: Lint
|
|
run: npm run lint
|
|
- name: Test
|
|
run: npm run test:coverage
|
|
- name: Build
|
|
run: npm run build
|
|
- name: Verify published entry points load
|
|
run: |
|
|
node --input-type=module -e "import * as m from './dist/esm/index.js'; if (typeof m.toInstance !== 'function') throw new Error('ESM entry point broken');"
|
|
node --input-type=commonjs -e "const m = require('./dist/cjs/index.js'); if (typeof m.toInstance !== 'function') throw new Error('CJS entry point broken');"
|
|
- name: Run Demo
|
|
run: npm run demo
|