@kestack/kabuki 0.0.0 → 0.0.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 (234) hide show
  1. package/README.md +156 -33
  2. package/dist/core/actor/actor.d.ts +24 -13
  3. package/dist/core/actor/actor.d.ts.map +1 -1
  4. package/dist/core/actor/actor.js +37 -26
  5. package/dist/core/actor/index.d.ts +2 -2
  6. package/dist/core/actor/index.d.ts.map +1 -1
  7. package/dist/core/actor/types.d.ts +91 -47
  8. package/dist/core/actor/types.d.ts.map +1 -1
  9. package/dist/core/history/history.d.ts +11 -3
  10. package/dist/core/history/history.d.ts.map +1 -1
  11. package/dist/core/history/history.js +106 -27
  12. package/dist/core/history/replay.d.ts +2 -0
  13. package/dist/core/history/replay.d.ts.map +1 -1
  14. package/dist/core/history/replay.js +1 -0
  15. package/dist/core/history/saved.d.ts +1 -1
  16. package/dist/core/history/saved.d.ts.map +1 -1
  17. package/dist/core/history/saved.js +13 -9
  18. package/dist/core/index.d.ts +1 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/snapshot/invoke.d.ts +2 -3
  21. package/dist/core/snapshot/invoke.d.ts.map +1 -1
  22. package/dist/core/snapshot/invoke.js +42 -49
  23. package/dist/core/snapshot/restore.js +8 -7
  24. package/dist/core/snapshot/tree.d.ts +1 -1
  25. package/dist/core/snapshot/tree.d.ts.map +1 -1
  26. package/dist/core/snapshot/tree.js +1 -1
  27. package/dist/react/app.d.ts +30 -3
  28. package/dist/react/app.d.ts.map +1 -1
  29. package/dist/react/app.js +119 -40
  30. package/dist/react/drawn.d.ts +1 -1
  31. package/dist/react/drawn.d.ts.map +1 -1
  32. package/dist/react/drawn.js +2 -1
  33. package/dist/react/index.d.ts +3 -0
  34. package/dist/react/index.d.ts.map +1 -1
  35. package/dist/react/index.js +2 -0
  36. package/dist/react/lazy.d.ts +30 -0
  37. package/dist/react/lazy.d.ts.map +1 -0
  38. package/dist/react/lazy.js +56 -0
  39. package/dist/react/live.d.ts +7 -0
  40. package/dist/react/live.d.ts.map +1 -0
  41. package/dist/react/live.js +13 -0
  42. package/dist/react/view.d.ts +26 -6
  43. package/dist/react/view.d.ts.map +1 -1
  44. package/dist/react/view.js +17 -5
  45. package/dist/routing/adapter/adapter.d.ts +38 -0
  46. package/dist/routing/adapter/adapter.d.ts.map +1 -0
  47. package/dist/routing/adapter/adapter.js +10 -0
  48. package/dist/routing/adapter/browser/browser.d.ts +8 -0
  49. package/dist/routing/adapter/browser/browser.d.ts.map +1 -0
  50. package/dist/routing/adapter/browser/browser.js +33 -0
  51. package/dist/routing/adapter/browser/index.d.ts +2 -0
  52. package/dist/routing/adapter/browser/index.d.ts.map +1 -0
  53. package/dist/routing/adapter/browser/index.js +1 -0
  54. package/dist/routing/adapter/index.d.ts +3 -0
  55. package/dist/routing/adapter/index.d.ts.map +1 -0
  56. package/dist/routing/adapter/index.js +1 -0
  57. package/dist/routing/adapter/tanstack/index.d.ts +3 -0
  58. package/dist/routing/adapter/tanstack/index.d.ts.map +1 -0
  59. package/dist/routing/adapter/tanstack/index.js +1 -0
  60. package/dist/routing/adapter/tanstack/tanstack.d.ts +27 -0
  61. package/dist/routing/adapter/tanstack/tanstack.d.ts.map +1 -0
  62. package/dist/routing/adapter/tanstack/tanstack.js +38 -0
  63. package/dist/routing/capability/cache.d.ts +12 -0
  64. package/dist/routing/capability/cache.d.ts.map +1 -0
  65. package/dist/routing/capability/cache.js +170 -0
  66. package/dist/routing/capability/index.d.ts +6 -0
  67. package/dist/routing/capability/index.d.ts.map +1 -0
  68. package/dist/routing/capability/index.js +3 -0
  69. package/dist/routing/capability/loading.d.ts +82 -0
  70. package/dist/routing/capability/loading.d.ts.map +1 -0
  71. package/dist/routing/capability/loading.js +53 -0
  72. package/dist/routing/capability/navigation.d.ts +66 -0
  73. package/dist/routing/capability/navigation.d.ts.map +1 -0
  74. package/dist/routing/capability/navigation.js +65 -0
  75. package/dist/routing/index.d.ts +10 -0
  76. package/dist/routing/index.d.ts.map +1 -0
  77. package/dist/routing/index.js +4 -0
  78. package/dist/routing/page/index.d.ts +5 -0
  79. package/dist/routing/page/index.d.ts.map +1 -0
  80. package/dist/routing/page/index.js +2 -0
  81. package/dist/routing/page/page.d.ts +151 -0
  82. package/dist/routing/page/page.d.ts.map +1 -0
  83. package/dist/routing/page/page.js +121 -0
  84. package/dist/routing/page/status.d.ts +121 -0
  85. package/dist/routing/page/status.d.ts.map +1 -0
  86. package/dist/routing/page/status.js +69 -0
  87. package/dist/routing/route/index.d.ts +11 -0
  88. package/dist/routing/route/index.d.ts.map +1 -0
  89. package/dist/routing/route/index.js +6 -0
  90. package/dist/routing/route/loader.d.ts +98 -0
  91. package/dist/routing/route/loader.d.ts.map +1 -0
  92. package/dist/routing/route/loader.js +17 -0
  93. package/dist/routing/route/metadata.d.ts +44 -0
  94. package/dist/routing/route/metadata.d.ts.map +1 -0
  95. package/dist/routing/route/metadata.js +53 -0
  96. package/dist/routing/route/node.d.ts +162 -0
  97. package/dist/routing/route/node.d.ts.map +1 -0
  98. package/dist/routing/route/node.js +3 -0
  99. package/dist/routing/route/places.d.ts +15 -0
  100. package/dist/routing/route/places.d.ts.map +1 -0
  101. package/dist/routing/route/places.js +87 -0
  102. package/dist/routing/route/route.d.ts +53 -0
  103. package/dist/routing/route/route.d.ts.map +1 -0
  104. package/dist/routing/route/route.js +148 -0
  105. package/dist/routing/route/url.d.ts +13 -0
  106. package/dist/routing/route/url.d.ts.map +1 -0
  107. package/dist/routing/route/url.js +79 -0
  108. package/dist/routing/route/values.d.ts +12 -0
  109. package/dist/routing/route/values.d.ts.map +1 -0
  110. package/dist/routing/route/values.js +47 -0
  111. package/dist/routing/router/context.d.ts +123 -0
  112. package/dist/routing/router/context.d.ts.map +1 -0
  113. package/dist/routing/router/context.js +156 -0
  114. package/dist/routing/router/data.d.ts +117 -0
  115. package/dist/routing/router/data.d.ts.map +1 -0
  116. package/dist/routing/router/data.js +247 -0
  117. package/dist/routing/router/define.d.ts +52 -0
  118. package/dist/routing/router/define.d.ts.map +1 -0
  119. package/dist/routing/router/define.js +48 -0
  120. package/dist/routing/router/frame.d.ts +10 -0
  121. package/dist/routing/router/frame.d.ts.map +1 -0
  122. package/dist/routing/router/frame.js +10 -0
  123. package/dist/routing/router/index.d.ts +7 -0
  124. package/dist/routing/router/index.d.ts.map +1 -0
  125. package/dist/routing/router/index.js +3 -0
  126. package/dist/routing/router/router.d.ts +165 -0
  127. package/dist/routing/router/router.d.ts.map +1 -0
  128. package/dist/routing/router/router.js +801 -0
  129. package/dist/routing/routing.d.ts +72 -0
  130. package/dist/routing/routing.d.ts.map +1 -0
  131. package/dist/routing/routing.js +53 -0
  132. package/dist/routing/scroll/index.d.ts +4 -0
  133. package/dist/routing/scroll/index.d.ts.map +1 -0
  134. package/dist/routing/scroll/index.js +2 -0
  135. package/dist/routing/scroll/script.d.ts +6 -0
  136. package/dist/routing/scroll/script.d.ts.map +1 -0
  137. package/dist/routing/scroll/script.js +52 -0
  138. package/dist/routing/scroll/scroll.d.ts +75 -0
  139. package/dist/routing/scroll/scroll.d.ts.map +1 -0
  140. package/dist/routing/scroll/scroll.js +201 -0
  141. package/dist/routing/scroll/selector.d.ts +14 -0
  142. package/dist/routing/scroll/selector.d.ts.map +1 -0
  143. package/dist/routing/scroll/selector.js +40 -0
  144. package/dist/routing/scroll/session.d.ts +6 -0
  145. package/dist/routing/scroll/session.d.ts.map +1 -0
  146. package/dist/routing/scroll/session.js +23 -0
  147. package/dist/start/client/client.d.ts +11 -0
  148. package/dist/start/client/client.d.ts.map +1 -0
  149. package/dist/start/client/client.js +24 -0
  150. package/dist/start/client/index.d.ts +3 -0
  151. package/dist/start/client/index.d.ts.map +1 -0
  152. package/dist/start/client/index.js +2 -0
  153. package/dist/start/client/rpc.d.ts +14 -0
  154. package/dist/start/client/rpc.d.ts.map +1 -0
  155. package/dist/start/client/rpc.js +70 -0
  156. package/dist/start/common/app.d.ts +66 -0
  157. package/dist/start/common/app.d.ts.map +1 -0
  158. package/dist/start/common/app.js +23 -0
  159. package/dist/start/common/common.d.ts +26 -0
  160. package/dist/start/common/common.d.ts.map +1 -0
  161. package/dist/start/common/common.js +19 -0
  162. package/dist/start/common/document.d.ts +44 -0
  163. package/dist/start/common/document.d.ts.map +1 -0
  164. package/dist/start/common/document.js +58 -0
  165. package/dist/start/common/index.d.ts +9 -0
  166. package/dist/start/common/index.d.ts.map +1 -0
  167. package/dist/start/common/index.js +5 -0
  168. package/dist/start/common/page.d.ts +67 -0
  169. package/dist/start/common/page.d.ts.map +1 -0
  170. package/dist/start/common/page.js +29 -0
  171. package/dist/start/common/wire.d.ts +37 -0
  172. package/dist/start/common/wire.d.ts.map +1 -0
  173. package/dist/start/common/wire.js +73 -0
  174. package/dist/start/platform/cloudflare/cloudflare.d.ts +8 -0
  175. package/dist/start/platform/cloudflare/cloudflare.d.ts.map +1 -0
  176. package/dist/start/platform/cloudflare/cloudflare.js +31 -0
  177. package/dist/start/platform/cloudflare/index.d.ts +2 -0
  178. package/dist/start/platform/cloudflare/index.d.ts.map +1 -0
  179. package/dist/start/platform/cloudflare/index.js +1 -0
  180. package/dist/start/platform/index.d.ts +2 -0
  181. package/dist/start/platform/index.d.ts.map +1 -0
  182. package/dist/start/platform/index.js +1 -0
  183. package/dist/start/platform/platform.d.ts +31 -0
  184. package/dist/start/platform/platform.d.ts.map +1 -0
  185. package/dist/start/platform/platform.js +13 -0
  186. package/dist/start/server/cache.d.ts +4 -0
  187. package/dist/start/server/cache.d.ts.map +1 -0
  188. package/dist/start/server/cache.js +26 -0
  189. package/dist/start/server/draw.d.ts +10 -0
  190. package/dist/start/server/draw.d.ts.map +1 -0
  191. package/dist/start/server/draw.js +75 -0
  192. package/dist/start/server/index.d.ts +3 -0
  193. package/dist/start/server/index.d.ts.map +1 -0
  194. package/dist/start/server/index.js +2 -0
  195. package/dist/start/server/layers.d.ts +97 -0
  196. package/dist/start/server/layers.d.ts.map +1 -0
  197. package/dist/start/server/layers.js +37 -0
  198. package/dist/start/server/respond.d.ts +15 -0
  199. package/dist/start/server/respond.d.ts.map +1 -0
  200. package/dist/start/server/respond.js +35 -0
  201. package/dist/start/server/rpc.d.ts +11 -0
  202. package/dist/start/server/rpc.d.ts.map +1 -0
  203. package/dist/start/server/rpc.js +51 -0
  204. package/dist/start/server/server.d.ts +13 -0
  205. package/dist/start/server/server.d.ts.map +1 -0
  206. package/dist/start/server/server.js +138 -0
  207. package/dist/start/server/tiers.d.ts +14 -0
  208. package/dist/start/server/tiers.d.ts.map +1 -0
  209. package/dist/start/server/tiers.js +31 -0
  210. package/dist/start/vite/dev.d.ts +5 -0
  211. package/dist/start/vite/dev.d.ts.map +1 -0
  212. package/dist/start/vite/dev.js +56 -0
  213. package/dist/start/vite/entries.d.ts +27 -0
  214. package/dist/start/vite/entries.d.ts.map +1 -0
  215. package/dist/start/vite/entries.js +66 -0
  216. package/dist/start/vite/files.d.ts +22 -0
  217. package/dist/start/vite/files.d.ts.map +1 -0
  218. package/dist/start/vite/files.js +23 -0
  219. package/dist/start/vite/index.d.ts +2 -0
  220. package/dist/start/vite/index.d.ts.map +1 -0
  221. package/dist/start/vite/index.js +1 -0
  222. package/dist/start/vite/lazy.d.ts +4 -0
  223. package/dist/start/vite/lazy.d.ts.map +1 -0
  224. package/dist/start/vite/lazy.js +30 -0
  225. package/dist/start/vite/manifest.d.ts +18 -0
  226. package/dist/start/vite/manifest.d.ts.map +1 -0
  227. package/dist/start/vite/manifest.js +42 -0
  228. package/dist/start/vite/styles.d.ts +7 -0
  229. package/dist/start/vite/styles.d.ts.map +1 -0
  230. package/dist/start/vite/styles.js +58 -0
  231. package/dist/start/vite/vite.d.ts +11 -0
  232. package/dist/start/vite/vite.d.ts.map +1 -0
  233. package/dist/start/vite/vite.js +217 -0
  234. package/package.json +53 -3
