@solidjs/start 2.0.0-beta.0 → 2.0.0-beta.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 (91) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/config/dev-server.js +3 -1
  3. package/dist/config/fs-router.d.ts +1 -1
  4. package/dist/http/index.d.ts +4 -4
  5. package/package.json +11 -5
  6. package/scripts/build.js +0 -15
  7. package/scripts/validate-imports.js +0 -316
  8. package/src/client/StartClient.tsx +0 -34
  9. package/src/client/index.tsx +0 -2
  10. package/src/client/mount.ts +0 -1
  11. package/src/client/spa/index.tsx +0 -9
  12. package/src/config/constants.ts +0 -19
  13. package/src/config/dev-server.ts +0 -157
  14. package/src/config/env.ts +0 -105
  15. package/src/config/fs-router.ts +0 -162
  16. package/src/config/fs-routes/fs-watcher.ts +0 -66
  17. package/src/config/fs-routes/index.ts +0 -136
  18. package/src/config/fs-routes/router.ts +0 -184
  19. package/src/config/fs-routes/tree-shake.ts +0 -324
  20. package/src/config/index.ts +0 -239
  21. package/src/config/lazy.ts +0 -132
  22. package/src/config/manifest.ts +0 -120
  23. package/src/config/utils.ts +0 -5
  24. package/src/config/vite-utils.ts +0 -113
  25. package/src/directives/bubble-function-declaration.ts +0 -33
  26. package/src/directives/compile.ts +0 -54
  27. package/src/directives/generate-unique-name.ts +0 -22
  28. package/src/directives/get-descriptive-name.ts +0 -39
  29. package/src/directives/get-import-identifier.ts +0 -34
  30. package/src/directives/get-root-statement-path.ts +0 -14
  31. package/src/directives/index.ts +0 -233
  32. package/src/directives/is-statement-top-level.ts +0 -13
  33. package/src/directives/paths.ts +0 -63
  34. package/src/directives/plugin.ts +0 -389
  35. package/src/directives/remove-unused-variables.ts +0 -70
  36. package/src/directives/types.ts +0 -12
  37. package/src/directives/xxhash32.ts +0 -214
  38. package/src/env.d.ts +0 -17
  39. package/src/fns/client.ts +0 -141
  40. package/src/fns/handler.spec.ts +0 -85
  41. package/src/fns/handler.ts +0 -287
  42. package/src/fns/registration.ts +0 -19
  43. package/src/fns/serialization.ts +0 -250
  44. package/src/fns/server.ts +0 -46
  45. package/src/fns/shared.ts +0 -116
  46. package/src/http/index.ts +0 -216
  47. package/src/index.tsx +0 -7
  48. package/src/internal.d.ts +0 -14
  49. package/src/middleware/index.ts +0 -92
  50. package/src/router.tsx +0 -37
  51. package/src/server/StartServer.tsx +0 -58
  52. package/src/server/assets/PatchVirtualDevStyles.tsx +0 -31
  53. package/src/server/assets/index.ts +0 -70
  54. package/src/server/assets/render.tsx +0 -46
  55. package/src/server/collect-styles.ts +0 -70
  56. package/src/server/fetchEvent.spec.ts +0 -85
  57. package/src/server/fetchEvent.ts +0 -36
  58. package/src/server/handler.ts +0 -261
  59. package/src/server/index.tsx +0 -29
  60. package/src/server/manifest/client-manifest.ts +0 -8
  61. package/src/server/manifest/dev-client-manifest.ts +0 -21
  62. package/src/server/manifest/dev-ssr-manifest.ts +0 -23
  63. package/src/server/manifest/prod-client-manifest.ts +0 -21
  64. package/src/server/manifest/prod-ssr-manifest.ts +0 -109
  65. package/src/server/manifest/ssr-manifest.ts +0 -10
  66. package/src/server/routes.ts +0 -126
  67. package/src/server/spa/StartServer.tsx +0 -42
  68. package/src/server/spa/handler.ts +0 -29
  69. package/src/server/spa/index.tsx +0 -5
  70. package/src/server/types.ts +0 -82
  71. package/src/server/util.ts +0 -12
  72. package/src/shared/ErrorBoundary.tsx +0 -52
  73. package/src/shared/GET.ts +0 -8
  74. package/src/shared/HttpHeader.tsx +0 -42
  75. package/src/shared/HttpStatusCode.ts +0 -27
  76. package/src/shared/clientOnly.ts +0 -44
  77. package/src/shared/dev-overlay/CodeView.tsx +0 -90
  78. package/src/shared/dev-overlay/DevOverlayDialog.tsx +0 -316
  79. package/src/shared/dev-overlay/createStackFrame.ts +0 -74
  80. package/src/shared/dev-overlay/download.ts +0 -6
  81. package/src/shared/dev-overlay/env.d.ts +0 -4
  82. package/src/shared/dev-overlay/get-source-map.ts +0 -33
  83. package/src/shared/dev-overlay/icons.tsx +0 -456
  84. package/src/shared/dev-overlay/index.tsx +0 -63
  85. package/src/shared/dev-overlay/styles.css +0 -292
  86. package/src/shared/lazy.ts +0 -52
  87. package/src/shared/serverFunction.ts +0 -10
  88. package/src/utils/debounce.ts +0 -10
  89. package/src/virtual.d.ts +0 -27
  90. package/tsconfig.json +0 -24
  91. package/vitest.config.ts +0 -9
