hatchkit 0.1.42 → 0.1.45

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 (55) hide show
  1. package/dist/adopt.d.ts +77 -0
  2. package/dist/adopt.d.ts.map +1 -1
  3. package/dist/adopt.js +395 -157
  4. package/dist/adopt.js.map +1 -1
  5. package/dist/deploy/rollback.d.ts.map +1 -1
  6. package/dist/deploy/rollback.js +9 -0
  7. package/dist/deploy/rollback.js.map +1 -1
  8. package/dist/dev-setup.d.ts +106 -0
  9. package/dist/dev-setup.d.ts.map +1 -0
  10. package/dist/dev-setup.js +1340 -0
  11. package/dist/dev-setup.js.map +1 -0
  12. package/dist/doctor.d.ts.map +1 -1
  13. package/dist/doctor.js +6 -0
  14. package/dist/doctor.js.map +1 -1
  15. package/dist/index.js +58 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/prompts.d.ts +12 -0
  18. package/dist/prompts.d.ts.map +1 -1
  19. package/dist/prompts.js +42 -0
  20. package/dist/prompts.js.map +1 -1
  21. package/dist/provision/s3-buckets.d.ts.map +1 -1
  22. package/dist/provision/s3-buckets.js +44 -24
  23. package/dist/provision/s3-buckets.js.map +1 -1
  24. package/dist/provision/write-env.d.ts +6 -0
  25. package/dist/provision/write-env.d.ts.map +1 -1
  26. package/dist/provision/write-env.js +17 -0
  27. package/dist/provision/write-env.js.map +1 -1
  28. package/dist/scaffold/app.d.ts +6 -0
  29. package/dist/scaffold/app.d.ts.map +1 -1
  30. package/dist/scaffold/app.js +20 -1
  31. package/dist/scaffold/app.js.map +1 -1
  32. package/dist/scaffold/build-pipeline.d.ts +26 -2
  33. package/dist/scaffold/build-pipeline.d.ts.map +1 -1
  34. package/dist/scaffold/build-pipeline.js +159 -6
  35. package/dist/scaffold/build-pipeline.js.map +1 -1
  36. package/dist/scaffold/manifest.d.ts +12 -0
  37. package/dist/scaffold/manifest.d.ts.map +1 -1
  38. package/dist/scaffold/manifest.js +1 -0
  39. package/dist/scaffold/manifest.js.map +1 -1
  40. package/dist/scaffold/update.d.ts +20 -1
  41. package/dist/scaffold/update.d.ts.map +1 -1
  42. package/dist/scaffold/update.js +126 -54
  43. package/dist/scaffold/update.js.map +1 -1
  44. package/dist/templates/build-pipeline/Dockerfile.nextjs-monorepo.hbs +107 -0
  45. package/dist/templates/build-pipeline/docker-compose.yml.hbs +14 -2
  46. package/dist/utils/flags.d.ts +5 -0
  47. package/dist/utils/flags.d.ts.map +1 -1
  48. package/dist/utils/flags.js +13 -1
  49. package/dist/utils/flags.js.map +1 -1
  50. package/dist/utils/run-ledger.d.ts +9 -0
  51. package/dist/utils/run-ledger.d.ts.map +1 -1
  52. package/dist/utils/run-ledger.js.map +1 -1
  53. package/package.json +4 -2
  54. package/scripts/release-bump.mjs +29 -3
  55. package/scripts/release-packages.mjs +131 -0
@@ -21,7 +21,7 @@
21
21
  * scaffolded out of this module too, gated on `features.includes()`,
22
22
  * but those templates land in a follow-up commit.
23
23
  */
24
- import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
24
+ import { existsSync, mkdirSync, readFileSync, readdirSync, writeFileSync, } from "node:fs";
25
25
  import { dirname, join } from "node:path";
26
26
  import { ensureDockerignoreAllowsEnvProduction } from "../utils/dockerignore.js";
27
27
  import { renderTemplate } from "../utils/template.js";
@@ -31,16 +31,25 @@ import { renderTemplate } from "../utils/template.js";
31
31
  * require — staying on 22 was producing `ERR_PNPM_UNSUPPORTED_ENGINE`
32
32
  * for projects that had quietly added `>=24` to engines.node. */
33
33
  const DEFAULT_NODE_MAJOR = "24";
