@solidjs/start 1.2.0 → 2.0.0-alpha.0

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 (184) hide show
  1. package/README.md +88 -8
  2. package/dist/client/StartClient.d.ts +0 -1
  3. package/dist/client/StartClient.jsx +2 -4
  4. package/dist/client/index.d.ts +2 -3
  5. package/dist/client/index.jsx +2 -4
  6. package/dist/client/mount.js +10 -2
  7. package/dist/client/spa/index.d.ts +1 -2
  8. package/dist/client/spa/index.jsx +1 -2
  9. package/dist/config/constants.d.ts +16 -0
  10. package/dist/config/constants.js +16 -0
  11. package/dist/config/dev-server.d.ts +2 -0
  12. package/dist/config/dev-server.js +108 -0
  13. package/dist/config/fs-router.d.ts +37 -0
  14. package/dist/config/fs-router.js +153 -0
  15. package/dist/config/fs-routes/fs-watcher.d.ts +3 -0
  16. package/dist/config/fs-routes/fs-watcher.js +49 -0
  17. package/dist/config/fs-routes/index.d.ts +7 -0
  18. package/dist/config/fs-routes/index.js +109 -0
  19. package/dist/config/fs-routes/router.d.ts +37 -0
  20. package/dist/config/fs-routes/router.js +136 -0
  21. package/dist/config/fs-routes/tree-shake.d.ts +2 -0
  22. package/dist/config/fs-routes/tree-shake.js +357 -0
  23. package/dist/config/index.d.ts +10 -0
  24. package/dist/config/index.js +217 -0
  25. package/dist/config/lazy.d.ts +3 -0
  26. package/dist/config/lazy.js +82 -0
  27. package/dist/config/manifest.d.ts +3 -0
  28. package/dist/config/manifest.js +74 -0
  29. package/dist/config/utils.d.ts +4 -0
  30. package/dist/config/utils.js +6 -0
  31. package/dist/config/vite-utils.d.ts +16 -0
  32. package/dist/config/vite-utils.js +81 -0
  33. package/dist/http/index.d.ts +84 -0
  34. package/dist/http/index.js +131 -0
  35. package/dist/index.d.ts +6 -5
  36. package/dist/index.jsx +5 -5
  37. package/dist/middleware/index.d.ts +6 -6
  38. package/dist/middleware/index.js +39 -0
  39. package/dist/{router/FileRoutes.js → router.jsx} +5 -6
  40. package/dist/server/StartServer.d.ts +3 -3
  41. package/dist/server/StartServer.jsx +9 -63
  42. package/dist/server/assets/index.d.ts +2 -0
  43. package/dist/server/assets/index.js +52 -0
  44. package/dist/server/assets/render.d.ts +19 -0
  45. package/dist/server/{renderAsset.jsx → assets/render.jsx} +1 -1
  46. package/dist/server/collect-styles.d.ts +3 -0
  47. package/dist/server/collect-styles.js +69 -0
  48. package/dist/server/fetchEvent.d.ts +4 -3
  49. package/dist/server/fetchEvent.js +12 -74
  50. package/dist/server/fetchEvent.spec.js +18 -197
  51. package/dist/server/handler.d.ts +6 -12
  52. package/dist/server/handler.js +180 -97
  53. package/dist/server/index.d.ts +8 -6
  54. package/dist/server/index.jsx +14 -6
  55. package/dist/server/manifest/client-manifest.d.ts +9 -0
  56. package/dist/server/manifest/client-manifest.js +6 -0
  57. package/dist/server/manifest/dev-client-manifest.d.ts +4 -0
  58. package/dist/server/manifest/dev-client-manifest.js +24 -0
  59. package/dist/server/manifest/dev-ssr-manifest.d.ts +5 -0
  60. package/dist/server/manifest/dev-ssr-manifest.js +23 -0
  61. package/dist/server/manifest/prod-client-manifest.d.ts +5 -0
  62. package/dist/server/manifest/prod-client-manifest.js +26 -0
  63. package/dist/server/manifest/prod-ssr-manifest.d.ts +6 -0
  64. package/dist/server/manifest/prod-ssr-manifest.js +90 -0
  65. package/dist/server/manifest/ssr-manifest.d.ts +4 -0
  66. package/dist/server/manifest/ssr-manifest.js +6 -0
  67. package/dist/{router → server}/routes.d.ts +5 -10
  68. package/dist/{router → server}/routes.js +35 -36
  69. package/dist/{runtime → server}/server-fns-runtime.d.ts +1 -1
  70. package/dist/{runtime → server}/server-fns-runtime.js +7 -6
  71. package/dist/server/server-functions-handler.d.ts +2 -0
  72. package/dist/{runtime/server-handler.js → server/server-functions-handler.js} +65 -100
  73. package/dist/server/server-runtime.d.ts +3 -0
  74. package/dist/{runtime → server}/server-runtime.js +9 -16
  75. package/dist/server/spa/StartServer.d.ts +1 -1
  76. package/dist/server/spa/StartServer.jsx +7 -9
  77. package/dist/server/spa/handler.d.ts +3 -3
  78. package/dist/server/spa/handler.js +9 -11
  79. package/dist/server/spa/index.d.ts +4 -3
  80. package/dist/server/spa/index.jsx +4 -3
  81. package/dist/server/types.d.ts +7 -9
  82. package/dist/server/util.d.ts +2 -0
  83. package/dist/server/util.js +8 -0
  84. package/dist/shared/ErrorBoundary.jsx +2 -2
  85. package/dist/shared/HttpHeader.jsx +4 -2
  86. package/dist/shared/{HttpStatusCode.jsx → HttpStatusCode.js} +3 -1
  87. package/dist/shared/dev-overlay/DevOverlayDialog.d.ts +2 -2
  88. package/dist/shared/dev-overlay/DevOverlayDialog.jsx +75 -66
  89. package/dist/shared/dev-overlay/createStackFrame.js +3 -3
  90. package/dist/shared/dev-overlay/index.jsx +5 -8
  91. package/dist/shared/lazy.d.ts +3 -0
  92. package/dist/shared/lazy.js +40 -0
  93. package/dist/shared/serverFunction.d.ts +1 -1
  94. package/package.json +45 -67
  95. package/scripts/build.js +15 -0
  96. package/scripts/validate-imports.js +316 -0
  97. package/src/client/StartClient.tsx +34 -0
  98. package/src/client/index.tsx +2 -0
  99. package/src/client/mount.ts +114 -0
  100. package/src/client/spa/index.tsx +9 -0
  101. package/src/config/constants.ts +19 -0
  102. package/src/config/dev-server.ts +149 -0
  103. package/src/config/fs-router.ts +177 -0
  104. package/src/config/fs-routes/fs-watcher.ts +81 -0
  105. package/src/config/fs-routes/index.ts +138 -0
  106. package/src/config/fs-routes/router.ts +169 -0
  107. package/src/config/fs-routes/tree-shake.ts +392 -0
  108. package/src/config/index.ts +236 -0
  109. package/src/config/lazy.ts +100 -0
  110. package/src/config/manifest.ts +84 -0
  111. package/src/config/utils.ts +5 -0
  112. package/src/config/vite-utils.ts +113 -0
  113. package/src/env.d.ts +35 -0
  114. package/src/http/index.ts +253 -0
  115. package/src/index.tsx +19 -0
  116. package/src/internal.d.ts +14 -0
  117. package/src/middleware/index.ts +82 -0
  118. package/src/router.tsx +36 -0
  119. package/src/server/StartServer.tsx +62 -0
  120. package/src/server/assets/index.ts +70 -0
  121. package/src/server/assets/render.tsx +42 -0
  122. package/src/server/collect-styles.ts +94 -0
  123. package/src/server/fetchEvent.spec.ts +89 -0
  124. package/src/server/fetchEvent.ts +36 -0
  125. package/src/server/handler.ts +250 -0
  126. package/src/server/index.tsx +16 -0
  127. package/src/server/manifest/client-manifest.ts +8 -0
  128. package/src/server/manifest/dev-client-manifest.ts +19 -0
  129. package/src/server/manifest/dev-ssr-manifest.ts +21 -0
  130. package/src/server/manifest/prod-client-manifest.ts +18 -0
  131. package/src/server/manifest/prod-ssr-manifest.ts +125 -0
  132. package/src/server/manifest/ssr-manifest.ts +8 -0
  133. package/src/server/routes.ts +138 -0
  134. package/src/server/server-fns-runtime.ts +31 -0
  135. package/src/server/server-functions-handler.ts +364 -0
  136. package/src/server/server-runtime.ts +240 -0
  137. package/src/server/spa/StartServer.tsx +40 -0
  138. package/src/server/spa/handler.ts +29 -0
  139. package/src/server/spa/index.tsx +5 -0
  140. package/src/server/types.ts +82 -0
  141. package/src/server/util.ts +12 -0
  142. package/src/shared/ErrorBoundary.tsx +52 -0
  143. package/src/shared/GET.ts +8 -0
  144. package/src/shared/HttpHeader.tsx +42 -0
  145. package/src/shared/HttpStatusCode.ts +27 -0
  146. package/src/shared/clientOnly.ts +44 -0
  147. package/src/shared/dev-overlay/CodeView.tsx +95 -0
  148. package/src/shared/dev-overlay/DevOverlayDialog.tsx +316 -0
  149. package/src/shared/dev-overlay/createStackFrame.ts +77 -0
  150. package/src/shared/dev-overlay/download.ts +6 -0
  151. package/src/shared/dev-overlay/env.d.ts +4 -0
  152. package/src/shared/dev-overlay/get-source-map.ts +35 -0
  153. package/src/shared/dev-overlay/icons.tsx +288 -0
  154. package/src/shared/dev-overlay/index.tsx +63 -0
  155. package/src/shared/dev-overlay/styles.css +292 -0
  156. package/src/shared/lazy.ts +51 -0
  157. package/src/shared/serverFunction.ts +10 -0
  158. package/src/virtual.d.ts +27 -0
  159. package/tsconfig.json +23 -0
  160. package/vitest.config.ts +9 -0
  161. package/config/fs-router.js +0 -142
  162. package/config/index.d.ts +0 -40
  163. package/config/index.js +0 -304
  164. package/config/server-components.js +0 -106
  165. package/dist/client/islands.d.ts +0 -7
  166. package/dist/client/islands.jsx +0 -10
  167. package/dist/middleware/index.jsx +0 -35
  168. package/dist/router/index.d.ts +0 -1
  169. package/dist/router/index.jsx +0 -2
  170. package/dist/router/lazyRoute.d.ts +0 -6
  171. package/dist/router/lazyRoute.js +0 -53
  172. package/dist/runtime/server-handler.d.ts +0 -2
  173. package/dist/runtime/server-runtime.d.ts +0 -3
  174. package/dist/server/islands/index.d.ts +0 -19
  175. package/dist/server/islands/index.jsx +0 -62
  176. package/dist/server/islands/utils.d.ts +0 -1
  177. package/dist/server/islands/utils.jsx +0 -85
  178. package/dist/server/pageEvent.d.ts +0 -2
  179. package/dist/server/pageEvent.js +0 -56
  180. package/dist/server/renderAsset.d.ts +0 -2
  181. package/env.d.ts +0 -26
  182. /package/dist/{router/FileRoutes.d.ts → router.d.ts} +0 -0
  183. /package/dist/shared/{clientOnly.jsx → clientOnly.js} +0 -0
  184. /package/dist/shared/{serverFunction.jsx → serverFunction.js} +0 -0
