@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.
Files changed (108) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/client/mount.d.ts +1 -7
  3. package/dist/client/mount.js +1 -99
  4. package/dist/config/constants.js +2 -2
  5. package/dist/config/dev-server.js +10 -0
  6. package/dist/config/fs-router.js +10 -22
  7. package/dist/config/fs-routes/fs-watcher.js +4 -4
  8. package/dist/config/fs-routes/index.js +4 -6
  9. package/dist/config/fs-routes/router.js +10 -11
  10. package/dist/config/fs-routes/tree-shake.js +12 -21
  11. package/dist/config/index.js +42 -42
  12. package/dist/config/lazy.js +42 -12
  13. package/dist/config/manifest.js +4 -3
  14. package/dist/config/vite-utils.d.ts +5 -0
  15. package/dist/config/vite-utils.js +7 -3
  16. package/dist/http/index.d.ts +1 -4
  17. package/dist/http/index.js +3 -5
  18. package/dist/index.d.ts +0 -1
  19. package/dist/middleware/index.d.ts +5 -2
  20. package/dist/middleware/index.js +6 -1
  21. package/dist/router.jsx +2 -2
  22. package/dist/server/StartServer.jsx +2 -0
  23. package/dist/server/assets/PatchVirtualDevStyles.d.ts +4 -0
  24. package/dist/server/assets/PatchVirtualDevStyles.jsx +28 -0
  25. package/dist/server/assets/index.js +1 -1
  26. package/dist/server/assets/render.jsx +2 -2
  27. package/dist/server/collect-styles.js +9 -21
  28. package/dist/server/fetchEvent.spec.js +1 -1
  29. package/dist/server/handler.js +30 -15
  30. package/dist/server/index.d.ts +1 -0
  31. package/dist/server/manifest/dev-client-manifest.js +1 -1
  32. package/dist/server/manifest/dev-ssr-manifest.js +1 -1
  33. package/dist/server/manifest/prod-ssr-manifest.js +7 -12
  34. package/dist/server/routes.js +3 -3
  35. package/dist/server/server-fns-runtime.js +2 -2
  36. package/dist/server/server-functions-handler.js +6 -11
  37. package/dist/server/server-runtime.js +8 -8
  38. package/dist/server/spa/StartServer.jsx +2 -0
  39. package/dist/shared/dev-overlay/CodeView.d.ts +1 -1
  40. package/dist/shared/dev-overlay/CodeView.jsx +23 -34
  41. package/dist/shared/dev-overlay/DevOverlayDialog.jsx +4 -4
  42. package/dist/shared/dev-overlay/get-source-map.d.ts +1 -1
  43. package/dist/shared/dev-overlay/get-source-map.js +5 -5
  44. package/dist/shared/dev-overlay/icons.d.ts +10 -10
  45. package/dist/shared/dev-overlay/icons.jsx +91 -91
  46. package/dist/shared/dev-overlay/index.jsx +1 -1
  47. package/dist/shared/lazy.js +4 -2
  48. package/env.d.ts +9 -0
  49. package/package.json +5 -4
  50. package/scripts/build.js +3 -3
  51. package/scripts/validate-imports.js +8 -8
  52. package/src/client/mount.ts +1 -114
  53. package/src/config/constants.ts +3 -3
  54. package/src/config/dev-server.ts +107 -99
  55. package/src/config/fs-router.ts +140 -155
  56. package/src/config/fs-routes/fs-watcher.ts +57 -61
  57. package/src/config/fs-routes/index.ts +117 -119
  58. package/src/config/fs-routes/router.ts +12 -13
  59. package/src/config/fs-routes/tree-shake.ts +342 -363
  60. package/src/config/index.ts +42 -43
  61. package/src/config/lazy.ts +47 -16
  62. package/src/config/manifest.ts +8 -7
  63. package/src/config/vite-utils.ts +9 -9
  64. package/src/env.d.ts +10 -28
  65. package/src/http/index.ts +105 -142
  66. package/src/index.tsx +0 -12
  67. package/src/internal.d.ts +1 -1
  68. package/src/middleware/index.ts +42 -49
  69. package/src/router.tsx +4 -3
  70. package/src/server/StartServer.tsx +3 -7
  71. package/src/server/assets/PatchVirtualDevStyles.tsx +31 -0
  72. package/src/server/assets/index.ts +1 -1
  73. package/src/server/assets/render.tsx +6 -2
  74. package/src/server/collect-styles.ts +49 -73
  75. package/src/server/fetchEvent.spec.ts +71 -75
  76. package/src/server/fetchEvent.ts +17 -17
  77. package/src/server/handler.ts +138 -129
  78. package/src/server/index.tsx +13 -0
  79. package/src/server/manifest/client-manifest.ts +1 -1
  80. package/src/server/manifest/dev-client-manifest.ts +7 -5
  81. package/src/server/manifest/dev-ssr-manifest.ts +8 -6
  82. package/src/server/manifest/prod-client-manifest.ts +7 -4
  83. package/src/server/manifest/prod-ssr-manifest.ts +78 -94
  84. package/src/server/manifest/ssr-manifest.ts +4 -2
  85. package/src/server/routes.ts +96 -108
  86. package/src/server/server-fns-runtime.ts +3 -3
  87. package/src/server/server-functions-handler.ts +294 -319
  88. package/src/server/server-runtime.ts +13 -13
  89. package/src/server/spa/StartServer.tsx +2 -0
  90. package/src/server/spa/handler.ts +12 -12
  91. package/src/server/types.ts +46 -46
  92. package/src/server/util.ts +4 -4
  93. package/src/shared/ErrorBoundary.tsx +1 -1
  94. package/src/shared/HttpHeader.tsx +20 -20
  95. package/src/shared/HttpStatusCode.ts +14 -14
  96. package/src/shared/clientOnly.ts +3 -3
  97. package/src/shared/dev-overlay/CodeView.tsx +43 -46
  98. package/src/shared/dev-overlay/DevOverlayDialog.tsx +4 -4
  99. package/src/shared/dev-overlay/createStackFrame.ts +59 -62
  100. package/src/shared/dev-overlay/env.d.ts +2 -2
  101. package/src/shared/dev-overlay/get-source-map.ts +5 -7
  102. package/src/shared/dev-overlay/icons.tsx +289 -121
  103. package/src/shared/dev-overlay/index.tsx +1 -1
  104. package/src/shared/lazy.ts +4 -3
  105. package/src/shared/serverFunction.ts +1 -1
  106. package/src/virtual.d.ts +10 -10
  107. package/tsconfig.json +2 -2
  108. 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
