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.
- package/dist/adopt.d.ts +77 -0
- package/dist/adopt.d.ts.map +1 -1
- package/dist/adopt.js +395 -157
- package/dist/adopt.js.map +1 -1
- package/dist/deploy/rollback.d.ts.map +1 -1
- package/dist/deploy/rollback.js +9 -0
- package/dist/deploy/rollback.js.map +1 -1
- package/dist/dev-setup.d.ts +106 -0
- package/dist/dev-setup.d.ts.map +1 -0
- package/dist/dev-setup.js +1340 -0
- package/dist/dev-setup.js.map +1 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +6 -0
- package/dist/doctor.js.map +1 -1
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -1
- package/dist/prompts.d.ts +12 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +42 -0
- package/dist/prompts.js.map +1 -1
- package/dist/provision/s3-buckets.d.ts.map +1 -1
- package/dist/provision/s3-buckets.js +44 -24
- package/dist/provision/s3-buckets.js.map +1 -1
- package/dist/provision/write-env.d.ts +6 -0
- package/dist/provision/write-env.d.ts.map +1 -1
- package/dist/provision/write-env.js +17 -0
- package/dist/provision/write-env.js.map +1 -1
- package/dist/scaffold/app.d.ts +6 -0
- package/dist/scaffold/app.d.ts.map +1 -1
- package/dist/scaffold/app.js +20 -1
- package/dist/scaffold/app.js.map +1 -1
- package/dist/scaffold/build-pipeline.d.ts +26 -2
- package/dist/scaffold/build-pipeline.d.ts.map +1 -1
- package/dist/scaffold/build-pipeline.js +159 -6
- package/dist/scaffold/build-pipeline.js.map +1 -1
- package/dist/scaffold/manifest.d.ts +12 -0
- package/dist/scaffold/manifest.d.ts.map +1 -1
- package/dist/scaffold/manifest.js +1 -0
- package/dist/scaffold/manifest.js.map +1 -1
- package/dist/scaffold/update.d.ts +20 -1
- package/dist/scaffold/update.d.ts.map +1 -1
- package/dist/scaffold/update.js +126 -54
- package/dist/scaffold/update.js.map +1 -1
- package/dist/templates/build-pipeline/Dockerfile.nextjs-monorepo.hbs +107 -0
- package/dist/templates/build-pipeline/docker-compose.yml.hbs +14 -2
- package/dist/utils/flags.d.ts +5 -0
- package/dist/utils/flags.d.ts.map +1 -1
- package/dist/utils/flags.js +13 -1
- package/dist/utils/flags.js.map +1 -1
- package/dist/utils/run-ledger.d.ts +9 -0
- package/dist/utils/run-ledger.d.ts.map +1 -1
- package/dist/utils/run-ledger.js.map +1 -1
- package/package.json +4 -2
- package/scripts/release-bump.mjs +29 -3
- 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.
|
|
40
|
-
*
|
|
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
|
-
|
|
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
|
-
?
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,
|
|
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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"}
|
|
@@ -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;
|
|
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
|
|
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;
|
|
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"}
|
package/dist/scaffold/update.js
CHANGED
|
@@ -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 =
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
await
|
|
83
|
-
|
|
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
|
|
86
|
-
|
|
87
|
-
updatedFeatures.add("mobile");
|
|
149
|
+
else {
|
|
150
|
+
skippedAdditions = added;
|
|
88
151
|
}
|
|
89
152
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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.
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EACL,iBAAiB,EAEjB,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE7D,sEAAsE;AACtE,iEAAiE;AACjE,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;AAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AAEpD,0EAA0E;AAC1E,MAAM,mBAAmB,GAAuB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAQtE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,UAAkB;IAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,MAAM,iBAAiB,aAAa,UAAU,8EAA8E,CAC7H,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CACb,iCAAiC,YAAY,+EAA+E,CAC7H,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,IAAI,kCAAkC,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC1F,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnF,MAAM,UAAU,GAAc,CAAC,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC9F,MAAM,OAAO,GAAG,MAAM,WAAW,CAAU;QACzC,OAAO,EAAE,6CAA6C;QACtD,OAAO,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9B,IAAI,EACF,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9D,CAAC,CAAC,CAAC;gBACH,CAAC,CAAC,GAAG,CAAC,oDAAoD;YAC9D,KAAK,EAAE,CAAC;YACR,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YACtC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC7E,CAAC,CAAC;KACJ,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,KAAK,GAAc,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,OAAO,GAAc,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CACT,KAAK,CAAC,MAAM,CACV,oCAAoC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,sFAAsF,CAC7I,CACF,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC,CAAC;QACtD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC;QACvB,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,IAAI,GAAG;QACvD,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IACH,IAAI,CAAC,EAAE;QAAE,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAEvD,MAAM,eAAe,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACnD,IAAI,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;IAElC,KAAK,MAAM,OAAO,IAAI,KAAK,EAAE,CAAC;QAC5B,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,UAAU,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;YACxD,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,SAAS,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;YACvD,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpF,IAAI,WAAW,IAAI,YAAY,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QACrC,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3F,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAC1B,YAAY,GAAG,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,CAAC;QAC9C,+DAA+D;QAC/D,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE;YACnC,YAAY,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC;YAC5C,WAAW,EAAE,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;SAC3C,CAAC,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,sEAAsE;IACtE,MAAM,eAAe,GAAoB;QACvC,GAAG,QAAQ;QACX,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,UAAU,EAAE,aAAa,EAAE;QAC3B,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,yBAAyB;QAC9D,QAAQ,EAAE,CAAC,GAAG,eAAe,CAAc;QAC3C,KAAK,EAAE,YAAY;KACpB,CAAC;IACF,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE3C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;AACzC,CAAC;AAED;gEACgE;AAChE,KAAK,UAAU,UAAU,CACvB,UAAkB,EAClB,eAAuB,EACvB,QAAyB;IAEzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACzD,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACtD,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,yCAAyC,CAAC,CAAC;IACxF,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,uCAAuC,CAAC,CAAC;IAEtF,oEAAoE;IACpE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,MAAM,eAAe,GAAG;QACtB,aAAa;QACb,cAAc;QACd,eAAe;QACf,kBAAkB;QAClB,gBAAgB;QAChB,kBAAkB;QAClB,oBAAoB;QACpB,eAAe;QACf,eAAe;QACf,eAAe;QACf,iBAAiB;KAClB,CAAC;IACF,MAAM,YAAY,GAAG,CAAC,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;IAE7E,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACvC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,gEAAgE;IAChE,qDAAqD;IACrD,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;QAC1C,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAC3B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;aAC7B,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC;aACpC,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAChD,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnF,gEAAgE;IAChE,2BAA2B;IAC3B,IACE,UAAU,CAAC,OAAO,CAAC,SAAS;QAC5B,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAC5D,CAAC;QACD,oBAAoB,CAClB,UAAU,EACV,WAAW,EACX,GAAG,UAAU,CAAC,OAAO,CAAC,SAAS,6BAA6B,CAC7D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;yEACyE;AACzE,KAAK,UAAU,SAAS,CACtB,UAAkB,EAClB,eAAuB,EACvB,QAAyB;IAEzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC,CAAC;IAC3D,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACpE,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,4BAA4B,CAAC,CAAC;IAC3E,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC1D,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;IACvE,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,wBAAwB,CAAC,CAAC;IACvE,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACnE,eAAe,CAAC,eAAe,EAAE,UAAU,EAAE,sCAAsC,CAAC,CAAC;IAErF,2DAA2D;IAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,qBAAqB,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACxE,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CACzB,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,QAAQ,CAAC,CACpF,CAAC;IAEF,qCAAqC;IACrC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC;IACnE,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG;QACrB,aAAa;QACb,SAAS;QACT,cAAc;QACd,aAAa;QACb,iBAAiB;QACjB,UAAU;QACV,aAAa;QACb,iBAAiB;QACjB,mBAAmB;QACnB,uBAAuB;QACvB,mBAAmB;QACnB,eAAe;KAChB,CAAC;IACF,MAAM,WAAW,GAAG;QAClB,iBAAiB;QACjB,gBAAgB;QAChB,gBAAgB;QAChB,oBAAoB;QACpB,0BAA0B;QAC1B,uBAAuB;QACvB,+BAA+B;QAC/B,wBAAwB;QACxB,gBAAgB;QAChB,mBAAmB;KACpB,CAAC;IAEF,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;IAC9C,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,UAAU,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,IAAI,EAAE,CAAC;IACxD,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,eAAe,IAAI,EAAE,CAAC;IAC9D,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChE,CAAC;aAAM,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAEnF,uEAAuE;IACvE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,oCAAoC,CAAC,CAAC;IAC1E,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,IAAI,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC5C,qDAAqD;YACrD,OAAO,GAAG,OAAO,CAAC,OAAO,CACvB,4CAA4C,EAC5C,uEAAuE,CACxE,CAAC;YACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,8CAA8C,CAAC,CAAC;YAC9F,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe,EAAE,SAAiB,EAAE,GAAW;IACtE,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACjC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO;IAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACpB,yDAAyD;QACzD,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,SAAS,QAAQ,CAAC,IAAY;IAM5B,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../../src/scaffold/update.ts"],"names":[],"mappings":"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"}
|