@hozu/cli 0.26.1 → 0.26.3

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 (40) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/commands/browse-page.d.ts.map +1 -1
  3. package/dist/commands/browse-page.js +30 -1
  4. package/dist/commands/browse-page.js.map +1 -1
  5. package/dist/commands/browse-tab.d.ts +2 -0
  6. package/dist/commands/browse-tab.d.ts.map +1 -1
  7. package/dist/commands/browse-tab.js.map +1 -1
  8. package/dist/commands/browse.d.ts.map +1 -1
  9. package/dist/commands/browse.js +12 -2
  10. package/dist/commands/browse.js.map +1 -1
  11. package/dist/commands/check.d.ts +3 -0
  12. package/dist/commands/check.d.ts.map +1 -1
  13. package/dist/commands/check.js +12 -2
  14. package/dist/commands/check.js.map +1 -1
  15. package/dist/commands/migrate.d.ts +0 -1
  16. package/dist/commands/migrate.d.ts.map +1 -1
  17. package/dist/commands/migrate.js +39 -20
  18. package/dist/commands/migrate.js.map +1 -1
  19. package/dist/commands/target.d.ts +17 -0
  20. package/dist/commands/target.d.ts.map +1 -1
  21. package/dist/commands/target.js +177 -16
  22. package/dist/commands/target.js.map +1 -1
  23. package/dist/contract.d.ts +7 -1
  24. package/dist/contract.d.ts.map +1 -1
  25. package/dist/main.d.ts.map +1 -1
  26. package/dist/main.js +8 -4
  27. package/dist/main.js.map +1 -1
  28. package/dist/remote.d.ts +2 -0
  29. package/dist/remote.d.ts.map +1 -1
  30. package/dist/remote.js +2 -1
  31. package/dist/remote.js.map +1 -1
  32. package/dist/versions.d.ts +5 -0
  33. package/dist/versions.d.ts.map +1 -0
  34. package/dist/versions.js +36 -0
  35. package/dist/versions.js.map +1 -0
  36. package/package.json +8 -8
  37. package/schema/check.schema.json +21 -0
  38. package/schema/migrate.schema.json +23 -1
  39. package/skill/topics/deploy.md +6 -3
  40. package/skill/topics/testing.md +1 -1
@@ -13,7 +13,6 @@ export interface MigrateOptions {
13
13
  /** Tests: skip the type check and validation of the verify phase. */
14
14
  check?: boolean;
15
15
  }
16
- export declare function installedCore(config: string): string | null;
17
16
  export declare function sources(dir: string): string[];
18
17
  /** JSON pointers where two IRs differ, each with both values, at most 50. */
19
18
  export declare function differences(before: Json, after: Json, at?: string, skip?: (path: string) => boolean): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAShE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,yFAAyF;IACzF,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAOD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAS3D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAY7C;AAiCD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,SAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CA0B1G;AA2BD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CAiI7F;AAKD,wBAAgB,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CA+BxD"}
1
+ {"version":3,"file":"migrate.d.ts","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAUhE,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,MAAM,EAAE,OAAO,CAAA;IACf,yFAAyF;IACzF,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAChD,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACnC,qEAAqE;IACrE,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAY7C;AAiCD,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,SAAK,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CA0B1G;AA2BD,wBAAsB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC,CA4J7F;AAKD,wBAAgB,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAuCxD"}
@@ -6,25 +6,10 @@ import { fileURLToPath, pathToFileURL } from 'node:url';
6
6
  import { HozuCliError } from '../errors.js';
7
7
  import { load } from '../load.js';
8
8
  import { chain, compareMinor, minorOf, OLDEST } from '../migrate/steps.js';
9
+ import { cliVersion, compareVersion, installedCore } from '../versions.js';
9
10
  import { runCheck } from './check.js';
10
11
  import { runSkill } from './skill.js';
11
12
  const SKIP = /(^|\/)(node_modules|dist|\.[^/]+)(\/|$)/;
