Repository navigation
Move the samples to the samples repository and add playgrounds - #126
Merged
brionmario merged 1 commit intoOct 21, 2026
Merged
Conversation
🔀 Cross-SDK feature parity, ports raisedThis pull request is labelled Ports (DO NOT EDIT)
3 of 3 sibling SDKs accounted for. Every sibling SDK is accounted for. The contract is in the SDK development specification. |
This was referenced Oct 19, 2026
Merged
Merged
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
brionmario
force-pushed
the
move-quickstarts-to-samples
branch
2 times, most recently
from
October 20, 2026 04:59
11139f9 to
1d990db
Compare
The framework quickstarts now live in thunder-id/samples and use the published packages. The E2E suite fetches them through tests/e2e/scripts/prepare-samples.ts and installs them against tarballs of this workspace's builds. SDK releases no longer attach a quickstart archive. playgrounds/react and playgrounds/express take their place for exercising the SDKs from source: capability checks, a component explorer, hooks and token inspection for React, and an API explorer with an SDK trace for Express. Refs thunder-id/thunderid#5904 Refs thunder-id/thunderid#5919 Signed-off-by: Brion <info@brionmario.com>
brionmario
force-pushed
the
move-quickstarts-to-samples
branch
from
October 20, 2026 12:58
1d990db to
dc00e4d
Compare
DonOmalVindula
approved these changes
Oct 20, 2026
5 of 11 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Moves the React, Vue, Next.js, Nuxt, Browser, Express and Node.js quickstarts, and the Better Auth Next.js integration sample, to thunder-id/samples (thunder-id/thunderid#5904). This empties
samples/.Approach
samples/*/quickstart.pnpm-workspace.yamlno longer includes them and the lockfile drops their importers. Every override is still reached throughpackages/*, so none is removed; their justifications no longer cite the sample paths.tests/e2e/scripts/prepare-samples.ts: copies the quickstarts from thunder-id/samples intotests/e2e/.samples, runspnpm packon each built package, and pins every@thunderid/*dependency, direct or transitive, to those tarballs through pnpm overrides. The E2E suite therefore installs this PR's builds the way an adopter would, from packed tarballs. Packaging mistakes, such as a file missing fromfiles, now fail E2E as well.THUNDERID_SAMPLES_REF,THUNDERID_SAMPLES_DIRandTHUNDERID_SAMPLES_REPOwork as in the other SDK repos. The script runs on plainnode(22.18+).run-e2e.shand therun-e2e-suiteaction: run the script afterpnpm buildand drive the apps fromtests/e2e/.samples. The.envbackup and restore logic is gone because the apps are fresh copies on every run.sample-apps.tsand the node spec use the new paths. ESLint, Prettier andtsconfigignore the fetched copy.@thunderid/better-auth, which attached the integration sample, so thepack-sampleaction is removed.integrations/better-auth-nextjsin Add the Better Auth sample and fix sample releases and the vite advisory samples#11. Withsamples/empty, the workspace glob, the ESLint copyright exemption forsamples/**and the PR builder's!./samples/**lint and test filters go too.Verified locally:
pnpm install --frozen-lockfile,pnpm buildandpnpm format:checkpass.tests/e2epasseslintandtype-check. The prepare script runs in both local-checkout and clone modes, and the prepared React and Next.js apps build against the local tarballs. The Playwright suite was not run end to end.Playgrounds
playgrounds/reactandplaygrounds/expressreplace the quickstarts for exercising the SDKs from source (thunder-id/thunderid#5919). They are part of the workspace and useworkspace:*:playgrounds/react(Vite):@thunderid/reactAPI, with run one or run all, a reason for each result, and filters. It also shows a session card with a token countdown, the provider config and an event log.playgrounds/express: an Express server that mounts the real@thunderid/expresshandlers and example protected routes. It serves an API explorer with "Send as" identities (anonymous, signed in, expired token), the response and headers, the handler source, copy as cURL, and an SDK trace of the middleware and client calls.The PR builder already covers both:
pnpm buildtype-checks and builds them, and they passformat:check, lint (which excludes onlypackagesandsamples) and test. Setup is in each playground's README.Shown as unavailable or worked around because the SDK has no API for them yet:
on())user/signIn/signOutprotect()Screenshots
playgrounds/react: overviewplaygrounds/react: component explorerplaygrounds/express: API explorerTaken with the local ThunderID server stopped and no client configured, so the overview reports the server as down and the checks have not run.
Related Issues
Related PRs
Merge order: thunder-id/samples#7 (merged) and thunder-id/samples#11 first. The SDK PRs' E2E suites and sample builds fetch the quickstarts from samples
main, so they fail at the fetch step until it merges. Re-run their checks afterwards.Checklist
breaking changelabel added.parity/prs-raisedorparity/prs-not-neededadded.parity/prs-raised, the port links are posted as a reply on the parity check's comment.Security checks