@hozu/cli 0.7.0 → 0.9.0

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/cdp.d.ts.map +1 -1
  2. package/dist/cdp.js +1 -0
  3. package/dist/cdp.js.map +1 -1
  4. package/dist/commands/add-component.d.ts +5 -0
  5. package/dist/commands/add-component.d.ts.map +1 -0
  6. package/dist/commands/add-component.js +125 -0
  7. package/dist/commands/add-component.js.map +1 -0
  8. package/dist/commands/add-kit.d.ts +2 -0
  9. package/dist/commands/add-kit.d.ts.map +1 -0
  10. package/dist/commands/add-kit.js +20 -0
  11. package/dist/commands/add-kit.js.map +1 -0
  12. package/dist/commands/add-widget.d.ts.map +1 -1
  13. package/dist/commands/add-widget.js +4 -5
  14. package/dist/commands/add-widget.js.map +1 -1
  15. package/dist/commands/add.d.ts +1 -0
  16. package/dist/commands/add.d.ts.map +1 -1
  17. package/dist/commands/add.js +5 -11
  18. package/dist/commands/add.js.map +1 -1
  19. package/dist/commands/app.d.ts +27 -0
  20. package/dist/commands/app.d.ts.map +1 -0
  21. package/dist/commands/app.js +148 -0
  22. package/dist/commands/app.js.map +1 -0
  23. package/dist/commands/browse-page.d.ts +2 -0
  24. package/dist/commands/browse-page.d.ts.map +1 -0
  25. package/dist/commands/browse-page.js +228 -0
  26. package/dist/commands/browse-page.js.map +1 -0
  27. package/dist/commands/browse-tab.d.ts +80 -0
  28. package/dist/commands/browse-tab.d.ts.map +1 -0
  29. package/dist/commands/browse-tab.js +431 -0
  30. package/dist/commands/browse-tab.js.map +1 -0
  31. package/dist/commands/browse-world.d.ts +36 -0
  32. package/dist/commands/browse-world.d.ts.map +1 -0
  33. package/dist/commands/browse-world.js +108 -0
  34. package/dist/commands/browse-world.js.map +1 -0
  35. package/dist/commands/browse.d.ts +24 -3
  36. package/dist/commands/browse.d.ts.map +1 -1
  37. package/dist/commands/browse.js +343 -409
  38. package/dist/commands/browse.js.map +1 -1
  39. package/dist/commands/build.js +8 -8
  40. package/dist/commands/build.js.map +1 -1
  41. package/dist/commands/check.d.ts +1 -2
  42. package/dist/commands/check.d.ts.map +1 -1
  43. package/dist/commands/check.js +34 -28
  44. package/dist/commands/check.js.map +1 -1
  45. package/dist/commands/components.d.ts +21 -0
  46. package/dist/commands/components.d.ts.map +1 -0
  47. package/dist/commands/components.js +143 -0
  48. package/dist/commands/components.js.map +1 -0
  49. package/dist/commands/docs.d.ts +2 -2
  50. package/dist/commands/docs.d.ts.map +1 -1
  51. package/dist/commands/docs.js +15 -3
  52. package/dist/commands/docs.js.map +1 -1
  53. package/dist/commands/explain.js +1 -1
  54. package/dist/commands/explain.js.map +1 -1
  55. package/dist/commands/graph.js +2 -2
  56. package/dist/commands/graph.js.map +1 -1
  57. package/dist/commands/impact.d.ts +3 -2
  58. package/dist/commands/impact.d.ts.map +1 -1
  59. package/dist/commands/impact.js +8 -3
  60. package/dist/commands/impact.js.map +1 -1
  61. package/dist/commands/inspect.d.ts +1 -1
  62. package/dist/commands/inspect.d.ts.map +1 -1
  63. package/dist/commands/inspect.js +7 -1
  64. package/dist/commands/inspect.js.map +1 -1
  65. package/dist/commands/kits.d.ts +16 -0
  66. package/dist/commands/kits.d.ts.map +1 -0
  67. package/dist/commands/kits.js +172 -0
  68. package/dist/commands/kits.js.map +1 -0
  69. package/dist/commands/map.d.ts +12 -0
  70. package/dist/commands/map.d.ts.map +1 -1
  71. package/dist/commands/map.js +101 -5
  72. package/dist/commands/map.js.map +1 -1
  73. package/dist/commands/migrate-agent.d.ts +12 -0
  74. package/dist/commands/migrate-agent.d.ts.map +1 -0
  75. package/dist/commands/migrate-agent.js +6 -0
  76. package/dist/commands/migrate-agent.js.map +1 -0
  77. package/dist/commands/migrate-app.d.ts +15 -0
  78. package/dist/commands/migrate-app.d.ts.map +1 -0
  79. package/dist/commands/migrate-app.js +334 -0
  80. package/dist/commands/migrate-app.js.map +1 -0
  81. package/dist/commands/migrate-ast.d.ts +63 -0
  82. package/dist/commands/migrate-ast.d.ts.map +1 -0
  83. package/dist/commands/migrate-ast.js +257 -0
  84. package/dist/commands/migrate-ast.js.map +1 -0
  85. package/dist/commands/migrate-forms.d.ts +4 -0
  86. package/dist/commands/migrate-forms.d.ts.map +1 -0
  87. package/dist/commands/migrate-forms.js +120 -0
  88. package/dist/commands/migrate-forms.js.map +1 -0
  89. package/dist/commands/migrate-freshness.d.ts +4 -0
  90. package/dist/commands/migrate-freshness.d.ts.map +1 -0
  91. package/dist/commands/migrate-freshness.js +47 -0
  92. package/dist/commands/migrate-freshness.js.map +1 -0
  93. package/dist/commands/migrate-head.d.ts +8 -0
  94. package/dist/commands/migrate-head.d.ts.map +1 -0
  95. package/dist/commands/migrate-head.js +132 -0
  96. package/dist/commands/migrate-head.js.map +1 -0
  97. package/dist/commands/migrate-links.d.ts +5 -0
  98. package/dist/commands/migrate-links.d.ts.map +1 -0
  99. package/dist/commands/migrate-links.js +55 -0
  100. package/dist/commands/migrate-links.js.map +1 -0
  101. package/dist/commands/migrate-lists.d.ts +9 -0
  102. package/dist/commands/migrate-lists.d.ts.map +1 -0
  103. package/dist/commands/migrate-lists.js +225 -0
  104. package/dist/commands/migrate-lists.js.map +1 -0
  105. package/dist/commands/migrate-normalize.d.ts +27 -0
  106. package/dist/commands/migrate-normalize.d.ts.map +1 -0
  107. package/dist/commands/migrate-normalize.js +252 -0
  108. package/dist/commands/migrate-normalize.js.map +1 -0
  109. package/dist/commands/migrate-ops.d.ts +4 -0
  110. package/dist/commands/migrate-ops.d.ts.map +1 -0
  111. package/dist/commands/migrate-ops.js +192 -0
  112. package/dist/commands/migrate-ops.js.map +1 -0
  113. package/dist/commands/migrate-parts.d.ts +7 -0
  114. package/dist/commands/migrate-parts.d.ts.map +1 -0
  115. package/dist/commands/migrate-parts.js +166 -0
  116. package/dist/commands/migrate-parts.js.map +1 -0
  117. package/dist/commands/migrate-stale.d.ts +24 -0
  118. package/dist/commands/migrate-stale.d.ts.map +1 -0
  119. package/dist/commands/migrate-stale.js +114 -0
  120. package/dist/commands/migrate-stale.js.map +1 -0
  121. package/dist/commands/migrate.d.ts +21 -0
  122. package/dist/commands/migrate.d.ts.map +1 -0
  123. package/dist/commands/migrate.js +358 -0
  124. package/dist/commands/migrate.js.map +1 -0
  125. package/dist/commands/plan.d.ts.map +1 -1
  126. package/dist/commands/plan.js +2 -6
  127. package/dist/commands/plan.js.map +1 -1
  128. package/dist/commands/render.d.ts +10 -0
  129. package/dist/commands/render.d.ts.map +1 -0
  130. package/dist/commands/render.js +79 -0
  131. package/dist/commands/render.js.map +1 -0
  132. package/dist/commands/request.d.ts +13 -16
  133. package/dist/commands/request.d.ts.map +1 -1
  134. package/dist/commands/request.js +140 -161
  135. package/dist/commands/request.js.map +1 -1
  136. package/dist/commands/scaffold.d.ts.map +1 -1
  137. package/dist/commands/scaffold.js +10 -8
  138. package/dist/commands/scaffold.js.map +1 -1
  139. package/dist/commands/seed-lock.d.ts +2 -0
  140. package/dist/commands/seed-lock.d.ts.map +1 -0
  141. package/dist/commands/seed-lock.js +6 -0
  142. package/dist/commands/seed-lock.js.map +1 -0
  143. package/dist/commands/serve.d.ts +6 -0
  144. package/dist/commands/serve.d.ts.map +1 -0
  145. package/dist/commands/serve.js +31 -0
  146. package/dist/commands/serve.js.map +1 -0
  147. package/dist/commands/skill.d.ts.map +1 -1
  148. package/dist/commands/skill.js +1 -2
  149. package/dist/commands/skill.js.map +1 -1
  150. package/dist/commands/validate.d.ts +13 -0
  151. package/dist/commands/validate.d.ts.map +1 -1
  152. package/dist/commands/validate.js +56 -9
  153. package/dist/commands/validate.js.map +1 -1
  154. package/dist/contract.d.ts +163 -11
  155. package/dist/contract.d.ts.map +1 -1
  156. package/dist/index.d.ts +1 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +1 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/main.d.ts +8 -0
  161. package/dist/main.d.ts.map +1 -1
  162. package/dist/main.js +159 -47
  163. package/dist/main.js.map +1 -1
  164. package/dist/output.d.ts.map +1 -1
  165. package/dist/output.js +40 -3
  166. package/dist/output.js.map +1 -1
  167. package/dist/render.d.ts.map +1 -1
  168. package/dist/render.js +5 -1
  169. package/dist/render.js.map +1 -1
  170. package/dist/styles.d.ts +12 -1
  171. package/dist/styles.d.ts.map +1 -1
  172. package/dist/styles.js +19 -9
  173. package/dist/styles.js.map +1 -1
  174. package/dist/uses.d.ts +6 -0
  175. package/dist/uses.d.ts.map +1 -0
  176. package/dist/uses.js +72 -0
  177. package/dist/uses.js.map +1 -0
  178. package/package.json +7 -7
  179. package/schema/browse.schema.json +184 -4
  180. package/schema/check.schema.json +114 -9
  181. package/schema/docs-components.schema.json +197 -0
  182. package/schema/impact.schema.json +107 -1
  183. package/schema/inspect.schema.json +341 -24
  184. package/schema/map.schema.json +90 -0
  185. package/schema/plan.schema.json +8 -22
  186. package/schema/render.schema.json +333 -0
  187. package/schema/request.schema.json +133 -8
  188. package/schema/skill.schema.json +22 -1
  189. package/schema/validate.schema.json +39 -8
