@modern-js/runtime 3.0.0-alpha.0 → 3.0.0-alpha.2

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.
Files changed (204) hide show
  1. package/dist/cjs/cli/ssr/index.js +109 -124
  2. package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +21 -4
  3. package/dist/cjs/core/browser/index.js +2 -1
  4. package/dist/cjs/core/server/stream/createReadableStream.js +2 -15
  5. package/dist/cjs/core/server/stream/createReadableStream.worker.js +3 -14
  6. package/dist/cjs/core/server/stream/shared.js +54 -4
  7. package/dist/cjs/document/cli/index.js +61 -38
  8. package/dist/cjs/router/runtime/PrefetchLink.js +1 -4
  9. package/dist/cjs/router/runtime/plugin.node.js +1 -3
  10. package/dist/cjs/rsc/server.js +2 -42
  11. package/dist/esm/cli/alias.mjs +1 -1
  12. package/dist/esm/cli/code.mjs +3 -3
  13. package/dist/esm/cli/entry.mjs +1 -1
  14. package/dist/esm/cli/index.mjs +7 -7
  15. package/dist/esm/cli/ssr/index.mjs +3 -19
  16. package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +2 -1
  17. package/dist/esm/cli/template.mjs +1 -1
  18. package/dist/esm/core/browser/hydrate.mjs +3 -3
  19. package/dist/esm/core/browser/index.mjs +6 -5
  20. package/dist/esm/core/compat/index.mjs +1 -1
  21. package/dist/esm/core/context/index.mjs +2 -2
  22. package/dist/esm/core/context/monitors/index.mjs +1 -1
  23. package/dist/esm/core/context/monitors/index.server.mjs +1 -1
  24. package/dist/esm/core/index.mjs +2 -2
  25. package/dist/esm/core/plugin/index.mjs +4 -4
  26. package/dist/esm/core/react/index.mjs +3 -3
  27. package/dist/esm/core/react/wrapper.mjs +1 -1
  28. package/dist/esm/core/server/helmet.mjs +1 -1
  29. package/dist/esm/core/server/index.mjs +1 -1
  30. package/dist/esm/core/server/react/index.mjs +2 -2
  31. package/dist/esm/core/server/react/no-ssr-cache/index.mjs +1 -1
  32. package/dist/esm/core/server/requestHandler.mjs +7 -7
  33. package/dist/esm/core/server/server.mjs +3 -3
  34. package/dist/esm/core/server/stream/afterTemplate.mjs +4 -4
  35. package/dist/esm/core/server/stream/beforeTemplate.mjs +4 -4
  36. package/dist/esm/core/server/stream/createReadableStream.mjs +11 -14
  37. package/dist/esm/core/server/stream/createReadableStream.worker.mjs +8 -9
  38. package/dist/esm/core/server/stream/deferredScript.mjs +1 -1
  39. package/dist/esm/core/server/stream/index.mjs +2 -2
  40. package/dist/esm/core/server/stream/shared.mjs +45 -8
  41. package/dist/esm/core/server/stream/template.mjs +2 -2
  42. package/dist/esm/core/server/string/index.mjs +10 -10
  43. package/dist/esm/core/server/string/loadable.mjs +1 -1
  44. package/dist/esm/core/server/string/ssrData.mjs +2 -2
  45. package/dist/esm/document/Body.mjs +3 -3
  46. package/dist/esm/document/Comment.mjs +1 -1
  47. package/dist/esm/document/Head.mjs +5 -5
  48. package/dist/esm/document/Html.mjs +3 -3
  49. package/dist/esm/document/Links.mjs +1 -1
  50. package/dist/esm/document/Root.mjs +2 -2
  51. package/dist/esm/document/Script.mjs +1 -1
  52. package/dist/esm/document/Scripts.mjs +1 -1
  53. package/dist/esm/document/Style.mjs +1 -1
  54. package/dist/esm/document/Title.mjs +1 -1
  55. package/dist/esm/document/cli/index.mjs +63 -40
  56. package/dist/esm/document/index.mjs +12 -12
  57. package/dist/esm/index.mjs +5 -5
  58. package/dist/esm/internal.mjs +1 -1
  59. package/dist/esm/react-server.mjs +3 -3
  60. package/dist/esm/router/cli/code/getClientRoutes/getRoutes.mjs +4 -4
  61. package/dist/esm/router/cli/code/getClientRoutes/index.mjs +1 -1
  62. package/dist/esm/router/cli/code/getClientRoutes/utils.mjs +1 -1
  63. package/dist/esm/router/cli/code/index.mjs +9 -9
  64. package/dist/esm/router/cli/code/inspect.mjs +2 -2
  65. package/dist/esm/router/cli/code/nestedRoutes.mjs +2 -2
  66. package/dist/esm/router/cli/code/templates.mjs +2 -2
  67. package/dist/esm/router/cli/code/utils.mjs +1 -1
  68. package/dist/esm/router/cli/config-routes/converter.mjs +2 -2
  69. package/dist/esm/router/cli/entry.mjs +2 -2
  70. package/dist/esm/router/cli/handler.mjs +5 -5
  71. package/dist/esm/router/cli/index.mjs +3 -3
  72. package/dist/esm/router/index.mjs +1 -1
  73. package/dist/esm/router/internal.mjs +2 -2
  74. package/dist/esm/router/runtime/DeferredDataScripts.node.mjs +3 -3
  75. package/dist/esm/router/runtime/PrefetchLink.mjs +2 -5
  76. package/dist/esm/router/runtime/constants.mjs +1 -1
  77. package/dist/esm/router/runtime/index.mjs +2 -2
  78. package/dist/esm/router/runtime/internal.mjs +2 -2
  79. package/dist/esm/router/runtime/plugin.mjs +4 -4
  80. package/dist/esm/router/runtime/plugin.node.mjs +5 -7
  81. package/dist/esm/router/runtime/utils.mjs +2 -2
  82. package/dist/esm/rsc/server.mjs +0 -32
  83. package/dist/esm-node/cache/index.mjs +2 -0
  84. package/dist/esm-node/cli/alias.mjs +2 -0
  85. package/dist/esm-node/cli/code.mjs +2 -0
  86. package/dist/esm-node/cli/constants.mjs +2 -0
  87. package/dist/esm-node/cli/entry.mjs +2 -0
  88. package/dist/esm-node/cli/index.mjs +2 -0
  89. package/dist/esm-node/cli/ssr/index.mjs +4 -18
  90. package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +4 -1
  91. package/dist/esm-node/cli/ssr/mode.mjs +2 -0
  92. package/dist/esm-node/cli/template.mjs +2 -0
  93. package/dist/esm-node/cli/template.server.mjs +2 -0
  94. package/dist/esm-node/common.mjs +2 -0
  95. package/dist/esm-node/core/browser/hydrate.mjs +2 -0
  96. package/dist/esm-node/core/browser/index.mjs +4 -1
  97. package/dist/esm-node/core/browser/withCallback.mjs +2 -0
  98. package/dist/esm-node/core/compat/hooks.mjs +2 -0
  99. package/dist/esm-node/core/compat/index.mjs +2 -0
  100. package/dist/esm-node/core/compat/requestContext.mjs +2 -0
  101. package/dist/esm-node/core/config.mjs +2 -0
  102. package/dist/esm-node/core/constants.mjs +2 -0
  103. package/dist/esm-node/core/context/index.mjs +2 -0
  104. package/dist/esm-node/core/context/monitors/default.mjs +2 -0
  105. package/dist/esm-node/core/context/monitors/index.mjs +2 -0
  106. package/dist/esm-node/core/context/monitors/index.server.mjs +2 -0
  107. package/dist/esm-node/core/context/request/index.mjs +2 -0
  108. package/dist/esm-node/core/context/request/index.server.mjs +2 -0
  109. package/dist/esm-node/core/context/response/index.mjs +2 -0
  110. package/dist/esm-node/core/context/response/index.server.mjs +2 -0
  111. package/dist/esm-node/core/context/runtime.mjs +2 -0
  112. package/dist/esm-node/core/context/serverPayload/index.mjs +2 -0
  113. package/dist/esm-node/core/context/serverPayload/index.server.mjs +2 -0
  114. package/dist/esm-node/core/index.mjs +2 -0
  115. package/dist/esm-node/core/plugin/index.mjs +2 -0
  116. package/dist/esm-node/core/plugin/types.mjs +2 -0
  117. package/dist/esm-node/core/react/index.mjs +2 -0
  118. package/dist/esm-node/core/react/wrapper.mjs +2 -0
  119. package/dist/esm-node/core/server/constants.mjs +2 -0
  120. package/dist/esm-node/core/server/helmet.mjs +2 -0
  121. package/dist/esm-node/core/server/index.mjs +2 -0
  122. package/dist/esm-node/core/server/react/index.mjs +2 -0
  123. package/dist/esm-node/core/server/react/no-ssr-cache/index.mjs +2 -0
  124. package/dist/esm-node/core/server/react/nossr/index.mjs +2 -0
  125. package/dist/esm-node/core/server/requestHandler.mjs +2 -0
  126. package/dist/esm-node/core/server/server.mjs +2 -0
  127. package/dist/esm-node/core/server/shared.mjs +2 -0
  128. package/dist/esm-node/core/server/stream/afterTemplate.mjs +2 -0
  129. package/dist/esm-node/core/server/stream/beforeTemplate.mjs +6 -1
  130. package/dist/esm-node/core/server/stream/createReadableStream.mjs +7 -8
  131. package/dist/esm-node/core/server/stream/createReadableStream.worker.mjs +6 -5
  132. package/dist/esm-node/core/server/stream/deferredScript.mjs +2 -0
  133. package/dist/esm-node/core/server/stream/index.mjs +2 -0
  134. package/dist/esm-node/core/server/stream/shared.mjs +44 -5
  135. package/dist/esm-node/core/server/stream/template.mjs +2 -0
  136. package/dist/esm-node/core/server/string/index.mjs +2 -0
  137. package/dist/esm-node/core/server/string/loadable.mjs +6 -1
  138. package/dist/esm-node/core/server/string/ssrData.mjs +2 -0
  139. package/dist/esm-node/core/server/string/types.mjs +2 -0
  140. package/dist/esm-node/core/server/tracer.mjs +2 -0
  141. package/dist/esm-node/core/server/utils.mjs +2 -0
  142. package/dist/esm-node/core/types.mjs +2 -0
  143. package/dist/esm-node/document/Body.mjs +2 -0
  144. package/dist/esm-node/document/Comment.mjs +2 -0
  145. package/dist/esm-node/document/DocumentContext.mjs +2 -0
  146. package/dist/esm-node/document/DocumentStructureContext.mjs +2 -0
  147. package/dist/esm-node/document/Head.mjs +2 -0
  148. package/dist/esm-node/document/Html.mjs +2 -0
  149. package/dist/esm-node/document/Links.mjs +2 -0
  150. package/dist/esm-node/document/Root.mjs +2 -0
  151. package/dist/esm-node/document/Script.mjs +2 -0
  152. package/dist/esm-node/document/Scripts.mjs +2 -0
  153. package/dist/esm-node/document/Style.mjs +2 -0
  154. package/dist/esm-node/document/Title.mjs +2 -0
  155. package/dist/esm-node/document/cli/index.mjs +64 -39
  156. package/dist/esm-node/document/constants.mjs +2 -0
  157. package/dist/esm-node/document/index.mjs +2 -0
  158. package/dist/esm-node/exports/config-routes.mjs +2 -0
  159. package/dist/esm-node/exports/head.mjs +2 -0
  160. package/dist/esm-node/exports/loadable.mjs +2 -0
  161. package/dist/esm-node/index.mjs +2 -0
  162. package/dist/esm-node/internal.mjs +2 -0
  163. package/dist/esm-node/react-server.mjs +2 -0
  164. package/dist/esm-node/router/cli/code/getClientRoutes/getRoutes.mjs +2 -0
  165. package/dist/esm-node/router/cli/code/getClientRoutes/index.mjs +2 -0
  166. package/dist/esm-node/router/cli/code/getClientRoutes/utils.mjs +2 -0
  167. package/dist/esm-node/router/cli/code/index.mjs +2 -0
  168. package/dist/esm-node/router/cli/code/inspect.mjs +2 -0
  169. package/dist/esm-node/router/cli/code/makeLegalIdentifier.mjs +2 -0
  170. package/dist/esm-node/router/cli/code/nestedRoutes.mjs +2 -0
  171. package/dist/esm-node/router/cli/code/templates.mjs +2 -0
  172. package/dist/esm-node/router/cli/code/utils.mjs +2 -0
  173. package/dist/esm-node/router/cli/config-routes/converter.mjs +2 -0
  174. package/dist/esm-node/router/cli/config-routes/parseRouteConfig.mjs +2 -0
  175. package/dist/esm-node/router/cli/constants.mjs +2 -0
  176. package/dist/esm-node/router/cli/entry.mjs +2 -0
  177. package/dist/esm-node/router/cli/handler.mjs +2 -0
  178. package/dist/esm-node/router/cli/index.mjs +6 -1
  179. package/dist/esm-node/router/index.mjs +2 -0
  180. package/dist/esm-node/router/internal.mjs +2 -0
  181. package/dist/esm-node/router/runtime/DefaultNotFound.mjs +2 -0
  182. package/dist/esm-node/router/runtime/DeferredDataScripts.mjs +2 -0
  183. package/dist/esm-node/router/runtime/DeferredDataScripts.node.mjs +2 -0
  184. package/dist/esm-node/router/runtime/PrefetchLink.mjs +3 -4
  185. package/dist/esm-node/router/runtime/constants.mjs +2 -0
  186. package/dist/esm-node/router/runtime/hooks.mjs +2 -0
  187. package/dist/esm-node/router/runtime/index.mjs +2 -0
  188. package/dist/esm-node/router/runtime/internal.mjs +2 -0
  189. package/dist/esm-node/router/runtime/plugin.mjs +2 -0
  190. package/dist/esm-node/router/runtime/plugin.node.mjs +3 -3
  191. package/dist/esm-node/router/runtime/routerHelper.mjs +2 -0
  192. package/dist/esm-node/router/runtime/rsc-router.mjs +2 -0
  193. package/dist/esm-node/router/runtime/rsc.mjs +2 -0
  194. package/dist/esm-node/router/runtime/server.mjs +2 -0
  195. package/dist/esm-node/router/runtime/types.mjs +2 -0
  196. package/dist/esm-node/router/runtime/utils.mjs +2 -0
  197. package/dist/esm-node/router/runtime/withRouter.mjs +2 -0
  198. package/dist/esm-node/rsc/client.mjs +2 -0
  199. package/dist/esm-node/rsc/server.mjs +2 -32
  200. package/dist/types/cli/ssr/loadable-bundler-plugin.d.ts +22 -1
  201. package/dist/types/core/server/stream/shared.d.ts +4 -0
  202. package/dist/types/rsc/server.d.ts +0 -1
  203. package/package.json +28 -56
  204. package/rstest.config.ts +83 -0
