Skip to content

Commit 4ae48fa

Browse files
committed
update
1 parent 4dbfd8e commit 4ae48fa

2 files changed

Lines changed: 43 additions & 6 deletions

File tree

CONTRIBUTING.md

Lines changed: 38 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22

33
- **Node.js**: Version 22 or higher
44
- Use a Node.js version manager compatible with `.node-version` ([asdf-vm](https://asdf-vm.com) is a great option for macOS/Linux users)
5-
- Use pnpm packet manager
5+
- Use pnpm package manager
6+
7+
## Setup
68

79
```bash
810
# Clone the SolidStart repository
@@ -20,14 +22,45 @@ pnpm install
2022
```
2123

2224
```bash
23-
# Build the SolidStart project
24-
pnpm build
25+
# Build dependencies
26+
pnpm run build:all
27+
```
28+
29+
## Testing Changes
30+
31+
1. Modify the codebase as needed.
32+
2. Run an example project to verify your changes work as expected:
33+
34+
```bash
35+
# Run an example (e.g. hackernews)
36+
pnpm --filter example-hackernews run dev
37+
```
38+
39+
3. Run tests
40+
41+
```bash
42+
# Setup Playwright
43+
pnpm run install:playwright
2544
```
2645

27-
If you are using SolidStart within a monorepo that takes advantage of the `package.json` `"workspaces"` property (e.g. [Yarn Workspaces](https://classic.yarnpkg.com/en/docs/workspaces)) with hoisted dependencies (the default for Yarn), you must include `@solidjs/start` within the optional `"nohoist"` (for Yarn v2 or higher, see further down for instructions) workspaces property.
46+
```bash
47+
# Run all tests
48+
pnpm run test:all
49+
```
50+
51+
```bash
52+
# Show test report
53+
pnpm run show:test-report
54+
```
55+
56+
## Monorepo Configuration
57+
58+
If you are using SolidStart within a monorepo that takes advantage of the `package.json` `"workspaces"` property (e.g. [Yarn Workspaces](https://classic.yarnpkg.com/en/docs/workspaces)) with hoisted dependencies (the default for Yarn), you must include `@solidjs/start` within the optional `"nohoist"` (for Yarn v1) or configure hoisting limits (for Yarn v2 or higher) to ensure dependencies are correctly placed.
2859

2960
- _In the following, "workspace root" refers to the root of your repository, while "project root" refers to the root of a child package within your repository._
3061

62+
### Yarn v1 (nohoist)
63+
3164
For example, if specifying `"nohoist"` options from the workspace root (i.e., for all packages):
3265

3366
```jsonc
@@ -57,7 +90,7 @@ Regardless of where you specify the `nohoist` option, you also need to include `
5790

5891
The reason why this is necessary is because `@solidjs/start` creates an `index.html` file within your project which expects to load a script located in `/node_modules/@solidjs/start/runtime/entry.jsx` (where `/` is the path of your project root). By default, if you hoist the `@solidjs/start` dependency into the workspace root, then that script will not be available within the package's `node_modules` folder.
5992

60-
**Yarn v2 or Higher**
93+
### Yarn v2 or Higher
6194

6295
The `nohoist` option is no longer available in Yarn v2+. In this case, we can use the `installConfig` property in the `package.json` (either workspace package or a specific project package) to make sure our dependencies are not hoisted:
6396

README.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
[![Banner](https://assets.solidjs.com/banner?project=Start&type=core)](https://github.com/solidjs)
22

3+
<div align="center">
4+
35
[![Version](https://img.shields.io/npm/v/@solidjs/start.svg?style=for-the-badge&color=blue&logo=npm)](https://npmjs.com/package/@solidjs/start)
46
[![Downloads](https://img.shields.io/npm/dm/@solidjs/start.svg?style=for-the-badge&color=green&logo=npm)](https://npmjs.com/package/@solidjs/start)
57
[![Stars](https://img.shields.io/github/stars/solidjs/solid-start?style=for-the-badge&color=yellow&logo=github)](https://github.com/solidjs/solid-start)
68
[![Discord](https://img.shields.io/discord/722131463138705510?label=join&style=for-the-badge&color=5865F2&logo=discord)](https://discord.com/invite/solidjs)
79
[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/solidjs?label=join&style=for-the-badge&color=FF4500&logo=reddit)](https://reddit.com/r/solidjs)
810

11+
</div>
12+
913
**SolidStart** brings fine-grained reactivity fullstack with full flexibility. Built with features like unified rendering and isomorphic code execution, SolidStart enables you to create highly performant and scalable web applications.
1014

1115
Explore the official [documentation](https://docs.solidjs.com/solid-start) for detailed guides and examples.
@@ -15,7 +19,7 @@ Explore the official [documentation](https://docs.solidjs.com/solid-start) for d
1519
- **All Rendering Modes**:
1620
- Server-Side Rendering _(SSR)_ with sync, async, and stream [modes](https://docs.solidjs.com/solid-start/reference/server/create-handler)
1721
- Client-Side Rendering _(CSR)_
18-
- Static Site Generation _(SSG)_
22+
- Static Site Generation _(SSG)_ with route [pre-rendering](https://docs.solidjs.com/solid-start/building-your-application/route-prerendering)
1923
- **TypeScript**: Full integration for robust, type-safe development
2024
- **File-Based Routing**: Intuitive routing based on your project’s file structure
2125
- **API Routes**: Dedicated server-side endpoints for seamless API development

0 commit comments

Comments
 (0)