@@ -1,292 +0,0 @@
1
- [data-start-dev-overlay] {
2
- position: fixed;
3
- inset: 0px;
4
- z-index: 50;
5
- overflow-y: auto;
6
- }
7
-
8
- [data-start-dev-overlay]>div {
9
- position: relative;
10
- display: flex;
11
- align-items: center;
12
- justify-content: center;
13
- min-height: 100vh;
14
- }
15
-
16
- [data-start-dev-overlay-background] {
17
- position: absolute;
18
- inset: 0px;
19
- background-color: rgb(17 24 39 / 0.5);
20
- }
21
-
22
- [data-start-dev-overlay-panel] {
23
- display: flex;
24
- flex-direction: column;
25
- width: 75vw;
26
- margin-top: 2rem;
27
- margin-bottom: 2rem;
28
- gap: 0.5rem;
29
- color: rgb(17 24 39);
30
- font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
31
- }
32
-
33
- [data-start-dev-overlay-panel-container] {
34
- margin: 2rem;
35
- z-index: 10;
36
- }
37
-
38
- [data-start-dev-overlay-navbar] {
39
- display: flex;
40
- flex-direction: row;
41
- align-items: center;
42
- justify-content: space-between;
43
- gap: 0.5rem;
44
- }
45
-
46
- [data-start-dev-overlay-pagination] {
47
- display: flex;
48
- flex-direction: row;
49
- align-items: center;
50
- justify-content: center;
51
- gap: 0.5rem;
52
- border-radius: 9999px;
53
- background-color: rgb(249 250 251);
54
- padding: 0.25rem;
55
- }
56
-
57
- [data-start-dev-overlay-button] {
58
- display: flex;
59
- padding: 0.125rem;
60
- border-radius: 9999px;
61
- border-width: 0px;
62
- align-items: center;
63
- justify-content: center;
64
- background-color: rgb(249 250 251);
65
- color: rgb(17 24 39);
66
- transition-property: color, background-color, border-color, box-shadow;
67
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
68
- transition-duration: 150ms;
69
- }
70
-
71
- [data-start-dev-overlay-button]:hover {
72
- background-color: rgb(229 231 235);
73
- color: rgb(55 65 81);
74
- }
75
-
76
- [data-start-dev-overlay-button]:focus {
77
- outline: 2px solid transparent;
78
- outline-offset: 2px
79
- }
80
-
81
- [data-start-dev-overlay-button]:focus-visible {
82
- box-shadow: 0 0 0 calc(3px) rgb(17 24 39 / 0.75);
83
- }
84
-
85
- [data-start-dev-overlay-button]:active {
86
- background-color: rgb(243 244 246);
87
- color: rgb(31 41 55);
88
- }
89
-
90
- [data-start-dev-overlay-button]>svg {
91
- height: 1.5rem;
92
- width: 1.5rem;
93
- }
94
-
95
- [data-start-dev-overlay-page-counter] {
96
- font-size: 0.875rem;
97
- line-height: 1.25rem;
98
- font-weight: 600;
99
- }
100
-
101
- [data-start-dev-overlay-navbar-left] {
102
- display: flex;
103
- flex-direction: row;
104
- gap: 0.5rem;
105
- }
106
-
107
-
108
- [data-start-dev-overlay-controls] {
109
- display: flex;
110
- flex-direction: row;
111
- align-items: center;
112
- justify-content: center;
113
- gap: 0.25rem;
114
- border-radius: 9999px;
115
- background-color: rgb(249 250 251);
116
- padding: 0.25rem;
117
- }
118
-
119
- [data-start-dev-overlay-version] {
120
- display: flex;
121
- flex-direction: row;
122
- align-items: center;
123
- justify-content: center;
124
- gap: 0.25rem;
125
- border-radius: 9999px;
126
- background-color: rgb(249 250 251);
127
- padding: 0.25rem 0.5rem;
128
- font-size: 0.875rem;
129
- line-height: 1.25rem;
130
- font-weight: 600;
131
- }
132
-
133
- [data-start-dev-overlay-version]>div {
134
- height: 1.5rem;
135
- width: 1.5rem;
136
- }
137
-
138
- [data-start-dev-overlay-version]>div>svg {
139
- height: 1.5rem;
140
- width: 1.5rem;
141
- }
142
-
143
- [data-start-dev-overlay-content] {
144
- display: flex;
145
- flex-direction: column;
146
- gap: 0.75rem;
147
- border-radius: 1.5rem;
148
- background-color: rgb(249 250 251);
149
- padding: 1rem;
150
- }
151
-
152
- [data-start-dev-overlay-error-info] {
153
- display: flex;
154
- flex-direction: column;
155
- gap: 0.25rem;
156
- }
157
-
158
- [data-start-dev-overlay-error-info-name] {
159
- font-weight: 700;
160
- }
161
-
162
- [data-start-dev-overlay-error-info-message] {
163
- font-size: 1.5rem;
164
- line-height: 2rem;
165
- color: rgb(239 68 68);
166
- font-weight: 700;
167
- }
168
-
169
- [data-start-dev-overlay-stack-frames-content] {
170
- display: flex;
171
- flex-direction: column;
172
- gap: 0.75rem;
173
- }
174
-
175
- [data-start-dev-overlay-stack-frames] {
176
- flex: 1 1 0%;
177
- display: flex;
178
- flex-direction: column;
179
- margin: 0;
180
- margin-block: 0;
181
- list-style-type: none;
182
- padding-inline: 0;
183
- max-height: 16rem;
184
- overflow-y: auto;
185
- border-radius: 0.5rem;
186
- }
187
-
188
- [data-start-dev-overlay-stack-frame] {
189
- display: flex;
190
- flex-direction: row;
191
- align-items: center;
192
- justify-content: space-between;
193
- gap: 1rem;
194
- color: rgb(17 24 39);
195
- cursor: default;
196
- user-select: none;
197
- padding-top: 0.5rem;
198
- padding-bottom: 0.5rem;
199
- padding-left: 1rem;
200
- padding-right: 1rem;
201
- font-size: 0.875rem;
202
- line-height: 1.25rem;
203
- outline: none;
204
- }
205
-
206
- [data-start-dev-overlay-stack-frame][tc-active],
207
- [data-start-dev-overlay-stack-frame][tc-selected],
208
- [data-start-dev-overlay-stack-frame]:focus {
209
- background-color: rgb(219 234 254);
210
- color: rgb(30 58 138);
211
- }
212
-
213
- [data-start-dev-overlay-stack-frame-function] {
214
- font-weight: 700;
215
- }
216
-
217
- [data-start-dev-overlay-stack-frame-file] {
218
- white-space: nowrap;
219
- font-size: 0.75rem;
220
- /* 12px */
221
- line-height: 1rem;
222
- /* 16px */
223
- }
224
-
225
- [data-start-dev-overlay-stack-frames-code] {
226
- padding: 0.5rem 1rem;
227
- gap: 0.25rem;
228
- flex: 1 1 0%;
229
- display: flex;
230
- flex-direction: column;
231
- align-items: center;
232
- justify-content: center;
233
- border-radius: 0.5rem;
234
- background-color: rgb(17 24 39);
235
- }
236
-
237
- [data-start-dev-overlay-stack-frames-code-fallback] {
238
- display: flex;
239
- align-items: center;
240
- justify-content: center;
241
- color: rgb(249 250 251);
242
- min-height: 16rem;
243
- font-size: 0.875rem;
244
- line-height: 1.25rem;
245
- }
246
-
247
- [data-start-dev-overlay-stack-frames-code-source] {
248
- font-size: 0.875rem;
249
- line-height: 1.25rem;
250
- color: rgb(249 250 251);
251
- }
252
-
253
- [data-start-dev-overlay-stack-frames-code-container] {
254
- width: 100%;
255
- overflow: hidden;
256
- min-width: 100%;
257
- min-height: 16rem;
258
- border-top-width: 1px;
259
- border-top-style: solid;
260
- border-top-color: rgb(249 250 251);
261
- }
262
-
263
- [data-start-dev-overlay-code-view] {
264
- overflow: auto;
265
- min-width: 100%;
266
- min-height: 16rem;
267
- }
268
-
269
- [data-start-dev-overlay-code-view]>.shiki {
270
- float: left;
271
- min-width: 100%;
272
- overflow-x: auto;
273
- font-size: 0.75rem;
274
- line-height: 1rem;
275
- counter-reset: step;
276
- counter-increment: step calc(var(--dev-overlay-code-view-start, 1) - 1);
277
- background-color: transparent !important;
278
- }
279
-
280
- [data-start-dev-overlay-code-view]>.shiki .line::before {
281
- content: counter(step);
282
- counter-increment: step;
283
- width: 1rem;
284
- margin-right: 1.5rem;
285
- display: inline-block;
286
- text-align: right;
287
- color: rgba(115, 138, 148, .4)
288
- }
289
-
290
- [data-start-dev-overlay-error-line] {
291
- background-color: rgba(239, 68, 68, .4);
292
- }
@@ -1,52 +0,0 @@
1
- import { Component, lazy as solidLazy } from "solid-js";
2
- import { getRequestEvent, isServer } from "solid-js/web";
3
- import { getManifest } from "solid-start:get-manifest";
4
- import { useAssets } from "../server/assets/index.ts";
5
- import { Asset, PageEvent } from "../server/types.ts";
6
-
7
- const assetsById: Record<string, Asset[]> = {};
8
-
9
- const getAssets = async (id: string) => {
10
- if (assetsById[id]) return assetsById[id];
11
-
12
- const manifest = getManifest(import.meta.env.SSR && import.meta.env.DEV ? "ssr" : "client");
13
- const assets = await manifest.getAssets(id);
14
- if (import.meta.env.PROD) assetsById[id] = assets;
15
-
16
- return assets;
17
- };
18
-
19
- const withAssets = function <T extends () => Promise<{ default: Component<any> }>>(fn: T): T {
20
- const wrapper = async () => {
21
- const mod = await fn();
22
-
23
- // This id$$ export is generated by the lazy vite plugin
24
- const id: string = (mod as any).id$$;
25
- if (!id) return mod;
26
-
27
- if (!mod.default) {
28
- console.error(`Module ${id} does not export default`);
29
- return { default: () => [] };
30
- }
31
-
32
- const assets: Asset[] = await getAssets(id);
33
- if (!assets.length) return mod;
34
-
35
- return {
36
- default: (props: any) => {
37
- const { nonce } = getRequestEvent() as PageEvent;
38
- useAssets(assets, nonce);
39
-
40
- return mod.default(props);
41
- },
42
- };
43
- };
44
-
45
- return wrapper as T;
46
- };
47
-
48
- const lazy = !isServer
49
- ? solidLazy
50
- : <T extends Component<any>>(fn: () => Promise<{ default: T }>) => solidLazy(withAssets(fn));
51
-
52
- export default lazy;
@@ -1,10 +0,0 @@
1
- import { getRequestEvent } from "solid-js/web";
2
- import type { ServerFunctionMeta } from "../server/types.ts";
3
-
4
- /**
5
- *
6
- * Read more: https://docs.solidjs.com/solid-start/reference/server/get-server-function-meta
7
- */
8
- export function getServerFunctionMeta(): ServerFunctionMeta | undefined {
9
- return getRequestEvent()?.locals.serverFunctionMeta;
10
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Creates a debounced function that delays the invocation of a function
3
- */
4
- export const debounce = <T extends (...args: any[]) => void>(cb: T, debounceMs: number) => {
5
- let timeout: NodeJS.Timeout | undefined;
6
- return (...args: Parameters<T>) => {
7
- clearTimeout(timeout);
8
- timeout = setTimeout(() => cb(...args), debounceMs)
9
- }
10
- }
package/src/virtual.d.ts DELETED
@@ -1,27 +0,0 @@
1
- declare module "solid-start:client-vite-manifest" {
2
- export const clientViteManifest: Record<
3
- string,
4
- { css?: Array<string>; file: string; [key: string]: unknown }
5
- >;
6
- }
7
-
8
- interface StartManifest {
9
- getAssets(id: string): Promise<import("./server/assets/render").Asset[]>;
10
- }
11
-
12
- declare module "solid-start:get-client-manifest" {
13
- export const getClientManifest: () => StartManifest;
14
- }
15
-
16
- declare module "solid-start:get-manifest" {
17
- export const getManifest: (target: "client" | "ssr") => StartManifest;
18
- }
19
-
20
- declare module "solid-start:app" {
21
- export default App as import("solid-js").Component;
22
- }
23
-
24
- declare module "solid-start:middleware" {
25
- type MaybeArray<T> = T | Array<T>;
26
- export default Middleware as import("h3").Middleware[];
27
- }
package/tsconfig.json DELETED
@@ -1,24 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "module": "ESNext",
5
- "moduleResolution": "bundler",
6
- "strict": true,
7
- "noUncheckedIndexedAccess": true,
8
- "allowSyntheticDefaultImports": true,
9
- "esModuleInterop": true,
10
- "jsx": "preserve",
11
- "jsxImportSource": "solid-js",
12
- "allowJs": true,
13
- "isolatedModules": true,
14
- "outDir": "./dist",
15
- "declaration": true,
16
- "skipLibCheck": true,
17
- "types": ["vite/client"],
18
- "allowImportingTsExtensions": true,
19
- "rewriteRelativeImportExtensions": true,
20
- "rootDir": "./src",
21
- },
22
- "include": ["env.d.ts", "./src", "./src/env.d.ts"],
23
- "exclude": ["**/*.spec.ts"]
24
- }
package/vitest.config.ts DELETED
@@ -1,9 +0,0 @@
1
- import { defineConfig } from "vitest/config";
2
-
3
- export default defineConfig({
4
- test: {
5
- globals: true,
6
- environment: "node",
7
- mockReset: true,
8
- },
9
- });