package/package.json CHANGED
@@ -15,11 +15,10 @@
15
15
  "modern",
16
16
  "modern.js"
17
17
  ],
18
- "version": "3.0.0-alpha.0",
18
+ "version": "3.0.0-alpha.2",
19
19
  "engines": {
20
20
  "node": ">=20"
21
21
  },
22
- "jsnext:source": "./src/index.ts",
23
22
  "types": "./dist/types/index.d.ts",
24
23
  "main": "./dist/cjs/index.js",
25
24
  "module": "./dist/esm/index.mjs",
@@ -27,124 +26,103 @@
27
26
  ".": {
28
27
  "types": "./dist/types/index.d.ts",
29
28
  "react-server": "./dist/esm/react-server.mjs",
30
- "jsnext:source": "./src/index.ts",
31
29
  "default": "./dist/esm/index.mjs"
32
30
  },
33
31
  "./internal": {
34
32
  "types": "./dist/types/internal.d.ts",
35
- "jsnext:source": "./src/internal.ts",
36
33
  "default": "./dist/esm/internal.mjs"
37
34
  },
38
35
  "./package.json": "./package.json",
39
36
  "./context": {
40
37
  "types": "./dist/types/core/context/index.d.ts",
41
- "jsnext:source": "./src/core/context/index.ts",
42
38
  "default": "./dist/esm/core/context/index.mjs"
43
39
  },
