hatchkit 0.1.41 → 0.1.43
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 +757 -170
- package/dist/adopt.js.map +1 -1
- package/dist/config.d.ts +32 -10
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +91 -38
- package/dist/config.js.map +1 -1
- package/dist/deploy/coolify-app.d.ts.map +1 -1
- package/dist/deploy/coolify-app.js +0 -7
- package/dist/deploy/coolify-app.js.map +1 -1
- package/dist/deploy/coolify.d.ts.map +1 -1
- package/dist/deploy/coolify.js +20 -1
- package/dist/deploy/coolify.js.map +1 -1
- package/dist/deploy/ghcr.d.ts +4 -2
- package/dist/deploy/ghcr.d.ts.map +1 -1
- package/dist/deploy/ghcr.js +1 -1
- package/dist/deploy/ghcr.js.map +1 -1
- package/dist/deploy/github.d.ts +4 -3
- package/dist/deploy/github.d.ts.map +1 -1
- package/dist/deploy/github.js +5 -2
- package/dist/deploy/github.js.map +1 -1
- package/dist/deploy/pages.d.ts.map +1 -1
- package/dist/deploy/pages.js +8 -14
- package/dist/deploy/pages.js.map +1 -1
- package/dist/deploy/regen-infra.d.ts.map +1 -1
- package/dist/deploy/regen-infra.js +1 -11
- package/dist/deploy/regen-infra.js.map +1 -1
- package/dist/deploy/rollback.d.ts.map +1 -1
- package/dist/deploy/rollback.js +30 -6
- package/dist/deploy/rollback.js.map +1 -1
- package/dist/deploy/terraform.d.ts.map +1 -1
- package/dist/deploy/terraform.js +20 -37
- package/dist/deploy/terraform.js.map +1 -1
- package/dist/dns.d.ts.map +1 -1
- package/dist/dns.js +4 -5
- package/dist/dns.js.map +1 -1
- package/dist/doctor.d.ts +15 -0
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +110 -36
- package/dist/doctor.js.map +1 -1
- package/dist/email/index.d.ts +31 -0
- package/dist/email/index.d.ts.map +1 -0
- package/dist/email/index.js +251 -0
- package/dist/email/index.js.map +1 -0
- package/dist/email/presets.d.ts +14 -0
- package/dist/email/presets.d.ts.map +1 -0
- package/dist/email/presets.js +33 -0
- package/dist/email/presets.js.map +1 -0
- package/dist/email/setup.d.ts +93 -0
- package/dist/email/setup.d.ts.map +1 -0
- package/dist/email/setup.js +263 -0
- package/dist/email/setup.js.map +1 -0
- package/dist/email/spf.d.ts +56 -0
- package/dist/email/spf.d.ts.map +1 -0
- package/dist/email/spf.js +102 -0
- package/dist/email/spf.js.map +1 -0
- package/dist/index.js +113 -4
- package/dist/index.js.map +1 -1
- package/dist/inventory.d.ts.map +1 -1
- package/dist/inventory.js +34 -11
- package/dist/inventory.js.map +1 -1
- package/dist/overview.d.ts.map +1 -1
- package/dist/overview.js +43 -15
- package/dist/overview.js.map +1 -1
- package/dist/prompts.d.ts +5 -0
- package/dist/prompts.d.ts.map +1 -1
- package/dist/prompts.js +29 -7
- package/dist/prompts.js.map +1 -1
- package/dist/provision/index.d.ts +20 -1
- package/dist/provision/index.d.ts.map +1 -1
- package/dist/provision/index.js +115 -0
- package/dist/provision/index.js.map +1 -1
- package/dist/provision/s3-buckets.d.ts.map +1 -1
- package/dist/provision/s3-buckets.js +45 -25
- 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.map +1 -1
- package/dist/scaffold/app.js +15 -7
- package/dist/scaffold/app.js.map +1 -1
- package/dist/scaffold/build-pipeline.d.ts +40 -0
- package/dist/scaffold/build-pipeline.d.ts.map +1 -1
- package/dist/scaffold/build-pipeline.js +201 -5
- package/dist/scaffold/build-pipeline.js.map +1 -1
- package/dist/scaffold/infra.d.ts +4 -5
- package/dist/scaffold/infra.d.ts.map +1 -1
- package/dist/scaffold/infra.js +11 -56
- package/dist/scaffold/infra.js.map +1 -1
- 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/pages-heuristics.d.ts.map +1 -1
- package/dist/scaffold/pages-heuristics.js +10 -10
- package/dist/scaffold/pages-heuristics.js.map +1 -1
- package/dist/scaffold/pages-mode.js +2 -4
- package/dist/scaffold/pages-mode.js.map +1 -1
- package/dist/scaffold/pkg-json.d.ts +4 -0
- package/dist/scaffold/pkg-json.d.ts.map +1 -1
- package/dist/scaffold/pkg-json.js +17 -0
- package/dist/scaffold/pkg-json.js.map +1 -1
- package/dist/scaffold/update.js +1 -1
- package/dist/scaffold/update.js.map +1 -1
- package/dist/templates/build-pipeline/Dockerfile.nextjs-monorepo.hbs +107 -0
- package/dist/templates/build-pipeline/Dockerfile.nextjs.hbs +103 -0
- package/dist/templates/build-pipeline/docker-compose.yml.hbs +37 -8
- package/dist/utils/cloudflare-api.d.ts +146 -20
- package/dist/utils/cloudflare-api.d.ts.map +1 -1
- package/dist/utils/cloudflare-api.js +203 -11
- package/dist/utils/cloudflare-api.js.map +1 -1
- package/dist/utils/run-ledger.d.ts +22 -1
- package/dist/utils/run-ledger.d.ts.map +1 -1
- package/dist/utils/run-ledger.js.map +1 -1
- package/dist/utils/s3-admin.d.ts +9 -0
- package/dist/utils/s3-admin.d.ts.map +1 -0
- package/dist/utils/s3-admin.js +46 -0
- package/dist/utils/s3-admin.js.map +1 -0
- package/package.json +1 -1
|
@@ -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,6 +31,175 @@ 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
|
+
];
|
|
40
|
+
/** Detect whether the project is a Next.js app. We accept either a
|
|
41
|
+
* `next.config.*` file at the project root OR a `next` entry in
|
|
42
|
+
* package.json's dependencies/devDependencies. The two-check approach
|
|
43
|
+
* catches both the conventional layout (config file at root) AND
|
|
44
|
+
* monorepo packages that pull Next in transitively without owning
|
|
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. */
|
|
51
|
+
export function detectFramework(projectDir) {
|
|
52
|
+
if (NEXT_CONFIG_NAMES.some((name) => existsSync(join(projectDir, name)))) {
|
|
53
|
+
return "nextjs";
|
|
54
|
+
}
|
|
55
|
+
const pkgPath = join(projectDir, "package.json");
|
|
56
|
+
if (existsSync(pkgPath)) {
|
|
57
|
+
try {
|
|
58
|
+
const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
|
|
59
|
+
if (pkg.dependencies?.next || pkg.devDependencies?.next)
|
|
60
|
+
return "nextjs";
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// Fall through to generic — a malformed package.json isn't our
|
|
64
|
+
// problem to solve here.
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (detectNextjsMonorepoPackage(projectDir))
|
|
68
|
+
return "nextjs";
|
|
69
|
+
return "generic";
|
|
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
|
+
}
|
|
34
203
|
/** Pull the minimum major Node version out of `package.json#engines.node`.
|
|
35
204
|
* Handles the common range syntaxes — `>=24`, `^24.0.0`, `24.x`, `22 || 24`,
|
|
36
205
|
* `>=20.0.0 <24.0.0` — by grabbing the first integer that appears.
|
|
@@ -112,15 +281,34 @@ export function scaffoldBuildPipeline(input) {
|
|
|
112
281
|
// sniff `engines.node` from the project's package.json so the
|
|
113
282
|
// image matches what the user's dependencies actually require.
|
|
114
283
|
const nodeMajor = input.nodeMajor ?? detectNodeMajorVersion(input.projectDir);
|
|
284
|
+
// Framework detection: Next.js gets its own Dockerfile regardless of
|
|
285
|
+
// surfaces — `next start` is the only sane production runtime even
|
|
286
|
+
// for apps that look "client-only" on the surface, because Server
|
|
287
|
+
// Actions / route handlers / non-NEXT_PUBLIC_* env vars all need it.
|
|
288
|
+
// Everything else falls back to the surfaces-driven nginx-vs-Node
|
|
289
|
+
// split that's been the default since this scaffolder was born.
|
|
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;
|
|
115
297
|
if (input.force || !state.hasDockerfile) {
|
|
116
|
-
const tpl =
|
|
117
|
-
?
|
|
118
|
-
|
|
298
|
+
const tpl = framework === "nextjs"
|
|
299
|
+
? monorepoNextjs
|
|
300
|
+
? "build-pipeline/Dockerfile.nextjs-monorepo.hbs"
|
|
301
|
+
: "build-pipeline/Dockerfile.nextjs.hbs"
|
|
302
|
+
: input.surfaces === "client-only"
|
|
303
|
+
? "build-pipeline/Dockerfile.client.hbs"
|
|
304
|
+
: "build-pipeline/Dockerfile.server.hbs";
|
|
119
305
|
const out = renderTemplate(tpl, {
|
|
120
306
|
name: input.projectName,
|
|
121
307
|
port: input.port,
|
|
122
308
|
entrypoint: input.entrypoint,
|
|
123
309
|
nodeMajor,
|
|
310
|
+
monorepoPackage: monorepoNextjs?.packageDir,
|
|
311
|
+
packageName: monorepoNextjs?.packageName,
|
|
124
312
|
});
|
|
125
313
|
write("Dockerfile", out, state.hasDockerfile);
|
|
126
314
|
}
|
|
@@ -130,12 +318,20 @@ export function scaffoldBuildPipeline(input) {
|
|
|
130
318
|
// docker-compose.yml — only scaffold when no compose file (any of
|
|
131
319
|
// the recognised names) is present. Always write to
|
|
132
320
|
// `docker-compose.yml` since that's what Coolify expects by default.
|
|
321
|
+
//
|
|
322
|
+
// Port resolution: the nginx-static template fixes itself at 80;
|
|
323
|
+
// Node-runtime templates (server.hbs, nextjs.hbs) bind to whatever
|
|
324
|
+
// {{port}} we plug in. Next.js is Node-runtime even when surfaces
|
|
325
|
+
// looks "client-only", so it follows the same input.port path as
|
|
326
|
+
// the server template — otherwise compose would map :80 to a
|
|
327
|
+
// container that's actually listening on :3000.
|
|
133
328
|
if (input.force || !state.hasCompose) {
|
|
134
|
-
const servicePort = input.surfaces === "client-only" ? 80 : input.port;
|
|
329
|
+
const servicePort = framework === "nextjs" ? input.port : input.surfaces === "client-only" ? 80 : input.port;
|
|
135
330
|
const out = renderTemplate("build-pipeline/docker-compose.yml.hbs", {
|
|
136
331
|
name: input.projectName,
|
|
137
332
|
owner: input.ghOwner,
|
|
138
333
|
port: servicePort,
|
|
334
|
+
isNextjs: framework === "nextjs",
|
|
139
335
|
});
|
|
140
336
|
write("docker-compose.yml", out, state.hasCompose);
|
|
141
337
|
}
|
|
@@ -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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"}
|
package/dist/scaffold/infra.d.ts
CHANGED
|
@@ -5,12 +5,11 @@ export declare function generateTfvars(config: ProjectConfig): string;
|
|
|
5
5
|
* Resolve the terraform stack directory for a project. Mirrored by
|
|
6
6
|
* `runTerraform` in deploy/terraform.ts and by `rename-domain.ts`.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* Terraform stack runs.
|
|
8
|
+
* DNS is Cloudflare-only as of v2 (the legacy INWX-DNS stack has been
|
|
9
|
+
* removed). `dnsProvider` is retained as an argument so existing call
|
|
10
|
+
* sites compile, but it has only one valid value.
|
|
12
11
|
*/
|
|
13
|
-
export declare function resolveStackDir(repoRoot: string, deployTarget: "new" | "existing",
|
|
12
|
+
export declare function resolveStackDir(repoRoot: string, deployTarget: "new" | "existing", _dnsProvider: "cloudflare"): string | null;
|
|
14
13
|
/** Generate Coolify stack .env for the project. */
|
|
15
14
|
export declare function generateCoolifyEnv(config: ProjectConfig, extras?: {
|
|
16
15
|
repoUrl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../../src/scaffold/infra.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"infra.d.ts","sourceRoot":"","sources":["../../src/scaffold/infra.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGnD,iDAAiD;AACjD,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,CAsD5D;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,KAAK,GAAG,UAAU,EAChC,YAAY,EAAE,YAAY,GACzB,MAAM,GAAG,IAAI,CAKf;AAED,mDAAmD;AACnD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,aAAa,EACrB,MAAM,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAC1E,MAAM,CAqBR;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC;2DACuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;yEACqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,gCAAgC;AAChC,wBAAgB,aAAa,CAC3B,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,oBAAyB,GACjC,mBAAmB,CAgDrB"}
|
package/dist/scaffold/infra.js
CHANGED
|
@@ -33,52 +33,25 @@ export function generateTfvars(config) {
|
|
|
33
33
|
if (config.deployTarget === "new") {
|
|
34
34
|
addSubdomain("admin", "Coolify dashboard");
|
|
35
35
|
}
|
|
36
|
-
//
|
|
37
|
-
// "manual" returns "" — caller skips writing tfvars entirely because
|
|
38
|
-
// neither dns-only stack runs in that case.
|
|
39
|
-
const cfgProvider = getConfig().providers.dns?.provider ?? "inwx";
|
|
36
|
+
// DNS is Cloudflare-only as of v2.
|
|
40
37
|
if (config.deployTarget === "new") {
|
|
41
|
-
// node-realtime still uses the dual-provider stack (count-gated
|
|
42
|
-
// modules). The same INWX-eager-auth footgun exists there — split
|
|
43
|
-
// is deferred to a follow-up.
|
|
44
|
-
const stackDnsProvider = cfgProvider === "cloudflare" ? "cloudflare" : "inwx";
|
|
45
38
|
return renderString(TFVARS_TEMPLATE, {
|
|
46
39
|
name: config.name,
|
|
47
40
|
serverType: config.serverSize || "cpx21",
|
|
48
41
|
serverLocation: config.serverLocation || "nbg1",
|
|
49
42
|
domain: config.baseDomain,
|
|
50
43
|
subdomains,
|
|
51
|
-
dnsProvider:
|
|
44
|
+
dnsProvider: "cloudflare",
|
|
52
45
|
cloudflareProxied: true,
|
|
53
46
|
s3Enabled: config.features.includes("s3") && config.s3Provider !== "existing",
|
|
54
47
|
s3BucketName: `${config.name}-assets`,
|
|
55
48
|
s3Location: config.serverLocation || "nbg1",
|
|
56
49
|
});
|
|
57
50
|
}
|
|
58
|
-
|
|
59
|
-
// `serverIpv4` is the validated public IPv4 we discovered up front
|
|
60
|
-
// (via /servers/{uuid}/domains or DNS resolution of the dashboard
|
|
61
|
-
// hostname). Falling back to the raw `serverIp` is only correct
|
|
62
|
-
// when it happens to already be a routable IPv4 — but the same
|
|
63
|
-
// validation Terraform performs would reject anything else, so the
|
|
64
|
-
// empty-string fallback is harmless: tfvars renders `target_ipv4 = ""`,
|
|
65
|
-
// terraform plan fails fast with a clear message, and the user
|
|
66
|
-
// re-runs after the discovery issue is resolved (e.g. by setting
|
|
67
|
-
// public_ipv4 in the Coolify dashboard).
|
|
68
|
-
if (cfgProvider === "manual")
|
|
69
|
-
return "";
|
|
70
|
-
if (cfgProvider === "cloudflare") {
|
|
71
|
-
return renderString(DNS_ONLY_CLOUDFLARE_TFVARS_TEMPLATE, {
|
|
72
|
-
domain: config.baseDomain,
|
|
73
|
-
subdomains,
|
|
74
|
-
cloudflareProxied: true,
|
|
75
|
-
targetIpv4: config.serverIpv4 || "",
|
|
76
|
-
targetIpv6: config.serverIpv6 || "",
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
return renderString(DNS_ONLY_INWX_TFVARS_TEMPLATE, {
|
|
51
|
+
return renderString(DNS_ONLY_CLOUDFLARE_TFVARS_TEMPLATE, {
|
|
80
52
|
domain: config.baseDomain,
|
|
81
53
|
subdomains,
|
|
54
|
+
cloudflareProxied: true,
|
|
82
55
|
targetIpv4: config.serverIpv4 || "",
|
|
83
56
|
targetIpv6: config.serverIpv6 || "",
|
|
84
57
|
});
|
|
@@ -87,19 +60,15 @@ export function generateTfvars(config) {
|
|
|
87
60
|
* Resolve the terraform stack directory for a project. Mirrored by
|
|
88
61
|
* `runTerraform` in deploy/terraform.ts and by `rename-domain.ts`.
|
|
89
62
|
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* Terraform stack runs.
|
|
63
|
+
* DNS is Cloudflare-only as of v2 (the legacy INWX-DNS stack has been
|
|
64
|
+
* removed). `dnsProvider` is retained as an argument so existing call
|
|
65
|
+
* sites compile, but it has only one valid value.
|
|
94
66
|
*/
|
|
95
|
-
export function resolveStackDir(repoRoot, deployTarget,
|
|
67
|
+
export function resolveStackDir(repoRoot, deployTarget, _dnsProvider) {
|
|
96
68
|
if (deployTarget === "new") {
|
|
97
69
|
return join(repoRoot, "terraform", "stacks", "node-realtime");
|
|
98
70
|
}
|
|
99
|
-
|
|
100
|
-
return null;
|
|
101
|
-
const name = dnsProvider === "cloudflare" ? "dns-only-cloudflare" : "dns-only-inwx";
|
|
102
|
-
return join(repoRoot, "terraform", "stacks", name);
|
|
71
|
+
return join(repoRoot, "terraform", "stacks", "dns-only-cloudflare");
|
|
103
72
|
}
|
|
104
73
|
/** Generate Coolify stack .env for the project. */
|
|
105
74
|
export function generateCoolifyEnv(config, extras = {}) {
|
|
@@ -149,9 +118,8 @@ export function scaffoldInfra(config, repoRoot, options = {}) {
|
|
|
149
118
|
return {};
|
|
150
119
|
}
|
|
151
120
|
const result = {};
|
|
152
|
-
// Write Terraform tfvars
|
|
153
|
-
const
|
|
154
|
-
const tfDir = resolveStackDir(repoRoot, config.deployTarget, cfgProvider);
|
|
121
|
+
// Write Terraform tfvars. DNS is Cloudflare-only.
|
|
122
|
+
const tfDir = resolveStackDir(repoRoot, config.deployTarget, "cloudflare");
|
|
155
123
|
if (tfDir && tfvars && existsSync(tfDir)) {
|
|
156
124
|
const tfvarsPath = join(tfDir, `${config.name}.tfvars`);
|
|
157
125
|
writeFileSync(tfvarsPath, tfvars, "utf-8");
|
|
@@ -159,9 +127,6 @@ export function scaffoldInfra(config, repoRoot, options = {}) {
|
|
|
159
127
|
result.tfvarsPath = tfvarsPath;
|
|
160
128
|
result.stackDir = tfDir;
|
|
161
129
|
}
|
|
162
|
-
else if (cfgProvider === "manual") {
|
|
163
|
-
console.log(chalk.dim(" (manual DNS — no Terraform stack to write; set DNS records yourself)"));
|
|
164
|
-
}
|
|
165
130
|
// Write Coolify .env
|
|
166
131
|
const coolifyEnvPath = join(stacksDir, `${config.name}.env`);
|
|
167
132
|
writeFileSync(coolifyEnvPath, coolifyEnv, "utf-8");
|
|
@@ -232,16 +197,6 @@ target_ipv4 = "{{targetIpv4}}"
|
|
|
232
197
|
target_ipv6 = "{{targetIpv6}}"
|
|
233
198
|
dns_ttl = 300
|
|
234
199
|
`;
|
|
235
|
-
const DNS_ONLY_INWX_TFVARS_TEMPLATE = `domain = "{{domain}}"
|
|
236
|
-
subdomains = {
|
|
237
|
-
{{#each subdomains}}
|
|
238
|
-
"{{@key}}" = "{{this}}"
|
|
239
|
-
{{/each}}
|
|
240
|
-
}
|
|
241
|
-
target_ipv4 = "{{targetIpv4}}"
|
|
242
|
-
target_ipv6 = "{{targetIpv6}}"
|
|
243
|
-
dns_ttl = 300
|
|
244
|
-
`;
|
|
245
200
|
const COOLIFY_ENV_TEMPLATE = `COOLIFY_URL="{{coolifyUrl}}"
|
|
246
201
|
|
|
247
202
|
PROJECT_NAME="{{name}}"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/scaffold/infra.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAuB,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,iDAAiD;AACjD,MAAM,UAAU,cAAc,CAAC,MAAqB;IAClD,mEAAmE;IACnE,sEAAsE;IACtE,mCAAmC;IACnC,MAAM,UAAU,GAA2B,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,CAAC,GAAW,EAAE,WAAmB,EAAE,EAAE;QACxD,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,IAAI,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO;QAC5B,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;IAChC,CAAC,CAAC;IACF,sEAAsE;IACtE,oEAAoE;IACpE,oEAAoE;IACpE,gEAAgE;IAChE,mEAAmE;IACnE,iDAAiD;IACjD,YAAY,CACV,MAAM,CAAC,SAAS,IAAI,GAAG,EACvB,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CACtE,CAAC;IACF,IAAI,MAAM,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QACtC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACjF,CAAC;IACD,uEAAuE;IACvE,iEAAiE;IACjE,iEAAiE;IACjE,kEAAkE;IAClE,IAAI,MAAM,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QAClC,YAAY,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAC7C,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"infra.js","sourceRoot":"","sources":["../../src/scaffold/infra.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|
|
@@ -40,6 +40,7 @@ export function toManifest(config, ports, cliVersion) {
|
|
|
40
40
|
cliVersion,
|
|
41
41
|
scaffoldedAt: new Date().toISOString(),
|
|
42
42
|
name: config.name,
|
|
43
|
+
description: config.description?.trim() || undefined,
|
|
43
44
|
domain: config.domain,
|
|
44
45
|
features: [...config.features],
|
|
45
46
|
mlServices: [...config.mlServices],
|
|
@@ -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,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;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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-heuristics.d.ts","sourceRoot":"","sources":["../../src/scaffold/pages-heuristics.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf;oEACgE;IAChE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"pages-heuristics.d.ts","sourceRoot":"","sources":["../../src/scaffold/pages-heuristics.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,MAAM,EAAE,MAAM,CAAC;IACf;oEACgE;IAChE,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAqVD;;4BAE4B;AAC5B,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAgB/E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAEpE"}
|
|
@@ -34,12 +34,7 @@ const MAX_DEPTH = 5;
|
|
|
34
34
|
function scan(projectDir) {
|
|
35
35
|
const packageJsons = [];
|
|
36
36
|
const matches = new Map();
|
|
37
|
-
const probeDirNames = new Set([
|
|
38
|
-
"packages",
|
|
39
|
-
"apps",
|
|
40
|
-
"services",
|
|
41
|
-
"api",
|
|
42
|
-
]);
|
|
37
|
+
const probeDirNames = new Set(["packages", "apps", "services", "api"]);
|
|
43
38
|
// File names + suffixes we want to record sightings of.
|
|
44
39
|
const fileProbes = [
|
|
45
40
|
{ key: "nextConfig", match: (n) => /^next\.config\.(?:ts|js|mjs|cjs)$/.test(n) },
|
|
@@ -149,8 +144,8 @@ function checkNextStaticExport(files, projectDir) {
|
|
|
149
144
|
return null;
|
|
150
145
|
return {
|
|
151
146
|
level: "block",
|
|
152
|
-
title:
|
|
153
|
-
detail:
|
|
147
|
+
title: 'Next.js without `output: "export"`',
|
|
148
|
+
detail: 'GitHub Pages serves static files only. Without `output: "export"` in your next.config, Next builds a Node server bundle that Pages can\'t host. Either set `output: "export"` (and remove any server-only features) or deploy somewhere with a runtime (Vercel / Coolify).',
|
|
154
149
|
evidence: bad,
|
|
155
150
|
};
|
|
156
151
|
}
|
|
@@ -206,12 +201,17 @@ function checkServerPackages(files) {
|
|
|
206
201
|
// services/<thing>/Dockerfile typically signals a deployable service.
|
|
207
202
|
const dockerfiles = files.matches.get("dockerfile") ?? [];
|
|
208
203
|
for (const df of dockerfiles) {
|
|
209
|
-
if (df.startsWith("services/") ||
|
|
204
|
+
if (df.startsWith("services/") ||
|
|
205
|
+
df.startsWith("apps/server/") ||
|
|
206
|
+
df.startsWith("packages/server/")) {
|
|
210
207
|
evidence.push(df);
|
|
211
208
|
}
|
|
212
209
|
}
|
|
213
210
|
// Dedup against signal noise from packagesDirs / appsDirs / servicesDirs.
|
|
214
|
-
if (evidence.length === 0 &&
|
|
211
|
+
if (evidence.length === 0 &&
|
|
212
|
+
servicesDirs.length === 0 &&
|
|
213
|
+
packagesDirs.length === 0 &&
|
|
214
|
+
appsDirs.length === 0) {
|
|
215
215
|
return null;
|
|
216
216
|
}
|
|
217
217
|
if (evidence.length === 0)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages-heuristics.js","sourceRoot":"","sources":["../../src/scaffold/pages-heuristics.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,iEAAiE;AACjE,EAAE;AACF,kCAAkC;AAClC,oEAAoE;AACpE,6CAA6C;AAC7C,iEAAiE;AACjE,8DAA8D;AAC9D,wEAAwE;AAExE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AA8B3C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,cAAc;IACd,MAAM;IACN,MAAM;IACN,OAAO;IACP,OAAO;IACP,KAAK;IACL,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,SAAS;CACV,CAAC,CAAC;AAEH,mEAAmE;AACnE,oEAAoE;AACpE,0CAA0C;AAC1C,MAAM,SAAS,GAAG,CAAC,CAAC;AAEpB;;qCAEqC;AACrC,SAAS,IAAI,CAAC,UAAkB;IAC9B,MAAM,YAAY,GAA8B,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE5C,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"pages-heuristics.js","sourceRoot":"","sources":["../../src/scaffold/pages-heuristics.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,9 +32,7 @@ export function applyPagesMode(outputDir, modifications) {
|
|
|
32
32
|
function patchNextConfig(outputDir, modifications) {
|
|
33
33
|
const candidates = ["next.config.ts", "next.config.js", "next.config.mjs", "next.config.cjs"];
|
|
34
34
|
const clientDir = join(outputDir, "packages/client");
|
|
35
|
-
const found = candidates
|
|
36
|
-
.map((c) => join(clientDir, c))
|
|
37
|
-
.find((p) => existsSync(p));
|
|
35
|
+
const found = candidates.map((c) => join(clientDir, c)).find((p) => existsSync(p));
|
|
38
36
|
if (!found)
|
|
39
37
|
return;
|
|
40
38
|
rewriteFile(found, (raw) => {
|
|
@@ -61,7 +59,7 @@ function patchNextConfig(outputDir, modifications) {
|
|
|
61
59
|
if (!/images\s*:\s*\{[^}]*unoptimized\s*:\s*true/s.test(out)) {
|
|
62
60
|
// No images block at all? Inject right after `output: "export"`.
|
|
63
61
|
if (!/images\s*:\s*\{/.test(out)) {
|
|
64
|
-
out = out.replace(/(output\s*:\s*['"]export['"]\s*,)/,
|
|
62
|
+
out = out.replace(/(output\s*:\s*['"]export['"]\s*,)/, "$1\n images: { unoptimized: true },");
|
|
65
63
|
}
|
|
66
64
|
else {
|
|
67
65
|
// images block exists but missing the flag. Add unoptimized.
|