package/dist/cdp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;AAEpF,MAAM,WAAW,GAAG;IAClB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACxF,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAyBD,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAa3C;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAkE5D"}
1
+ {"version":3,"file":"cdp.d.ts","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"AAKA,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAA;AAEpF,MAAM,WAAW,GAAG;IAClB,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IACxF,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAA;IAC5B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACvB;AAyBD,wBAAgB,WAAW,IAAI,MAAM,GAAG,IAAI,CAa3C;AAED,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,GAAG,CAmE5D"}
package/dist/cdp.js CHANGED
@@ -49,6 +49,7 @@ export function launch(browser, profile) {
49
49
  '--mute-audio',
50
50
  '--hide-scrollbars',
51
51
  '--enable-unsafe-swiftshader',
52
+ '--disable-features=Prerender2FallbackPrefetchSpecRules',
52
53
  'about:blank',
53
54
  ], { stdio: ['ignore', 'ignore', 'ignore', 'pipe', 'pipe'] });
54
55
  const input = child.stdio[3];
package/dist/cdp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cdp.js","sourceRoot":"","sources":["../src/cdp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { AddOutput } from '../contract.ts';
2
+ export declare const bundleSpec: (core: string | undefined) => string;
3
+ export declare function runAddComponent(cwd: string, config: string | undefined, owner: string | undefined, name: string | undefined, client: boolean): Promise<AddOutput>;
4
+ export declare function describeAddComponent(out: AddOutput, name: string, client: boolean): string;
5
+ //# sourceMappingURL=add-component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-component.d.ts","sourceRoot":"","sources":["../../src/commands/add-component.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAgC/C,eAAO,MAAM,UAAU,SAAU,MAAM,GAAG,SAAS,WAC2D,CAAA;AAI9G,wBAAsB,eAAe,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,SAAS,CAAC,CA8GpB;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAS1F"}
@@ -0,0 +1,125 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { readFile, writeFile } from 'node:fs/promises';
3
+ import { dirname, join, relative, resolve } from 'node:path';
4
+ import { HozuCliError } from '../errors.js';
5
+ import { addImport } from './add.js';
6
+ const declaration = (name, client) => client
7
+ ? `export const ${name} = ui.component({
8
+ tag: 'div',
9
+ props: z.object({}),
10
+ emits: {},
11
+ client: new URL('./${client}', import.meta.url),
12
+ load: 'visible',
13
+ render: () => ui.div({}, []),
14
+ })
15
+ `
16
+ : `export const ${name} = ui.component({
17
+ tag: 'div',
18
+ props: z.object({}),
19
+ children: true,
20
+ render: ({ children }) => ui.div({}, children),
21
+ })
22
+ `;
23
+ const clientModule = (name, from) => `import { implement } from '@hozu/core/component'
24
+ import type { ${name} } from './${from}'
25
+
26
+ export default implement<typeof ${name}>(({ el }) => {
27
+ el.dataset.ready = ''
28
+ return { destroy: () => el.replaceChildren() }
29
+ })
30
+ `;
31
+ export const bundleSpec = (core) => core === undefined ? 'latest' : core.startsWith('file:') ? core.replace(/hozu-core-/, 'hozu-bundle-') : core;
32
+ const lower = (name) => `${name[0].toLowerCase()}${name.slice(1)}`;
33
+ export async function runAddComponent(cwd, config, owner, name, client) {
34
+ if (!owner || !name || !/^[A-Z][A-Za-z0-9]*$/.test(name))
35
+ throw new HozuCliError('usage', 'Give the kit or feature and a PascalCase component name', [
36
+ 'hozu add component ui Badge',
37
+ 'hozu add component stations StationMap --client',
38
+ ]);
39
+ const root = dirname(resolve(cwd, config ?? 'hozu.config.ts'));
40
+ const feature = join(root, 'features', owner);
41
+ const kit = join(root, owner);
42
+ const inFeature = existsSync(feature);
43
+ if (!inFeature && !existsSync(join(kit, 'kit.ts')))
44
+ throw new HozuCliError('usage', `${owner} is neither a feature (features/${owner}) nor a kit (${owner}/kit.ts)`, [`hozu add kit ${owner}`, `hozu add feature ${owner}`]);
45
+ const dir = inFeature ? feature : kit;
46
+ const module = inFeature ? 'components.ts' : `${lower(name)}.ts`;
47
+ const out = {
48
+ created: [],
49
+ edited: [],
50
+ manual: [],
51
+ declarations: { component: [name] },
52
+ texts: [],
53
+ };
54
+ const file = client ? `${lower(name)}.client.ts` : null;
55
+ const write = async (path, text, created) => {
56
+ await writeFile(path, text);
57
+ (created ? out.created : out.edited).push(relative(cwd, path));
58
+ };
59
+ const target = join(dir, module);
60
+ if (file && existsSync(join(dir, file)))
61
+ throw new HozuCliError('usage', `${relative(cwd, join(dir, file))} already exists`, []);
62
+ if (!inFeature && existsSync(target))
63
+ throw new HozuCliError('usage', `${relative(cwd, target)} already exists`, []);
64
+ if (existsSync(target))
65
+ await write(target, `${await readFile(target, 'utf8')}\n${declaration(name, file)}`, false);
66
+ else
67
+ await write(target, `import { ui } from '@hozu/core'\nimport { z } from 'zod'\n\n${declaration(name, file)}`, true);
68
+ if (file)
69
+ await write(join(dir, file), clientModule(name, module), true);
70
+ const edit = async (path, change, manual) => {
71
+ const source = existsSync(path) ? await readFile(path, 'utf8') : null;
72
+ const next = source === null ? null : change(source);
73
+ if (next === null)
74
+ out.manual.push(`${relative(cwd, path)}: ${manual}`);
75
+ else if (next !== source)
76
+ await write(path, next, false);
77
+ };
78
+ if (inFeature) {
79
+ await edit(join(dir, 'views.ts'), (s) => addImport(s, `import { ${name} } from './components.ts'\n`), `import { ${name} } from './components.ts'`);
80
+ await edit(join(dir, 'feature.ts'), (s) => {
81
+ if (/import \* as components from '\.\/components\.ts'/.test(s))
82
+ return s;
83
+ const listed = s.replace(/declarations: \[([^\]]*)\]/, (_, list) => `declarations: [${list}, components]`);
84
+ return listed === s ? null : addImport(listed, "import * as components from './components.ts'\n");
85
+ }, "import * as components from './components.ts' and add components to the feature's declarations list");
86
+ }
87
+ else {
88
+ const ns = lower(name);
89
+ await edit(join(dir, 'kit.ts'), (s) => {
90
+ const listed = s.replace(/components: \[([^\]]*)\]/, (_, list) => `components: [${list.trim() ? `${list.trim()}, ` : ''}${ns}]`);
91
+ return listed === s ? null : addImport(listed, `import * as ${ns} from './${module}'\n`);
92
+ }, `import * as ${ns} from './${module}' and add ${ns} to the kit's components list`);
93
+ }
94
+ if (!client)
95
+ return out;
96
+ await edit(join(root, 'app.ts'), (s) => {
97
+ if (/components:\s*bundleComponents/.test(s))
98
+ return s;
99
+ const wired = s.replace(/(app\(\{\n)(\s*)/, '$1$2components: bundleComponents,\n$2');
100
+ return wired === s ? null : addImport(wired, "import { bundleComponents } from '@hozu/bundle'\n");
101
+ }, "pass components: bundleComponents to app() in app.ts (import { bundleComponents } from '@hozu/bundle')");
102
+ const pkg = join(root, 'package.json');
103
+ await edit(pkg, (s) => {
104
+ const json = JSON.parse(s);
105
+ const deps = json.dependencies ?? {};
106
+ if (deps['@hozu/bundle'])
107
+ return s;
108
+ json.dependencies = Object.fromEntries(Object.entries({ ...deps, '@hozu/bundle': bundleSpec(deps['@hozu/core']) }).sort(([a], [b]) => a.localeCompare(b)));
109
+ return `${JSON.stringify(json, null, 2)}\n`;
110
+ }, 'add @hozu/bundle to dependencies');
111
+ if (out.edited.includes(relative(cwd, pkg)))
112
+ out.manual.push('run npm install (adds @hozu/bundle)');
113
+ return out;
114
+ }
115
+ export function describeAddComponent(out, name, client) {
116
+ return `${[
117
+ ...out.created.map((f) => `created ${f}`),
118
+ ...out.edited.map((f) => `edited ${f}`),
119
+ ...out.manual.map((m) => `todo ${m}`),
120
+ client
121
+ ? `next place it in a view: ui.use(${name}, { props: {}, class: 'h-64 w-full' }); declare its props and emits, write the DOM code in the client module (a library's CSS goes in app.css), then hozu check`
122
+ : `next place it in a view: ui.use(${name}, {}, [...]); declare its props, styles and render, then hozu check`,
123
+ ].join('\n')}\n`;
124
+ }
125
+ //# sourceMappingURL=add-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-component.js","sourceRoot":"","sources":["../../src/commands/add-component.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=add-kit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-kit.d.ts","sourceRoot":"","sources":["../../src/commands/add-kit.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { parentPort, workerData } from 'node:worker_threads';
2
+ import { HozuCliError } from '../errors.js';
3
+ import { load } from '../load.js';
4
+ import { addKit } from './kits.js';
5
+ const { config, cwd, id, sync } = workerData;
6
+ try {
7
+ parentPort.postMessage({ out: await addKit(await load(config, cwd), cwd, id, sync) });
8
+ }
9
+ catch (error) {
10
+ parentPort.postMessage({
11
+ error: error instanceof HozuCliError
12
+ ? error.toJSON().error
13
+ : {
14
+ code: 'config',
15
+ message: error instanceof Error ? error.message : String(error),
16
+ suggestions: [],
17
+ },
18
+ });
19
+ }
20
+ //# sourceMappingURL=add-kit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-kit.js","sourceRoot":"","sources":["../../src/commands/add-kit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,UAKjC,CAAA;AACD,IAAI,CAAC;IACH,UAAW,CAAC,WAAW,CAAC,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;AACxF,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,UAAW,CAAC,WAAW,CAAC;QACtB,KAAK,EACH,KAAK,YAAY,YAAY;YAC3B,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK;YACtB,CAAC,CAAC;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,WAAW,EAAE,EAAE;aAChB;KACR,CAAC,CAAA;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"add-widget.d.ts","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAuB/C,eAAO,MAAM,UAAU,SAAU,MAAM,GAAG,SAAS,WAC2D,CAAA;AAE9G,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,SAAS,CAAC,CAiFpB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtE"}
1
+ {"version":3,"file":"add-widget.d.ts","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAuB/C,eAAO,MAAM,UAAU,SAAU,MAAM,GAAG,SAAS,WAC2D,CAAA;AAE9G,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,OAAO,CAAC,SAAS,CAAC,CA6EpB;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAOtE"}
@@ -59,13 +59,12 @@ export async function runAddWidget(cwd, config, feature, name) {
59
59
  const listed = s.replace(/declarations: \[([^\]]*)\]/, (_, list) => `declarations: [${list}, widgets]`);
60
60
  return listed === s ? null : addImport(listed, "import * as widgets from './widgets.ts'\n");
61
61
  }, "import * as widgets from './widgets.ts' and add widgets to the feature's declarations list");
62
- const serve = join(root, 'serve.ts');
63
- await edit(serve, (s) => {
64
- if (/bundleWidgets\s*\(/.test(s))
62
+ await edit(join(root, 'app.ts'), (s) => {
63
+ if (/widgets:\s*bundleWidgets/.test(s))
65
64
  return s;
66
- const wired = s.replace(/(create(?:Server|Handler)\(\{\n)(\s*)/, `$1$2widgets: await bundleWidgets(build),\n$2`);
65
+ const wired = s.replace(/(app\(\{\n)(\s*)/, '$1$2widgets: bundleWidgets,\n$2');
67
66
  return wired === s ? null : addImport(wired, "import { bundleWidgets } from '@hozu/bundle'\n");
68
- }, "pass widgets: await bundleWidgets(build) to createServer (import { bundleWidgets } from '@hozu/bundle')");
67
+ }, "pass widgets: bundleWidgets to app() in app.ts (import { bundleWidgets } from '@hozu/bundle')");
69
68
  const pkg = join(root, 'package.json');
70
69
  await edit(pkg, (s) => {
71
70
  const json = JSON.parse(s);
@@ -1 +1 @@
1
- {"version":3,"file":"add-widget.js","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-widget.js","sourceRoot":"","sources":["../../src/commands/add-widget.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { AddOutput } from '../contract.ts';
2
2
  export declare const addImport: (source: string, line: string) => string | null;
3
+ export declare const append: (source: string, pattern: RegExp, item: string) => string | null;
3
4
  export declare function runAddFeature(cwd: string, config: string | undefined, name: string | undefined, page: string | undefined, parts?: string | undefined): Promise<AddOutput>;
4
5
  export declare function declarationsOf(source: string): Record<string, string[]>;
5
6
  export declare function textsOf(source: string, file: string): AddOutput['texts'];
@@ -1 +1 @@
1
- {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAiB/C,eAAO,MAAM,SAAS,WAAY,MAAM,QAAQ,MAAM,KAAG,MAAM,GAAG,IAMjE,CAAA;AAgCD,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,GAAE,MAAM,GAAG,SAAqB,GACpC,OAAO,CAAC,SAAS,CAAC,CAuMpB;AAYD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAmBxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAgBlD"}
1
+ {"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAiB/C,eAAO,MAAM,SAAS,WAAY,MAAM,QAAQ,MAAM,KAAG,MAAM,GAAG,IAMjE,CAAA;AAwBD,eAAO,MAAM,MAAM,WAAY,MAAM,WAAW,MAAM,QAAQ,MAAM,KAAG,MAAM,GAAG,IAM/E,CAAA;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,KAAK,GAAE,MAAM,GAAG,SAAqB,GACpC,OAAO,CAAC,SAAS,CAAC,CA2LpB;AAYD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CASvE;AAED,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,CAmBxE;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAgBlD"}
@@ -1,4 +1,3 @@
1
- import { randomBytes } from 'node:crypto';
2
1
  import { existsSync } from 'node:fs';
3
2
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
4
3
  import { dirname, join, relative, resolve } from 'node:path';
@@ -39,7 +38,7 @@ const replacePage = (source, route, text) => {
39
38
  const end = callEnd(source, m.index + 'ui.page'.length);
40
39
  return end < 0 ? null : source.slice(0, m.index) + text + source.slice(end);
41
40
  };
42
- const append = (source, pattern, item) => {
41
+ export const append = (source, pattern, item) => {
43
42
  const m = pattern.exec(source);
44
43
  if (!m)
45
44
  return null;
@@ -124,7 +123,7 @@ export async function runAddFeature(cwd, config, name, page, parts = undefined)
124
123
  out.edited.push(relative(cwd, path));
125
124
  }
126
125
  };
127
- await edit('server.ts', (s) => {
126
+ await edit('app.ts', (s) => {
128
127
  const wired = s.replace(/resolvers\(project,\s*\((?:implement)?\)\s*=>\s*\[/, `resolvers(project, (implement) => [\n ${newAccount ? '...accountResolvers(implement),\n ' : ''}...${n.resolvers}(implement),`);
129
128
  if (wired === s)
130
129
  return null;
@@ -132,12 +131,7 @@ export async function runAddFeature(cwd, config, name, page, parts = undefined)
132
131
  return newAccount && withFeature
133
132
  ? addImport(withFeature, `import { accountResolvers } from './features/account/server.ts'\n`)
134
133
  : withFeature;
135
- }, `import { ${n.resolvers} } from './features/${name}/server.ts' and add ...${n.resolvers}(implement) to resolvers(project, (implement) => [...])`);
136
- if (newAccount)
137
- await edit('serve.ts', (s) => {
138
- const next = s.replace(/resolvers: createResolvers\(\),/, `resolvers: createResolvers(),\n session: sessionCookie({\n name: 'sid',\n secret: process.env.SESSION_SECRET ?? '${randomBytes(24).toString('hex')}',\n secure: process.env.SESSION_SECURE === 'true',\n }),`);
139
- return next === s ? null : addImport(next, `import { sessionCookie } from '@hozu/runtime-server'\n`);
140
- }, "createServer({ ..., session: sessionCookie({ name: 'sid', secret: process.env.SESSION_SECRET, secure: false }) }) with sessionCookie from '@hozu/runtime-server'");
134
+ }, `app.ts: import { ${n.resolvers} } from './features/${name}/server.ts' and add ...${n.resolvers}(implement) to resolvers(project, (implement) => [...])`);
141
135
  const newRoutes = [
142
136
  ...(newLogin ? [`export const login = route({ path: '/login', params: null, search: null })`] : []),
143
137
  ...(newRoute
@@ -193,12 +187,12 @@ export async function runAddFeature(cwd, config, name, page, parts = undefined)
193
187
  .sort()
194
188
  .join(', ')} `)) ?? null;
195
189
  if (next && w.detail)
196
- next = next.replace(/pages:\s*\[/, (m) => `${m}\n ui.page(${n.detailRoute}, {\n views: [${n.Detail}],\n head: { query: ${n.get}, input: (params) => ({ id: params.id }), render: (item) => ({ title: item.title }) },\n entries: { query: ${n.list}, input: {}, params: (item) => ({ id: item.id }) },\n }),`);
190
+ next = next.replace(/pages:\s*\[/, (m) => `${m}\n ui.page(${n.detailRoute}, {\n views: [${n.Detail}],\n head: {\n query: ${n.get},\n input: (params) => ({ id: params.id }),\n render: (item) => ({ title: item.title }),\n failed: { NotFound: 404 },\n },\n entries: { query: ${n.list}, input: {}, params: (item) => ({ id: item.id }) },\n }),`);
197
191
  if (next && newAccount)
198
192
  next = next.replace(/pages:\s*\[/, (m) => `${m}\n ui.page(login, { views: [Login], head: { render: () => ({ title: 'Sign in' }) } }),`);
199
193
  if (next && pageRoute) {
200
194
  const text = w.auth
201
- ? `ui.page(${pageRoute}, {\n views: [AccountBar, ${n.View}],\n head: {\n query: me,\n input: () => ({}),\n render: () => ({ title: '${n.title}', noindex: true }),\n redirects: { Unauthorized: login },\n },\n })`
195
+ ? `ui.page(${pageRoute}, {\n views: [AccountBar, ${n.View}],\n head: {\n query: me,\n input: () => ({}),\n render: () => ({ title: '${n.title}', noindex: true }),\n failed: { Unauthorized: login },\n },\n })`
202
196
  : `ui.page(${pageRoute}, { views: [${n.View}], head: { render: () => ({ title: '${n.title}' }) } })`;
203
197
  next = newRoute
204
198
  ? next.replace(/pages:\s*\[/, (m) => `${m}\n ${text},`)
@@ -1 +1 @@
1
- {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { type BuildResult, type Diagnostic } from '@hozu/core/ir';
2
+ import { HozuCliError } from '../errors.ts';
3
+ import type { Loaded } from '../load.ts';
4
+ export interface AppOptions {
5
+ resolvers: unknown;
6
+ components?: (build: BuildResult) => Promise<{
7
+ diagnostics?: Diagnostic[];
8
+ }>;
9
+ [key: string]: unknown;
10
+ }
11
+ export interface AppModule {
12
+ path: string;
13
+ app: unknown;
14
+ options: AppOptions;
15
+ }
16
+ export declare const APP_SNIPPET = "// app.ts\nimport { resolvers } from '@hozu/data'\nimport { app } from '@hozu/runtime-server'\nimport project from './hozu.config.ts'\n\nexport default app({ resolvers: resolvers(project, (implement) => [...]) })";
17
+ export declare const importer: (loaded: Loaded, command: string) => <T>(id: string, hint?: string[]) => Promise<T>;
18
+ export declare function inspectApp(loaded: Loaded, build: BuildResult): Promise<{
19
+ module: AppModule | null;
20
+ diagnostics: Diagnostic[];
21
+ }>;
22
+ export declare function requireApp(loaded: Loaded, command: string, build: BuildResult): Promise<AppModule>;
23
+ export declare class BuildFailed extends HozuCliError {
24
+ readonly diagnostics: Diagnostic[];
25
+ constructor(diagnostics: Diagnostic[]);
26
+ }
27
+ //# sourceMappingURL=app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,UAAU,EAIhB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAExC,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC;QAAE,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,CAAC,CAAA;IAC5E,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,OAAO,CAAA;IACZ,OAAO,EAAE,UAAU,CAAA;CACpB;AAED,eAAO,MAAM,WAAW,yNAKoD,CAAA;AAE5E,eAAO,MAAM,QAAQ,WACV,MAAM,WAAW,MAAM,MACzB,CAAC,MAAM,MAAM,SAAQ,MAAM,EAAE,KAA2B,OAAO,CAAC,CAAC,CAMvE,CAAA;AA2BH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,UAAU,EAAE,CAAA;CAAE,CAAC,CAuHlE;AAED,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAWxG;AAED,qBAAa,WAAY,SAAQ,YAAY;IAC3C,QAAQ,CAAC,WAAW,EAAE,UAAU,EAAE,CAAA;IAClC,YAAY,WAAW,EAAE,UAAU,EAAE,EAOpC;CACF"}
@@ -0,0 +1,148 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ import { existsSync, readFileSync } from 'node:fs';
10
+ import { createRequire } from 'node:module';
11
+ import { dirname, relative } from 'node:path';
12
+ import { pathToFileURL } from 'node:url';
13
+ import { appModuleOf, codes, resolveSource, usedClientComponents, } from '@hozu/core/ir';
14
+ import { HozuCliError } from '../errors.js';
15
+ export const APP_SNIPPET = `// app.ts
16
+ import { resolvers } from '@hozu/data'
17
+ import { app } from '@hozu/runtime-server'
18
+ import project from './hozu.config.ts'
19
+
20
+ export default app({ resolvers: resolvers(project, (implement) => [...]) })`;
21
+ export const importer = (loaded, command) => async (id, hint = [`npm install ${id}`]) => {
22
+ try {
23
+ return (await import(__rewriteRelativeImportExtension(pathToFileURL(createRequire(loaded.path).resolve(id)).href)));
24
+ }
25
+ catch {
26
+ throw new HozuCliError('config', `hozu ${command} needs ${id} in the app`, hint);
27
+ }
28
+ };
29
+ const lineOf = (file, pattern) => {
30
+ try {
31
+ const at = readFileSync(file, 'utf8')
32
+ .split('\n')
33
+ .findIndex((l) => pattern.test(l));
34
+ return { file, line: at + 1, column: 1 };
35
+ }
36
+ catch {
37
+ return null;
38
+ }
39
+ };
40
+ const hz045 = (message, cause, fix, source) => ({
41
+ code: 'HZ045',
42
+ severity: codes.HZ045.severity,
43
+ message,
44
+ location: { feature: null, pointer: '/app', source },
45
+ cause,
46
+ fix,
47
+ });
48
+ export async function inspectApp(loaded, build) {
49
+ const path = appModuleOf(loaded.project);
50
+ const configLine = lineOf(loaded.path, /project\(\{/);
51
+ if (!path)
52
+ return {
53
+ module: null,
54
+ diagnostics: [
55
+ hz045('project({ app }) names no app module', 'hozu serve, check, get, browse and testApp all build the app from one module, so the tools verify what production serves.', {
56
+ summary: "Add app: new URL('./app.ts', import.meta.url) to project({ … }) and write app.ts",
57
+ snippet: `app: new URL('./app.ts', import.meta.url),\n\n${APP_SNIPPET}`,
58
+ patch: null,
59
+ }, configLine),
60
+ ],
61
+ };
62
+ const where = lineOf(path, /export default/);
63
+ const shown = relative(dirname(loaded.path), path) || path;
64
+ if (!existsSync(path))
65
+ return {
66
+ module: null,
67
+ diagnostics: [
68
+ hz045(`The app module ${shown} does not exist`, 'project({ app }) names the module that default-exports app({ resolvers, … }).', { summary: `Create ${shown}`, snippet: APP_SNIPPET, patch: null }, configLine),
69
+ ],
70
+ };
71
+ let mod;
72
+ try {
73
+ mod = await import(__rewriteRelativeImportExtension(pathToFileURL(path).href));
74
+ }
75
+ catch (error) {
76
+ throw new HozuCliError('config', `Failed to load ${path}: ${error instanceof Error ? error.message : String(error)}`);
77
+ }
78
+ const server = await importer(loaded, 'check')('@hozu/runtime-server');
79
+ const options = server.appOptionsOf(mod.default);
80
+ if (options && server.projectOfApp(mod.default) !== loaded.project)
81
+ return {
82
+ module: null,
83
+ diagnostics: [
84
+ hz045(`The resolvers of ${shown} are declared for another project`, 'resolvers(project, …) in the app module must name the project of this hozu.config.ts.', {
85
+ summary: "import project from './hozu.config.ts' and pass it to resolvers()",
86
+ snippet: APP_SNIPPET,
87
+ patch: null,
88
+ }, where),
89
+ ],
90
+ };
91
+ if (!options)
92
+ return {
93
+ module: null,
94
+ diagnostics: [
95
+ hz045(`The default export of ${shown} is not app(…)`, 'The app module is the one place resolvers, the session store and the component bundle are named; there is no wrapper position around it.', {
96
+ summary: 'export default app({ resolvers, session?, components? })',
97
+ snippet: APP_SNIPPET,
98
+ patch: null,
99
+ }, where),
100
+ ],
101
+ };
102
+ const diagnostics = [];
103
+ const clients = usedClientComponents(build.ir);
104
+ if (clients.length && !options.components)
105
+ diagnostics.push(hz045(`app() has no components bundle, but views use the client components ${clients.join(', ')}`, 'The client code of client components is bundled separately; without it the server refuses to start.', {
106
+ summary: "Pass components: bundleComponents to app() (import { bundleComponents } from '@hozu/bundle')",
107
+ snippet: 'components: bundleComponents,',
108
+ patch: null,
109
+ }, where));
110
+ const data = await importer(loaded, 'check')('@hozu/data');
111
+ try {
112
+ data.createDataRuntime({ build, resolvers: options.resolvers });
113
+ }
114
+ catch (error) {
115
+ if (!(error instanceof data.DataRuntimeError))
116
+ throw error;
117
+ for (const d of error.diagnostics)
118
+ diagnostics.push({
119
+ ...d,
120
+ location: {
121
+ ...d.location,
122
+ source: d.location.source ?? resolveSource(build.sources, d.location.pointer),
123
+ },
124
+ });
125
+ }
126
+ return { module: { path, app: mod.default, options }, diagnostics };
127
+ }
128
+ export async function requireApp(loaded, command, build) {
129
+ const errors = build.diagnostics.filter((d) => d.severity === 'error');
130
+ if (errors.length)
131
+ throw new BuildFailed(errors);
132
+ const { module, diagnostics } = await inspectApp(loaded, build);
133
+ const first = diagnostics.find((d) => d.severity === 'error');
134
+ if (!module || first)
135
+ throw new HozuCliError('config', `hozu ${command}: ${first?.message ?? 'no app module'}`, [
136
+ first?.fix?.summary ?? '',
137
+ ...(first?.fix?.snippet ? [first.fix.snippet] : []),
138
+ ]);
139
+ return module;
140
+ }
141
+ export class BuildFailed extends HozuCliError {
142
+ diagnostics;
143
+ constructor(diagnostics) {
144
+ super('build', `The build has ${diagnostics.length} error${diagnostics.length === 1 ? '' : 's'}, so nothing is rendered (run hozu check)`, diagnostics.map((d) => `${d.code} ${d.location.pointer} ${d.message}`));
145
+ this.diagnostics = diagnostics;
146
+ }
147
+ }
148
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/commands/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const PAGE: string;
2
+ //# sourceMappingURL=browse-page.d.ts.map