- content: string;
6
- source: string;
7
- name?: string;
8
- line: number;
9
- column: number;
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
- if (path.startsWith("file://")) {
14
- return "/_build/@fs" + path.substring("file://".length);
15
- }
16
- return path;
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
- stackframe: StackFrame,
21
- isCompiled: () => boolean,
22
- ) {
23
- const [data] = createResource(
24
- () => ({
25
- fileName: stackframe.fileName,
26
- line: stackframe.lineNumber,
27
- column: stackframe.columnNumber,
28
- functionName: stackframe.functionName,
29
- }),
30
- async (source) => {
31
- if (!source.fileName) {
32
- return null;
33
- }
34
- const response = await fetch(getActualFileSource(source.fileName));
35
- if (!response.ok) {
36
- return null;
37
- }
38
- const content = await response.text();
39
- const sourceMap = await getSourceMap(source.fileName, content);
40
- return {
41
- source,
42
- content,
43
- sourceMap,
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
- const info = createMemo(() => {
49
- const current = data();
50
- if (!current) {
51
- return undefined;
52
- }
53
- const { source, content, sourceMap } = current;
45
+ const info = createMemo(() => {
46
+ const current = data();
47
+ if (!current) {
48
+ return undefined;
49
+ }
50
+ const { source, content, sourceMap } = current;
54
51
 
55
- if (!isCompiled() && source.line && source.column && sourceMap) {
56
- const result = sourceMap.originalPositionFor({
57
- line: source.line,
58
- column: source.column,
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
- return {
62
- ...result,
63
- content: sourceMap.sourceContentFor(result.source),
64
- } as StackFrameSource;
65
- }
58
+ return {
59
+ ...result,
60
+ content: sourceMap.sourceContentFor(result.source),
61
+ } as StackFrameSource;
62
+ }
66
63
 
67
- return {
68
- source: source.fileName,
69
- line: source.line,
70
- column: source.column,
71
- name: source.functionName,
72
- content,
73
- } as StackFrameSource;
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
- return info as Accessor<StackFrameSource>;
73
+ return info as Accessor<StackFrameSource>;
77
74
  }
@@ -1,4 +1,4 @@
1
- declare module '*.json' {
1
+ declare module "*.json" {
2
2
  const data: Record<string, unknown>;
3
3
  export default data;
4
- }
4
+ }
@@ -1,4 +1,4 @@
1
- import { RawSourceMap, SourceMapConsumer } from 'source-map-js';
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('\n');
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();