create-waku 0.6.0 → 0.6.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 (189) hide show
  1. package/dist/cli.js +45 -45
  2. package/package.json +4 -4
  3. package/src/cli.ts +45 -45
  4. package/template/01_counter/dist/components/App.js +2 -2
  5. package/template/01_counter/dist/components/Counter.js +3 -3
  6. package/template/01_counter/dist/entries.js +18 -17
  7. package/template/01_counter/dist/main.js +9 -4
  8. package/template/01_counter/node_modules/.bin/vite +17 -0
  9. package/template/01_counter/package.json +11 -8
  10. package/template/01_counter/src/components/App.tsx +2 -2
  11. package/template/01_counter/src/components/Counter.tsx +3 -3
  12. package/template/01_counter/src/entries.tsx +18 -18
  13. package/template/01_counter/src/index.html +1 -0
  14. package/template/01_counter/src/main.tsx +8 -4
  15. package/template/01_counter/tsconfig.json +2 -2
  16. package/template/02_async/dist/components/App.js +13 -0
  17. package/template/02_async/dist/{src/components → components}/Counter.js +3 -3
  18. package/template/02_async/dist/entries.js +32 -0
  19. package/template/02_async/dist/main.js +11 -0
  20. package/template/02_async/node_modules/.bin/vite +17 -0
  21. package/template/02_async/package.json +11 -8
  22. package/template/02_async/src/components/App.tsx +5 -17
  23. package/template/02_async/src/components/Counter.tsx +3 -3
  24. package/template/02_async/src/entries.tsx +18 -18
  25. package/template/02_async/src/index.html +2 -1
  26. package/template/02_async/src/main.tsx +8 -15
  27. package/template/02_async/tsconfig.json +3 -10
  28. package/template/03_promise/dist/components/App.js +3 -3
  29. package/template/03_promise/dist/components/Counter.js +3 -3
  30. package/template/03_promise/dist/entries.js +18 -18
  31. package/template/03_promise/dist/main.js +9 -4
  32. package/template/03_promise/node_modules/.bin/vite +17 -0
  33. package/template/03_promise/package.json +11 -8
  34. package/template/03_promise/src/components/App.tsx +5 -4
  35. package/template/03_promise/src/components/Counter.tsx +3 -3
  36. package/template/03_promise/src/entries.tsx +22 -19
  37. package/template/03_promise/src/index.html +1 -0
  38. package/template/03_promise/src/main.tsx +8 -4
  39. package/template/03_promise/tsconfig.json +2 -2
  40. package/template/04_callserver/dist/components/App.js +3 -3
  41. package/template/04_callserver/dist/components/Counter.js +6 -5
  42. package/template/04_callserver/dist/components/TextBox.js +6 -0
  43. package/template/04_callserver/dist/components/funcs.js +1 -1
  44. package/template/04_callserver/dist/entries.js +18 -17
  45. package/template/04_callserver/dist/main.js +9 -4
  46. package/template/04_callserver/node_modules/.bin/vite +17 -0
  47. package/template/04_callserver/package.json +11 -8
  48. package/template/04_callserver/src/components/App.tsx +3 -3
  49. package/template/04_callserver/src/components/Counter.tsx +10 -7
  50. package/template/04_callserver/src/components/TextBox.tsx +11 -0
  51. package/template/04_callserver/src/components/funcs.ts +1 -1
  52. package/template/04_callserver/src/entries.tsx +18 -18
  53. package/template/04_callserver/src/index.html +1 -0
  54. package/template/04_callserver/src/main.tsx +8 -4
  55. package/template/04_callserver/tsconfig.json +2 -2
  56. package/template/05_mutation/dist/components/App.js +4 -3
  57. package/template/05_mutation/dist/components/Counter.js +3 -3
  58. package/template/05_mutation/dist/components/funcs.js +3 -3
  59. package/template/05_mutation/dist/entries.js +18 -17
  60. package/template/05_mutation/dist/main.js +9 -4
  61. package/template/05_mutation/node_modules/.bin/vite +17 -0
  62. package/template/05_mutation/package.json +12 -8
  63. package/template/05_mutation/src/components/App.tsx +6 -3
  64. package/template/05_mutation/src/components/Counter.tsx +5 -5
  65. package/template/05_mutation/src/components/funcs.ts +3 -3
  66. package/template/05_mutation/src/entries.tsx +18 -18
  67. package/template/05_mutation/src/index.html +1 -0
  68. package/template/05_mutation/src/main.tsx +8 -4
  69. package/template/05_mutation/tsconfig.json +2 -2
  70. package/template/06_nesting/dist/components/App.js +2 -2
  71. package/template/06_nesting/dist/components/Counter.js +6 -6
  72. package/template/06_nesting/dist/components/InnerApp.js +3 -3
  73. package/template/06_nesting/dist/entries.js +28 -27
  74. package/template/06_nesting/dist/main.js +9 -4
  75. package/template/06_nesting/node_modules/.bin/vite +17 -0
  76. package/template/06_nesting/package.json +11 -8
  77. package/template/06_nesting/src/components/App.tsx +2 -2
  78. package/template/06_nesting/src/components/Counter.tsx +8 -8
  79. package/template/06_nesting/src/components/InnerApp.tsx +3 -3
  80. package/template/06_nesting/src/entries.tsx +29 -29
  81. package/template/06_nesting/src/index.html +1 -0
  82. package/template/06_nesting/src/main.tsx +8 -4
  83. package/template/06_nesting/tsconfig.json +2 -2
  84. package/template/07_router/dist/node/tsconfig.node.tsbuildinfo +1 -0
  85. package/template/07_router/dist/node/vite.config.d.ts +14 -1
  86. package/template/07_router/dist/node/vite.config.js +9 -6
  87. package/template/07_router/dist/src/components/Counter.js +4 -4
  88. package/template/07_router/dist/src/components/ErrorBoundary.d.ts +1 -1
  89. package/template/07_router/dist/src/components/ErrorBoundary.js +2 -2
  90. package/template/07_router/dist/src/entries.js +9 -9
  91. package/template/07_router/dist/src/main.js +10 -5
  92. package/template/07_router/dist/src/routes/bar/page.js +1 -1
  93. package/template/07_router/dist/src/routes/foo/page.js +1 -1
  94. package/template/07_router/dist/src/routes/layout.d.ts +1 -1
  95. package/template/07_router/dist/src/routes/layout.js +2 -2
  96. package/template/07_router/dist/src/routes/nested/layout.d.ts +1 -1
  97. package/template/07_router/dist/src/routes/nested/layout.js +1 -1
  98. package/template/07_router/dist/tsconfig.tsbuildinfo +1 -0
  99. package/template/07_router/node_modules/.bin/vite +17 -0
  100. package/template/07_router/package.json +11 -8
  101. package/template/07_router/src/components/Counter.tsx +4 -4
  102. package/template/07_router/src/components/ErrorBoundary.tsx +3 -3
  103. package/template/07_router/src/entries.tsx +9 -10
  104. package/template/07_router/src/index.html +1 -0
  105. package/template/07_router/src/main.tsx +9 -5
  106. package/template/07_router/src/routes/bar/page.tsx +1 -1
  107. package/template/07_router/src/routes/foo/page.tsx +1 -1
  108. package/template/07_router/src/routes/layout.tsx +3 -3
  109. package/template/07_router/src/routes/nested/layout.tsx +2 -2
  110. package/template/07_router/tsconfig.json +0 -1
  111. package/template/07_router/tsconfig.node.json +0 -1
  112. package/template/07_router/vite.config.ts +9 -7
  113. package/template/08_cookies/dev.js +9 -13
  114. package/template/08_cookies/dist/components/App.js +3 -3
  115. package/template/08_cookies/dist/components/Counter.js +3 -3
  116. package/template/08_cookies/dist/entries.js +19 -6
  117. package/template/08_cookies/dist/main.js +9 -4
  118. package/template/08_cookies/node_modules/.bin/vite +17 -0
  119. package/template/08_cookies/package.json +13 -10
  120. package/template/08_cookies/src/components/App.tsx +3 -3
  121. package/template/08_cookies/src/components/Counter.tsx +3 -3
  122. package/template/08_cookies/src/entries.tsx +18 -19
  123. package/template/08_cookies/src/index.html +1 -0
  124. package/template/08_cookies/src/main.tsx +8 -4
  125. package/template/08_cookies/start.js +14 -16
  126. package/template/08_cookies/tsconfig.json +2 -2
  127. package/template/09_cssmodules/dist/components/App.js +3 -3
  128. package/template/09_cssmodules/dist/components/Counter.js +3 -3
  129. package/template/09_cssmodules/dist/entries.js +18 -17
  130. package/template/09_cssmodules/dist/main.js +9 -4
  131. package/template/09_cssmodules/node_modules/.bin/vite +17 -0
  132. package/template/09_cssmodules/package.json +11 -8
  133. package/template/09_cssmodules/src/components/App.tsx +3 -3
  134. package/template/09_cssmodules/src/components/Counter.tsx +3 -3
  135. package/template/09_cssmodules/src/entries.tsx +18 -18
  136. package/template/09_cssmodules/src/index.html +1 -0
  137. package/template/09_cssmodules/src/main.tsx +8 -4
  138. package/template/09_cssmodules/tsconfig.json +2 -2
  139. package/template/10_dynamicroute/dist/node/tsconfig.node.tsbuildinfo +1 -0
  140. package/template/10_dynamicroute/dist/node/vite.config.d.ts +14 -1
  141. package/template/10_dynamicroute/dist/node/vite.config.js +9 -6
  142. package/template/10_dynamicroute/dist/src/entries.js +15 -15
  143. package/template/10_dynamicroute/dist/src/main.js +9 -4
  144. package/template/10_dynamicroute/dist/src/routes/layout.d.ts +1 -1
  145. package/template/10_dynamicroute/dist/src/routes/layout.js +1 -1
  146. package/template/10_dynamicroute/dist/tsconfig.tsbuildinfo +1 -0
  147. package/template/10_dynamicroute/node_modules/.bin/vite +17 -0
  148. package/template/10_dynamicroute/package.json +11 -8
  149. package/template/10_dynamicroute/src/entries.tsx +15 -16
  150. package/template/10_dynamicroute/src/index.html +1 -0
  151. package/template/10_dynamicroute/src/main.tsx +8 -4
  152. package/template/10_dynamicroute/src/routes/layout.tsx +2 -2
  153. package/template/10_dynamicroute/tsconfig.json +0 -1
  154. package/template/10_dynamicroute/tsconfig.node.json +0 -1
  155. package/template/10_dynamicroute/vite.config.ts +9 -7
  156. package/template/11_form/dist/components/App.js +4 -4
  157. package/template/11_form/dist/components/Counter.js +4 -4
  158. package/template/11_form/dist/components/Form.js +4 -4
  159. package/template/11_form/dist/components/funcs.js +5 -5
  160. package/template/11_form/dist/entries.js +18 -17
  161. package/template/11_form/dist/main.js +9 -4
  162. package/template/11_form/node_modules/.bin/vite +17 -0
  163. package/template/11_form/package.json +11 -8
  164. package/template/11_form/src/components/App.tsx +4 -4
  165. package/template/11_form/src/components/Counter.tsx +4 -4
  166. package/template/11_form/src/components/Form.tsx +4 -4
  167. package/template/11_form/src/components/funcs.ts +5 -5
  168. package/template/11_form/src/entries.tsx +18 -18
  169. package/template/11_form/src/index.html +1 -0
  170. package/template/11_form/src/main.tsx +8 -4
  171. package/template/11_form/tsconfig.json +2 -2
  172. package/dist/.tsbuildinfo +0 -1
  173. package/template/02_async/dist/.tsbuildinfo +0 -1
  174. package/template/02_async/dist/node/.tsbuildinfo +0 -1
  175. package/template/02_async/dist/node/vite.config.d.ts +0 -2
  176. package/template/02_async/dist/node/vite.config.js +0 -14
  177. package/template/02_async/dist/src/components/App.d.ts +0 -4
  178. package/template/02_async/dist/src/components/App.js +0 -16
  179. package/template/02_async/dist/src/components/Counter.d.ts +0 -1
  180. package/template/02_async/dist/src/entries.d.ts +0 -6
  181. package/template/02_async/dist/src/entries.js +0 -31
  182. package/template/02_async/dist/src/main.d.ts +0 -1
  183. package/template/02_async/dist/src/main.js +0 -15
  184. package/template/02_async/tsconfig.node.json +0 -9
  185. package/template/02_async/vite.config.ts +0 -16
  186. package/template/07_router/dist/.tsbuildinfo +0 -1
  187. package/template/07_router/dist/node/.tsbuildinfo +0 -1
  188. package/template/10_dynamicroute/dist/.tsbuildinfo +0 -1
  189. package/template/10_dynamicroute/dist/node/.tsbuildinfo +0 -1