34
+ const NEXT_CONFIG_NAMES = [
35
+ "next.config.ts",
36
+ "next.config.mjs",
37
+ "next.config.js",
38
+ "next.config.cjs",
39
+ ];
34
40
  /** Detect whether the project is a Next.js app. We accept either a
35
41
  * `next.config.*` file at the project root OR a `next` entry in
36
42
  * package.json's dependencies/devDependencies. The two-check approach
37
43
  * catches both the conventional layout (config file at root) AND
38
44
  * monorepo packages that pull Next in transitively without owning
39
- * a config file. Anything else falls back to `"generic"`, which keeps
40
- * the surfaces-driven nginx-vs-Node split working for Vite/Astro/etc. */
45
+ * a config file. When neither root signal hits, we walk pnpm /
46
+ * yarn / npm workspace globs and check sub-packages a Next app at
47
+ * `apps/web` or `showcase/` should still produce a Node-runtime
48
+ * Dockerfile, not the nginx-static fallback. Anything else falls back
49
+ * to `"generic"`, which keeps the surfaces-driven nginx-vs-Node split
50
+ * working for Vite/Astro/etc. */
41
51
  export function detectFramework(projectDir) {
42
- const configNames = ["next.config.ts", "next.config.mjs", "next.config.js", "next.config.cjs"];
43
- if (configNames.some((name) => existsSync(join(projectDir, name)))) {
52
+ if (NEXT_CONFIG_NAMES.some((name) => existsSync(join(projectDir, name)))) {
44
53
  return "nextjs";
45
54
  }
46
55
  const pkgPath = join(projectDir, "package.json");
@@ -55,8 +64,142 @@ export function detectFramework(projectDir) {
55
64
  // problem to solve here.
56
65
  }
57
66
  }
67
+ if (detectNextjsMonorepoPackage(projectDir))
68
+ return "nextjs";
58
69
  return "generic";
59
70
  }