12
- const cliVersion = () => {
13
- const pkg = new URL('../../package.json', import.meta.url);
14
- return JSON.parse(readFileSync(fileURLToPath(pkg), 'utf8')).version;
15
- };
16
- export function installedCore(config) {
17
- let d = dirname(config);
18
- for (;;) {
19
- const pkg = join(d, 'node_modules/@hozu/core/package.json');
20
- if (existsSync(pkg))
21
- return JSON.parse(readFileSync(pkg, 'utf8')).version;
22
- const up = dirname(d);
23
- if (up === d)
24
- return null;
25
- d = up;
26
- }
27
- }
28
13
  export function sources(dir) {
29
14
  const out = [];
30
15
  const visit = (d) => {
@@ -132,7 +117,7 @@ export async function runMigrate(cwd, options) {
132
117
  const to = minorOf(target);
133
118
  if (compareMinor(from, OLDEST) < 0)
134
119
  throw new HozuCliError('usage', `hozu migrate starts at ${OLDEST}.0; this app is on ${installed}. Upgrade it to ${OLDEST} by hand with the CHANGELOG first`, ['https://github.com/olevatorr/Hozu/blob/main/CHANGELOG.md']);
135
- if (compareMinor(from, to) > 0)
120
+ if (compareVersion(installed, target) > 0)
136
121
  throw new HozuCliError('usage', `The app is on ${installed}, newer than this CLI (${target})`, [
137
122
  `npx @hozu/cli@${installed} …`,
138
123
  ]);
@@ -186,14 +171,37 @@ export async function runMigrate(cwd, options) {
186
171
  out.packages = raisePackages(join(dir, 'package.json'), target, !options.dryRun);
187
172
  if (!options.dryRun) {
188
173
  mkdirSync(dirname(record), { recursive: true });
189
- writeFileSync(join(dir, `.hozu/migrate-${to}.json`), JSON.stringify({ from, to, ir }));
174
+ writeFileSync(join(dir, `.hozu/migrate-${to}.json`), JSON.stringify({ from, to, version: target, ir }));
190
175
  }
191
176
  out.record = rel(join(dir, `.hozu/migrate-${to}.json`));
192
177
  out.next.push(`${installCommand(dir)} # installs Hozu ${target}`, 'npx hozu migrate # again: compares the IR with the old one and runs hozu check');
193
178
  return out;
194
179
  }
195
180
  const saved = join(dir, `.hozu/migrate-${to}.json`);
196
- if (!existsSync(saved)) {
181
+ const { version: recorded, verified } = existsSync(saved)
182
+ ? JSON.parse(readFileSync(saved, 'utf8'))
183
+ : {};
184
+ const current = recorded !== undefined &&
185
+ minorOf(recorded) === to &&
186
+ compareVersion(recorded, target) <= 0 &&
187
+ (verified === undefined || verified === installed);
188
+ if (existsSync(saved) && !current) {
189
+ if (!options.dryRun)
190
+ rmSync(saved);
191
+ out.notes.push({
192
+ file: rel(saved),
193
+ line: 1,
194
+ message: `${options.dryRun ? 'would remove' : 'removed'} a stale record (${verified ? `verified on ${verified}, now ${installed}` : `written for ${recorded ?? 'a version before 0.26.3'}`}): its IR is not compared`,
195
+ see: null,
196
+ });
197
+ }
198
+ if (compareVersion(installed, target) < 0) {
199
+ out.phase = 'upgrade';
200
+ out.packages = raisePackages(join(dir, 'package.json'), target, !options.dryRun);
201
+ out.next.push(`${installCommand(dir)} # installs Hozu ${target}`, `npx hozu ${current ? 'migrate # again: compares the IR with the old one and runs hozu check' : 'check'}`);
202
+ return out;
203
+ }
204
+ if (!current) {
197
205
  out.next.push('Nothing to migrate: the app is on this CLI’s version.');
198
206
  return out;
199
207
  }
@@ -235,12 +243,20 @@ export async function runMigrate(cwd, options) {
235
243
  rmSync(saved);
236
244
  out.next.push('Done. Commit the migration; hozu.lock.json was not touched.');
237
245
  }
246
+ else if (!options.dryRun)
247
+ writeFileSync(saved, JSON.stringify({ ...JSON.parse(readFileSync(saved, 'utf8')), verified: installed }));
238
248
  return out;
239
249
  }
240
250
  const typesOf = (t) => t.skipped ? 'skipped (npm install -D typescript)' : t.ok ? 'ok' : `${t.errors.length} errors`;
241
251
  export function describeMigrate(r) {
242
252
  const lines = [];
243
- const title = r.phase === 'rewrite' ? 'rewrite' : r.phase === 'verify' ? 'verify' : 'nothing to do';
253
+ const title = r.phase === 'rewrite'
254
+ ? 'rewrite'
255
+ : r.phase === 'verify'
256
+ ? 'verify'
257
+ : r.phase === 'upgrade'
258
+ ? 'upgrade, no source changes'
259
+ : 'nothing to do';
244
260
  lines.push(`hozu migrate ${r.from} → ${r.to}: ${title}${r.dryRun ? ' (dry run, nothing written)' : ''}`);
245
261
  for (const s of r.steps) {
246
262
  lines.push(` ${s.from} → ${s.to}:`);
@@ -256,6 +272,9 @@ export function describeMigrate(r) {
256
272
  if (r.record)
257
273
  lines.push(` ${r.dryRun ? 'would save' : 'saved'} the old IR to ${r.record}`);
258
274
  }
275
+ if (r.phase === 'upgrade')
276
+ for (const p of r.packages)
277
+ lines.push(` ${p.name}: ${p.from} → ${p.to}`);
259
278
  if (r.notes.length)
260
279
  lines.push(' by hand:');
261
280
  for (const n of r.notes)
@@ -1 +1 @@
1
- {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/commands/migrate.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,29 @@ export interface TargetOutput {
6
6
  target: Target;
7
7
  out: string;
8
8
  files: string[];
9
+ /** Files that were there already and were not overwritten (ADR 0076 A5). */
10
+ kept: string[];
9
11
  /** What the platform needs from the person: env vars, a session store, a KV namespace (ADR 0073 A2). */
10
12
  needs: string[];
11
13
  next: string[];
12
14
  }
13
15
  /** What this app needs from any server, and what each target adds (ADR 0073 A2). */
14
16
  export declare function needsOf(build: BuildResult, target: Target): string[];
17
+ /** An env value on a loopback host, shown without its credentials; null otherwise. */
18
+ export declare function loopback(value: string): string | null;
15
19
  export declare function runTarget(loaded: Loaded, target: Target, out: string | undefined, cwd: string): Promise<TargetOutput>;
16
20
  export declare function describeTarget(r: TargetOutput): string;
21
+ /**
22
+ * Whether Workers and Vercel Edge can serve this app, from the build `hozu build` just wrote (ADR 0075 A3): the Node
23
+ * built-ins its imports need, or null when `@hozu/bundle` is not installed to tell.
24
+ */
25
+ export type EdgeCheck = {
26
+ node: string[];
27
+ } | {
28
+ unavailable: true;
29
+ } | {
30
+ failed: string;
31
+ };
32
+ export declare function edgeCheck(loaded: Loaded, built: string): Promise<EdgeCheck>;
33
+ export declare function describeTargets(check: EdgeCheck): string;
17
34
  //# sourceMappingURL=target.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/commands/target.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAGxC,eAAO,MAAM,OAAO,YAAI,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAC7D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,wGAAwG;IACxG,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AAwBD,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBpE;AAoCD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,CAAC,CAoGvB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAKtD"}
1
+ {"version":3,"file":"target.d.ts","sourceRoot":"","sources":["../../src/commands/target.ts"],"names":[],"mappings":"AAKA,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,eAAe,CAAA;AAE7D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAKxC,eAAO,MAAM,OAAO,YAAI,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAU,CAAA;AAC7D,MAAM,MAAM,MAAM,GAAG,CAAC,OAAO,OAAO,CAAC,CAAC,MAAM,CAAC,CAAA;AAE7C,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,4EAA4E;IAC5E,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,wGAAwG;IACxG,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,EAAE,MAAM,EAAE,CAAA;CACf;AA6BD,oFAAoF;AACpF,wBAAgB,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBpE;AA6DD,sFAAsF;AACtF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAgBrD;AA4CD,wBAAsB,SAAS,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,YAAY,CAAC,CAuJvB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAStD;AAED;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IAAE,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,WAAW,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEvF,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAuBjF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAQxD"}
@@ -6,13 +6,15 @@ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExte
6
6
  }
7
7
  return path;
8
8
  };
9
- import { existsSync, readdirSync } from 'node:fs';
9
+ import { existsSync, readdirSync, readFileSync } from 'node:fs';
10
10
  import { cp, mkdir, rm, writeFile } from 'node:fs/promises';
11
11
  import { createRequire } from 'node:module';
12
12
  import { dirname, join, relative, resolve, sep } from 'node:path';
13
13
  import { pathToFileURL } from 'node:url';
14
14
  import { appModuleOf } from '@hozu/core/ir';
15
15
  import { HozuCliError } from '../errors.js';
16
+ import { remoteGroups } from '../remote.js';
17
+ import { inspectApp } from './app.js';
16
18
  import { runBuild } from './build.js';
17
19
  export const TARGETS = ['node', 'workers', 'vercel'];
18
20
  const DEFAULT_OUT = { node: '.', workers: 'dist/workers', vercel: '.vercel/output' };
@@ -22,7 +24,10 @@ async function clearOutput(dir, kept, target) {
22
24
  const inside = (a, b) => a === b || a.startsWith(`${b}${sep}`);
23
25
  if (kept.some((k) => inside(k, dir)))
24
26
  throw new HozuCliError('usage', `--out ${dir} holds the app: hozu build --target ${target} empties its output`, [`hozu build --target ${target} --out ${DEFAULT_OUT[target]}`]);
25
- if (existsSync(dir) && readdirSync(dir).length && !existsSync(join(dir, MARK[target])))
27
+ if (existsSync(dir) &&
28
+ readdirSync(dir).length &&
29
+ !existsSync(join(dir, MARK[target])) &&
30
+ !existsSync(join(dir, '.build', 'manifest.json')))
26
31
  throw new HozuCliError('usage', `${dir} is not empty and no earlier --target ${target} output: nothing was removed`, ['Choose an empty folder, or remove this one yourself']);
27
32
  await rm(dir, { recursive: true, force: true });
28
33
  }
@@ -66,6 +71,78 @@ const entrySource = (build, app, at, target) => {
66
71
  '',
67
72
  ].join('\n');
68
73
  };
74
+ const CONDITIONS = {
75
+ workers: ['workerd', 'worker', 'browser'],
76
+ vercel: ['edge-light', 'worker', 'browser'],
77
+ };
78
+ const PLATFORM = {
79
+ workers: 'Cloudflare Workers',
80
+ vercel: 'Vercel Edge',
81
+ };
82
+ /** The build stops when an import needs Node, naming the chain from the app file and the ways out (ADR 0075 A1). */
83
+ const nodeOnly = (target, node) => new HozuCliError('build', `hozu build --target ${target} bundles no Node built-ins for ${PLATFORM[target]}${target === 'workers' ? " (Cloudflare's nodejs_compat stays off)" : ''}, and these imports need them:\n${node.map((n) => ` ${n}`).join('\n')}`, [
84
+ 'hozu build --target node # these modules run there as they are',
85
+ "or read the data through a driver that speaks HTTP (or the platform's own database binding)",
86
+ 'or move those effects to a service with remote() (hozu docs data --more)',
87
+ ]);
88
+ const bundleFailure = (error) => {
89
+ const errors = error
90
+ .errors;
91
+ if (!errors?.length)
92
+ return String(error);
93
+ return `the server bundle has ${errors.length} error${errors.length === 1 ? '' : 's'}:\n${errors
94
+ .map((e) => ` ${e.location ? `${e.location.file}:${e.location.line} ` : ''}${e.text}`)
95
+ .join('\n')}`;
96
+ };
97
+ /** An env value on a loopback host, shown without its credentials; null otherwise. */
98
+ export function loopback(value) {
99
+ const local = (host) => host === 'localhost' || host === '[::1]' || host === '::1' || /^127\./.test(host);
100
+ let url = null;
101
+ try {
102
+ url = new URL(value);
103
+ }
104
+ catch { }
105
+ if (url?.hostname) {
106
+ if (!local(url.hostname))
107
+ return null;
108
+ url.username = '';
109
+ url.password = '';
110
+ return url.href.replace(/\/$/, '');
111
+ }
112
+ const m = /^([a-z][\w+.-]*:\/\/)(?:.*@)?(localhost|127\.\d+\.\d+\.\d+|\[::1\])([:/?].*)?$/i.exec(value);
113
+ if (m)
114
+ return `${m[1]}${m[2]}${m[3] ?? ''}`;
115
+ return local(value.replace(/:\d+$/, '')) ? value : null;
116
+ }
117
+ /** The Go module of a remote() contract (the nearest go.mod above it, inside the app), unless app code lives there. */
118
+ function serviceRoot(contract, root) {
119
+ for (let dir = dirname(contract); dir.startsWith(`${root}${sep}`); dir = dirname(dir)) {
120
+ if (!existsSync(join(dir, 'go.mod')))
121
+ continue;
122
+ const ts = (d) => readdirSync(d, { withFileTypes: true }).some((e) => e.isDirectory()
123
+ ? e.name !== 'node_modules' && !e.name.startsWith('.') && ts(join(d, e.name))
124
+ : /\.[cm]?tsx?$/.test(e.name));
125
+ return ts(dir) ? null : dir;
126
+ }
127
+ return null;
128
+ }
129
+ /** The env values the CLI reads for the app (.env files), to warn about loopback hosts in a container. */
130
+ const envOf = (loaded) => {
131
+ const out = {};
132
+ for (const file of new Set(['.env', ...loaded.envFiles])) {
133
+ const text = existsSync(join(dirname(loaded.path), file))
134
+ ? readFileSync(join(dirname(loaded.path), file), 'utf8')
135
+ : '';
136
+ for (const line of text.split('\n')) {
137
+ const m = /^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/.exec(line);
138
+ if (!m)
139
+ continue;
140
+ const raw = m[2].trim();
141
+ out[m[1]] = /^(["']).*\1$/.test(raw) ? raw.slice(1, -1) : raw.replace(/\s+#.*$/, '');
142
+ }
143
+ }
144
+ return out;
145
+ };
69
146
  const DOCKERFILE = `FROM node:22-slim
70
147
  WORKDIR /app
71
148
  COPY package*.json ./
@@ -81,25 +158,58 @@ export async function runTarget(loaded, target, out, cwd) {
81
158
  const dir = resolve(target === 'node' && out === undefined ? root : cwd, out ?? DEFAULT_OUT[target]);
82
159
  const needs = needsOf(build, target);
83
160
  const files = [];
161
+ const kept = [];
84
162
  const write = async (file, text, keep = false) => {
85
163
  const path = join(dir, file);
86
- if (keep && existsSync(path))
164
+ if (keep && existsSync(path)) {
165
+ kept.push(relative(cwd, path));
87
166
  return;
167
+ }
88
168
  await mkdir(dirname(path), { recursive: true });
89
169
  await writeFile(path, text);
90
170
  files.push(relative(cwd, path));
91
171
  };
172
+ const services = await inspectApp(loaded, build)
173
+ .then(({ module }) => (module ? remoteGroups(loaded, build, module.options.resolvers) : []))
174
+ .catch(() => []);
175
+ for (const s of services)
176
+ needs.push(`the service ${s.url} names (remote(), contract ${relative(root, s.file)}): deploy it too, where the app can reach it`);
92
177
  if (target === 'node') {
178
+ for (const [name, value] of Object.entries(envOf(loaded))) {
179
+ const shown = loopback(value);
180
+ if (shown)
181
+ needs.push(`${name} points at this machine (${shown}): inside a container that is the container itself; use the host's address (host.docker.internal on Docker Desktop)`);
182
+ }
183
+ const ignored = services
184
+ .map((s) => serviceRoot(s.file, root))
185
+ .filter((d) => d !== null)
186
+ .map((d) => relative(root, d));
187
+ const lines = ['node_modules', '.git', '.hozu', '.vercel', 'dist', '.env*', '!.env.example', ...ignored];
188
+ const ignoreName = dir === root ? '.dockerignore' : 'Dockerfile.dockerignore';
189
+ const ignore = join(dir, ignoreName);
190
+ if (existsSync(ignore)) {
191
+ const has = new Set(readFileSync(ignore, 'utf8')
192
+ .split('\n')
193
+ .map((l) => l.trim().replace(/^\/|\/$/g, '')));
194
+ const missing = lines.filter((l) => !has.has(l));
195
+ if (missing.length)
196
+ needs.push(`the kept ${relative(cwd, ignore)} lacks: ${missing.join(', ')} (add them, or the image copies them)`);
197
+ }
93
198
  await write('Dockerfile', DOCKERFILE, true);
94
- await write('.dockerignore', 'node_modules\n.git\n.hozu\n.vercel\ndist\n.env*\n!.env.example\n', true);
199
+ await write(ignoreName, `${lines.join('\n')}\n`, true);
200
+ const at = (p) => relative(cwd, p) || '.';
201
+ const env = existsSync(join(root, '.env')) ? ` --env-file ${at(join(root, '.env'))}` : '';
95
202
  return {
96
203
  target,
97
204
  out: dir,
98
205
  files,
206
+ kept,
99
207
  needs,
100
208
  next: [
101
- 'docker build -t app .',
102
- 'docker run -p 3000:3000 --env-file .env app # or npm start on a Node host',
209
+ dir === root
210
+ ? `docker build -t app ${at(root)}`
211
+ : `docker build -f ${at(join(dir, 'Dockerfile'))} -t app ${at(root)} # the app is the build context`,
212
+ `docker run -p 3000:3000${env} app # or npm start on a Node host`,
103
213
  ],
104
214
  };
105
215
  }
@@ -117,17 +227,28 @@ export async function runTarget(loaded, target, out, cwd) {
117
227
  throw new HozuCliError('build', `hozu build --target ${target} needs @hozu/bundle installed in the project`, ['npm install -D @hozu/bundle']);
118
228
  }
119
229
  await clearOutput(dir, [root, cwd], target);
230
+ let made = dir;
231
+ while (!existsSync(dirname(made)))
232
+ made = dirname(made);
120
233
  const staged = join(dir, '.build');
121
- await runBuild(loaded, staged, cwd);
122
234
  const assets = target === 'workers' ? 'assets' : 'static';
123
- await cp(join(staged, 'public'), join(dir, assets), { recursive: true });
124
235
  const entry = target === 'workers' ? 'worker.mjs' : 'functions/index.func/index.js';
125
- await bundler.bundleServer({
126
- source: entrySource(build, app, staged, target),
127
- resolveDir: root,
128
- outfile: join(dir, entry),
129
- conditions: target === 'workers' ? ['workerd', 'worker', 'browser'] : ['edge-light', 'worker', 'browser'],
130
- });
236
+ try {
237
+ await runBuild(loaded, staged, cwd);
238
+ await cp(join(staged, 'public'), join(dir, assets), { recursive: true });
239
+ const { node } = await bundler.bundleServer({
240
+ source: entrySource(build, app, staged, target),
241
+ resolveDir: root,
242
+ outfile: join(dir, entry),
243
+ conditions: CONDITIONS[target],
244
+ });
245
+ if (node.length)
246
+ throw nodeOnly(target, node);
247
+ }
248
+ catch (error) {
249
+ await rm(made, { recursive: true, force: true });
250
+ throw error instanceof HozuCliError ? error : new HozuCliError('build', bundleFailure(error), []);
251
+ }
131
252
  files.push(relative(cwd, join(dir, entry)), `${relative(cwd, join(dir, assets))}/`);
132
253
  await rm(staged, { recursive: true, force: true });
133
254
  if (target === 'workers') {
@@ -153,20 +274,60 @@ export async function runTarget(loaded, target, out, cwd) {
153
274
  target,
154
275
  out: dir,
155
276
  files,
277
+ kept,
156
278
  needs,
157
279
  next: [`cd ${relative(cwd, dir) || '.'} && npx wrangler deploy`],
158
280
  };
159
281
  }
160
282
  await write('functions/index.func/.vc-config.json', `${JSON.stringify({ runtime: 'edge', entrypoint: 'index.js' }, null, 2)}\n`);
161
283
  await write('config.json', `${JSON.stringify({ version: 3, routes: [{ handle: 'filesystem' }, { src: '/(.*)', dest: '/index' }] }, null, 2)}\n`);
162
- return { target, out: dir, files, needs, next: ['npx vercel deploy --prebuilt'] };
284
+ return { target, out: dir, files, kept, needs, next: ['npx vercel deploy --prebuilt'] };
163
285
  }
164
286
  export function describeTarget(r) {
165
- const lines = [`hozu build --target ${r.target} → ${r.out}`, ...r.files.map((f) => ` wrote ${f}`)];
287
+ const lines = [
288
+ `hozu build --target ${r.target} → ${r.out}`,
289
+ ...r.files.map((f) => ` wrote ${f}`),
290
+ ...r.kept.map((f) => ` kept ${f} (it was there; not overwritten)`),
291
+ ];
166
292
  if (r.needs.length)
167
293
  lines.push(' the platform needs:', ...r.needs.map((n) => ` - ${n}`));
168
294
  for (const n of r.next)
169
295
  lines.push(`next: ${n}`);
170
296
  return `${lines.join('\n')}\n`;
171
297
  }
298
+ export async function edgeCheck(loaded, built) {
299
+ const app = appModuleOf(loaded.project);
300
+ if (!app)
301
+ return { unavailable: true };
302
+ let bundler;
303
+ try {
304
+ bundler = (await import(__rewriteRelativeImportExtension(pathToFileURL(createRequire(loaded.path).resolve('@hozu/bundle')).href)));
305
+ }
306
+ catch {
307
+ return { unavailable: true };
308
+ }
309
+ try {
310
+ const { node } = await bundler.bundleServer({
311
+ source: entrySource(loaded.build(false), app, built, 'workers'),
312
+ resolveDir: dirname(loaded.path),
313
+ outfile: join(built, '.edge-check.mjs'),
314
+ conditions: CONDITIONS.workers,
315
+ write: false,
316
+ });
317
+ return { node };
318
+ }
319
+ catch (error) {
320
+ return { failed: bundleFailure(error) };
321
+ }
322
+ }
323
+ export function describeTargets(check) {
324
+ if ('unavailable' in check)
325
+ return 'targets: node · workers and vercel: npm install -D @hozu/bundle to check them (a static host: hozu export)\n';
326
+ if ('failed' in check)
327
+ return `targets: node · workers and vercel could not be checked: ${check.failed}\n`;
328
+ const node = check.node;
329
+ if (!node.length)
330
+ return 'targets: node, workers and vercel can each serve this app: hozu build --target <one> (a static host: hozu export)\n';
331
+ return `targets: node can serve this app; workers and vercel cannot, these imports need Node:\n${node.map((n) => ` ${n}`).join('\n')}\n`;
332
+ }
172
333
  //# sourceMappingURL=target.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/commands/target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"target.js","sourceRoot":"","sources":["../../src/commands/target.ts"],"names":[],"mappings":"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"}
@@ -197,6 +197,11 @@ export interface CheckOutput {
197
197
  };
198
198
  validate: ValidateOutput;
199
199
  overrides: CheckOverrides[];
200
+ /** The CLI's version and the app's installed `@hozu/core`; check fails when they differ (ADR 0076 A3). */
201
+ versions: {
202
+ cli: string;
203
+ core: string | null;
204
+ };
200
205
  /** Milliseconds; the type check runs in parallel with loading and validating (ADR 0050 D). */
201
206
  timings: {
202
207
  types: number;
@@ -572,10 +577,11 @@ export interface MigrateOutput {
572
577
  to: string;
573
578
  /**
574
579
  * `rewrite`: the source was older than the CLI, so it was rewritten and the dependencies raised.
580
+ * `upgrade`: the CLI is newer by a patch, so only the dependencies were raised (ADR 0076 A1).
575
581
  * `verify`: the dependencies are current, so the saved IR was compared and the app checked.
576
582
  * `current`: nothing to migrate.
577
583
  */
578
- phase: 'rewrite' | 'verify' | 'current';
584
+ phase: 'rewrite' | 'upgrade' | 'verify' | 'current';
579
585
  dryRun: boolean;
580
586
  /** Each step's changes: `summary` joins `changes` with "; ". */
581
587
  steps: {