@@ -1,85 +0,0 @@
1
- // @refresh skip
2
- // TODO rename to utils.ts?
3
- // @ts-nocheck
4
- import { $PROXY } from "solid-js";
5
- function trueFn() {
6
- return true;
7
- }
8
- const propTraps = {
9
- get(_, property, receiver) {
10
- if (property === $PROXY)
11
- return receiver;
12
- return _.get(property);
13
- },
14
- has(_, property) {
15
- return _.has(property);
16
- },
17
- set: trueFn,
18
- deleteProperty: trueFn,
19
- getOwnPropertyDescriptor(_, property) {
20
- return {
21
- configurable: true,
22
- enumerable: true,
23
- get() {
24
- return _.get(property);
25
- },
26
- set: trueFn,
27
- deleteProperty: trueFn
28
- };
29
- },
30
- ownKeys(_) {
31
- return _.keys();
32
- }
33
- };
34
- export function splitProps(props, ...keys) {
35
- const blocked = new Set(keys.flat());
36
- const descriptors = Object.getOwnPropertyDescriptors(props);
37
- const isProxy = $PROXY in props;
38
- if (!isProxy)
39
- keys.push(Object.keys(descriptors).filter(k => !blocked.has(k)));
40
- const res = keys.map(k => {
41
- const clone = {};
42
- for (let i = 0; i < k.length; i++) {
43
- const key = k[i];
44
- let cache;
45
- Object.defineProperty(clone, key, {
46
- enumerable: descriptors[key]?.enumerable ?? false,
47
- configurable: true,
48
- get() {
49
- if (cache) {
50
- return cache;
51
- }
52
- let val = props[key];
53
- if (val?.t) {
54
- val.t = `<solid-children>${val.t}</solid-children>`;
55
- }
56
- else if (Array.isArray(val) && val.every(v => v?.t)) {
57
- val = {
58
- t: `<solid-children>${val.map(v => `${v.t}`).join("\n")}</solid-children>`
59
- };
60
- }
61
- cache = val;
62
- return val;
63
- },
64
- set() {
65
- return true;
66
- }
67
- });
68
- }
69
- return clone;
70
- });
71
- if (isProxy) {
72
- res.push(new Proxy({
73
- get(property) {
74
- return blocked.has(property) ? undefined : props[property];
75
- },
76
- has(property) {
77
- return blocked.has(property) ? false : property in props;
78
- },
79
- keys() {
80
- return Object.keys(props).filter(k => !blocked.has(k));
81
- }
82
- }, propTraps));
83
- }
84
- return res;
85
- }
@@ -1,2 +0,0 @@
1
- import { FetchEvent, PageEvent } from "./types";
2
- export declare function createPageEvent(ctx: FetchEvent): Promise<PageEvent>;
@@ -1,56 +0,0 @@
1
- import { getCookie, setCookie } from "vinxi/http";
2
- import { createRoutes } from "../router/FileRoutes";
3
- function initFromFlash(ctx) {
4
- const flash = getCookie(ctx.nativeEvent, "flash");
5
- if (!flash)
6
- return;
7
- try {
8
- let param = JSON.parse(flash);
9
- if (!param || !param.result)
10
- return;
11
- const input = [...param.input.slice(0, -1), new Map(param.input[param.input.length - 1])];
12
- const result = param.error ? new Error(param.result) : param.result;
13
- return {
14
- input,
15
- url: param.url,
16
- pending: false,
17
- result: param.thrown ? undefined : result,
18
- error: param.thrown ? result : undefined
19
- };
20
- }
21
- catch (e) {
22
- console.error(e);
23
- }
24
- finally {
25
- setCookie(ctx.nativeEvent, "flash", "", { maxAge: 0 });
26
- }
27
- }
28
- export async function createPageEvent(ctx) {
29
- const clientManifest = import.meta.env.MANIFEST["client"];
30
- const serverManifest = import.meta.env.MANIFEST["ssr"];
31
- ctx.response.headers.set("Content-Type", "text/html");
32
- // const prevPath = ctx.request.headers.get("x-solid-referrer");
33
- // const mutation = ctx.request.headers.get("x-solid-mutation") === "true";
34
- const pageEvent = Object.assign(ctx, {
35
- manifest: await clientManifest.json(),
36
- assets: [
37
- ...(await clientManifest.inputs[clientManifest.handler].assets()),
38
- ...(import.meta.env.DEV
39
- ? await clientManifest.inputs[import.meta.env.START_APP].assets()
40
- : []),
41
- ...(import.meta.env.START_ISLANDS
42
- ? (await serverManifest.inputs[serverManifest.handler].assets()).filter(s => s.attrs.rel !== "modulepreload")
43
- : [])
44
- ],
45
- router: {
46
- submission: initFromFlash(ctx)
47
- },
48
- routes: createRoutes(),
49
- // prevUrl: prevPath || "",
50
- // mutation: mutation,
51
- // $type: FETCH_EVENT,
52
- complete: false,
53
- $islands: new Set()
54
- });
55
- return pageEvent;
56
- }
@@ -1,2 +0,0 @@
1
- import type { Asset } from "./types";
2
- export declare function renderAsset(asset: Asset, nonce?: string): any;
package/env.d.ts DELETED
@@ -1,26 +0,0 @@
1
- // This file is an augmentation to the built-in ImportMeta interface
2
- // Thus cannot contain any top-level imports
3
- // <https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation>
4
-
5
- /* eslint-disable @typescript-eslint/consistent-type-imports */
6
-
7
- declare namespace App {
8
- export interface RequestEventLocals {
9
- [key: string | symbol]: any;
10
- }
11
- }
12
-
13
- interface ImportMetaEnv extends Record<`VITE_${string}`, any>, SolidStartMetaEnv {
14
- BASE_URL: string;
15
- MODE: string;
16
- DEV: boolean;
17
- PROD: boolean;
18
- SSR: boolean;
19
- }
20
-
21
- interface SolidStartMetaEnv {
22
- START_SSR: boolean;
23
- START_ISLANDS: boolean;
24
- START_DEV_OVERLAY: boolean;
25
- SERVER_BASE_URL: string;
26
- }
File without changes
File without changes