Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .github/assets/cover.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
34 changes: 18 additions & 16 deletions .github/assets/cover.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 20 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,11 @@ concurrency:

permissions:
contents: read
pull-requests: write

on:
push:
branches:
- main

pull_request:
branches:
- main
Expand All @@ -22,22 +20,31 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: corepack enable
- uses: actions/setup-node@v6

- uses: oven-sh/setup-bun@v2
with:
node-version: latest
cache: pnpm
bun-version: latest

- name: 📦 Install dependencies
run: pnpm install --frozen-lockfile
run: bun install --frozen-lockfile

- name: 👀 Lint
run: pnpm lint
run: bun run lint

- name: 🔍 Typecheck
run: pnpm typecheck
run: bun run typecheck

- name: 🧪 Test
run: pnpm test
run: bun run test

- name: 🔢 Version consistency
run: bun run check:version

- name: 🚀 Build
run: pnpm build
run: bun run build

- name: 📐 Bundle size budget
run: pnpm bundle-budget
run: bun run bundle-budget

- name: 🔍 Are The Types Wrong (ATTW)
run: pnpm attw
run: bun run attw
35 changes: 20 additions & 15 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,34 +17,40 @@ jobs:
with:
fetch-depth: 0

- run: corepack enable
- uses: oven-sh/setup-bun@v2
with:
bun-version: latest

# npm publish needs a Node with the npm registry configured; bun runs
# everything else.
- uses: actions/setup-node@v6
with:
node-version: lts/*
registry-url: "https://registry.npmjs.org"
cache: pnpm

- name: 📦 Install dependencies
run: pnpm install --frozen-lockfile
run: bun install --frozen-lockfile

- name: 👀 Lint
run: pnpm lint
run: bun run lint

- name: 🔍 Typecheck
run: pnpm typecheck
run: bun run typecheck

- name: 🧪 Test
run: pnpm test
run: bun run test

- name: 🔢 Version consistency
run: bun run check:version

- name: 🚀 Build
run: pnpm build
run: bun run build

- name: 📐 Bundle size budget
run: pnpm bundle-budget
run: bun run bundle-budget

- name: 🔍 Are The Types Wrong (ATTW)
run: pnpm attw
run: bun run attw

- name: 📦 Publish to npm (idempotent)
env:
Expand All @@ -55,27 +61,26 @@ jobs:
if npm view "${PKG}@${VERSION}" version >/dev/null 2>&1; then
echo "✅ ${PKG}@${VERSION} already on npm — skipping publish."
else
pnpm publish --provenance --access public --no-git-checks
npm publish --provenance --access public
fi

- name: 🦕 Publish to JSR (OIDC, idempotent)
run: |
SCOPE_PKG=$(node -p "require('./jsr.json').name")
VERSION=$(node -p "require('./jsr.json').version")
META_URL="https://jsr.io/${SCOPE_PKG}/${VERSION}_meta.json"
if curl -sSf -o /dev/null "$META_URL"; then
if curl -sSf -o /dev/null "https://jsr.io/${SCOPE_PKG}/${VERSION}_meta.json"; then
echo "✅ ${SCOPE_PKG}@${VERSION} already on JSR — skipping publish."
else
npx jsr publish
bunx jsr publish
fi

- name: 📝 Generate changelog
run: pnpm dlx changelogithub
run: bunx changelogithub
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: 📊 Summary
run: |
echo "## Release Complete 🚀" >> $GITHUB_STEP_SUMMARY
echo "## Release complete 🚀" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Version:** ${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY
5 changes: 1 addition & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
node_modules
dist
coverage
*.tgz
.DS_Store
playground/dist
playground/.vite
.env
.wrangler
coverage
2 changes: 1 addition & 1 deletion .oxfmtrc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "https://unpkg.com/oxfmt/configuration_schema.json",
"semi": false,
"ignorePatterns": ["CHANGELOG.md", "playground/**"]
"ignorePatterns": ["CHANGELOG.md"]
}
1 change: 0 additions & 1 deletion .oxlintrc.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
{
"$schema": "https://unpkg.com/oxlint/configuration_schema.json",
"plugins": ["unicorn", "typescript", "oxc"],
"ignorePatterns": ["playground/**"],
"rules": {}
}
Loading