- Notifications
You must be signed in to change notification settings - Fork403
SolidStart, the Solid app framework
License
solidjs/solid-start
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
- For building apps with SolidStart, check thepackage README and ourofficial docs
- For contributing to codebase, checkCONTRIBUTING.md
- For creating a new template, please head over tosolidjs/templates
Important
This is the branch for the SolidStart 2.0.0-alpha that is currently under heavy development.
Current SolidStart is maintained at1.x.
- Node.js: Use the version specified in
.nvmrc. To manage multiple versions across your system, we recommend a version manager such asfnm, or another of your choice. - pnpm: Install globally via
npm install -g pnpm. Or letCorepack handle it in the setup step below. - Git: Ensure Git is installed for cloning and managing the repository.
SolidStart is a pnpm-based monorepo with nested workspaces. Key directories include:
packages/start: The core@solidjs/startpackage.apps/landing-page: The official landing page.apps/tests: Unit and end-to-end (E2E) tests using Vitest and Playwright.apps/fixtures: Fixture projects for testing.
Use pnpm filters (e.g.pnpm --filter @solidjs/start ...) to target specific packages.
Clone the repository
git clone https://github.com/solidjs/solid-start.gitcd solid-startEnable the correct pnpm version specified in package.json
corepackenableInstall dependencies
pnpm dedupe
(
pnpm dedupewill install dependenciesand clean the lockfile from duplicates, useful for preventing conflicts).Build all packages and the landing page
pnpm run build:all
If you encounter issues (e.g. missingnode_modules), clean the workspace
pnpm run clean:all
Then reinstall dependencies and rebuild.
End-to-end tests are located inapps/tests projects. For manual testing and development use theapps/fixtures apps, and finally, integration and unit tests live inside their respective packages.
Install the Chromium for Playwright binary (required only once)
pnpm --filter testsexec playwright install chromiumFor unit tests that check build artifacts, build the test app first
pnpm --filter tests run build
Run unit tests (puts vitest in watch mode)
pnpm --filter tests run unit
- CI mode (run once):
pnpm --filter tests run unit:ci - UI mode:
pnpm --filter tests run unit:ui
- CI mode (run once):
Run E2E tests
pnpm --filter tests run e2e
- UI mode:
pnpm --filter tests run e2e:ui
- UI mode:
Clean test artifacts
pnpm run clean:test
Make your changes in the relevant package (e.g.
packages/start)Rebuild affected packages
pnpm run packages:build
For a full rebuild:
pnpm run build:allTest your changes
- For fixtures, pick the name of the fixture and run the
devwith workspace filtering.pnpm --filter fixture-basic dev
- For the landing page (from the root directory)
pnpm run lp:dev
- For fixtures, pick the name of the fixture and run the
Clean builds if needed
pnpm run packages:clean# Cleans packages' node_modules and dist folderspnpm run lp:clean# Cleans the landing pagepnpm run clean:root# Cleans root-level caches
If you have read all the way here, you're already a champ! 🏆Thank you.
About
SolidStart, the Solid app framework
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.