Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
6f1aa82
chore: replace yalc with pkglab for local package development
nikosdouvlis Feb 14, 2026
c169786
ci: use pkglab for CI integration tests and smoke checks
nikosdouvlis Feb 16, 2026
6cc54aa
Merge branch 'main' into nk/e2e-pkglab
nikosdouvlis Feb 16, 2026
64b61cd
fix: resolve merge artifacts and clean up verdaccio leftovers in pkgl…
nikosdouvlis Feb 16, 2026
b2cf9df
Merge remote-tracking branch 'origin/main' into nk/e2e-pkglab
nikosdouvlis Feb 17, 2026
22f4fc6
chore: clean up leftover verdaccio references and remove local-regist…
nikosdouvlis Feb 17, 2026
4344b27
chore: replace secco with pkglab in install-site-in-isolation script
nikosdouvlis Feb 17, 2026
139b6d4
chore: remove unused preview workflow and install-site-in-isolation s…
nikosdouvlis Feb 17, 2026
d15200a
ci: add node_modules/.bin to PATH in init actions
nikosdouvlis Feb 17, 2026
bb1eaf3
ci: install pkglab globally in init actions
nikosdouvlis Feb 17, 2026
3964343
ci: install bun for pkglab and add empty changeset
nikosdouvlis Feb 17, 2026
5e927cf
ci: restore package.json files after pkglab publish
nikosdouvlis Feb 17, 2026
6b82dac
ci: disable frozen-lockfile for pkglab add operations
nikosdouvlis Feb 17, 2026
26cca4f
ci: remove redundant pkglab add @clerk/backend from CI workflows
nikosdouvlis Feb 17, 2026
6939b4a
fix: use correct pkglab registry port (16180) in health check
nikosdouvlis Feb 17, 2026
6c31b8c
fix: use /-/ping endpoint for pkglab health check
nikosdouvlis Feb 17, 2026
47674cf
fix: use pkglab status --health for registry check
nikosdouvlis Feb 17, 2026
de06a56
ci: use workspace node_modules/.bin for pkglab instead of global install
nikosdouvlis Feb 17, 2026
9636da4
chore: update lockfile for pkglab 0.12.0
nikosdouvlis Feb 17, 2026
bc50659
ci: remove unnecessary bun global install
nikosdouvlis Feb 17, 2026
132bdf5
ci: revert to global npm install for pkglab
nikosdouvlis Feb 17, 2026
06736da
chore: dedupe lockfile
nikosdouvlis Feb 17, 2026
4cc6e87
chore: add comment explaining global pkglab install
nikosdouvlis Feb 17, 2026
2dc1c5b
chore: remove integration CLAUDE.md from PR
nikosdouvlis Feb 17, 2026
1fbc05d
ci: bump pkglab to 0.12.1 (fixes bun-in-PATH requirement)
nikosdouvlis Feb 17, 2026
c196b3c
fix: use pkglab@latest in CI, bump devDep to ^0.12.2
nikosdouvlis Feb 17, 2026
9ef5d1f
fix: pin pkglab@0.12.2 in CI (npm auth fix)
nikosdouvlis Feb 17, 2026
bdcec31
fix: use pkglab@latest in CI for npm auth fix
nikosdouvlis Feb 17, 2026
9e7e18a
ci: retrigger with pkglab@0.13.0
nikosdouvlis Feb 17, 2026
226373c
fix: restart pkglab daemon in global.setup if it died between CI steps
nikosdouvlis Feb 17, 2026
aedb662
fix: remove pkglab health check from global.setup
nikosdouvlis Feb 17, 2026
357ea9f
fix: prepend npm global bin to PATH so global pkglab takes precedence
nikosdouvlis Feb 17, 2026
6d5cfa4
fix: remove broken node_modules/.bin/pkglab shim so global binary is …
nikosdouvlis Feb 17, 2026
c500cad
ci: retrigger to pick up pkglab@0.13.0 (npm CDN should be up to date)
nikosdouvlis Feb 17, 2026
eaf47f5
fix: pin pkglab@0.13.0 in CI (npm CDN still serving 0.12.2 for @latest)
nikosdouvlis Feb 17, 2026
39cdeaf
debug: add registry diagnostics to CI to identify ETARGET root cause
nikosdouvlis Feb 17, 2026
06fff70
debug: fix diagnostics to use exact version number
nikosdouvlis Feb 17, 2026
5a5d00b
debug: test npm install inside pnpm exec context
nikosdouvlis Feb 17, 2026
8a52ae8
debug: capture npm config inside playwright test runner context
nikosdouvlis Feb 18, 2026
ac8a2fe
fix: strip pnpm npm_config env vars before calling pkglab add
nikosdouvlis Feb 18, 2026
4d586c9
fix: use extendEnv:false to prevent pnpm env vars from leaking to npm
nikosdouvlis Feb 18, 2026
a9001ce
fix: bump astro-hybrid template to astro 5 (fixes peer dep conflict w…
nikosdouvlis Feb 18, 2026
13b57d1
fix: remove verdaccio mention from integration README
nikosdouvlis Feb 18, 2026
0978781
fix: bump pkglab to 0.13.1 and drop npm_config env workaround
nikosdouvlis Feb 18, 2026
3292532
chore: remove unused addResolution from applicationConfig
nikosdouvlis Feb 18, 2026
680c01a
chore: bump pkglab to 0.13.2, drop node_modules shim workaround
nikosdouvlis Feb 18, 2026
0170072
fix: restore rm of node_modules pkglab shim
nikosdouvlis Feb 18, 2026
f353c7f
fix: bump devDep pkglab to ^0.13.2 and sync CI version from lockfile
nikosdouvlis Feb 18, 2026
c346b96
fix: install pkglab platform binary via devDep instead of global npm …
nikosdouvlis Feb 18, 2026
20bdf84
fix: add node_modules/.bin to PATH in CI for pkglab
nikosdouvlis Feb 18, 2026
56106b6
Merge remote-tracking branch 'origin/main' into nk/e2e-pkglab
nikosdouvlis Feb 18, 2026
c0a9473
fix: use explicit pkglab marker instead of '*' for local registry deps
nikosdouvlis Feb 18, 2026
3182e5d
chore: bump pkglab to 0.13.3
nikosdouvlis Feb 18, 2026
20d40bf
Merge remote-tracking branch 'origin/main' into nk/e2e-pkglab
nikosdouvlis Feb 19, 2026
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
2 changes: 2 additions & 0 deletions .changeset/shaggy-ads-arrive.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
---
2 changes: 1 addition & 1 deletion .cursor/rules/development.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ Release Process
Local Development Tips
- Use playground applications to test changes quickly
- Set up multiple test environments for different scenarios
- Use Verdaccio for local npm registry testing
- Use pkglab for local npm registry testing (`pkglab pub` to publish, `pkglab add` to install)
- Leverage hot reloading for faster development cycles
- Use proper IDE setup with TypeScript support

Expand Down
2 changes: 1 addition & 1 deletion .cursor/rules/monorepo.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ Environment Configuration

- Supports multiple Clerk environment variables (CLERK*\*, NEXT_PUBLIC_CLERK*\*, etc.)
- Development, staging, and production configurations
- Verdaccio for local npm registry testing
- pkglab for local npm registry testing
- Docker support for integration testing
- CI/CD with GitHub Actions

Expand Down
4 changes: 4 additions & 0 deletions .github/actions/init-blacksmith/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ runs:
run: pnpm install
shell: bash

- name: Add node_modules/.bin to PATH
run: echo "${{ github.workspace }}/node_modules/.bin" >> $GITHUB_PATH
shell: bash

- name: Get Playwright Version
if: inputs.playwright-enabled == 'true'
shell: bash
Expand Down
4 changes: 4 additions & 0 deletions .github/actions/init/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,10 @@ runs:
run: pnpm install
shell: bash

- name: Add node_modules/.bin to PATH
run: echo "${{ github.workspace }}/node_modules/.bin" >> $GITHUB_PATH
shell: bash

- name: Get Playwright Version
if: inputs.playwright-enabled == 'true'
shell: bash
Expand Down
128 changes: 0 additions & 128 deletions .github/actions/verdaccio/action.yml

This file was deleted.

27 changes: 6 additions & 21 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -379,47 +379,32 @@ jobs:
echo "affected=${AFFECTED}"
echo "affected=${AFFECTED}" >> $GITHUB_OUTPUT

- name: Version packages for snapshot
- name: Build packages
if: ${{ steps.task-status.outputs.affected == '1' }}
run: npm run version-packages:snapshot ci
run: pnpm turbo build $TURBO_ARGS --only

- name: Verdaccio
- name: Publish to local registry
if: ${{ steps.task-status.outputs.affected == '1' }}
uses: ./.github/actions/verdaccio
with:
publish-cmd: |
if [ "$(pnpm config get registry)" = "https://registry.npmjs.org/" ]; then echo 'Error: Using default registry' && exit 1; else pnpm turbo build $TURBO_ARGS --only && pnpm changeset publish --no-git-tag --tag latest; fi
run: pkglab pub --force

- name: Edit .npmrc [link-workspace-packages=false]
run: sed -i -E 's/link-workspace-packages=(deep|true)/link-workspace-packages=false/' .npmrc

- name: Install @clerk/backend in /integration
if: ${{ steps.task-status.outputs.affected == '1' }}
working-directory: ./integration
run: |
pnpm init
pnpm config set minimum-release-age-exclude @clerk/*
pnpm add @clerk/backend

# Install published packages from Verdaccio to test against real npm install scenarios
# rather than local monorepo builds. Validates package structure, dependencies, and entry points.
- name: Install @clerk/clerk-js in os temp
if: ${{ steps.task-status.outputs.affected == '1' }}
working-directory: ${{runner.temp}}
run: |
mkdir clerk-js && cd clerk-js
pnpm init
pnpm config set minimum-release-age-exclude @clerk/*
pnpm add @clerk/clerk-js
pkglab add @clerk/clerk-js

- name: Install @clerk/ui in os temp
if: ${{ steps.task-status.outputs.affected == '1' }}
working-directory: ${{runner.temp}}
run: |
mkdir clerk-ui && cd clerk-ui
pnpm init
pnpm config set minimum-release-age-exclude @clerk/*
pnpm add @clerk/ui
pkglab add @clerk/ui

- name: Copy components @clerk/astro
if: ${{ matrix.test-name == 'astro' }}
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/e2e-cleanups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,8 @@ jobs:
turbo-token: ${{ secrets.TURBO_TOKEN }}
playwright-enabled: true

- name: Verdaccio
uses: ./.github/actions/verdaccio
with:
publish-cmd: |
if [ "$(pnpm config get registry)" = "https://registry.npmjs.org/" ]; then echo 'Error: Using default registry' && exit 1; else pnpm turbo build $TURBO_ARGS --only && pnpm changeset publish --no-git-tag; fi

- name: Install @clerk/backend in /integration
working-directory: ./integration
run: pnpm init && pnpm add @clerk/backend
- name: Build packages
run: pnpm turbo build $TURBO_ARGS --only

- name: Run cleanup
run: pnpm test:integration:cleanup
Expand Down
28 changes: 7 additions & 21 deletions .github/workflows/nightly-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,37 +32,25 @@ jobs:
turbo-token: ${{ secrets.TURBO_TOKEN }}
playwright-enabled: true

- name: Version packages for snapshot
run: npm run version-packages:snapshot ci
- name: Build packages
run: pnpm turbo build $TURBO_ARGS --only

- name: Verdaccio
uses: ./.github/actions/verdaccio
with:
publish-cmd: |
if [ "$(pnpm config get registry)" = "https://registry.npmjs.org/" ]; then echo 'Error: Using default registry' && exit 1; else pnpm turbo build $TURBO_ARGS --only && pnpm changeset publish --no-git-tag --tag latest; fi

- name: Install @clerk/backend in /integration
working-directory: ./integration
run: |
pnpm init
pnpm config set minimum-release-age-exclude @clerk/*
pnpm add @clerk/backend
- name: Publish to local registry
run: pkglab pub --force

- name: Install @clerk/clerk-js in os temp
working-directory: ${{runner.temp}}
run: |
mkdir clerk-js && cd clerk-js
pnpm init
pnpm config set minimum-release-age-exclude @clerk/*
pnpm add @clerk/clerk-js
pkglab add @clerk/clerk-js

- name: Install @clerk/ui in os temp
working-directory: ${{runner.temp}}
run: |
mkdir clerk-ui && cd clerk-ui
pnpm init
pnpm config set minimum-release-age-exclude @clerk/*
pnpm add @clerk/ui
pkglab add @clerk/ui

- name: Run Integration Tests
id: integration_tests
Expand All @@ -81,9 +69,7 @@ jobs:
E2E_APP_CLERK_JS_DIR: ${{runner.temp}}
E2E_APP_CLERK_UI_DIR: ${{runner.temp}}
# Don't set E2E_CLERK_JS_VERSION - let it use '*' (via linkPackage)
# which matches any version including snapshots from verdaccio.
# Using "latest" would fail since snapshot packages don't have
# the "latest" dist-tag, causing fallback to npm's stable version.
# which resolves via pkglab add in the integration test setup
E2E_NEXTJS_VERSION: "canary"
E2E_NPM_FORCE: "true"
E2E_REACT_DOM_VERSION: "19.2.3"
Expand Down
Loading
Loading