71
+ /** Locate a workspace sub-package that looks like a Next.js app. Scans
72
+ * `pnpm-workspace.yaml`'s `packages:` globs and root `package.json`'s
73
+ * `workspaces` field (array or `{packages: []}` shape), expands each
74
+ * glob against the filesystem, and returns the first match that has
75
+ * either a `next.config.*` file or `next` in its deps/devDeps.
76
+ * Returns `undefined` for non-monorepo projects or when no sub-package
77
+ * uses Next. Order matters: pnpm-workspace.yaml entries are checked
78
+ * first because that's the dominant flavour in the projects hatchkit
79
+ * targets. */
80
+ export function detectNextjsMonorepoPackage(projectDir) {
81
+ const globs = [];
82
+ const wsPath = join(projectDir, "pnpm-workspace.yaml");
83
+ if (existsSync(wsPath)) {
84
+ try {
85
+ globs.push(...parsePnpmWorkspacePackages(readFileSync(wsPath, "utf-8")));
86
+ }
87
+ catch {
88
+ // Malformed YAML — ignore and fall through to package.json workspaces.
89
+ }
90
+ }
91
+ const pkgPath = join(projectDir, "package.json");
92
+ if (existsSync(pkgPath)) {
93
+ try {
94
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
95
+ if (Array.isArray(pkg.workspaces)) {
96
+ globs.push(...pkg.workspaces);
97
+ }
98
+ else if (pkg.workspaces && Array.isArray(pkg.workspaces.packages)) {
99
+ globs.push(...pkg.workspaces.packages);
100
+ }
101
+ }
102
+ catch {
103
+ // Same policy as detectFramework: malformed JSON isn't our problem.
104
+ }
105
+ }
106
+ if (globs.length === 0)
107
+ return undefined;
108
+ for (const glob of globs) {
109
+ for (const dir of expandWorkspaceGlob(projectDir, glob)) {
110
+ const subPkgPath = join(projectDir, dir, "package.json");
111
+ if (!existsSync(subPkgPath))
112
+ continue;
113
+ let sub;
114
+ try {
115
+ sub = JSON.parse(readFileSync(subPkgPath, "utf-8"));
116
+ }
117
+ catch {
118
+ continue;
119
+ }
120
+ const hasNextDep = Boolean(sub.dependencies?.next || sub.devDependencies?.next);
121
+ const hasNextConfig = NEXT_CONFIG_NAMES.some((n) => existsSync(join(projectDir, dir, n)));
122
+ if (hasNextDep || hasNextConfig) {
123
+ return { packageDir: dir, packageName: sub.name ?? dir };
124
+ }
125
+ }
126
+ }
127
+ return undefined;
128
+ }
129
+ /** Minimal pnpm-workspace.yaml parser — pulls the `packages:` list
130
+ * without adding a YAML dependency. The format we care about is
131
+ * uniformly a top-level `packages:` key followed by a `- "glob"` list,
132
+ * so a regex-driven scan is enough and avoids the 200kB+ install cost
133
+ * of a real YAML parser for one config file. */
134
+ function parsePnpmWorkspacePackages(yaml) {
135
+ const lines = yaml.split(/\r?\n/);
136
+ const out = [];
137
+ let inPackages = false;
138
+ for (const line of lines) {
139
+ if (/^packages\s*:\s*$/.test(line)) {
140
+ inPackages = true;
141
+ continue;
142
+ }
143
+ if (!inPackages)
144
+ continue;
145
+ // Empty / comment-only lines don't end the block.
146
+ if (/^\s*(#.*)?$/.test(line))
147
+ continue;
148
+ const item = line.match(/^\s*-\s*["']?([^"'#\s][^"'#]*?)["']?\s*(#.*)?$/);
149
+ if (item) {
150
+ out.push(item[1].trim());
151
+ continue;
152
+ }
153
+ // Any other non-list line ends the packages block.
154
+ break;
155
+ }
156
+ return out;
157
+ }
158
+ /** Expand a workspace glob (e.g. `"apps/*"`, `"packages/**"`, or a
159
+ * literal directory like `"showcase"`) against `projectDir`. We
160
+ * support the two segment kinds workspaces actually use — `*` and
161
+ * `**` — and treat both as "one level of subdirectories"; deeper
162
+ * matching isn't needed for any real-world workspace layout we've
163
+ * seen and would just slow scans on big repos. */
164
+ function expandWorkspaceGlob(projectDir, glob) {
165
+ const parts = glob.split("/").filter(Boolean);
166
+ let candidates = [""];
167
+ for (const part of parts) {
168
+ const next = [];
169
+ if (part === "*" || part === "**") {
170
+ for (const c of candidates) {
171
+ const base = c ? join(projectDir, c) : projectDir;
172
+ if (!existsSync(base))
173
+ continue;
174
+ let entries;
175
+ try {
176
+ entries = readdirSync(base, { withFileTypes: true });
177
+ }
178
+ catch {
179
+ continue;
180
+ }
181
+ for (const e of entries) {
182
+ if (!e.isDirectory())
183
+ continue;
184
+ if (e.name === "node_modules" || e.name.startsWith("."))
185
+ continue;
186
+ next.push(c ? `${c}/${e.name}` : e.name);
187
+ }
188
+ }
189
+ }
190
+ else {
191
+ for (const c of candidates) {
192
+ const sub = c ? `${c}/${part}` : part;
193
+ if (existsSync(join(projectDir, sub)))
194
+ next.push(sub);
195
+ }
196
+ }
197
+ candidates = next;
198
+ if (candidates.length === 0)
199
+ break;
200
+ }
201
+ return candidates;
202
+ }
60
203
  /** Pull the minimum major Node version out of `package.json#engines.node`.
61
204
  * Handles the common range syntaxes — `>=24`, `^24.0.0`, `24.x`, `22 || 24`,
62
205
  * `>=20.0.0 <24.0.0` — by grabbing the first integer that appears.
@@ -145,9 +288,17 @@ export function scaffoldBuildPipeline(input) {
145
288
  // Everything else falls back to the surfaces-driven nginx-vs-Node
146
289
  // split that's been the default since this scaffolder was born.
147
290
  const framework = detectFramework(input.projectDir);
291
+ // Monorepo lookup is gated on the Next.js branch — the generic
292
+ // nginx/Node templates don't carry a sub-package WORKDIR concept,
293
+ // so there's nothing to do there. When this returns a hit, the
294
+ // monorepo Dockerfile variant takes over and runs the build at the
295
+ // workspace root with `pnpm --filter <packageName>`.
296
+ const monorepoNextjs = framework === "nextjs" ? detectNextjsMonorepoPackage(input.projectDir) : undefined;
148
297
  if (input.force || !state.hasDockerfile) {
149
298
  const tpl = framework === "nextjs"
150
- ? "build-pipeline/Dockerfile.nextjs.hbs"
299
+ ? monorepoNextjs
300
+ ? "build-pipeline/Dockerfile.nextjs-monorepo.hbs"
301
+ : "build-pipeline/Dockerfile.nextjs.hbs"
151
302
  : input.surfaces === "client-only"
152
303
  ? "build-pipeline/Dockerfile.client.hbs"
153
304
  : "build-pipeline/Dockerfile.server.hbs";
@@ -156,6 +307,8 @@ export function scaffoldBuildPipeline(input) {
156
307
  port: input.port,
157
308
  entrypoint: input.entrypoint,
158
309
  nodeMajor,
310
+ monorepoPackage: monorepoNextjs?.packageDir,
311
+ packageName: monorepoNextjs?.packageName,
159
312
  });
160
313
  write("Dockerfile", out, state.hasDockerfile);
161
314
  }
@@ -1 +1 @@
1
- {"version":3,"file":"build-pipeline.js","sourceRoot":"","sources":["../../src/scaffold/build-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-pipeline.js","sourceRoot":"","sources":["../../src/scaffold/build-pipeline.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,18 @@ export interface ProjectManifest {
49
49
  client: number;
50
50
  nativeHmr?: number;
51
51
  };
52
+ /** Tailscale-served local-dev integration. Present when the project
53
+ * opted in at scaffold time (or later via `hatchkit dev-setup enable`).
54
+ * `slug` is the subdomain the project is reachable at:
55
+ * https://<slug>.local.ricoslabs.com/
56
+ * The host-wide Caddy bridge (set up once via `hatchkit dev-setup
57
+ * init`) routes by Host header to the dev port. Removing this field
58
+ * is enough to disable the feature for this project; the Caddy
59
+ * fragment cleanup happens via `hatchkit dev-setup disable` or
60
+ * destroy. */
61
+ localDev?: {
62
+ slug: string;
63
+ };
52
64
  /** What kind of project this is — server-only / client-only /
53
65
  * both. Captured by `hatchkit adopt` so subsequent re-runs (and
54
66
  * any future tooling that needs to know whether to look for a
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"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"}
@@ -56,6 +56,7 @@ export function toManifest(config, ports, cliVersion) {
56
56
  client: ports.client,
57
57
  nativeHmr: ports.nativeHmr,
58
58
  },
59
+ localDev: config.localDev ? { slug: config.localDev.slug } : undefined,
59
60
  };
60
61
  }
61
62
  export function writeManifest(outputDir, manifest) {
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AA6IlC;;oEAEoE;AACpE,MAAM,UAAU,UAAU,CACxB,MAAqB,EACrB,KAAmB,EACnB,UAAkB;IAElB,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,UAAU;QACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS;QACpD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;KACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,QAAyB;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAChD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;gCAGgC;AAChC,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IACE,CAAC,MAAM;QACP,OAAO,MAAM,KAAK,QAAQ;QACzB,MAAgC,CAAC,OAAO,KAAK,gBAAgB,EAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,kCAAkC,gBAAgB,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,MAAyB,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/scaffold/manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAIjC,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAClD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAuJlC;;oEAEoE;AACpE,MAAM,UAAU,UAAU,CACxB,MAAqB,EACrB,KAAmB,EACnB,UAAkB;IAElB,OAAO;QACL,OAAO,EAAE,gBAAgB;QACzB,UAAU;QACV,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACtC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,SAAS;QACpD,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,QAAQ,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC9B,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,KAAK,EAAE;YACL,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B;QACD,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS;KACvE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAAiB,EAAE,QAAyB;IACxE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAChD,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;AACzE,CAAC;AAED;;;gCAGgC;AAChC,MAAM,UAAU,YAAY,CAAC,UAAkB;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,IACE,CAAC,MAAM;QACP,OAAO,MAAM,KAAK,QAAQ;QACzB,MAAgC,CAAC,OAAO,KAAK,gBAAgB,EAC9D,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,kCAAkC,gBAAgB,GAAG,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,MAAyB,CAAC;AACnC,CAAC"}
@@ -3,6 +3,25 @@ export interface UpdateResult {
3
3
  added: Feature[];
4
4
  skipped: Feature[];
5
5
  removed: Feature[];
6
+ /** Populated when this `update` run opted the project into the
7
+ * Tailscale-served local-dev integration. Distinct from a project
8
+ * that was already opted in — the latter shows up as `undefined`
9
+ * here. */
10
+ localDevEnabled?: {
11
+ slug: string;
12
+ };
6
13
  }
7
- export declare function runUpdate(projectDir: string): Promise<UpdateResult>;
14
+ export interface UpdateOptions {
15
+ /** Skip every prompt and use the supplied answers. Used by the test
16
+ * suite to exercise the headless path without monkey-patching ESM
17
+ * read-only exports of @inquirer/prompts. Real CLI calls pass
18
+ * undefined; the interactive prompts then run. */
19
+ presets?: {
20
+ desiredFeatures?: Feature[];
21
+ confirmAddFeatures?: boolean;
22
+ enableLocalDev?: boolean;
23
+ localDevSlug?: string;
24
+ };
25
+ }
26
+ export declare function runUpdate(projectDir: string, options?: UpdateOptions): Promise<UpdateResult>;
8
27
  //# sourceMappingURL=update.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/scaffold/update.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAqB7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,EAAE,CAAC;CACpB;AAED,wBAAsB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAiGzE"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/scaffold/update.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAqB7C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,EAAE,CAAC;IACnB;;;gBAGY;IACZ,eAAe,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B;;;uDAGmD;IACnD,OAAO,CAAC,EAAE;QACR,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;QAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA6KvB"}
@@ -34,7 +34,7 @@ const MONOREPO_ROOT = resolve(join(import.meta.dirname, "..", "..", ".."));
34
34
  const STARTER_ROOT = join(MONOREPO_ROOT, "starter");
35
35
  /** Features that `update` knows how to layer onto an existing project. */
36
36
  const SUPPORTED_ADDITIONS = ["desktop", "mobile"];
37
- export async function runUpdate(projectDir) {
37
+ export async function runUpdate(projectDir, options = {}) {
38
38
  const manifest = readManifest(projectDir);
39
39
  if (!manifest) {
40
40
  throw new Error(`No ${MANIFEST_FILENAME} found in ${projectDir}. This directory wasn't scaffolded by hatchkit, or the manifest was deleted.`);
@@ -46,17 +46,57 @@ export async function runUpdate(projectDir) {
46
46
  console.log(chalk.dim(` Current features: ${manifest.features.join(", ") || "(none)"}`));
47
47
  console.log(chalk.dim(` Supported additions: ${SUPPORTED_ADDITIONS.join(", ")}`));
48
48
  const allOptions = ["websocket", "stripe", "analytics", "s3", "desktop", "mobile"];
49
- const desired = await multiselect({
50
- message: "Desired feature set (current pre-selected):",
51
- choices: allOptions.map((f) => ({
52
- name: SUPPORTED_ADDITIONS.includes(f) || manifest.features.includes(f)
53
- ? f
54
- : `${f} (manual add only — use the starter repo directly)`,
55
- value: f,
56
- checked: manifest.features.includes(f),
57
- disabled: !manifest.features.includes(f) && !SUPPORTED_ADDITIONS.includes(f),
58
- })),
59
- });
49
+ const desired = options.presets?.desiredFeatures ??
50
+ (await multiselect({
51
+ message: "Desired feature set (current pre-selected):",
52
+ choices: allOptions.map((f) => ({
53
+ name: SUPPORTED_ADDITIONS.includes(f) || manifest.features.includes(f)
54
+ ? f
55
+ : `${f} (manual add only — use the starter repo directly)`,
56
+ value: f,
57
+ checked: manifest.features.includes(f),
58
+ disabled: !manifest.features.includes(f) && !SUPPORTED_ADDITIONS.includes(f),
59
+ })),
60
+ }));
61
+ // Local-dev opt-in offer. Projects scaffolded before this integration
62
+ // landed have no `manifest.localDev`; surface the choice here so
63
+ // `hatchkit update` becomes the canonical retrofit path. Anyone who's
64
+ // already opted in (or who'd rather wire it by hand via
65
+ // `hatchkit dev-setup enable`) just declines once and never sees the
66
+ // prompt again — the next update run skips it because manifest.localDev
67
+ // is now set.
68
+ let localDevEnabled;
69
+ if (!manifest.localDev) {
70
+ const { sanitiseSlug } = await import("@hatchkit/dev-shared");
71
+ const offerLocalDev = options.presets?.enableLocalDev ??
72
+ (await confirm({
73
+ message: "Enable Tailscale dev URL for this project (https://<slug>.local.ricoslabs.com/)?",
74
+ default: true,
75
+ }));
76
+ if (offerLocalDev) {
77
+ const defaultSlug = sanitiseSlug(manifest.name);
78
+ let slugInput;
79
+ if (options.presets?.localDevSlug !== undefined) {
80
+ slugInput = options.presets.localDevSlug || defaultSlug;
81
+ }
82
+ else {
83
+ const { input } = await import("@inquirer/prompts");
84
+ slugInput = await input({
85
+ message: "Slug (subdomain):",
86
+ default: defaultSlug,
87
+ validate: (v) => {
88
+ const s = sanitiseSlug(v);
89
+ if (s.length === 0)
90
+ return "Slug must contain at least one [a-z0-9-] character.";
91
+ if (s !== v)
92
+ return `Use only [a-z0-9-]. Did you mean "${s}"?`;
93
+ return true;
94
+ },
95
+ });
96
+ }
97
+ localDevEnabled = { slug: sanitiseSlug(slugInput) };
98
+ }
99
+ }
60
100
  const current = new Set(manifest.features);
61
101
  const next = new Set(desired);
62
102
  const added = [...next].filter((f) => !current.has(f));
@@ -64,54 +104,86 @@ export async function runUpdate(projectDir) {
64
104
  if (removed.length > 0) {
65
105
  console.log(chalk.yellow(`\n Refusing to remove features: ${removed.join(", ")}. Removing features risks deleting user code. Remove manually + update the manifest.`));
66
106
  }
67
- if (added.length === 0) {
68
- console.log(chalk.dim("\n No new features to add."));
69
- return { added: [], skipped: [], removed };
70
- }
71
- const ok = await confirm({
72
- message: `Add ${added.join(", ")} to ${manifest.name}?`,
73
- default: true,
74
- });
75
- if (!ok)
76
- return { added: [], skipped: added, removed };
77
- const resolvedStarter = realpathSync(STARTER_ROOT);
78
- const updatedFeatures = new Set(manifest.features);
107
+ // The feature-add work runs only if there's something to add AND the
108
+ // user confirms. The local-dev opt-in is independent — we apply it
109
+ // even when the rest of the update is a no-op (this is the canonical
110
+ // retrofit path for pre-existing projects). `skippedAdditions` carries
111
+ // the declined-add list so the result still reports it.
112
+ let actuallyAdded = [];
113
+ let skippedAdditions = [];
114
+ let updatedFeatures = new Set(manifest.features);
79
115
  let updatedPorts = manifest.ports;
80
- for (const feature of added) {
81
- if (feature === "desktop") {
82
- await addDesktop(projectDir, resolvedStarter, manifest);
83
- updatedFeatures.add("desktop");
116
+ if (added.length > 0) {
117
+ const ok = options.presets?.confirmAddFeatures ??
118
+ (await confirm({
119
+ message: `Add ${added.join(", ")} to ${manifest.name}?`,
120
+ default: true,
121
+ }));
122
+ if (ok) {
123
+ const resolvedStarter = realpathSync(STARTER_ROOT);
124
+ for (const feature of added) {
125
+ if (feature === "desktop") {
126
+ await addDesktop(projectDir, resolvedStarter, manifest);
127
+ updatedFeatures.add("desktop");
128
+ }
129
+ else if (feature === "mobile") {
130
+ await addMobile(projectDir, resolvedStarter, manifest);
131
+ updatedFeatures.add("mobile");
132
+ }
133
+ }
134
+ actuallyAdded = added;
135
+ // Pick a nativeHmr port if the project didn't have one and now needs one.
136
+ const needsNative = updatedFeatures.has("desktop") || updatedFeatures.has("mobile");
137
+ if (needsNative && updatedPorts.nativeHmr === undefined) {
138
+ const used = new Set(getUsedPorts());
139
+ const nativeHmr = await pickPort(PORT_RANGES.nativeHmr[0], PORT_RANGES.nativeHmr[1], used);
140
+ addUsedPorts([nativeHmr]);
141
+ updatedPorts = { ...updatedPorts, nativeHmr };
142
+ applyPorts(projectDir, updatedPorts, {
143
+ wantsDesktop: updatedFeatures.has("desktop"),
144
+ wantsMobile: updatedFeatures.has("mobile"),
145
+ });
146
+ console.log(chalk.dim(` Assigned native HMR port: ${nativeHmr}`));
147
+ }
84
148
  }
85
- else if (feature === "mobile") {
86
- await addMobile(projectDir, resolvedStarter, manifest);
87
- updatedFeatures.add("mobile");
149
+ else {
150
+ skippedAdditions = added;
88
151
  }
89
152
  }
90
- // Pick a nativeHmr port if the project didn't have one and now needs one.
91
- const needsNative = updatedFeatures.has("desktop") || updatedFeatures.has("mobile");
92
- if (needsNative && updatedPorts.nativeHmr === undefined) {
93
- const used = new Set(getUsedPorts());
94
- const nativeHmr = await pickPort(PORT_RANGES.nativeHmr[0], PORT_RANGES.nativeHmr[1], used);
95
- addUsedPorts([nativeHmr]);
96
- updatedPorts = { ...updatedPorts, nativeHmr };
97
- // Wire the new port into the freshly-added native scaffolding.
98
- applyPorts(projectDir, updatedPorts, {
99
- wantsDesktop: updatedFeatures.has("desktop"),
100
- wantsMobile: updatedFeatures.has("mobile"),
153
+ else {
154
+ console.log(chalk.dim("\n No new features to add."));
155
+ }
156
+ // Apply local-dev opt-in (if user said yes earlier). Calls the same
157
+ // surface scaffold uses, so the on-disk shape (Caddy fragment, docs,
158
+ // next.config wrap, package.json dep) is identical regardless of
159
+ // whether the project picked it up at scaffold or via this retrofit.
160
+ if (localDevEnabled) {
161
+ const devPort = manifest.surfaces === "server-only" ? manifest.ports.server : manifest.ports.client;
162
+ const { enableProjectLocalDev } = await import("../dev-setup.js");
163
+ await enableProjectLocalDev({
164
+ projectDir,
165
+ slug: localDevEnabled.slug,
166
+ devPort,
101
167
  });
102
- console.log(chalk.dim(` Assigned native HMR port: ${nativeHmr}`));
168
+ console.log(chalk.green(`\n Tailscale dev URL enabled: https://${localDevEnabled.slug}.local.ricoslabs.com/`));
169
+ }
170
+ // Skip the manifest write only if NOTHING changed (no features added,
171
+ // no local-dev opt-in) — keeps the file mtime stable for the no-op
172
+ // case so update-then-doctor doesn't re-read a touched-but-identical
173
+ // manifest.
174
+ if (actuallyAdded.length > 0 || localDevEnabled) {
175
+ const updatedManifest = {
176
+ ...manifest,
177
+ version: manifest.version,
178
+ cliVersion: getCliVersion(),
179
+ scaffoldedAt: manifest.scaffoldedAt,
180
+ features: [...updatedFeatures],
181
+ ports: updatedPorts,
182
+ localDev: localDevEnabled ?? manifest.localDev,
183
+ };
184
+ writeManifest(projectDir, updatedManifest);
103
185
  }
104
- // Refresh the manifest so subsequent `update` runs see the new state.
105
- const updatedManifest = {
106
- ...manifest,
107
- version: manifest.version,
108
- cliVersion: getCliVersion(),
109
- scaffoldedAt: manifest.scaffoldedAt, // preserve original date
110
- features: [...updatedFeatures],
111
- ports: updatedPorts,
112
- };
113
- writeManifest(projectDir, updatedManifest);
114
- return { added, skipped: [], removed };
186
+ return { added: actuallyAdded, skipped: skippedAdditions, removed, localDevEnabled };
115
187
  }
116
188
  /** Copy desktop scaffolding from the starter + apply project-name
117
189
  * substitutions. Assumes the feature isn't already present. */
@@ -1 +1 @@
1
- {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/scaffold/update.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/scaffold/update.ts"],"names":[],"mappings":"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"}