Template for SolidJS monorepo. Bundling of the monorepo packages is managed by tsup.
This monorepo template includes:
- Bun
- TypeScript / ESLint / Oxfmt
- Two apps: Playground and Storybook
- Two template packages: Hello A + Hello B
- Solid Testing Library + Vitest (for testing packages)
- Support for publishing to NPM and JSR
- GitHub Actions (for all CI/CD)
Some pre-requisites before install dependencies:
- Install Node Version Manager (NVM)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash - Install Bun
curl -fsSL https://bun.sh/install | bash
nvm use
bun installbun run lint # checks source for lint violations
bun run format # checks source for format violations
bun run lint:fix # fixes lint violations
bun run format:fix # fixes format violationsbun run playground # Runs playground app
bun run storybook # Runs storybook app
bun run dev # Runs both in parallelThis template uses tsup-preset-solid to build and bundle the library packages.
bun run build:pkg # builds all packagesThis template comes with Changesets pre-configured for versioning and publishing to both NPM and JSR.
bun run pkg:changeset # run Changeset CLI to create a changeset
bun run pkg:version # consume changesets to bump package.json and jsr.json versions
bun run pkg:publish # build, publish to NPM via Changeset, then publish to JSRThe pkg:version script automatically syncs jsr.json versions with package.json versions across all packages after Changeset runs.
The only requirements when contributing are:
- You keep a clean git history in your branch
- rebasing
maininstead of making merge commits.
- rebasing
- Using proper commit message formats that adhere to conventional commits
- Additionally, squashing (via rebase) commits that are not conventional commits
- CI checks pass before merging into
main