@thomas.f/prnext 0.1.1-alpha → 0.1.11-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +119 -18
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -2,17 +2,46 @@
|
|
|
2
2
|
|
|
3
3
|
# PRNext
|
|
4
4
|
|
|
5
|
-
[Website](https://prnext.dev) · [GitHub](https://github.com/Lorkydey/PRNext) · [Report an issue](https://github.com/Lorkydey/PRNext/issues)
|
|
5
|
+
[Website](https://prnext.dev) · [npm](https://www.npmjs.com/package/@thomas.f/prnext) · [GitHub](https://github.com/Lorkydey/PRNext) · [Report an issue](https://github.com/Lorkydey/PRNext/issues)
|
|
6
6
|
|
|
7
7
|
A Rust-powered runtime for Next.js projects, with React and npm modules running on Node.js.
|
|
8
8
|
|
|
9
|
-
> **Very early alpha
|
|
10
|
-
>
|
|
11
|
-
> Built for experimentation and feedback, not production applications. Next.js compatibility is partial. Expect bugs, missing features and breaking changes.
|
|
9
|
+
> **Very early alpha.** Built for experimentation and feedback. Next.js compatibility is partial; expect bugs, missing features and breaking changes.
|
|
12
10
|
|
|
13
|
-
##
|
|
11
|
+
## Latest update
|
|
14
12
|
|
|
15
|
-
|
|
13
|
+
<details>
|
|
14
|
+
<summary><strong>0.1.1-alpha · October 8, 2026 · Features & fixes</strong></summary>
|
|
15
|
+
|
|
16
|
+
**README update:** `0.1.11-alpha` updates the README only; runtime features and fixes remain those of `0.1.1-alpha`.
|
|
17
|
+
|
|
18
|
+
### Added
|
|
19
|
+
|
|
20
|
+
- **Windows x64 & ARM64:** native packages alongside macOS and Linux glibc support.
|
|
21
|
+
- **Persistent apps:** background processes, crash recovery, rotating logs, health-checked replacements and optional restoration at login.
|
|
22
|
+
- **Multi-app hosting:** hostname routing, on-demand startup, idle sleep and sampled memory budgets.
|
|
23
|
+
- **Migration checks:** source audits and optional GET response comparisons with `migrate --check`.
|
|
24
|
+
- **Inspector:** opt-in route, cache and request timing diagnostics.
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- Standalone dependency tracing for Windows drives, scoped packages and workspace aliases.
|
|
29
|
+
- Development process shutdown and file replacement on Windows.
|
|
30
|
+
- Cold-worker connection bursts on macOS.
|
|
31
|
+
- Windows package publishing and portable `prnext` migration scripts.
|
|
32
|
+
|
|
33
|
+
</details>
|
|
34
|
+
|
|
35
|
+
[Full changelog](https://github.com/Lorkydey/PRNext/blob/main/CHANGELOG.md)
|
|
36
|
+
|
|
37
|
+
## Install & upgrade
|
|
38
|
+
|
|
39
|
+
Node.js **22+** · Windows, macOS and Linux glibc · x64 and ARM64
|
|
40
|
+
|
|
41
|
+
<details>
|
|
42
|
+
<summary><strong>Install · migrate an existing Next.js app</strong></summary>
|
|
43
|
+
|
|
44
|
+
Run these commands from your application directory. The current alpha requires matching React, React DOM and React Server Components versions:
|
|
16
45
|
|
|
17
46
|
```sh
|
|
18
47
|
npm install @thomas.f/prnext@alpha react@19.3.0 react-dom@19.3.0 react-server-dom-webpack@19.3.0
|
|
@@ -22,25 +51,78 @@ npx --no-install prnext check
|
|
|
22
51
|
npx --no-install prnext dev
|
|
23
52
|
```
|
|
24
53
|
|
|
25
|
-
|
|
54
|
+
Review the dry run before applying migration. Migration backs up your package files and keeps Next.js and your application source. Compatibility checks help find issues; they do not guarantee that every Next.js feature works.
|
|
55
|
+
|
|
56
|
+
Install only `@thomas.f/prnext`. Keep optional dependencies enabled: npm installs the matching native component automatically. Rust is not required to use a published release.
|
|
26
57
|
|
|
27
|
-
|
|
58
|
+
</details>
|
|
59
|
+
|
|
60
|
+
<details>
|
|
61
|
+
<summary><strong>Upgrade · update an existing PRNext project</strong></summary>
|
|
62
|
+
|
|
63
|
+
Stop your development or production process before changing dependencies. If you use `pstart`, follow the [persistent app upgrade guide](https://github.com/Lorkydey/PRNext#upgrade-persistent-apps) first.
|
|
28
64
|
|
|
29
65
|
```sh
|
|
66
|
+
npm install @thomas.f/prnext@alpha react@19.3.0 react-dom@19.3.0 react-server-dom-webpack@19.3.0
|
|
67
|
+
npx --no-install prnext --version
|
|
68
|
+
npx --no-install prnext check
|
|
30
69
|
npx --no-install prnext build
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Then restart your app with its usual command; for a foreground production server:
|
|
73
|
+
|
|
74
|
+
```sh
|
|
31
75
|
npx --no-install prnext start
|
|
32
76
|
```
|
|
33
77
|
|
|
34
|
-
|
|
78
|
+
This updates the existing `@thomas.f/prnext` dependency and its native component together. You do not need to migrate an already-migrated project again. Commit the updated package manifest and lockfile.
|
|
79
|
+
|
|
80
|
+
Use `@alpha` to select the current alpha release. `latest` is a separate npm tag; a dependency already installed in a project does not change until you update it.
|
|
81
|
+
|
|
82
|
+
</details>
|
|
83
|
+
|
|
84
|
+
<details>
|
|
85
|
+
<summary><strong>Build & run · development and production</strong></summary>
|
|
86
|
+
|
|
87
|
+
For development:
|
|
88
|
+
|
|
89
|
+
```sh
|
|
90
|
+
npx --no-install prnext dev
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
For production:
|
|
35
94
|
|
|
36
95
|
```sh
|
|
37
|
-
npx --no-install prnext
|
|
38
|
-
npx --no-install prnext start
|
|
39
|
-
npx --no-install prnext start --profile memory
|
|
40
|
-
npx --no-install prnext start --profile classic
|
|
96
|
+
npx --no-install prnext build
|
|
97
|
+
npx --no-install prnext start
|
|
41
98
|
```
|
|
42
99
|
|
|
43
|
-
|
|
100
|
+
The portable command is `prnext`. The shortcut `prn` is available in compatible shells. On Windows 10 and Windows Server 2022, use `prnext`: [Windows reserves the name PRN](https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file).
|
|
101
|
+
|
|
102
|
+
</details>
|
|
103
|
+
|
|
104
|
+
<details>
|
|
105
|
+
<summary><strong>Runtime profiles · balanced, speed, memory and classic</strong></summary>
|
|
106
|
+
|
|
107
|
+
Balanced is the default. Set a profile when starting the production server:
|
|
108
|
+
|
|
109
|
+
| Profile | Command | Priority |
|
|
110
|
+
| --- | --- | --- |
|
|
111
|
+
| Balanced | `npx --no-install prnext start --profile balanced` | Memory, CPU and response times |
|
|
112
|
+
| Speed | `npx --no-install prnext start --profile speed` | Throughput and responsiveness |
|
|
113
|
+
| Memory | `npx --no-install prnext start --profile memory` | Lower memory usage |
|
|
114
|
+
| Classic | `npx --no-install prnext start --profile classic` | Original runtime settings |
|
|
115
|
+
|
|
116
|
+
Results depend on your workload; see the [benchmark and its methodology](https://github.com/Lorkydey/PRNext#early-benchmarks-against-nextjs).
|
|
117
|
+
|
|
118
|
+
</details>
|
|
119
|
+
|
|
120
|
+
## Guides
|
|
121
|
+
|
|
122
|
+
<details>
|
|
123
|
+
<summary><strong>Migration audit, inspector and multi-app hosting</strong></summary>
|
|
124
|
+
|
|
125
|
+
### Migration audit, inspector and multi-app hosting
|
|
44
126
|
|
|
45
127
|
```sh
|
|
46
128
|
prnext migrate ./my-app --check --json
|
|
@@ -62,7 +144,12 @@ Memory budgets reserve capacity and monitor process-tree RSS about once per seco
|
|
|
62
144
|
|
|
63
145
|
See the [repository guide and example configuration](https://github.com/Lorkydey/PRNext#host-several-applications) for the full workflow.
|
|
64
146
|
|
|
65
|
-
|
|
147
|
+
</details>
|
|
148
|
+
|
|
149
|
+
<details>
|
|
150
|
+
<summary><strong>Persistent production commands</strong></summary>
|
|
151
|
+
|
|
152
|
+
### Persistent production commands
|
|
66
153
|
|
|
67
154
|
`prnext start` remains a foreground command. Use `prnext pstart --name web --port 3000` to keep a built app running after the terminal closes. `prnext pstatus` (or `plist`) lists apps, `prnext plogs web --follow` tails logs, `prnext prestart web` loads the current build through a health check, and `prnext pstop web` stops it. `pdelete` removes saved settings; `pdown` stops the supervisor while preserving enabled apps for restoration. Lifecycle commands accept `--all` where shown by `prnext pstart --help`.
|
|
68
155
|
|
|
@@ -70,12 +157,21 @@ Apps restart after crashes with increasing delays and a retry limit. A separate
|
|
|
70
157
|
|
|
71
158
|
Settings, control credentials and logs live in `~/.prnext/processes` (`PRNEXT_PM_HOME` overrides it). Logs rotate at 10 MiB plus three older segments. Apps load project `.env` files; caller-shell secrets are not saved. `prnext pstartup` opts into restoration on the next user login through Windows Task Scheduler, a macOS LaunchAgent or a Linux systemd user service; `--remove` removes that startup configuration. Windows/macOS startup is per-user, not a pre-login system service. Linux boot-time operation requires administrator-configured user lingering. Re-run `pstartup` after moving or upgrading Node or PRNext. See the [persistent command guide](https://github.com/Lorkydey/PRNext#keep-production-apps-running).
|
|
72
159
|
|
|
73
|
-
|
|
160
|
+
Before upgrading a supervised application, follow the [persistent app upgrade guide](https://github.com/Lorkydey/PRNext#upgrade-persistent-apps).
|
|
74
161
|
|
|
75
|
-
|
|
162
|
+
</details>
|
|
163
|
+
|
|
164
|
+
<details>
|
|
165
|
+
<summary><strong>Platforms</strong></summary>
|
|
166
|
+
|
|
167
|
+
### Platforms
|
|
168
|
+
|
|
169
|
+
Native package targets cover Windows MSVC arm64/x64, macOS arm64/x64 and Linux glibc arm64/x64. Windows runs directly from PowerShell or Command Prompt, without WSL. Alpine/musl is not a prebuilt target. Linux binaries are built on Ubuntu 22.04 with glibc 2.35. Framework and native components use matching release versions.
|
|
76
170
|
|
|
77
171
|
Keep npm optional dependencies enabled: PRNext automatically installs the binary for your platform. Rust is not required to use the published package.
|
|
78
172
|
|
|
173
|
+
</details>
|
|
174
|
+
|
|
79
175
|
## Links and feedback
|
|
80
176
|
|
|
81
177
|
- Website and benchmarks: [prnext.dev](https://prnext.dev)
|
|
@@ -83,8 +179,13 @@ Keep npm optional dependencies enabled: PRNext automatically installs the binary
|
|
|
83
179
|
- Bug reports: [GitHub Issues](https://github.com/Lorkydey/PRNext/issues)
|
|
84
180
|
- Questions and suggestions: [contact@heythomas.dev](mailto:contact@heythomas.dev)
|
|
85
181
|
|
|
86
|
-
|
|
182
|
+
<details>
|
|
183
|
+
<summary><strong>License & credits</strong></summary>
|
|
184
|
+
|
|
185
|
+
### License and credits
|
|
87
186
|
|
|
88
187
|
PRNext is licensed under the [MIT License](LICENSE), copyright © 2026 Thomas (Lorkydey). Commercial use, modification, and redistribution are permitted; keep the copyright and license notice when distributing copies or substantial portions of the software. Third-party components retain their own licenses.
|
|
89
188
|
|
|
90
189
|
If PRNext helps your project, a credit such as **“PRNext by Thomas (Lorkydey)”** with a link to [prnext.dev](https://prnext.dev) would be appreciated. A public credit is optional, not an additional license condition.
|
|
190
|
+
|
|
191
|
+
</details>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thomas.f/prnext",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11-alpha",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"description": "Experimental Rust-powered runtime for Next.js apps, React and npm",
|
|
6
6
|
"homepage": "https://prnext.dev",
|
|
@@ -117,12 +117,12 @@
|
|
|
117
117
|
"react-server-dom-webpack": "19.3.0"
|
|
118
118
|
},
|
|
119
119
|
"optionalDependencies": {
|
|
120
|
-
"prnext-darwin-arm64": "0.1.
|
|
121
|
-
"prnext-darwin-x64": "0.1.
|
|
122
|
-
"prnext-linux-arm64-gnu": "0.1.
|
|
123
|
-
"prnext-linux-x64-gnu": "0.1.
|
|
124
|
-
"@thomas.f/prnext-win32-arm64-msvc": "0.1.
|
|
125
|
-
"@thomas.f/prnext-win32-x64-msvc": "0.1.
|
|
120
|
+
"prnext-darwin-arm64": "0.1.11-alpha",
|
|
121
|
+
"prnext-darwin-x64": "0.1.11-alpha",
|
|
122
|
+
"prnext-linux-arm64-gnu": "0.1.11-alpha",
|
|
123
|
+
"prnext-linux-x64-gnu": "0.1.11-alpha",
|
|
124
|
+
"@thomas.f/prnext-win32-arm64-msvc": "0.1.11-alpha",
|
|
125
|
+
"@thomas.f/prnext-win32-x64-msvc": "0.1.11-alpha"
|
|
126
126
|
},
|
|
127
127
|
"engines": {
|
|
128
128
|
"node": ">=22"
|