44
40
  "./plugin": {
45
41
  "types": "./dist/types/core/plugin/index.d.ts",
46
- "jsnext:source": "./src/core/plugin/index.ts",
47
42
  "default": "./dist/esm/core/plugin/index.mjs"
48
43
  },
49
44
  "./react": {
50
45
  "types": "./dist/types/core/react/index.d.ts",
51
- "jsnext:source": "./src/core/react/index.ts",
52
46
  "default": "./dist/esm/core/react/index.mjs"
53
47
  },
54
48
  "./browser": {
55
49
  "types": "./dist/types/core/browser/index.d.ts",
56
- "jsnext:source": "./src/core/browser/index.ts",
57
50
  "default": "./dist/esm/core/browser/index.mjs"
58
51
  },
59
52
  "./loadable": {
60
53
  "types": "./dist/types/exports/loadable.d.ts",
61
- "jsnext:source": "./src/exports/loadable.ts",
62
54
  "default": "./dist/esm/exports/loadable.mjs"
63
55
  },
64
56
  "./head": {
65
57
  "types": "./dist/types/exports/head.d.ts",
66
- "jsnext:source": "./src/exports/head.ts",
67
58
  "default": "./dist/esm/exports/head.mjs"
68
59
  },
69
- "./server": {
70
- "types": "./dist/types/exports/server.d.ts",
71
- "jsnext:source": "./src/exports/server.ts",
72
- "node": "./dist/cjs/exports/server.js",
73
- "default": "./dist/esm/exports/server.mjs"
74
- },
75
60
  "./ssr": {
76
61
  "types": "./dist/types/core/server/index.d.ts",
77
- "jsnext:source": "./src/core/server/index.ts",
78
62
  "default": "./dist/esm/core/server/index.mjs"
79
63
  },