@@ -0,0 +1,217 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ import { existsSync, readFileSync, readdirSync, rmSync } from 'node:fs';
3
+ import path from 'node:path';
4
+ import { isRunnableDevEnvironment } from 'vite';
5
+ import { serveHandler } from './dev.js';
6
+ import { BUILD, CLIENT, ENTRY, HANDLER, WORKER, buildModule, clientEntry, devScripts, handlerModule, workerEntry, } from './entries.js';
7
+ import { findFiles } from './files.js';
8
+ import { filesOf } from './manifest.js';
9
+ import { mentionsLazy, withIds } from './lazy.js';
10
+ import { DEV_STYLES, serveStyles } from './styles.js';
11
+ /** A file the client build writes for the Worker to read, and which is never deployed. */
12
+ const MANIFEST = '.vite/kabuki-start.json';
13
+ /** What the client build hands the Worker's, kept on `globalThis`: Vite may make the plugin again for each build. */
14
+ const built = () => {
15
+ const key = Symbol.for('@kestack/kabuki/start/vite');
16
+ const global = globalThis;
17
+ return (global[key] ??= new Map());
18
+ };
19
+ const resolved = (id) => `\0${id}`;
20
+ /** Start's Vite plugin. Put it beside the React plugin: `plugins: [react(), start({ platform: cloudflare() })]`. */
21
+ export const start = (options) => {
22
+ let root = process.cwd();
23
+ let base = '/';
24
+ let server;
25
+ // 1. Find
26
+ const files = () => findFiles(root, options);
27
+ const devBuild = async () => ({
28
+ id: undefined,
29
+ base,
30
+ entry: {
31
+ script: `${base}@id/__x00__${CLIENT}`,
32
+ styles: [`${base}${DEV_STYLES}`],
33
+ preloads: [],
34
+ },
35
+ views: null,
36
+ head: server
37
+ ? devScripts(await server.transformIndexHtml('/', '<html><head></head><body></body></html>'))
38
+ : [],
39
+ });
40
+ return {
41
+ name: '@kestack/kabuki/start',
42
+ enforce: 'pre',
43
+ // 2. Write
44
+ config: {
45
+ order: 'pre',
46
+ handler(config, { command }) {
47
+ root = path.resolve(config.root ?? process.cwd());
48
+ // A Worker's main module may export only its handlers, so the
49
+ // server build is one file: its lazy imports are inlined.
50
+ const input = (entry, inline = false) => {
51
+ return 'rolldownVersion' in this.meta
52
+ ? {
53
+ rolldownOptions: {
54
+ input: entry,
55
+ ...(inline ? { output: { codeSplitting: false } } : {}),
56
+ },
57
+ }
58
+ : {
59
+ rollupOptions: {
60
+ input: entry,
61
+ ...(inline ? { output: { inlineDynamicImports: true } } : {}),
62
+ },
63
+ };
64
+ };
65
+ // Where the Cloudflare plugin puts them too: `dist/client` and `dist/ssr`.
66
+ const outDir = (name) => config.environments?.[name]?.build?.outDir ??
67
+ path.join(config.build?.outDir ?? 'dist', name);
68
+ const found = findFiles(root, options);
69
+ return {
70
+ appType: 'custom',
71
+ // The browser's entry is the plugin's own, which Vite cannot scan:
72
+ // scan the app's files, and what the entry imports, so the first
73
+ // page in dev does not find new dependencies and reload.
74
+ optimizeDeps: {
75
+ entries: [found.app],
76
+ include: ['react-dom/client'],
77
+ },
78
+ environments: {
79
+ client: {
80
+ build: {
81
+ manifest: config.environments?.client?.build?.manifest ||
82
+ config.build?.manifest ||
83
+ MANIFEST,
84
+ outDir: outDir('client'),
85
+ ...input({ [ENTRY]: CLIENT }),
86
+ },
87
+ },
88
+ ssr: {
89
+ // A Worker runs alone: built, it carries every dependency, in
90
+ // its edge form.
91
+ ...(command === 'build'
92
+ ? {
93
+ resolve: {
94
+ noExternal: true,
95
+ conditions: [...options.platform.conditions],
96
+ },
97
+ }
98
+ : {}),
99
+ build: {
100
+ outDir: outDir('ssr'),
101
+ ...input({ index: WORKER }, true),
102
+ },
103
+ },
104
+ },
105
+ // 4. Build
106
+ ...(config.builder?.buildApp
107
+ ? {}
108
+ : {
109
+ builder: {
110
+ buildApp: async (builder) => {
111
+ await builder.build(builder.environments.client);
112
+ for (const environment of Object.values(builder.environments))
113
+ if (!environment.isBuilt)
114
+ await builder.build(environment);
115
+ },
116
+ },
117
+ }),
118
+ };
119
+ },
120
+ },
121
+ // 5. Dev: a Worker that finds its own dependencies, as workerd under the
122
+ // Cloudflare plugin does, cannot scan the plugin's entry either: scan the
123
+ // app's server files, and include what Start's own Worker imports, so
124
+ // the first page does not find new dependencies and reload. Vite's own
125
+ // server environment, in Node, finds none and is left as it is.
126
+ configEnvironment(name, config) {
127
+ if (name === 'client' || config.optimizeDeps?.noDiscovery !== false)
128
+ return undefined;
129
+ const found = files();
130
+ return {
131
+ optimizeDeps: {
132
+ entries: [found.app, found.loaders].filter((file) => file !== undefined),
133
+ include: [
134
+ 'effect',
135
+ 'react',
136
+ 'react/jsx-runtime',
137
+ 'react/jsx-dev-runtime',
138
+ 'react-dom/server',
139
+ ],
140
+ },
141
+ };
142
+ },
143
+ configResolved(config) {
144
+ root = config.root;
145
+ base = config.base;
146
+ },
147
+ resolveId(id) {
148
+ if ([HANDLER, WORKER, CLIENT, BUILD].includes(id))
149
+ return resolved(id);
150
+ return undefined;
151
+ },
152
+ async load(id) {
153
+ if (id === resolved(HANDLER))
154
+ return handlerModule(files());
155
+ if (id === resolved(WORKER))
156
+ return workerEntry(options.platform);
157
+ if (id === resolved(CLIENT))
158
+ return clientEntry(files(), this.environment.config.command === 'serve'
159
+ ? `${base}${DEV_STYLES}`
160
+ : undefined);
161
+ if (id === resolved(BUILD)) {
162
+ if (this.environment.config.command === 'serve')
163
+ return buildModule(await devBuild());
164
+ const client = built().get(root);
165
+ if (!client)
166
+ this.error('the client was not built before the Worker: build with `vite build`, which builds the client first');
167
+ return buildModule({ ...client, head: [] });
168
+ }
169
+ return undefined;
170
+ },
171
+ // 3. Name
172
+ async transform(code, id) {
173
+ if (this.environment.config.consumer === 'client' &&
174
+ /\.server\.[cm]?[jt]sx?$/.test(id.split('?')[0]))
175
+ this.error(`${path.relative(root, id)} runs on the server only, and something the browser loads imports it`);
176
+ if (id.includes('/node_modules/') || !mentionsLazy(code))
177
+ return undefined;
178
+ const named = await withIds(code, root, async (specifier) => (await this.resolve(specifier, id))?.id);
179
+ return named === undefined ? undefined : { code: named, map: null };
180
+ },
181
+ // 4. Build: the client's files, for the Worker; the manifest is not deployed.
182
+ writeBundle: {
183
+ order: 'post',
184
+ handler(output) {
185
+ if (this.environment.name !== 'client')
186
+ return;
187
+ const setting = this.environment.config.build.manifest;
188
+ const name = typeof setting === 'string' ? setting : '.vite/manifest.json';
189
+ const dir = output.dir ?? this.environment.config.build.outDir;
190
+ const file = path.resolve(root, dir, name);
191
+ const manifest = JSON.parse(readFileSync(file, 'utf8'));
192
+ built().set(root, {
193
+ id: randomUUID(),
194
+ base,
195
+ ...filesOf(manifest, base),
196
+ });
197
+ if (name !== MANIFEST)
198
+ return;
199
+ rmSync(file);
200
+ const folder = path.dirname(file);
201
+ if (existsSync(folder) && readdirSync(folder).length === 0)
202
+ rmSync(folder, { recursive: true });
203
+ },
204
+ },
205
+ // 5. Dev
206
+ configureServer(dev) {
207
+ server = dev;
208
+ dev.middlewares.use(serveStyles(dev, () => [files().app]));
209
+ return () => {
210
+ const ssr = dev.environments.ssr;
211
+ if (!ssr || !isRunnableDevEnvironment(ssr))
212
+ return;
213
+ dev.middlewares.use(serveHandler(async () => (await ssr.runner.import(HANDLER)).default, (error) => ssr.config.logger.error(error.stack ?? error.message)));
214
+ };
215
+ },
216
+ };
217
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kestack/kabuki",
3
- "version": "0.0.0",
3
+ "version": "0.0.2",
4
4
  "private": false,
5
5
  "description": "An app as one tree of Actors outside React: each Actor a small state machine driven by Messages, one immutable Snapshot for the whole app, Effect running the work, and React only drawing it.",
6
6
  "keywords": [
@@ -30,11 +30,61 @@
30
30
  "./react": {
31
31
  "types": "./dist/react/index.d.ts",
32
32
  "default": "./dist/react/index.js"
33
+ },
34
+ "./routing": {
35
+ "types": "./dist/routing/index.d.ts",
36
+ "default": "./dist/routing/index.js"
37
+ },
38
+ "./routing/adapter": {
39
+ "types": "./dist/routing/adapter/index.d.ts",
40
+ "default": "./dist/routing/adapter/index.js"
41
+ },
42
+ "./routing/adapter/browser": {
43
+ "types": "./dist/routing/adapter/browser/index.d.ts",
44
+ "default": "./dist/routing/adapter/browser/index.js"
45
+ },
46
+ "./routing/adapter/tanstack": {
47
+ "types": "./dist/routing/adapter/tanstack/index.d.ts",
48
+ "default": "./dist/routing/adapter/tanstack/index.js"
49
+ },
50
+ "./start": {
51
+ "types": "./dist/start/common/common.d.ts",
52
+ "default": "./dist/start/common/common.js"
53
+ },
54
+ "./start/server": {
55
+ "types": "./dist/start/server/index.d.ts",
56
+ "default": "./dist/start/server/index.js"
57
+ },
58
+ "./start/client": {
59
+ "types": "./dist/start/client/index.d.ts",
60
+ "default": "./dist/start/client/index.js"
61
+ },
62
+ "./start/platform": {
63
+ "types": "./dist/start/platform/index.d.ts",
64
+ "default": "./dist/start/platform/index.js"
65
+ },
66
+ "./start/platform/cloudflare": {
67
+ "types": "./dist/start/platform/cloudflare/index.d.ts",
68
+ "default": "./dist/start/platform/cloudflare/index.js"
69
+ },
70
+ "./start/vite": {
71
+ "types": "./dist/start/vite/index.d.ts",
72
+ "default": "./dist/start/vite/index.js"
33
73
  }
34
74
  },
35
75
  "peerDependencies": {
36
76
  "effect": "^4.0.0",
37
- "react": "^19.0.0"
77
+ "react": "^19.0.0",
78
+ "react-dom": "^19.0.0",
79
+ "vite": "^8.0.0"
80
+ },
81
+ "peerDependenciesMeta": {
82
+ "react-dom": {
83
+ "optional": true
84
+ },
85
+ "vite": {
86
+ "optional": true
87
+ }
38
88
  },
39
89
  "devDependencies": {
40
90
  "@types/react": "19.2.18",
@@ -47,7 +97,7 @@
47
97
  "typescript": "7.0.2",
48
98
  "vite": "npm:@voidzero-dev/vite-plus-core@1.0.0",
49
99
  "vitest": "5.0.1",
50
- "laymos": "0.0.11"
100
+ "laymos": "0.0.13"
51
101
  },
52
102
  "scripts": {
53
103
  "build": "rm -rf ./dist && tsc -p tsconfig.build.json",