@solidjs/start 2.0.0-alpha.0 → 2.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.
- package/CHANGELOG.md +28 -0
- package/dist/client/mount.d.ts +1 -7
- package/dist/client/mount.js +1 -99
- package/dist/config/constants.js +2 -2
- package/dist/config/dev-server.js +10 -0
- package/dist/config/fs-router.js +10 -22
- package/dist/config/fs-routes/fs-watcher.js +4 -4
- package/dist/config/fs-routes/index.js +4 -6
- package/dist/config/fs-routes/router.js +10 -11
- package/dist/config/fs-routes/tree-shake.js +12 -21
- package/dist/config/index.js +42 -42
- package/dist/config/lazy.js +42 -12
- package/dist/config/manifest.js +4 -3
- package/dist/config/vite-utils.d.ts +5 -0
- package/dist/config/vite-utils.js +7 -3
- package/dist/http/index.d.ts +1 -4
- package/dist/http/index.js +3 -5
- package/dist/index.d.ts +0 -1
- package/dist/middleware/index.d.ts +5 -2
- package/dist/middleware/index.js +6 -1
- package/dist/router.jsx +2 -2
- package/dist/server/StartServer.jsx +2 -0
- package/dist/server/assets/PatchVirtualDevStyles.d.ts +4 -0
- package/dist/server/assets/PatchVirtualDevStyles.jsx +28 -0
- package/dist/server/assets/index.js +1 -1
- package/dist/server/assets/render.jsx +2 -2
- package/dist/server/collect-styles.js +9 -21
- package/dist/server/fetchEvent.spec.js +1 -1
- package/dist/server/handler.js +30 -15
- package/dist/server/index.d.ts +1 -0
- package/dist/server/manifest/dev-client-manifest.js +1 -1
- package/dist/server/manifest/dev-ssr-manifest.js +1 -1
- package/dist/server/manifest/prod-ssr-manifest.js +7 -12
- package/dist/server/routes.js +3 -3
- package/dist/server/server-fns-runtime.js +2 -2
- package/dist/server/server-functions-handler.js +6 -11
- package/dist/server/server-runtime.js +8 -8
- package/dist/server/spa/StartServer.jsx +2 -0
- package/dist/shared/dev-overlay/CodeView.d.ts +1 -1
- package/dist/shared/dev-overlay/CodeView.jsx +23 -34
- package/dist/shared/dev-overlay/DevOverlayDialog.jsx +4 -4
- package/dist/shared/dev-overlay/get-source-map.d.ts +1 -1
- package/dist/shared/dev-overlay/get-source-map.js +5 -5
- package/dist/shared/dev-overlay/icons.d.ts +10 -10
- package/dist/shared/dev-overlay/icons.jsx +91 -91
- package/dist/shared/dev-overlay/index.jsx +1 -1
- package/dist/shared/lazy.js +4 -2
- package/env.d.ts +9 -0
- package/package.json +5 -4
- package/scripts/build.js +3 -3
- package/scripts/validate-imports.js +8 -8
- package/src/client/mount.ts +1 -114
- package/src/config/constants.ts +3 -3
- package/src/config/dev-server.ts +107 -99
- package/src/config/fs-router.ts +140 -155
- package/src/config/fs-routes/fs-watcher.ts +57 -61
- package/src/config/fs-routes/index.ts +117 -119
- package/src/config/fs-routes/router.ts +12 -13
- package/src/config/fs-routes/tree-shake.ts +342 -363
- package/src/config/index.ts +42 -43
- package/src/config/lazy.ts +47 -16
- package/src/config/manifest.ts +8 -7
- package/src/config/vite-utils.ts +9 -9
- package/src/env.d.ts +10 -28
- package/src/http/index.ts +105 -142
- package/src/index.tsx +0 -12
- package/src/internal.d.ts +1 -1
- package/src/middleware/index.ts +42 -49
- package/src/router.tsx +4 -3
- package/src/server/StartServer.tsx +3 -7
- package/src/server/assets/PatchVirtualDevStyles.tsx +31 -0
- package/src/server/assets/index.ts +1 -1
- package/src/server/assets/render.tsx +6 -2
- package/src/server/collect-styles.ts +49 -73
- package/src/server/fetchEvent.spec.ts +71 -75
- package/src/server/fetchEvent.ts +17 -17
- package/src/server/handler.ts +138 -129
- package/src/server/index.tsx +13 -0
- package/src/server/manifest/client-manifest.ts +1 -1
- package/src/server/manifest/dev-client-manifest.ts +7 -5
- package/src/server/manifest/dev-ssr-manifest.ts +8 -6
- package/src/server/manifest/prod-client-manifest.ts +7 -4
- package/src/server/manifest/prod-ssr-manifest.ts +78 -94
- package/src/server/manifest/ssr-manifest.ts +4 -2
- package/src/server/routes.ts +96 -108
- package/src/server/server-fns-runtime.ts +3 -3
- package/src/server/server-functions-handler.ts +294 -319
- package/src/server/server-runtime.ts +13 -13
- package/src/server/spa/StartServer.tsx +2 -0
- package/src/server/spa/handler.ts +12 -12
- package/src/server/types.ts +46 -46
- package/src/server/util.ts +4 -4
- package/src/shared/ErrorBoundary.tsx +1 -1
- package/src/shared/HttpHeader.tsx +20 -20
- package/src/shared/HttpStatusCode.ts +14 -14
- package/src/shared/clientOnly.ts +3 -3
- package/src/shared/dev-overlay/CodeView.tsx +43 -46
- package/src/shared/dev-overlay/DevOverlayDialog.tsx +4 -4
- package/src/shared/dev-overlay/createStackFrame.ts +59 -62
- package/src/shared/dev-overlay/env.d.ts +2 -2
- package/src/shared/dev-overlay/get-source-map.ts +5 -7
- package/src/shared/dev-overlay/icons.tsx +289 -121
- package/src/shared/dev-overlay/index.tsx +1 -1
- package/src/shared/lazy.ts +4 -3
- package/src/shared/serverFunction.ts +1 -1
- package/src/virtual.d.ts +10 -10
- package/tsconfig.json +2 -2
- package/vitest.config.ts +2 -2
|
@@ -2,76 +2,73 @@ import { type Accessor, createMemo, createResource } from "solid-js";
|
|
|
2
2
|
import getSourceMap from "./get-source-map.ts";
|
|
3
3
|
|
|
4
4
|
export interface StackFrameSource {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
content: string;
|
|
6
|
+
source: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
line: number;
|
|
9
|
+
column: number;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
function getActualFileSource(path: string): string {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
if (path.startsWith("file://")) {
|
|
14
|
+
return "/_build/@fs" + path.substring("file://".length);
|
|
15
|
+
}
|
|
16
|
+
return path;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
export function createStackFrame(
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
};
|
|
45
|
-
},
|
|
46
|
-
);
|
|
19
|
+
export function createStackFrame(stackframe: StackFrame, isCompiled: () => boolean) {
|
|
20
|
+
const [data] = createResource(
|
|
21
|
+
() => ({
|
|
22
|
+
fileName: stackframe.fileName,
|
|
23
|
+
line: stackframe.lineNumber,
|
|
24
|
+
column: stackframe.columnNumber,
|
|
25
|
+
functionName: stackframe.functionName,
|
|
26
|
+
}),
|
|
27
|
+
async source => {
|
|
28
|
+
if (!source.fileName) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
const response = await fetch(getActualFileSource(source.fileName));
|
|
32
|
+
if (!response.ok) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const content = await response.text();
|
|
36
|
+
const sourceMap = await getSourceMap(source.fileName, content);
|
|
37
|
+
return {
|
|
38
|
+
source,
|
|
39
|
+
content,
|
|
40
|
+
sourceMap,
|
|
41
|
+
};
|
|
42
|
+
},
|
|
43
|
+
);
|
|
47
44
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
45
|
+
const info = createMemo(() => {
|
|
46
|
+
const current = data();
|
|
47
|
+
if (!current) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
const { source, content, sourceMap } = current;
|
|
54
51
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
52
|
+
if (!isCompiled() && source.line && source.column && sourceMap) {
|
|
53
|
+
const result = sourceMap.originalPositionFor({
|
|
54
|
+
line: source.line,
|
|
55
|
+
column: source.column,
|
|
56
|
+
});
|
|
60
57
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
58
|
+
return {
|
|
59
|
+
...result,
|
|
60
|
+
content: sourceMap.sourceContentFor(result.source),
|
|
61
|
+
} as StackFrameSource;
|
|
62
|
+
}
|
|
66
63
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
64
|
+
return {
|
|
65
|
+
source: source.fileName,
|
|
66
|
+
line: source.line,
|
|
67
|
+
column: source.column,
|
|
68
|
+
name: source.functionName,
|
|
69
|
+
content,
|
|
70
|
+
} as StackFrameSource;
|
|
71
|
+
});
|
|
75
72
|
|
|
76
|
-
|
|
73
|
+
return info as Accessor<StackFrameSource>;
|
|
77
74
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RawSourceMap, SourceMapConsumer } from
|
|
1
|
+
import { RawSourceMap, SourceMapConsumer } from "source-map-js";
|
|
2
2
|
|
|
3
3
|
const INLINE_SOURCEMAP_REGEX = /^data:application\/json[^,]+base64,/;
|
|
4
4
|
const SOURCEMAP_REGEX =
|
|
@@ -8,7 +8,7 @@ export default async function getSourceMap(
|
|
|
8
8
|
url: string,
|
|
9
9
|
content: string,
|
|
10
10
|
): Promise<SourceMapConsumer | null> {
|
|
11
|
-
const lines = content.split(
|
|
11
|
+
const lines = content.split("\n");
|
|
12
12
|
let sourceMapUrl: string | undefined;
|
|
13
13
|
for (let i = lines.length - 1; i >= 0 && !sourceMapUrl; i--) {
|
|
14
14
|
const result = lines[i]!.match(SOURCEMAP_REGEX);
|
|
@@ -21,13 +21,11 @@ export default async function getSourceMap(
|
|
|
21
21
|
return null;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
if (
|
|
25
|
-
!(INLINE_SOURCEMAP_REGEX.test(sourceMapUrl) || sourceMapUrl.startsWith('/'))
|
|
26
|
-
) {
|
|
24
|
+
if (!(INLINE_SOURCEMAP_REGEX.test(sourceMapUrl) || sourceMapUrl.startsWith("/"))) {
|
|
27
25
|
// Resolve path if it's a relative access
|
|
28
|
-
const parsedURL = url.split(
|
|
26
|
+
const parsedURL = url.split("/");
|
|
29
27
|
parsedURL[parsedURL.length - 1] = sourceMapUrl;
|
|
30
|
-
sourceMapUrl = parsedURL.join(
|
|
28
|
+
sourceMapUrl = parsedURL.join("/");
|
|
31
29
|
}
|
|
32
30
|
const response = await fetch(sourceMapUrl);
|
|
33
31
|
const rawSourceMap: RawSourceMap = await response.json();
|