Skip to content

thedanchez/template-solidjs-monorepo

Repository files navigation

solid-create-script

Template: SolidJS Bun Monorepo

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)

Getting Started

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

Installing Dependencies

nvm use
bun install

Linting & Formatting

bun 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 violations

Start Scripts

bun run playground    # Runs playground app
bun run storybook     # Runs storybook app
bun run dev           # Runs both in parallel

Building Packages

This template uses tsup-preset-solid to build and bundle the library packages.

bun run build:pkg   # builds all packages

Publishing Packages

This 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 JSR

The pkg:version script automatically syncs jsr.json versions with package.json versions across all packages after Changeset runs.

Contributing

The only requirements when contributing are:

  • You keep a clean git history in your branch
    • rebasing main instead of making merge commits.
  • Using proper commit message formats that adhere to conventional commits
  • CI checks pass before merging into main

About

Template for multiple SolidJS packages configured with Bun, TypeScript, ESLint, Oxfmt and Vitest

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors