@solidjs/start 1.2.1 → 2.0.0-alpha.1

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 (191) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +2 -2
  3. package/dist/client/StartClient.d.ts +0 -1
  4. package/dist/client/StartClient.jsx +2 -4
  5. package/dist/client/index.d.ts +2 -3
  6. package/dist/client/index.jsx +2 -4
  7. package/dist/client/mount.d.ts +1 -7
  8. package/dist/client/mount.js +1 -91
  9. package/dist/client/spa/index.d.ts +1 -2
  10. package/dist/client/spa/index.jsx +1 -2
  11. package/dist/config/constants.d.ts +16 -0
  12. package/dist/config/constants.js +16 -0
  13. package/dist/config/dev-server.d.ts +2 -0
  14. package/dist/config/dev-server.js +108 -0
  15. package/dist/config/fs-router.d.ts +37 -0
  16. package/dist/config/fs-router.js +141 -0
  17. package/dist/config/fs-routes/fs-watcher.d.ts +3 -0
  18. package/dist/config/fs-routes/fs-watcher.js +49 -0
  19. package/dist/config/fs-routes/index.d.ts +7 -0
  20. package/dist/config/fs-routes/index.js +107 -0
  21. package/dist/config/fs-routes/router.d.ts +37 -0
  22. package/dist/config/fs-routes/router.js +136 -0
  23. package/dist/config/fs-routes/tree-shake.d.ts +2 -0
  24. package/dist/config/fs-routes/tree-shake.js +348 -0
  25. package/dist/config/index.d.ts +10 -0
  26. package/dist/config/index.js +214 -0
  27. package/dist/config/lazy.d.ts +3 -0
  28. package/dist/config/lazy.js +82 -0
  29. package/dist/config/manifest.d.ts +3 -0
  30. package/dist/config/manifest.js +74 -0
  31. package/dist/config/utils.d.ts +4 -0
  32. package/dist/config/utils.js +6 -0
  33. package/dist/config/vite-utils.d.ts +16 -0
  34. package/dist/config/vite-utils.js +81 -0
  35. package/dist/http/index.d.ts +81 -0
  36. package/dist/http/index.js +129 -0
  37. package/dist/index.d.ts +5 -5
  38. package/dist/index.jsx +5 -5
  39. package/dist/middleware/index.d.ts +6 -6
  40. package/dist/middleware/index.js +39 -0
  41. package/dist/{router/FileRoutes.js → router.jsx} +7 -8
  42. package/dist/server/StartServer.d.ts +3 -3
  43. package/dist/server/StartServer.jsx +9 -63
  44. package/dist/server/assets/index.d.ts +2 -0
  45. package/dist/server/assets/index.js +52 -0
  46. package/dist/server/assets/render.d.ts +19 -0
  47. package/dist/server/{renderAsset.jsx → assets/render.jsx} +1 -1
  48. package/dist/server/collect-styles.d.ts +3 -0
  49. package/dist/server/collect-styles.js +69 -0
  50. package/dist/server/fetchEvent.d.ts +4 -3
  51. package/dist/server/fetchEvent.js +12 -74
  52. package/dist/server/fetchEvent.spec.js +18 -197
  53. package/dist/server/handler.d.ts +6 -12
  54. package/dist/server/handler.js +193 -96
  55. package/dist/server/index.d.ts +9 -6
  56. package/dist/server/index.jsx +14 -6
  57. package/dist/server/manifest/client-manifest.d.ts +9 -0
  58. package/dist/server/manifest/client-manifest.js +6 -0
  59. package/dist/server/manifest/dev-client-manifest.d.ts +4 -0
  60. package/dist/server/manifest/dev-client-manifest.js +24 -0
  61. package/dist/server/manifest/dev-ssr-manifest.d.ts +5 -0
  62. package/dist/server/manifest/dev-ssr-manifest.js +23 -0
  63. package/dist/server/manifest/prod-client-manifest.d.ts +5 -0
  64. package/dist/server/manifest/prod-client-manifest.js +26 -0
  65. package/dist/server/manifest/prod-ssr-manifest.d.ts +6 -0
  66. package/dist/server/manifest/prod-ssr-manifest.js +85 -0
  67. package/dist/server/manifest/ssr-manifest.d.ts +4 -0
  68. package/dist/server/manifest/ssr-manifest.js +6 -0
  69. package/dist/{router → server}/routes.d.ts +5 -10
  70. package/dist/{router → server}/routes.js +32 -33
  71. package/dist/{runtime → server}/server-fns-runtime.d.ts +1 -1
  72. package/dist/{runtime → server}/server-fns-runtime.js +8 -7
  73. package/dist/server/server-functions-handler.d.ts +2 -0
  74. package/dist/{runtime/server-handler.js → server/server-functions-handler.js} +57 -97
  75. package/dist/server/server-runtime.d.ts +3 -0
  76. package/dist/{runtime → server}/server-runtime.js +17 -24
  77. package/dist/server/spa/StartServer.d.ts +1 -1
  78. package/dist/server/spa/StartServer.jsx +7 -9
  79. package/dist/server/spa/handler.d.ts +3 -3
  80. package/dist/server/spa/handler.js +9 -11
  81. package/dist/server/spa/index.d.ts +4 -3
  82. package/dist/server/spa/index.jsx +4 -3
  83. package/dist/server/types.d.ts +7 -9
  84. package/dist/server/util.d.ts +2 -0
  85. package/dist/server/util.js +8 -0
  86. package/dist/shared/ErrorBoundary.jsx +2 -2
  87. package/dist/shared/HttpHeader.jsx +4 -2
  88. package/dist/shared/{HttpStatusCode.jsx → HttpStatusCode.js} +3 -1
  89. package/dist/shared/dev-overlay/CodeView.d.ts +1 -1
  90. package/dist/shared/dev-overlay/CodeView.jsx +23 -34
  91. package/dist/shared/dev-overlay/DevOverlayDialog.d.ts +2 -2
  92. package/dist/shared/dev-overlay/DevOverlayDialog.jsx +73 -64
  93. package/dist/shared/dev-overlay/createStackFrame.js +3 -3
  94. package/dist/shared/dev-overlay/get-source-map.d.ts +1 -1
  95. package/dist/shared/dev-overlay/get-source-map.js +5 -5
  96. package/dist/shared/dev-overlay/icons.d.ts +10 -10
  97. package/dist/shared/dev-overlay/icons.jsx +91 -91
  98. package/dist/shared/dev-overlay/index.jsx +6 -9
  99. package/dist/shared/lazy.d.ts +3 -0
  100. package/dist/shared/lazy.js +42 -0
  101. package/dist/shared/serverFunction.d.ts +1 -1
  102. package/env.d.ts +2 -19
  103. package/package.json +44 -65
  104. package/scripts/build.js +15 -0
  105. package/scripts/validate-imports.js +316 -0
  106. package/src/client/StartClient.tsx +34 -0
  107. package/src/client/index.tsx +2 -0
  108. package/src/client/mount.ts +1 -0
  109. package/src/client/spa/index.tsx +9 -0
  110. package/src/config/constants.ts +19 -0
  111. package/src/config/dev-server.ts +145 -0
  112. package/{config/fs-router.js → src/config/fs-router.ts} +49 -29
  113. package/src/config/fs-routes/fs-watcher.ts +77 -0
  114. package/src/config/fs-routes/index.ts +136 -0
  115. package/src/config/fs-routes/router.ts +169 -0
  116. package/src/config/fs-routes/tree-shake.ts +371 -0
  117. package/src/config/index.ts +233 -0
  118. package/src/config/lazy.ts +100 -0
  119. package/src/config/manifest.ts +84 -0
  120. package/src/config/utils.ts +5 -0
  121. package/src/config/vite-utils.ts +109 -0
  122. package/src/env.d.ts +17 -0
  123. package/src/http/index.ts +216 -0
  124. package/src/index.tsx +7 -0
  125. package/src/internal.d.ts +14 -0
  126. package/src/middleware/index.ts +72 -0
  127. package/src/router.tsx +37 -0
  128. package/src/server/StartServer.tsx +56 -0
  129. package/src/server/assets/index.ts +70 -0
  130. package/src/server/assets/render.tsx +46 -0
  131. package/src/server/collect-styles.ts +87 -0
  132. package/src/server/fetchEvent.spec.ts +85 -0
  133. package/src/server/fetchEvent.ts +36 -0
  134. package/src/server/handler.ts +257 -0
  135. package/src/server/index.tsx +29 -0
  136. package/src/server/manifest/client-manifest.ts +8 -0
  137. package/src/server/manifest/dev-client-manifest.ts +21 -0
  138. package/src/server/manifest/dev-ssr-manifest.ts +23 -0
  139. package/src/server/manifest/prod-client-manifest.ts +21 -0
  140. package/src/server/manifest/prod-ssr-manifest.ts +109 -0
  141. package/src/server/manifest/ssr-manifest.ts +10 -0
  142. package/src/server/routes.ts +126 -0
  143. package/src/server/server-fns-runtime.ts +31 -0
  144. package/src/server/server-functions-handler.ts +339 -0
  145. package/src/server/server-runtime.ts +240 -0
  146. package/src/server/spa/StartServer.tsx +40 -0
  147. package/src/server/spa/handler.ts +29 -0
  148. package/src/server/spa/index.tsx +5 -0
  149. package/src/server/types.ts +82 -0
  150. package/src/server/util.ts +12 -0
  151. package/src/shared/ErrorBoundary.tsx +52 -0
  152. package/src/shared/GET.ts +8 -0
  153. package/src/shared/HttpHeader.tsx +42 -0
  154. package/src/shared/HttpStatusCode.ts +27 -0
  155. package/src/shared/clientOnly.ts +44 -0
  156. package/src/shared/dev-overlay/CodeView.tsx +92 -0
  157. package/src/shared/dev-overlay/DevOverlayDialog.tsx +316 -0
  158. package/src/shared/dev-overlay/createStackFrame.ts +74 -0
  159. package/src/shared/dev-overlay/download.ts +6 -0
  160. package/src/shared/dev-overlay/env.d.ts +4 -0
  161. package/src/shared/dev-overlay/get-source-map.ts +33 -0
  162. package/src/shared/dev-overlay/icons.tsx +456 -0
  163. package/src/shared/dev-overlay/index.tsx +63 -0
  164. package/src/shared/dev-overlay/styles.css +292 -0
  165. package/src/shared/lazy.ts +52 -0
  166. package/src/shared/serverFunction.ts +10 -0
  167. package/src/virtual.d.ts +27 -0
  168. package/tsconfig.json +23 -0
  169. package/vitest.config.ts +9 -0
  170. package/config/index.d.ts +0 -40
  171. package/config/index.js +0 -304
  172. package/config/server-components.js +0 -106
  173. package/dist/client/islands.d.ts +0 -7
  174. package/dist/client/islands.jsx +0 -10
  175. package/dist/middleware/index.jsx +0 -35
  176. package/dist/router/index.d.ts +0 -1
  177. package/dist/router/index.jsx +0 -2
  178. package/dist/router/lazyRoute.d.ts +0 -6
  179. package/dist/router/lazyRoute.js +0 -53
  180. package/dist/runtime/server-handler.d.ts +0 -2
  181. package/dist/runtime/server-runtime.d.ts +0 -3
  182. package/dist/server/islands/index.d.ts +0 -19
  183. package/dist/server/islands/index.jsx +0 -62
  184. package/dist/server/islands/utils.d.ts +0 -1
  185. package/dist/server/islands/utils.jsx +0 -85
  186. package/dist/server/pageEvent.d.ts +0 -2
  187. package/dist/server/pageEvent.js +0 -56
  188. package/dist/server/renderAsset.d.ts +0 -2
  189. /package/dist/{router/FileRoutes.d.ts → router.d.ts} +0 -0
  190. /package/dist/shared/{clientOnly.jsx → clientOnly.js} +0 -0
  191. /package/dist/shared/{serverFunction.jsx → serverFunction.js} +0 -0
