Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

SolidStart, the Solid app framework

License

NotificationsYou must be signed in to change notification settings

solidjs/solid-start

Banner

VersionDownloadsStarsDiscordReddit

Important

This is the branch for the SolidStart 2.0.0-alpha that is currently under heavy development.

Current SolidStart is maintained at1.x.

Prerequisites

  • 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 vianpm install -g pnpm. Or letCorepack handle it in the setup step below.
  • Git: Ensure Git is installed for cloning and managing the repository.

Monorepo Structure

SolidStart is a pnpm-based monorepo with nested workspaces. Key directories include:

  • packages/start: The core@solidjs/start package.
  • 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.

Local Setup

  1. Clone the repository

    git clone https://github.com/solidjs/solid-start.gitcd solid-start
  2. Enable the correct pnpm version specified in package.json

    corepackenable
  3. Install dependencies

    pnpm dedupe

    (pnpm dedupe will install dependenciesand clean the lockfile from duplicates, useful for preventing conflicts).

  4. 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.

Running Tests

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.

  1. Install the Chromium for Playwright binary (required only once)

    pnpm --filter testsexec playwright install chromium
  2. For unit tests that check build artifacts, build the test app first

    pnpm --filter tests run build
  3. 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
  4. Run E2E tests

    pnpm --filter tests run e2e
    • UI mode:pnpm --filter tests run e2e:ui
  5. Clean test artifacts

    pnpm run clean:test

Development

  1. Make your changes in the relevant package (e.g.packages/start)

  2. Rebuild affected packages

    pnpm run packages:build

    For a full rebuild:pnpm run build:all

  3. Test your changes

    • For fixtures, pick the name of the fixture and run thedev with workspace filtering.
      pnpm --filter fixture-basic dev
    • For the landing page (from the root directory)
      pnpm run lp:dev
  4. 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.


[8]ページ先頭

©2009-2025 Movatter.jp