80
64
  "./ssr/server": {
81
65
  "types": "./dist/types/core/server/server.d.ts",
82
- "jsnext:source": "./src/core/server/server.ts",
83
66
  "default": "./dist/esm/core/server/server.mjs"
84
67
  },
85
68
  "./document": {
86
69
  "types": "./dist/types/document/index.d.ts",
87
- "jsnext:source": "./src/document/index.ts",
88
- "require": "./dist/cjs/document/index.js",
89
- "import": "./dist/esm/document/index.mjs",
90
70
  "default": "./dist/esm/document/index.mjs"
91
71
  },
92
72
  "./cli": {
93
73
  "types": "./dist/types/cli/index.d.ts",
94
- "jsnext:source": "./src/cli/index.ts",
74
+ "node": {
75
+ "import": "./dist/esm-node/cli/index.mjs",
76
+ "require": "./dist/cjs/cli/index.js"
77
+ },
95
78
  "default": "./dist/cjs/cli/index.js"
96
79
  },
97
80
  "./router": {
98
81
  "types": "./dist/types/router/index.d.ts",
99
- "jsnext:source": "./src/router/index.ts",
100
82
  "react-server": {
101
83
  "types": "./dist/types/router/runtime/rsc.d.ts",
102
- "jsnext:source": "./src/router/runtime/rsc.ts",
103
84
  "default": "./dist/esm/router/runtime/rsc.mjs"
104
85
  },
105
86
  "default": "./dist/esm/router/index.mjs"
106
87
  },