@@ -0,0 +1,292 @@
1
+ .dev-overlay {
2
+ position: fixed;
3
+ inset: 0px;
4
+ z-index: 50;
5
+ overflow-y: auto;
6
+ }
7
+
8
+ .dev-overlay>div {
9
+ position: relative;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ min-height: 100vh;
14
+ }
15
+
16
+ .dev-overlay-background {
17
+ position: absolute;
18
+ inset: 0px;
19
+ background-color: rgb(17 24 39 / 0.5);
20
+ }
21
+
22
+ .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
+ .dev-overlay-panel-container {
34
+ margin: 2rem;
35
+ z-index: 10;
36
+ }
37
+
38
+ .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
+ .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
+ .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
+ .dev-overlay-button:hover {
72
+ background-color: rgb(229 231 235);
73
+ color: rgb(55 65 81);
74
+ }
75
+
76
+ .dev-overlay-button:focus {
77
+ outline: 2px solid transparent;
78
+ outline-offset: 2px
79
+ }
80
+
81
+ .dev-overlay-button:focus-visible {
82
+ box-shadow: 0 0 0 calc(3px) rgb(17 24 39 / 0.75);
83
+ }
84
+
85
+ .dev-overlay-button:active {
86
+ background-color: rgb(243 244 246);
87
+ color: rgb(31 41 55);
88
+ }
89
+
90
+ .dev-overlay-button>svg {
91
+ height: 1.5rem;
92
+ width: 1.5rem;
93
+ }
94
+
95
+ .dev-overlay-page-counter {
96
+ font-size: 0.875rem;
97
+ line-height: 1.25rem;
98
+ font-weight: 600;
99
+ }
100
+
101
+ .dev-overlay-navbar-left {
102
+ display: flex;
103
+ flex-direction: row;
104
+ gap: 0.5rem;
105
+ }
106
+
107
+
108
+ .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
+ .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
+ .dev-overlay-version>div {
134
+ height: 1.5rem;
135
+ width: 1.5rem;
136
+ }
137
+
138
+ .dev-overlay-version>div>svg {
139
+ height: 1.5rem;
140
+ width: 1.5rem;
141
+ }
142
+
143
+ .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
+ .dev-overlay-error-info {
153
+ display: flex;
154
+ flex-direction: column;
155
+ gap: 0.25rem;
156
+ }
157
+
158
+ .dev-overlay-error-info-name {
159
+ font-weight: 700;
160
+ }
161
+
162
+ .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
+ .dev-overlay-stack-frames-content {
170
+ display: flex;
171
+ flex-direction: column;
172
+ gap: 0.75rem;
173
+ }
174
+
175
+ .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
+ .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
+ .dev-overlay-stack-frame[tc-active],
207
+ .dev-overlay-stack-frame[tc-selected],
208
+ .dev-overlay-stack-frame:focus {
209
+ background-color: rgb(219 234 254);
210
+ color: rgb(30 58 138);
211
+ }
212
+
213
+ .dev-overlay-stack-frame-function {
214
+ font-weight: 700;
215
+ }
216
+
217
+ .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
+ .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
+ .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
+ .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
+ .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
+ .dev-overlay-code-view {
264
+ overflow: auto;
265
+ min-width: 100%;
266
+ min-height: 16rem;
267
+ }
268
+
269
+ .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
+ .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
+ .dev-overlay-error-line {
291
+ background-color: rgba(239, 68, 68, .4);
292
+ }
@@ -0,0 +1,52 @@
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;
@@ -0,0 +1,10 @@
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
+ }
@@ -0,0 +1,27 @@
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 ADDED
@@ -0,0 +1,23 @@
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
+ }
@@ -0,0 +1,9 @@
1
+ import { defineConfig } from "vitest/config";
2
+
3
+ export default defineConfig({
4
+ test: {
5
+ globals: true,
6
+ environment: "node",
7
+ mockReset: true,
8
+ },
9
+ });
package/config/index.d.ts DELETED
@@ -1,40 +0,0 @@
1
- import type { AppOptions, createApp } from "vinxi";
2
- import type { CustomizableConfig } from "vinxi/dist/types/lib/vite-dev";
3
- import { InlineConfig } from "vite";
4
- import type { Options } from "vite-plugin-solid";
5
-
6
- // should probably be maintained by Vinxi
7
- type VinxiViteServerOptions = Omit<
8
- InlineConfig["server"],
9
- "port" | "strictPort" | "host" | "middlewareMode" | "open"
10
- >;
11
-
12
- type ViteCustomizableConfig = CustomizableConfig & {
13
- server?: VinxiViteServerOptions;
14
- };
15
-
16
- type SolidStartInlineConfig = {
17
- publicDir?: string;
18
- ssr?: boolean;
19
- solid?: Options;
20
- extensions?: string[];
21
- server?: AppOptions["server"];
22
- appRoot?: string;
23
- routeDir?: string;
24
- middleware?: string;
25
- devOverlay?: boolean;
26
- experimental?: {
27
- islands?: boolean;
28
- };
29
- vite?:
30
- | ViteCustomizableConfig
31
- | ((options: { router: "server" | "client" | "server-function" }) => ViteCustomizableConfig);
32
- };
33
-
34
- /**
35
- *
36
- * Read more: https://docs.solidjs.com/solid-start/reference/entrypoints/app-config
37
- */
38
- export declare function defineConfig(
39
- baseConfig?: SolidStartInlineConfig
40
- ): ReturnType<typeof createApp>;