@@ -1,8 +1,8 @@
1
- "use client";
1
+ 'use client';
2
2
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
- import { useState, useTransition } from "react";
4
- import { Slot, useRefetch } from "waku/client";
5
- export const Counter = ({ enableInnerApp = false }) => {
3
+ import { useState, useTransition } from 'react';
4
+ import { Slot, useRefetch } from 'waku/client';
5
+ export const Counter = ({ enableInnerApp }) => {
6
6
  const [count, setCount] = useState(0);
7
7
  const [isPending, startTransition] = useTransition();
8
8
  const refetch = useRefetch();
@@ -12,7 +12,7 @@ export const Counter = ({ enableInnerApp = false }) => {
12
12
  const nextCount = count + 1;
13
13
  setCount(nextCount);
14
14
  if (enableInnerApp) {
15
- refetch("InnerApp=" + nextCount);
15
+ refetch('InnerApp=' + nextCount);
16
16
  }
17
17
  });
18
18
  }
@@ -20,5 +20,5 @@ export const Counter = ({ enableInnerApp = false }) => {
20
20
  setCount((c) => c + 1);
21
21
  }
22
22
  };
23
- return (_jsxs("div", { style: { border: "3px blue dashed", margin: "1em", padding: "1em" }, children: [_jsxs("p", { children: ["Count: ", count] }), _jsx("button", { onClick: handleClick, children: "Increment" }), " ", isPending && "Pending...", _jsx("h3", { children: "This is a client component." }), enableInnerApp && _jsx(Slot, { id: "InnerApp" })] }));
23
+ return (_jsxs("div", { style: { border: '3px blue dashed', margin: '1em', padding: '1em' }, children: [_jsxs("p", { children: ["Count: ", count] }), _jsx("button", { onClick: handleClick, children: "Increment" }), ' ', isPending && 'Pending...', _jsx("h3", { children: "This is a client component." }), enableInnerApp && _jsx(Slot, { id: "InnerApp" })] }));
24
24
  };
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Counter } from "./Counter.js";
3
- const InnerApp = ({ count = -1 }) => {
4
- return (_jsxs("div", { style: { border: "3px red dashed", margin: "1em", padding: "1em" }, children: [_jsx("h3", { children: "This is another server component." }), _jsxs("p", { children: ["The outer count is ", count, "."] }), _jsx(Counter, {})] }));
2
+ import { Counter } from './Counter.js';
3
+ const InnerApp = ({ count }) => {
4
+ return (_jsxs("div", { style: { border: '3px red dashed', margin: '1em', padding: '1em' }, children: [_jsx("h3", { children: "This is another server component." }), _jsxs("p", { children: ["The outer count is ", count, "."] }), _jsx(Counter, {})] }));
5
5
  };
6
6
  export default InnerApp;
@@ -1,45 +1,46 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { lazy } from "react";
3
- import { defineEntries } from "waku/server";
4
- const App = lazy(() => import("./components/App.js"));
5
- const InnerApp = lazy(() => import("./components/InnerApp.js"));
2
+ import { lazy } from 'react';
3
+ import { defineEntries } from 'waku/server';
4
+ import { Slot } from 'waku/client';
5
+ const App = lazy(() => import('./components/App.js'));
6
+ const InnerApp = lazy(() => import('./components/InnerApp.js'));
6
7
  export default defineEntries(
7
8
  // renderEntries
8
9
  async (input) => {
9
- const params = new URLSearchParams(input || "App=Waku&InnerApp=0");
10
+ const params = new URLSearchParams(input || 'App=Waku&InnerApp=0');
10
11
  const result = {};
11
- if (params.has("App")) {
12
- result.App = _jsx(App, { name: params.get("App") });
12
+ if (params.has('App')) {
13
+ result.App = _jsx(App, { name: params.get('App') });
13
14
  }
14
- if (params.has("InnerApp")) {
15
- result.InnerApp = _jsx(InnerApp, { count: Number(params.get("InnerApp")) });
15
+ if (params.has('InnerApp')) {
16
+ result.InnerApp = _jsx(InnerApp, { count: Number(params.get('InnerApp')) });
16
17
  }
17
18
  return result;
18
19
  },
19
20
  // getBuildConfig
20
21
  async () => {
21
22
  return {
22
- "/": {
23
+ '/': {
23
24
  entries: [
24
- [""],
25
- ["InnerApp=1", true],
26
- ["InnerApp=2", true],
27
- ["InnerApp=3", true],
28
- ["InnerApp=4", true],
29
- ["InnerApp=5", true],
25
+ [''],
26
+ ['InnerApp=1', true],
27
+ ['InnerApp=2', true],
28
+ ['InnerApp=3', true],
29
+ ['InnerApp=4', true],
30
+ ['InnerApp=5', true],
30
31
  ],
31
32
  },
32
33
  };
33
34
  },
34
35
  // getSsrConfig
35
- () => ({
36
- getInput: async (pathStr) => {
37
- switch (pathStr) {
38
- case "/":
39
- return "App=Waku";
40
- default:
41
- return null;
42
- }
43
- },
44
- filter: (elements) => elements.App,
45
- }));
36
+ async (pathStr) => {
37
+ switch (pathStr) {
38
+ case '/':
39
+ return {
40
+ input: '',
41
+ unstable_render: () => _jsx(Slot, { id: "App" }),
42
+ };
43
+ default:
44
+ return null;
45
+ }
46
+ });
@@ -1,6 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { StrictMode } from "react";
3
- import { createRoot } from "react-dom/client";
4
- import { Root, Slot } from "waku/client";
2
+ import { StrictMode } from 'react';
3
+ import { createRoot, hydrateRoot } from 'react-dom/client';
4
+ import { Root, Slot } from 'waku/client';
5
5
  const rootElement = (_jsx(StrictMode, { children: _jsx(Root, { children: _jsx(Slot, { id: "App" }) }) }));
6
- createRoot(document.getElementById("root")).render(rootElement);
6
+ if (globalThis.__WAKU_SSR_ENABLED__) {
7
+ hydrateRoot(document.getElementById('root'), rootElement);
8
+ }
9
+ else {
10
+ createRoot(document.getElementById('root')).render(rootElement);
11
+ }
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/home/runner/work/waku/waku/node_modules/.pnpm/vite@4.5.0_@types+node@20.9.0/node_modules/vite/bin/node_modules:/home/runner/work/waku/waku/node_modules/.pnpm/vite@4.5.0_@types+node@20.9.0/node_modules/vite/node_modules:/home/runner/work/waku/waku/node_modules/.pnpm/vite@4.5.0_@types+node@20.9.0/node_modules:/home/runner/work/waku/waku/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/home/runner/work/waku/waku/node_modules/.pnpm/vite@4.5.0_@types+node@20.9.0/node_modules/vite/bin/node_modules:/home/runner/work/waku/waku/node_modules/.pnpm/vite@4.5.0_@types+node@20.9.0/node_modules/vite/node_modules:/home/runner/work/waku/waku/node_modules/.pnpm/vite@4.5.0_@types+node@20.9.0/node_modules:/home/runner/work/waku/waku/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
15
+ else
16
+ exec node "$basedir/../vite/bin/vite.js" "$@"
17
+ fi
@@ -5,19 +5,22 @@
5
5
  "private": true,
6
6
  "scripts": {
7
7
  "dev": "waku dev --with-ssr",
8
- "build": "waku build",
8
+ "build": "waku build --with-ssr",
9
9
  "start": "waku start --with-ssr"
10
10
  },
11
11
  "dependencies": {
12
12
  "express": "^4.18.2",
13
- "react": "18.3.0-canary-a41957507-20231017",
14
- "react-dom": "18.3.0-canary-a41957507-20231017",
15
- "react-server-dom-webpack": "18.3.0-canary-a41957507-20231017",
16
- "waku": "0.16.0"
13
+ "react": "18.3.0-canary-0e352ea01-20231109",
14
+ "react-dom": "18.3.0-canary-0e352ea01-20231109",
15
+ "react-server-dom-webpack": "18.3.0-canary-0e352ea01-20231109",
16
+ "waku": "0.17.0"
17
17
  },
18
18
  "devDependencies": {
19
- "@types/react": "^18.2.31",
20
- "@types/react-dom": "^18.2.14",
21
- "typescript": "^5.2.2"
19
+ "@swc/core": "1.3.96",
20
+ "@types/react": "^18.2.37",
21
+ "@types/react-dom": "^18.2.15",
22
+ "@vitejs/plugin-react": "4.1.1",
23
+ "typescript": "^5.2.2",
24
+ "vite": "4.5.0"
22
25
  }
23
26
  }
@@ -1,8 +1,8 @@
1
- import { Counter } from "./Counter.js";
1
+ import { Counter } from './Counter.js';
2
2
 
3
3
  const App = ({ name }: { name: string }) => {
4
4
  return (
5
- <div style={{ border: "3px red dashed", margin: "1em", padding: "1em" }}>
5
+ <div style={{ border: '3px red dashed', margin: '1em', padding: '1em' }}>
6
6
  <h1>Hello {name}!!</h1>
7
7
  <h3>This is a server component.</h3>
8
8
  <Counter enableInnerApp />
@@ -1,9 +1,9 @@
1
- "use client";
1
+ 'use client';
2
2
 
3
- import { useState, useTransition } from "react";
4
- import { Slot, useRefetch } from "waku/client";
3
+ import { useState, useTransition } from 'react';
4
+ import { Slot, useRefetch } from 'waku/client';
5
5
 
6
- export const Counter = ({ enableInnerApp = false }) => {
6
+ export const Counter = ({ enableInnerApp }: { enableInnerApp?: boolean }) => {
7
7
  const [count, setCount] = useState(0);
8
8
  const [isPending, startTransition] = useTransition();
9
9
  const refetch = useRefetch();
@@ -13,7 +13,7 @@ export const Counter = ({ enableInnerApp = false }) => {
13
13
  const nextCount = count + 1;
14
14
  setCount(nextCount);
15
15
  if (enableInnerApp) {
16
- refetch("InnerApp=" + nextCount);
16
+ refetch('InnerApp=' + nextCount);
17
17
  }
18
18
  });
19
19
  } else {
@@ -21,10 +21,10 @@ export const Counter = ({ enableInnerApp = false }) => {
21
21
  }
22
22
  };
23
23
  return (
24
- <div style={{ border: "3px blue dashed", margin: "1em", padding: "1em" }}>
24
+ <div style={{ border: '3px blue dashed', margin: '1em', padding: '1em' }}>
25
25
  <p>Count: {count}</p>
26
- <button onClick={handleClick}>Increment</button>{" "}
27
- {isPending && "Pending..."}
26
+ <button onClick={handleClick}>Increment</button>{' '}
27
+ {isPending && 'Pending...'}
28
28
  <h3>This is a client component.</h3>
29
29
  {enableInnerApp && <Slot id="InnerApp" />}
30
30
  </div>
@@ -1,8 +1,8 @@
1
- import { Counter } from "./Counter.js";
1
+ import { Counter } from './Counter.js';
2
2
 
3
- const InnerApp = ({ count = -1 }) => {
3
+ const InnerApp = ({ count }: { count: number }) => {
4
4
  return (
5
- <div style={{ border: "3px red dashed", margin: "1em", padding: "1em" }}>
5
+ <div style={{ border: '3px red dashed', margin: '1em', padding: '1em' }}>
6
6
  <h3>This is another server component.</h3>
7
7
  <p>The outer count is {count}.</p>
8
8
  <Counter />
@@ -1,49 +1,49 @@
1
- import { lazy } from "react";
2
- import type { ReactNode } from "react";
1
+ import { lazy } from 'react';
2
+ import type { ReactNode } from 'react';
3
+ import { defineEntries } from 'waku/server';
4
+ import { Slot } from 'waku/client';
3
5
 
4
- import { defineEntries } from "waku/server";
5
-
6
- const App = lazy(() => import("./components/App.js"));
7
- const InnerApp = lazy(() => import("./components/InnerApp.js"));
6
+ const App = lazy(() => import('./components/App.js'));
7
+ const InnerApp = lazy(() => import('./components/InnerApp.js'));
8
8
 
9
9
  export default defineEntries(
10
10
  // renderEntries
11
11
  async (input) => {
12
- const params = new URLSearchParams(input || "App=Waku&InnerApp=0");
12
+ const params = new URLSearchParams(input || 'App=Waku&InnerApp=0');
13
13
  const result: Record<string, ReactNode> = {};
14
- if (params.has("App")) {
15
- result.App = <App name={params.get("App")!} />;
14
+ if (params.has('App')) {
15
+ result.App = <App name={params.get('App')!} />;
16
16
  }
17
- if (params.has("InnerApp")) {
18
- result.InnerApp = <InnerApp count={Number(params.get("InnerApp"))} />;
17
+ if (params.has('InnerApp')) {
18
+ result.InnerApp = <InnerApp count={Number(params.get('InnerApp'))} />;
19
19
  }
20
20
  return result;
21
21
  },
22
22
  // getBuildConfig
23
23
  async () => {
24
24
  return {
25
- "/": {
25
+ '/': {
26
26
  entries: [
27
- [""],
28
- ["InnerApp=1", true],
29
- ["InnerApp=2", true],
30
- ["InnerApp=3", true],
31
- ["InnerApp=4", true],
32
- ["InnerApp=5", true],
27
+ [''],
28
+ ['InnerApp=1', true],
29
+ ['InnerApp=2', true],
30
+ ['InnerApp=3', true],
31
+ ['InnerApp=4', true],
32
+ ['InnerApp=5', true],
33
33
  ],
34
34
  },
35
35
  };
36
36
  },
37
37
  // getSsrConfig
38
- () => ({
39
- getInput: async (pathStr) => {
40
- switch (pathStr) {
41
- case "/":
42
- return "App=Waku";
43
- default:
44
- return null;
45
- }
46
- },
47
- filter: (elements) => elements.App,
48
- }),
38
+ async (pathStr) => {
39
+ switch (pathStr) {
40
+ case '/':
41
+ return {
42
+ input: '',
43
+ unstable_render: () => <Slot id="App" />,
44
+ };
45
+ default:
46
+ return null;
47
+ }
48
+ },
49
49
  );
@@ -3,6 +3,7 @@
3
3
  <head>
4
4
  <meta charset="utf-8" />
5
5
  <title>Waku example</title>
6
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
6
7
  <style>
7
8
  @keyframes spinner {
8
9
  to {
@@ -1,6 +1,6 @@
1
- import { StrictMode } from "react";
2
- import { createRoot } from "react-dom/client";
3
- import { Root, Slot } from "waku/client";
1
+ import { StrictMode } from 'react';
2
+ import { createRoot, hydrateRoot } from 'react-dom/client';
3
+ import { Root, Slot } from 'waku/client';
4
4
 
5
5
  const rootElement = (
6
6
  <StrictMode>
@@ -10,4 +10,8 @@ const rootElement = (
10
10
  </StrictMode>
11
11
  );
12
12
 
13
- createRoot(document.getElementById("root")!).render(rootElement);
13
+ if ((globalThis as any).__WAKU_SSR_ENABLED__) {
14
+ hydrateRoot(document.getElementById('root')!, rootElement);
15
+ } else {
16
+ createRoot(document.getElementById('root')!).render(rootElement);
17
+ }
@@ -9,7 +9,7 @@
9
9
  "noUncheckedIndexedAccess": true,
10
10
  "exactOptionalPropertyTypes": true,
11
11
  "jsx": "react-jsx",
12
- "outDir": "./dist",
13
- "rootDir": "./src"
12
+ "rootDir": "./src",
13
+ "outDir": "./dist"
14
14
  }
15
15
  }
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es5.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2023.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.dom.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.scripthost.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.disposable.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.decorators.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../../node_modules/.pnpm/typescript@5.2.2/node_modules/typescript/lib/lib.esnext.full.d.ts","../../../../node_modules/.pnpm/@types+react@18.2.37/node_modules/@types/react/global.d.ts","../../../../node_modules/.pnpm/csstype@3.1.2/node_modules/csstype/index.d.ts","../../../../node_modules/.pnpm/@types+prop-types@15.7.10/node_modules/@types/prop-types/index.d.ts","../../../../node_modules/.pnpm/@types+scheduler@0.16.6/node_modules/@types/scheduler/tracing.d.ts","../../../../node_modules/.pnpm/@types+react@18.2.37/node_modules/@types/react/index.d.ts","../../../../node_modules/.pnpm/@types+react@18.2.37/node_modules/@types/react/jsx-runtime.d.ts","../../vite.config.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/assert.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/assert/strict.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/globals.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/async_hooks.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/buffer.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/child_process.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/cluster.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/console.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/constants.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/crypto.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/dgram.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/diagnostics_channel.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/dns.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/dns/promises.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/domain.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/dom-events.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/events.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/fs.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/fs/promises.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/http.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/http2.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/https.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/inspector.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/module.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/net.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/os.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/path.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/perf_hooks.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/process.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/punycode.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/querystring.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/readline.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/readline/promises.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/repl.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/stream.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/stream/promises.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/stream/consumers.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/stream/web.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/string_decoder.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/test.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/timers.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/timers/promises.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/tls.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/trace_events.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/tty.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/url.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/util.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/v8.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/vm.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/wasi.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/worker_threads.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/zlib.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/globals.global.d.ts","../../../../node_modules/.pnpm/@types+node@20.9.0/node_modules/@types/node/index.d.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"bed7b7ba0eb5a160b69af72814b4dde371968e40b6c5e73d3a9f7bee407d158c","impliedFormat":1},{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true,"impliedFormat":1},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true,"impliedFormat":1},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true,"impliedFormat":1},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true,"impliedFormat":1},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true,"impliedFormat":1},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true,"impliedFormat":1},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true,"impliedFormat":1},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true,"impliedFormat":1},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true,"impliedFormat":1},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true,"impliedFormat":1},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true,"impliedFormat":1},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"65be38e881453e16f128a12a8d36f8b012aa279381bf3d4dc4332a4905ceec83","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true,"impliedFormat":1},{"version":"e1913f656c156a9e4245aa111fbb436d357d9e1fe0379b9a802da7fe3f03d736","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7823c8aa42d88e6cb454fe7dc56996c6fd174b28a9f050e9bdea1c25b7d114ea","impliedFormat":1},{"version":"0bd5e7096c7bc02bf70b2cc017fc45ef489cb19bd2f32a71af39ff5787f1b56a","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c68749a564a6facdf675416d75789ee5a557afda8960e0803cf6711fa569288","impliedFormat":1},{"version":"8c6aac56e9dddb1f02d8e75478b79da0d25a1d0e38e75d5b8947534f61f3785e","impliedFormat":1},{"version":"5f8f00356f6a82e21493b2d57b2178f11b00cf8960df00bd37bdcae24c9333ca","impliedFormat":1},{"version":"26ec95a0b0ebe0e216b7e9a64a26d943a0f9ea3dac4b546385fb6092e0e9ceb9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2879a055439b6c0c0132a1467120a0f85b56b5d735c973ad235acd958b1b5345","impliedFormat":1},{"version":"99b47e30e66cdd9fd984d0694f1ed4b7c7f7f40a5b458ab76397cb536ff07841","signature":"fea666bc7cf81c3dbf1cbc35a3cffdbaa703c52448689624c281b28ea6fc0b51","impliedFormat":99},{"version":"09df3b4f1c937f02e7fee2836d4c4d7a63e66db70fd4d4e97126f4542cc21d9d","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true,"impliedFormat":1},{"version":"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c","impliedFormat":1},{"version":"5a856afb15f9dc9983faa391dde989826995a33983c1cccb173e9606688e9709","affectsGlobalScope":true,"impliedFormat":1},{"version":"546ab07e19116d935ad982e76a223275b53bff7771dab94f433b7ab04652936e","impliedFormat":1},{"version":"7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba","impliedFormat":1},{"version":"aefb5a4a209f756b580eb53ea771cca8aad411603926f307a5e5b8ec6b16dcf6","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"f5a8b7ec4b798c88679194a8ebc25dcb6f5368e6e5811fcda9fe12b0d445b8db","impliedFormat":1},{"version":"b86e1a45b29437f3a99bad4147cb9fe2357617e8008c0484568e5bb5138d6e13","impliedFormat":1},{"version":"b5b719a47968cd61a6f83f437236bb6fe22a39223b6620da81ef89f5d7a78fb7","impliedFormat":1},{"version":"42c431e7965b641106b5e25ab3283aa4865ca7bb9909610a2abfa6226e4348be","impliedFormat":1},{"version":"0b7e732af0a9599be28c091d6bd1cb22c856ec0d415d4749c087c3881ca07a56","impliedFormat":1},{"version":"b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d6138a264ddc6f94f16e99d4e117a2d6eb31b217891cf091b6437a2f114d561","affectsGlobalScope":true,"impliedFormat":1},{"version":"3b4c85eea12187de9929a76792b98406e8778ce575caca8c574f06da82622c54","impliedFormat":1},{"version":"f788131a39c81e0c9b9e463645dd7132b5bc1beb609b0e31e5c1ceaea378b4df","impliedFormat":1},{"version":"0c236069ce7bded4f6774946e928e4b3601894d294054af47a553f7abcafe2c1","impliedFormat":1},{"version":"21894466693f64957b9bd4c80fa3ec7fdfd4efa9d1861e070aca23f10220c9b2","impliedFormat":1},{"version":"396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","impliedFormat":1},{"version":"21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac","impliedFormat":1},{"version":"6ec93c745c5e3e25e278fa35451bf18ef857f733de7e57c15e7920ac463baa2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","impliedFormat":1},{"version":"30c2ec6abf6aaa60eb4f32fb1235531506b7961c6d1bdc7430711aec8fd85295","impliedFormat":1},{"version":"0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7","impliedFormat":1},{"version":"308b84e1943ef30015469770e931eb21b795348893b2a6562ca54ea8f0b3c41c","affectsGlobalScope":true,"impliedFormat":1},{"version":"d48009cbe8a30a504031cc82e1286f78fed33b7a42abf7602c23b5547b382563","affectsGlobalScope":true,"impliedFormat":1},{"version":"7aaeb5e62f90e1b2be0fc4844df78cdb1be15c22b427bc6c39d57308785b8f10","impliedFormat":1},{"version":"3ba30205a029ebc0c91d7b1ab4da73f6277d730ca1fc6692d5a9144c6772c76b","impliedFormat":1},{"version":"d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","impliedFormat":1},{"version":"8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","impliedFormat":1},{"version":"01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","impliedFormat":1},{"version":"458b216959c231df388a5de9dcbcafd4b4ca563bc3784d706d0455467d7d4942","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"f8c87b19eae111f8720b0345ab301af8d81add39621b63614dfc2d15fd6f140a","impliedFormat":1},{"version":"831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12","impliedFormat":1},{"version":"24ba151e213906027e2b1f5223d33575a3612b0234a0e2b56119520bbe0e594b","affectsGlobalScope":true,"impliedFormat":1},{"version":"cbf046714f3a3ba2544957e1973ac94aa819fa8aa668846fa8de47eb1c41b0b2","affectsGlobalScope":true,"impliedFormat":1},{"version":"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","impliedFormat":1},{"version":"eae74e3d50820f37c72c0679fed959cd1e63c98f6a146a55b8c4361582fa6a52","impliedFormat":1},{"version":"7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","impliedFormat":1},{"version":"7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df","impliedFormat":1},{"version":"aed89e3c18f4c659ee8153a76560dffda23e2d801e1e60d7a67abd84bc555f8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ed13c80faeb2b7160bffb4926ff299c468e67a37a645b3ae0917ba0db633c1b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","impliedFormat":1},{"version":"2f940651c2f30e6b29f8743fae3f40b7b1c03615184f837132b56ea75edad08b","impliedFormat":1},{"version":"5749c327c3f789f658072f8340786966c8b05ea124a56c1d8d60e04649495a4d","impliedFormat":1},{"version":"c9d62b2a51b2ff166314d8be84f6881a7fcbccd37612442cf1c70d27d5352f50","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1}],"root":[75],"options":{"composite":true,"downlevelIteration":true,"esModuleInterop":true,"exactOptionalPropertyTypes":true,"jsx":4,"module":199,"noUncheckedIndexedAccess":true,"outDir":"./","skipLibCheck":true,"strict":true,"target":99},"fileIdsList":[[74,134,153,154],[76,154],[111,154],[112,117,145,154],[113,124,125,132,142,153,154],[113,114,124,132,154],[115,154],[116,117,125,133,154],[117,142,150,154],[118,120,124,132,154],[119,154],[120,121,154],[124,154],[122,124,154],[111,124,154],[124,125,126,142,153,154],[124,125,126,139,142,145,154],[109,154,158],[154],[120,124,127,132,142,153,154],[124,125,127,128,132,142,150,153,154],[127,129,142,150,153,154],[76,77,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160],[124,130,154],[131,153,154,158],[120,124,132,142,154],[133,154],[134,154],[111,135,154],[136,152,154,158],[137,154],[138,154],[124,139,140,154],[139,141,154,156],[112,124,142,143,144,145,154],[112,142,144,154],[142,143,154],[145,154],[146,154],[111,142,154],[124,148,149,154],[148,149,154],[117,132,142,150,154],[151,154],[132,152,154],[112,127,138,153,154],[117,154],[142,154,155],[131,154,156],[154,157],[112,117,124,126,135,142,153,154,156,158],[142,154,159],[69,70,71,72,154],[73,154],[86,90,153,154],[86,142,153,154],[81,154],[83,86,150,153,154],[132,150,154],[154,161],[81,154,161],[83,86,132,153,154],[78,79,82,85,112,124,142,153,154],[78,84,154],[82,86,112,145,153,154,161],[112,154,161],[102,112,154,161],[80,81,154,161],[86,154],[80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,103,104,105,106,107,108,154],[86,93,94,154],[84,86,94,95,154],[85,154],[78,81,86,154],[86,90,94,95,154],[90,154],[84,86,89,153,154],[78,83,84,86,90,93,154],[112,142,154],[81,86,102,112,154,158,161]],"referencedMap":[[75,1],[76,2],[77,2],[111,3],[112,4],[113,5],[114,6],[115,7],[116,8],[117,9],[118,10],[119,11],[120,12],[121,12],[123,13],[122,14],[124,15],[125,16],[126,17],[110,18],[160,19],[127,20],[128,21],[129,22],[161,23],[130,24],[131,25],[132,26],[133,27],[134,28],[135,29],[136,30],[137,31],[138,32],[139,33],[140,33],[141,34],[142,35],[144,36],[143,37],[145,38],[146,39],[147,40],[148,41],[149,42],[150,43],[151,44],[152,45],[153,46],[154,47],[155,48],[156,49],[157,50],[158,51],[159,52],[71,19],[69,19],[73,53],[74,54],[72,19],[70,19],[66,19],[67,19],[12,19],[13,19],[17,19],[16,19],[2,19],[18,19],[19,19],[20,19],[21,19],[22,19],[23,19],[24,19],[25,19],[3,19],[4,19],[26,19],[30,19],[27,19],[28,19],[29,19],[31,19],[32,19],[33,19],[5,19],[34,19],[35,19],[36,19],[37,19],[6,19],[41,19],[38,19],[39,19],[40,19],[42,19],[7,19],[43,19],[48,19],[49,19],[44,19],[45,19],[46,19],[47,19],[8,19],[53,19],[50,19],[51,19],[52,19],[54,19],[9,19],[55,19],[56,19],[57,19],[60,19],[58,19],[59,19],[61,19],[62,19],[10,19],[1,19],[11,19],[65,19],[64,19],[68,19],[63,19],[15,19],[14,19],[93,55],[100,56],[92,55],[107,57],[84,58],[83,59],[106,60],[101,61],[104,62],[86,63],[85,64],[81,65],[80,66],[103,67],[82,68],[87,69],[88,19],[91,69],[78,19],[109,70],[108,69],[95,71],[96,72],[98,73],[94,74],[97,75],[102,60],[89,76],[90,77],[99,78],[79,79],[105,80]],"exportedModulesMap":[[76,2],[77,2],[111,3],[112,4],[113,5],[114,6],[115,7],[116,8],[117,9],[118,10],[119,11],[120,12],[121,12],[123,13],[122,14],[124,15],[125,16],[126,17],[110,18],[160,19],[127,20],[128,21],[129,22],[161,23],[130,24],[131,25],[132,26],[133,27],[134,28],[135,29],[136,30],[137,31],[138,32],[139,33],[140,33],[141,34],[142,35],[144,36],[143,37],[145,38],[146,39],[147,40],[148,41],[149,42],[150,43],[151,44],[152,45],[153,46],[154,47],[155,48],[156,49],[157,50],[158,51],[159,52],[71,19],[69,19],[73,53],[74,54],[72,19],[70,19],[66,19],[67,19],[12,19],[13,19],[17,19],[16,19],[2,19],[18,19],[19,19],[20,19],[21,19],[22,19],[23,19],[24,19],[25,19],[3,19],[4,19],[26,19],[30,19],[27,19],[28,19],[29,19],[31,19],[32,19],[33,19],[5,19],[34,19],[35,19],[36,19],[37,19],[6,19],[41,19],[38,19],[39,19],[40,19],[42,19],[7,19],[43,19],[48,19],[49,19],[44,19],[45,19],[46,19],[47,19],[8,19],[53,19],[50,19],[51,19],[52,19],[54,19],[9,19],[55,19],[56,19],[57,19],[60,19],[58,19],[59,19],[61,19],[62,19],[10,19],[1,19],[11,19],[65,19],[64,19],[68,19],[63,19],[15,19],[14,19],[93,55],[100,56],[92,55],[107,57],[84,58],[83,59],[106,60],[101,61],[104,62],[86,63],[85,64],[81,65],[80,66],[103,67],[82,68],[87,69],[88,19],[91,69],[78,19],[109,70],[108,69],[95,71],[96,72],[98,73],[94,74],[97,75],[102,60],[89,76],[90,77],[99,78],[79,79],[105,80]],"semanticDiagnosticsPerFile":[75,76,77,111,112,113,114,115,116,117,118,119,120,121,123,122,124,125,126,110,160,127,128,129,161,130,131,132,133,134,135,136,137,138,139,140,141,142,144,143,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,71,69,73,74,72,70,66,67,12,13,17,16,2,18,19,20,21,22,23,24,25,3,4,26,30,27,28,29,31,32,33,5,34,35,36,37,6,41,38,39,40,42,7,43,48,49,44,45,46,47,8,53,50,51,52,54,9,55,56,57,60,58,59,61,62,10,1,11,65,64,68,63,15,14,93,100,92,107,84,83,106,101,104,86,85,81,80,103,82,87,88,91,78,109,108,95,96,98,94,97,102,89,90,99,79,105],"latestChangedDtsFile":"./vite.config.d.ts"},"version":"5.2.2"}
@@ -1,2 +1,15 @@
1
- declare const _default: import("waku/config").ExtendedUserConfig | Promise<import("waku/config").ExtendedUserConfig> | ((env: import("vite").ConfigEnv) => import("waku/config").ExtendedUserConfig) | ((env: import("vite").ConfigEnv) => Promise<import("waku/config").ExtendedUserConfig>);
1
+ /** @type {import('vite').UserConfig} */
2
+ declare const _default: {
3
+ ssr: {
4
+ external: string[];
5
+ };
6
+ build: {
7
+ rollupOptions: {
8
+ output: {
9
+ preserveModules: boolean;
10
+ preserveModulesRoot: string;
11
+ };
12
+ };
13
+ };
14
+ };
2
15
  export default _default;
@@ -1,8 +1,11 @@
1
- import url from "node:url";
2
- import path from "node:path";
3
- import { defineConfig } from "waku/config";
4
- const modulesRoot = path.join(path.dirname(url.fileURLToPath(import.meta.url)), "src");
5
- export default defineConfig({
1
+ import url from 'node:url';
2
+ import path from 'node:path';
3
+ const modulesRoot = path.join(path.dirname(url.fileURLToPath(import.meta.url)), 'src');
4
+ /** @type {import('vite').UserConfig} */
5
+ export default {
6
+ ssr: {
7
+ external: ['glob'],
8
+ },
6
9
  build: {
7
10
  rollupOptions: {
8
11
  output: {
@@ -13,4 +16,4 @@ export default defineConfig({
13
16
  },
14
17
  },
15
18
  },
16
- });
19
+ };
@@ -1,8 +1,8 @@
1
- "use client";
1
+ 'use client';
2
2
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- import { Link } from "waku/router/client";
3
+ import { useState } from 'react';
4
+ import { Link } from 'waku/router/client';
5
5
  export const Counter = () => {
6
6
  const [count, setCount] = useState(0);
7
- return (_jsxs("div", { style: { border: "3px blue dashed", margin: "1em", padding: "1em" }, children: [_jsxs("p", { children: ["Count: ", count] }), _jsx("button", { onClick: () => setCount((c) => c + 1), children: "Increment" }), _jsx("h3", { children: "This is a client component." }), _jsx(Link, { href: "/", children: "Go to Home" })] }));
7
+ return (_jsxs("div", { style: { border: '3px blue dashed', margin: '1em', padding: '1em' }, children: [_jsxs("p", { children: ["Count: ", count] }), _jsx("button", { onClick: () => setCount((c) => c + 1), children: "Increment" }), _jsx("h3", { children: "This is a client component." }), _jsx(Link, { href: "/", children: "Go to Home" })] }));
8
8
  };
@@ -1,4 +1,4 @@
1
- import type { ReactNode, FunctionComponent } from "react";
1
+ import type { ReactNode, FunctionComponent } from 'react';
2
2
  interface Props {
3
3
  fallback: (error: unknown) => ReactNode;
4
4
  children: ReactNode;
@@ -1,4 +1,4 @@
1
- import { Component } from "react";
1
+ import { Component } from 'react';
2
2
  class ErrorBoundaryClass extends Component {
3
3
  constructor(props) {
4
4
  super(props);
@@ -8,7 +8,7 @@ class ErrorBoundaryClass extends Component {
8
8
  return { error };
9
9
  }
10
10
  render() {
11
- if ("error" in this.state) {
11
+ if ('error' in this.state) {
12
12
  return this.props.fallback(this.state.error);
13
13
  }
14
14
  return this.props.children;
@@ -1,8 +1,8 @@
1
- import url from "node:url";
2
- import path from "node:path";
3
- import { glob } from "glob";
4
- import { defineRouter } from "waku/router/server";
5
- const routesDir = path.join(path.dirname(url.fileURLToPath(import.meta.url)), "routes");
1
+ import url from 'node:url';
2
+ import path from 'node:path';
3
+ import { glob } from 'glob';
4
+ import { defineRouter } from 'waku/router/server';
5
+ const routesDir = path.join(path.dirname(url.fileURLToPath(import.meta.url)), 'routes');
6
6
  export default defineRouter(
7
7
  // getComponent (id is "**/layout" or "**/page")
8
8
  async (id) => {
@@ -10,7 +10,7 @@ async (id) => {
10
10
  if (files.length === 0) {
11
11
  return null;
12
12
  }
13
- const items = id.split("/");
13
+ const items = id.split('/');
14
14
  switch (items.length) {
15
15
  case 1:
16
16
  return import(`./routes/${items[0]}.tsx`);
@@ -19,11 +19,11 @@ async (id) => {
19
19
  case 3:
20
20
  return import(`./routes/${items[0]}/${items[1]}/${items[2]}.tsx`);
21
21
  default:
22
- throw new Error("too deep route");
22
+ throw new Error('too deep route');
23
23
  }
24
24
  },
25
25
  // getPathsForBuild
26
26
  async () => {
27
- const files = await glob("**/page.{tsx,js}", { cwd: routesDir });
28
- return files.map((file) => "/" + file.slice(0, Math.max(0, file.lastIndexOf("/"))));
27
+ const files = await glob('**/page.{tsx,js}', { cwd: routesDir });
28
+ return files.map((file) => '/' + file.slice(0, Math.max(0, file.lastIndexOf('/'))));
29
29
  });