You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+38-5Lines changed: 38 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,9 @@
2
2
3
3
-**Node.js**: Version 22 or higher
4
4
- 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
6
8
7
9
```bash
8
10
# Clone the SolidStart repository
@@ -20,14 +22,45 @@ pnpm install
20
22
```
21
23
22
24
```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
25
44
```
26
45
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.
28
59
29
60
-_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._
30
61
62
+
### Yarn v1 (nohoist)
63
+
31
64
For example, if specifying `"nohoist"` options from the workspace root (i.e., for all packages):
32
65
33
66
```jsonc
@@ -57,7 +90,7 @@ Regardless of where you specify the `nohoist` option, you also need to include `
57
90
58
91
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.
59
92
60
-
**Yarn v2 or Higher**
93
+
### Yarn v2 or Higher
61
94
62
95
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:
**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.
10
14
11
15
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
15
19
-**All Rendering Modes**:
16
20
- Server-Side Rendering _(SSR)_ with sync, async, and stream [modes](https://docs.solidjs.com/solid-start/reference/server/create-handler)
17
21
- 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)
19
23
-**TypeScript**: Full integration for robust, type-safe development
20
24
-**File-Based Routing**: Intuitive routing based on your project’s file structure
21
25
-**API Routes**: Dedicated server-side endpoints for seamless API development
0 commit comments