107
88
  "./router/server": {
108
89
  "types": "./dist/types/router/runtime/server.d.ts",
109
- "jsnext:source": "./src/router/runtime/server.ts",
110
90
  "default": "./dist/esm/router/runtime/server.mjs"
111
91
  },
112
92
  "./router/internal": {
113
93
  "types": "./dist/types/router/internal.d.ts",
114
- "jsnext:source": "./src/router/internal.ts",
115
94
  "default": "./dist/esm/router/internal.mjs"
116
95
  },
117
96
  "./routerHelper": {
118
97
  "types": "./dist/types/router/runtime/routerHelper.d.ts",
119
- "jsnext:source": "./src/router/runtime/routerHelper.ts",
120
98
  "default": "./dist/esm/router/runtime/routerHelper.mjs"
121
99
  },
122
100
  "./loadable-bundler-plugin": {
123
101
  "types": "./dist/types/cli/ssr/loadable-bundler-plugin.d.ts",
124
- "jsnext:source": "./src/cli/ssr/loadable-bundler-plugin.ts",
125
- "node": "./dist/cjs/cli/ssr/loadable-bundler-plugin.js",
126
- "default": "./dist/cjs/cli/ssr/loadable-bundler-plugin.mjs"
102
+ "node": {
103
+ "import": "./dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs",
104
+ "require": "./dist/cjs/cli/ssr/loadable-bundler-plugin.js"
105
+ },
106
+ "default": "./dist/cjs/cli/ssr/loadable-bundler-plugin.js"
127
107
  },
