A pnpm monorepo containing JSON Forms implementation for Svelte 5 with Flowbite styling.
Developer documentation
Use Node 22.x
Initial setup
- Install dependencies:
pnpm i --frozen-lockfile
- Install Playwright Chromium (required for browser test projects):
pnpm exec playwright install --with-deps chromium
Run tests
- Run all package tests:
pnpm run test
- Run test coverage report:
pnpm run test:coverage
Scripts
- Build pages/demo shell:
pnpm run build
- Build libraries only:
pnpm run build:libs
- Run Flowbite example app:
pnpm run example:flowbite:dev
- Run Skeleton example app:
pnpm run example:skeleton:dev
- Run Flowbite webcomponent:
pnpm run wc:flowbite:dev
- Run Skeleton webcomponent:
pnpm run wc:skeleton:dev
Releasing From GitHub
This repo uses Changesets + GitHub Actions for automated releases.
Create a release
- Run
pnpm run changeset and select the packages + bump type.
- Commit the generated file under
.changeset/.
- Merge to
master.
- The
Release Packages workflow opens/updates a chore: release packages PR.
- Merge that PR to publish to npmjs.
- During publish, the workflow pushes git tags to GitHub and creates GitHub Releases.
Important: GitHub "Create new release"
- If you create a release directly in the GitHub UI and specify a new tag, GitHub will create that tag.
- That action does not run this repository's Changesets publish flow, so it will not version/publish packages to npm by itself.
- Use the Changesets flow above for npm releases. Use GitHub "Create new release" only for manual, tag-only releases.
Required one-time setup for npmjs deployment
- npm account/scope:
- Ensure you can publish under
@chobantonov on npmjs (user or org scope ownership).
- npm token:
- In npmjs, create an Automation token with publish permissions.
- GitHub secret:
- In repo settings, add
NPM_TOKEN in Settings > Secrets and variables > Actions.
- GitHub Actions permissions:
- In repo
Settings > Actions > General, allow workflows to create and approve pull requests.
- Keep
GITHUB_TOKEN with read/write permissions (needed for the release PR).
- Branch protection:
- If branch protection is enabled for
master, allow the release workflow/PR to merge through your normal checks.