128
108
  "./rsc/server": {
129
109
  "types": "./dist/types/rsc/server.d.ts",
130
- "jsnext:source": "./src/rsc/server.ts",
131
110
  "default": "./dist/esm/rsc/server.mjs"
132
111
  },
133
112
  "./rsc/client": {
134
113
  "types": "./dist/types/rsc/client.d.ts",
135
- "jsnext:source": "./src/rsc/client.ts",
136
114
  "default": "./dist/esm/rsc/client.mjs"
137
115
  },
138
116
  "./cache": {
139
117
  "types": "./dist/types/cache/index.d.ts",
140
- "jsnext:source": "./src/cache/index.ts",
141
- "require": "./dist/cjs/cache/index.js",
142
118
  "default": "./dist/esm/cache/index.mjs"
143
119
  },
144
120
  "./config-routes": {
145
121
  "types": "./dist/types/exports/config-routes.d.ts",
146
- "jsnext:source": "./src/exports/config-routes.ts",
147
- "require": "./dist/cjs/exports/config-routes.js",
122
+ "node": {
123
+ "import": "./dist/esm-node/exports/config-routes.mjs",
124
+ "require": "./dist/cjs/exports/config-routes.js"
125
+ },
148
126
  "default": "./dist/cjs/exports/config-routes.js"
149
127
  }
150
128
  },
@@ -189,9 +167,6 @@
189
167
  "router": [
190
168
  "./dist/types/router/index.d.ts"
191
169
  ],
192
- "router/rsc": [
193
- "./dist/types/router/runtime/rsc.d.ts"
194
- ],
195
170
  "router/server": [
196
171
  "./dist/types/router/runtime/server.d.ts"
197
172
  ],
@@ -221,49 +196,46 @@
221
196
  "dependencies": {
222
197
  "@loadable/component": "5.16.7",
223
198
  "@loadable/server": "5.16.7",
224
- "@swc/plugin-loadable-components": "^9.0.0",
225
199
  "@swc/helpers": "^0.5.17",
200
+ "@swc/plugin-loadable-components": "^11.4.0",
226
201
  "@types/loadable__component": "^5.13.10",
227
202
  "@types/react-helmet": "^6.1.11",
228
203
  "cookie": "0.7.2",
204
+ "entities": "^7.0.1",
229
205
  "es-module-lexer": "^1.7.0",
230
206
  "esbuild": "0.25.5",
231
207
  "invariant": "^2.2.4",
232
208
  "isbot": "3.8.0",
233
209
  "react-helmet": "^6.1.0",
234
210
  "react-is": "^18.3.1",
235
- "entities": "^7.0.0",
236
- "@modern-js/plugin-data-loader": "3.0.0-alpha.0",
237
- "@modern-js/plugin": "3.0.0-alpha.0",
238
- "@modern-js/render": "3.0.0-alpha.0",
239
- "@modern-js/runtime-utils": "3.0.0-alpha.0",
240
- "@modern-js/types": "3.0.0-alpha.0",
241
- "@modern-js/utils": "3.0.0-alpha.0"
211
+ "@modern-js/plugin": "3.0.0-alpha.2",
212
+ "@modern-js/plugin-data-loader": "3.0.0-alpha.2",
213
+ "@modern-js/render": "3.0.0-alpha.2",
214
+ "@modern-js/runtime-utils": "3.0.0-alpha.2",
215
+ "@modern-js/types": "3.0.0-alpha.2",
216
+ "@modern-js/utils": "3.0.0-alpha.2"
242
217
  },
243
218
  "peerDependencies": {
244
219
  "react": ">=17.0.2",
245
220
  "react-dom": ">=17.0.2"
246
221
  },
247
222
  "devDependencies": {
248
- "@rslib/core": "0.18.5",
249
223
  "@remix-run/web-fetch": "^4.1.3",
250
- "@rsbuild/core": "1.6.15",
251
- "@testing-library/react": "^16.3.1",
224
+ "@rsbuild/core": "2.0.0-beta.0",
225
+ "@rslib/core": "0.19.3",
252
226
  "@testing-library/dom": "^10.4.1",
227
+ "@testing-library/react": "^16.3.2",
253
228
  "@types/cookie": "0.6.0",
254
229
  "@types/invariant": "^2.2.37",
255
- "@types/jest": "^29.5.14",
256
230
  "@types/loadable__server": "5.12.11",
257
231
  "@types/node": "^20",
258
- "jest": "^29.7.0",
259
232
  "react": "^19.2.3",
260
233
  "react-dom": "^19.2.3",
261
- "ts-jest": "^29.4.6",
262
234
  "ts-node": "^10.9.2",
263
235
  "typescript": "^5",
236
+ "@modern-js/app-tools": "3.0.0-alpha.2",
264
237
  "@modern-js/rslib": "2.68.10",
265
- "@modern-js/app-tools": "3.0.0-alpha.0",
266
- "@scripts/jest-config": "2.66.0"
238
+ "@scripts/rstest-config": "2.66.0"
267
239
  },
268
240
  "sideEffects": false,
269
241
  "publishConfig": {
@@ -274,6 +246,6 @@
274
246
  "dev": "rslib build --watch",
275
247
  "build": "rslib build && pnpm run gen-static",
276
248
  "gen-static": "ts-node ./scripts/gen-static.ts",
277
- "test": "jest"
249
+ "test": "rstest"
278
250
  }
279
251
  }
@@ -0,0 +1,83 @@
1
+ import type { ProjectConfig } from '@rstest/core';
2
+ import { withTestPreset } from '@scripts/rstest-config';
3
+
4
+ const commonConfig: ProjectConfig = {
5
+ setupFiles: ['@scripts/rstest-config/setup.ts'],
6
+ globals: true,
7
+ tools: {
8
+ rspack: {
9
+ optimization: {
10
+ // Disable tree shaking to avoid issues with rstest mocking '@modern-js/utils'.
11
+ providedExports: false,
12
+ },
13
+ },
14
+ swc: {
15
+ jsc: {
16
+ transform: {
17
+ react: {
18
+ runtime: 'automatic',
19
+ },
20
+ },
21
+ },
22
+ },
23
+ },
24
+ };
25
+
26
+ export default {
27
+ projects: [
28
+ withTestPreset({
29
+ name: 'plugin-runtime-node',
30
+ testEnvironment: 'node',
31
+ exclude: ['tests/router/prefetch.test.tsx'],
32
+ extends: commonConfig,
33
+ plugins: [
34
+ {
35
+ name: 'plugin-runtime-node',
36
+ setup: api => {
37
+ api.transform(
38
+ { test: /document[\\/]+cli[\\/]+index\.ts$/ },
39
+ ({ code }: { code: string }) => {
40
+ return code.replace(
41
+ "require.resolve('../')",
42
+ `require.resolve('../index.ts', {
43
+ paths: [__dirname],
44
+ });`,
45
+ );
46
+ },
47
+ );
48
+ },
49
+ },
50
+ ],
51
+ }),
52
+ withTestPreset({
53
+ name: 'plugin-runtime-client',
54
+ testEnvironment: 'happy-dom',
55
+ include: ['tests/router/prefetch.test.tsx'],
56
+ extends: commonConfig,
57
+ plugins: [
58
+ {
59
+ name: 'plugin-runtime-node',
60
+ setup: api => {
61
+ api.transform(
62
+ { test: /PrefetchLink\.tsx$/ },
63
+ ({
64
+ code,
65
+ resourcePath,
66
+ }: { code: string; resourcePath: string }) => {
67
+ return code.replace(
68
+ '__webpack_chunk_load__',
69
+ '__webpack_chunk_load_test__',
70
+ );
71
+ },
72
+ );
73
+ },
74
+ },
75
+ ],
76
+ source: {
77
+ define: {
78
+ WEBPACK_CHUNK_LOAD: '__webpack_chunk_load_test__',
79
+ },
80
+ },
81
+ }),
82
+ ],
83
+ };