yosr-seed 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/README.md +2 -1
  3. package/dist/adopt.js +22 -8
  4. package/dist/adopt.js.map +1 -1
  5. package/dist/create.js +37 -7
  6. package/dist/create.js.map +1 -1
  7. package/dist/doctor.js +42 -2
  8. package/dist/doctor.js.map +1 -1
  9. package/dist/engine/ci/apply.d.ts +4 -0
  10. package/dist/engine/ci/apply.js +8 -1
  11. package/dist/engine/ci/apply.js.map +1 -1
  12. package/dist/engine/ci/content.d.ts +1 -1
  13. package/dist/engine/ci/content.js +20 -0
  14. package/dist/engine/ci/content.js.map +1 -1
  15. package/dist/engine/gate/run.d.ts +28 -2
  16. package/dist/engine/gate/run.js +226 -15
  17. package/dist/engine/gate/run.js.map +1 -1
  18. package/dist/engine/index.d.ts +6 -6
  19. package/dist/engine/index.js +4 -4
  20. package/dist/engine/index.js.map +1 -1
  21. package/dist/engine/render/package-manager.d.ts +21 -0
  22. package/dist/engine/render/package-manager.js +75 -1
  23. package/dist/engine/render/package-manager.js.map +1 -1
  24. package/dist/engine/render/render.d.ts +1 -1
  25. package/dist/engine/render/render.js +44 -8
  26. package/dist/engine/render/render.js.map +1 -1
  27. package/dist/engine/render/types.d.ts +5 -1
  28. package/dist/gate.js +68 -12
  29. package/dist/gate.js.map +1 -1
  30. package/dist/help.js +17 -1
  31. package/dist/help.js.map +1 -1
  32. package/dist/preflight.d.ts +17 -1
  33. package/dist/preflight.js +58 -5
  34. package/dist/preflight.js.map +1 -1
  35. package/dist/schemas/seed.answers.schema.json +3 -1
  36. package/dist/schemas/seed.template.schema.json +12 -2
  37. package/dist/templates.d.ts +1 -1
  38. package/dist/templates.js +24 -0
  39. package/dist/templates.js.map +1 -1
  40. package/package.json +8 -6
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/ci/apply.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAOtB,SAAS,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAE,OAAe;IAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,OAAoC;IACvD,OAAO,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,OAAoC,EACpC,OAAoB,EAAE;IAEtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACpE,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAED,GAAG,CACD,KAAK,EACL,gBAAgB,EAChB,oBAAoB,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAC/D,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,GAAG,GAAG,OAAO,OAAO,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/ci/apply.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,eAAe,EACf,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAWtB,SAAS,GAAG,CAAC,KAAgB,EAAE,IAAY,EAAE,OAAe;IAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,OAAoC;IACvD,OAAO,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAgB,EAChB,OAAoC,EACpC,OAAoB,EAAE;IAEtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAExC,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IACpE,IAAI,cAAc,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GACR,IAAI,CAAC,MAAM,KAAK,IAAI;QAClB,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,IAAI;YACpB,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI;gBAClB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC;IACjB,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC;IAEzD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,OAAO,GAAG,GAAG,OAAO,OAAO,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -6,7 +6,7 @@ export declare const LEGACY_NEXT_CI_WORKFLOW_PATH = ".github/workflows/ci.yml";
6
6
  * Sample workflow for generated projects. `__seed_engineVersion__` is replaced
7
7
  * at render with the concrete Yosr Seed CLI version (never `@latest`).
8
8
  */
9
- export declare function yosrSeedGateWorkflow(kind: "node" | "python"): string;
9
+ export declare function yosrSeedGateWorkflow(kind: "node" | "python" | "dotnet" | "java"): string;
10
10
  export declare function readmeCiSection(opts?: {
11
11
  replacedNextCi?: boolean;
12
12
  }): string;
@@ -16,6 +16,24 @@ export function yosrSeedGateWorkflow(kind) {
16
16
  ``,
17
17
  ].join("\n")
18
18
  : "";
19
+ const setupDotnet = kind === "dotnet"
20
+ ? [
21
+ ` - uses: actions/setup-dotnet@v4`,
22
+ ` with:`,
23
+ ` dotnet-version: "10.0.x"`,
24
+ ``,
25
+ ].join("\n")
26
+ : "";
27
+ const setupJava = kind === "java"
28
+ ? [
29
+ ` - uses: actions/setup-java@v4`,
30
+ ` with:`,
31
+ ` distribution: "temurin"`,
32
+ ` java-version: "25"`,
33
+ ` cache: "maven"`,
34
+ ``,
35
+ ].join("\n")
36
+ : "";
19
37
  return [
20
38
  `# Yosr Seed CI recipe (opt-in at create).`,
21
39
  `# Runs the same \`yosr-seed gate\` as locally, with the CLI version pinned.`,
@@ -35,6 +53,8 @@ export function yosrSeedGateWorkflow(kind) {
35
53
  ` with:`,
36
54
  ` node-version: "24"`,
37
55
  setupPython,
56
+ setupDotnet,
57
+ setupJava,
38
58
  ` - name: Run Yosr Seed gate`,
39
59
  ` run: npx --yes yosr-seed@__seed_engineVersion__ gate`,
40
60
  ``,
@@ -1 +1 @@
1
- {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/ci/content.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEvE,yEAAyE;AACzE,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAuB;IAC1D,MAAM,WAAW,GACf,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC;YACE,uCAAuC;YACvC,eAAe;YACf,kCAAkC;YAClC,qCAAqC;YACrC,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,2CAA2C;QAC3C,6EAA6E;QAC7E,8EAA8E;QAC9E,sBAAsB;QACtB,EAAE;QACF,KAAK;QACL,SAAS;QACT,iBAAiB;QACjB,EAAE;QACF,OAAO;QACP,SAAS;QACT,4BAA4B;QAC5B,YAAY;QACZ,mCAAmC;QACnC,qCAAqC;QACrC,eAAe;QACf,8BAA8B;QAC9B,WAAW;QACX,kCAAkC;QAClC,8DAA8D;QAC9D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAqC,EAAE;IACrE,MAAM,KAAK,GAAG;QACZ,OAAO;QACP,EAAE;QACF,8EAA8E;QAC9E,mGAAmG;QACnG,sFAAsF;QACtF,0CAA0C;KAC3C,CAAC;IACF,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,mFAAmF,EACnF,uEAAuE,EACvE,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../../src/ci/content.ts"],"names":[],"mappings":"AAAA,yEAAyE;AAEzE,MAAM,CAAC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEvE,yEAAyE;AACzE,MAAM,CAAC,MAAM,4BAA4B,GAAG,0BAA0B,CAAC;AAEvE;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA2C;IAE3C,MAAM,WAAW,GACf,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC;YACE,uCAAuC;YACvC,eAAe;YACf,kCAAkC;YAClC,qCAAqC;YACrC,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,WAAW,GACf,IAAI,KAAK,QAAQ;QACf,CAAC,CAAC;YACE,uCAAuC;YACvC,eAAe;YACf,oCAAoC;YACpC,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,SAAS,GACb,IAAI,KAAK,MAAM;QACb,CAAC,CAAC;YACE,qCAAqC;YACrC,eAAe;YACf,mCAAmC;YACnC,8BAA8B;YAC9B,0BAA0B;YAC1B,EAAE;SACH,CAAC,IAAI,CAAC,IAAI,CAAC;QACd,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL,2CAA2C;QAC3C,6EAA6E;QAC7E,8EAA8E;QAC9E,sBAAsB;QACtB,EAAE;QACF,KAAK;QACL,SAAS;QACT,iBAAiB;QACjB,EAAE;QACF,OAAO;QACP,SAAS;QACT,4BAA4B;QAC5B,YAAY;QACZ,mCAAmC;QACnC,qCAAqC;QACrC,eAAe;QACf,8BAA8B;QAC9B,WAAW;QACX,WAAW;QACX,SAAS;QACT,kCAAkC;QAClC,8DAA8D;QAC9D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAqC,EAAE;IAEvC,MAAM,KAAK,GAAG;QACZ,OAAO;QACP,EAAE;QACF,8EAA8E;QAC9E,mGAAmG;QACnG,sFAAsF;QACtF,0CAA0C;KAC3C,CAAC;IACF,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,mFAAmF,EACnF,uEAAuE,EACvE,qFAAqF,CACtF,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -14,7 +14,7 @@ export type DeltaAttempt = {
14
14
  detail: string;
15
15
  };
16
16
  export type GateAnswers = {
17
- packageManager: "pnpm" | "npm" | "uv";
17
+ packageManager: "pnpm" | "npm" | "uv" | "dotnet" | "maven";
18
18
  options: Record<string, OptionValue | undefined>;
19
19
  files?: Record<string, {
20
20
  sha256?: string;
@@ -85,17 +85,43 @@ export type GateResult = {
85
85
  * second `--` hides them from Vitest. npm needs `--` or it swallows them.
86
86
  */
87
87
  export declare function scriptArgs(packageManager: "pnpm" | "npm", script: string, extra?: string[]): string[];
88
+ /** True when `docker info` succeeds (honours `DOCKER`). */
89
+ export declare function dockerReachable(): boolean;
90
+ /** Mask password/userinfo and secret query params in a database URL for logs (host kept). */
91
+ export declare function redactDatabaseUrl(raw: string): string;
92
+ /**
93
+ * TCP reachability of host:port from a Postgres/Mongo URL.
94
+ * Used only to fail fast with a calm message — not a full DB handshake.
95
+ * Skips the probe for `mongodb+srv://` and for any URL with no explicit port
96
+ * (let the driver report connection errors later, still redacted).
97
+ */
98
+ export declare function databaseEndpointReachable(raw: string, timeoutMs?: number): boolean;
99
+ /** Calm message when Docker is missing and a throwaway DB container would start. */
100
+ export declare function dockerMissingDbHint(kind: "postgres" | "mongo"): string;
88
101
  /** Postgres helper. `DOCKER` overrides the binary. The image step uses `docker` itself. */
89
102
  export declare function dockerCommand(): string[];
90
103
  export declare function notGreenBanner(reportPath: string): string;
91
104
  /** Install argv when `lockedInstall` is on and the manager's lockfile is present. */
92
- export declare function lockedInstallArgs(pm: "pnpm" | "npm" | "uv", dir: string): {
105
+ export declare function lockedInstallArgs(pm: "pnpm" | "npm" | "uv" | "dotnet" | "maven", dir: string): {
93
106
  bin: string;
94
107
  args: string[];
95
108
  display: string;
96
109
  } | undefined;
97
110
  /** Executed tests from a pytest summary line, e.g. `5 passed, 1 failed in 0.42s`. */
98
111
  export declare function countPytest(output: string): number | undefined;
112
+ /**
113
+ * Executed tests from `dotnet test` summary, e.g.
114
+ * `Passed! - Failed: 0, Passed: 3, Skipped: 0, Total: 3`.
115
+ */
116
+ export declare function countDotnetTest(output: string): number | undefined;
117
+ /**
118
+ * Executed tests from Maven Surefire summary, e.g.
119
+ * `[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0`.
120
+ * Prefer the last line that has no `Time elapsed` (the suite total).
121
+ */
122
+ export declare function countMavenSurefire(output: string): number | undefined;
123
+ /** Prefer pytest, then `dotnet test`, then Maven Surefire, for command-based gate steps. */
124
+ export declare function countCommandTests(output: string): number | undefined;
99
125
  /** argv for a `run.command` step, with `__seed_<option>__` tokens taken from the recorded answers. */
100
126
  export declare function commandArgs(command: readonly string[], options: Record<string, OptionValue | undefined>): string[];
101
127
  export declare function runGate(opts: GateOptions): Promise<GateResult>;
@@ -1,5 +1,5 @@
1
1
  import { spawnSync } from "node:child_process";
2
- import { existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
2
+ import { existsSync, mkdirSync, mkdtempSync, readdirSync, readFileSync, rmSync, writeFileSync, } from "node:fs";
3
3
  import { tmpdir } from "node:os";
4
4
  import path from "node:path";
5
5
  import { stripVTControlCharacters } from "node:util";
@@ -18,6 +18,85 @@ export function scriptArgs(packageManager, script, extra = []) {
18
18
  return ["run", script, ...extra];
19
19
  return ["run", script, "--", ...extra];
20
20
  }
21
+ /** True when `docker info` succeeds (honours `DOCKER`). */
22
+ export function dockerReachable() {
23
+ const docker = dockerCommand();
24
+ const bin = docker[0] ?? "docker";
25
+ const prefix = docker.slice(1);
26
+ const info = spawnSync(bin, [...prefix, "info"], { stdio: "pipe" });
27
+ return info.status === 0;
28
+ }
29
+ const DATABASE_URL_SECRET_QUERY_KEYS = new Set([
30
+ "password",
31
+ "pass",
32
+ "pwd",
33
+ "secret",
34
+ "token",
35
+ "sslpassword",
36
+ ]);
37
+ /** Mask password/userinfo and secret query params in a database URL for logs (host kept). */
38
+ export function redactDatabaseUrl(raw) {
39
+ try {
40
+ const url = new URL(raw);
41
+ if (url.password)
42
+ url.password = "***";
43
+ if (url.username)
44
+ url.username = "***";
45
+ for (const key of [...url.searchParams.keys()]) {
46
+ if (DATABASE_URL_SECRET_QUERY_KEYS.has(key.toLowerCase()))
47
+ url.searchParams.set(key, "***");
48
+ }
49
+ return url.toString();
50
+ }
51
+ catch {
52
+ return "(invalid url)";
53
+ }
54
+ }
55
+ /**
56
+ * TCP reachability of host:port from a Postgres/Mongo URL.
57
+ * Used only to fail fast with a calm message — not a full DB handshake.
58
+ * Skips the probe for `mongodb+srv://` and for any URL with no explicit port
59
+ * (let the driver report connection errors later, still redacted).
60
+ */
61
+ export function databaseEndpointReachable(raw, timeoutMs = 2_000) {
62
+ let parsed;
63
+ try {
64
+ parsed = new URL(raw);
65
+ }
66
+ catch {
67
+ return false;
68
+ }
69
+ const host = parsed.hostname;
70
+ if (!host)
71
+ return false;
72
+ if (parsed.protocol === "mongodb+srv:" || parsed.port === "")
73
+ return true;
74
+ const port = Number(parsed.port);
75
+ if (!Number.isFinite(port) || port <= 0)
76
+ return false;
77
+ const script = [
78
+ "const net=require('node:net');",
79
+ `const s=net.connect({host:${JSON.stringify(host)},port:${port}},()=>{s.end();process.exit(0)});`,
80
+ "s.on('error',()=>process.exit(1));",
81
+ `setTimeout(()=>process.exit(1),${timeoutMs});`,
82
+ ].join("");
83
+ const ok = spawnSync(process.execPath, ["-e", script], {
84
+ stdio: "pipe",
85
+ timeout: timeoutMs + 500,
86
+ });
87
+ return ok.status === 0;
88
+ }
89
+ /** Calm message when Docker is missing and a throwaway DB container would start. */
90
+ export function dockerMissingDbHint(kind) {
91
+ const label = kind === "postgres" ? "Postgres" : "MongoDB";
92
+ const urlFlag = kind === "postgres" ? "--database-url" : "--mongodb-uri";
93
+ return [
94
+ `Docker is not available. The gate needs Docker only for a throwaway ${label} container.`,
95
+ " • Start Docker, then run: npx yosr-seed@latest gate",
96
+ ` • Or pass ${urlFlag} <dev-url> to use your own throwaway database`,
97
+ " • Or re-create with --database none",
98
+ ].join("\n");
99
+ }
21
100
  /** Postgres helper. `DOCKER` overrides the binary. The image step uses `docker` itself. */
22
101
  export function dockerCommand() {
23
102
  const parts = (process.env.DOCKER ?? "docker")
@@ -38,10 +117,44 @@ function lockfileFor(pm) {
38
117
  return "pnpm-lock.yaml";
39
118
  if (pm === "npm")
40
119
  return "package-lock.json";
41
- return "uv.lock";
120
+ if (pm === "uv")
121
+ return "uv.lock";
122
+ if (pm === "dotnet")
123
+ return "packages.lock.json";
124
+ return "dependencies-lock.json";
125
+ }
126
+ function hasDotnetLock(dir) {
127
+ if (existsSync(path.join(dir, "packages.lock.json")))
128
+ return true;
129
+ const src = path.join(dir, "src");
130
+ if (!existsSync(src))
131
+ return false;
132
+ for (const name of readdirSync(src)) {
133
+ if (existsSync(path.join(src, name, "packages.lock.json")))
134
+ return true;
135
+ }
136
+ return false;
42
137
  }
43
138
  /** Install argv when `lockedInstall` is on and the manager's lockfile is present. */
44
139
  export function lockedInstallArgs(pm, dir) {
140
+ if (pm === "dotnet") {
141
+ if (!hasDotnetLock(dir))
142
+ return undefined;
143
+ return {
144
+ bin: "dotnet",
145
+ args: ["restore", "--locked-mode"],
146
+ display: "dotnet restore --locked-mode",
147
+ };
148
+ }
149
+ if (pm === "maven") {
150
+ if (!existsSync(path.join(dir, "dependencies-lock.json")))
151
+ return undefined;
152
+ return {
153
+ bin: "mvn",
154
+ args: ["-B", "-q", "dependency:resolve", "dependency-lock:check"],
155
+ display: "mvn -B -q dependency:resolve dependency-lock:check",
156
+ };
157
+ }
45
158
  if (!existsSync(path.join(dir, lockfileFor(pm))))
46
159
  return undefined;
47
160
  if (pm === "pnpm") {
@@ -94,7 +207,8 @@ export function countPytest(output) {
94
207
  const summary = output
95
208
  .split("\n")
96
209
  .reverse()
97
- .find((line) => /\b\d+ (passed|failed|errors?)\b/.test(line) && /\bin [\d.]+s\b/.test(line));
210
+ .find((line) => /\b\d+ (passed|failed|errors?)\b/.test(line) &&
211
+ /\bin [\d.]+s\b/.test(line));
98
212
  if (summary === undefined)
99
213
  return undefined;
100
214
  let total = 0;
@@ -102,6 +216,39 @@ export function countPytest(output) {
102
216
  total += Number(match[1]);
103
217
  return total;
104
218
  }
219
+ /**
220
+ * Executed tests from `dotnet test` summary, e.g.
221
+ * `Passed! - Failed: 0, Passed: 3, Skipped: 0, Total: 3`.
222
+ */
223
+ export function countDotnetTest(output) {
224
+ const summary = output
225
+ .split("\n")
226
+ .reverse()
227
+ .find((line) => /\bTotal:\s*\d+/i.test(line) && /\bPassed:\s*\d+/i.test(line));
228
+ if (summary === undefined)
229
+ return undefined;
230
+ const total = /Total:\s*(\d+)/i.exec(summary)?.[1];
231
+ return total !== undefined ? Number(total) : undefined;
232
+ }
233
+ /**
234
+ * Executed tests from Maven Surefire summary, e.g.
235
+ * `[INFO] Tests run: 7, Failures: 0, Errors: 0, Skipped: 0`.
236
+ * Prefer the last line that has no `Time elapsed` (the suite total).
237
+ */
238
+ export function countMavenSurefire(output) {
239
+ const summary = output
240
+ .split("\n")
241
+ .reverse()
242
+ .find((line) => /Tests run:\s*\d+/i.test(line) && !/Time elapsed/i.test(line));
243
+ if (summary === undefined)
244
+ return undefined;
245
+ const total = /Tests run:\s*(\d+)/i.exec(summary)?.[1];
246
+ return total !== undefined ? Number(total) : undefined;
247
+ }
248
+ /** Prefer pytest, then `dotnet test`, then Maven Surefire, for command-based gate steps. */
249
+ export function countCommandTests(output) {
250
+ return (countPytest(output) ?? countDotnetTest(output) ?? countMavenSurefire(output));
251
+ }
105
252
  /** argv for a `run.command` step, with `__seed_<option>__` tokens taken from the recorded answers. */
106
253
  export function commandArgs(command, options) {
107
254
  return command.map((part) => part.replace(/__seed_([A-Za-z][A-Za-z0-9]*)__/g, (match, name) => {
@@ -254,9 +401,73 @@ export async function runGate(opts) {
254
401
  let reports;
255
402
  const services = (manifest.checks.services ?? []).filter((service) => service.when === undefined || evalCond(service.when, options, extra));
256
403
  const postgresService = services.find((service) => service.id === "postgres");
257
- if (opts.databaseUrl && postgresService)
258
- env.DATABASE_URL = opts.databaseUrl;
259
- else if (opts.services && postgresService) {
404
+ const mongoService = services.find((service) => service.id === "mongo");
405
+ const urlProblems = [];
406
+ if (opts.databaseUrl && opts.mongodbUri) {
407
+ urlProblems.push("Pass only one of --database-url or --mongodb-uri.");
408
+ }
409
+ else if (opts.databaseUrl && !postgresService) {
410
+ urlProblems.push("--database-url is only for Postgres projects. This project has no Postgres gate service.");
411
+ }
412
+ else if (opts.mongodbUri && !mongoService) {
413
+ urlProblems.push("--mongodb-uri is only for MongoDB projects. This project has no MongoDB gate service.");
414
+ }
415
+ else if (opts.databaseUrl && postgresService) {
416
+ if (!databaseEndpointReachable(opts.databaseUrl)) {
417
+ urlProblems.push(`Database URL is unreachable (${redactDatabaseUrl(opts.databaseUrl)}). Use a running throwaway Postgres.`);
418
+ }
419
+ else {
420
+ env.DATABASE_URL = opts.databaseUrl;
421
+ }
422
+ }
423
+ else if (opts.mongodbUri && mongoService) {
424
+ if (!databaseEndpointReachable(opts.mongodbUri)) {
425
+ urlProblems.push(`MongoDB URI is unreachable (${redactDatabaseUrl(opts.mongodbUri)}). Use a running throwaway MongoDB.`);
426
+ }
427
+ else {
428
+ env.MONGODB_URI = opts.mongodbUri;
429
+ }
430
+ }
431
+ if (urlProblems.length > 0) {
432
+ const problems = urlProblems;
433
+ mkdirSync(path.dirname(resolvedReportPath), { recursive: true });
434
+ writeFileSync(resolvedReportPath, `# Gate report\n\n## Gate problems\n\n${problems.map((problem) => `- ${problem}`).join("\n")}\n`);
435
+ const banner = notGreenBanner(path.isAbsolute(reportPath) ? resolvedReportPath : reportPath);
436
+ return {
437
+ green: false,
438
+ exitCode: exitCodes.notGreen,
439
+ banner,
440
+ reportPath: path.isAbsolute(reportPath) ? resolvedReportPath : reportPath,
441
+ steps: [],
442
+ problems,
443
+ installChanged: [],
444
+ testCount: 0,
445
+ };
446
+ }
447
+ const needPostgresContainer = opts.services === true &&
448
+ postgresService !== undefined &&
449
+ opts.databaseUrl === undefined;
450
+ const needMongoContainer = opts.services === true &&
451
+ mongoService !== undefined &&
452
+ opts.mongodbUri === undefined;
453
+ if ((needPostgresContainer || needMongoContainer) && !dockerReachable()) {
454
+ const kind = needPostgresContainer ? "postgres" : "mongo";
455
+ const problems = [dockerMissingDbHint(kind)];
456
+ mkdirSync(path.dirname(resolvedReportPath), { recursive: true });
457
+ writeFileSync(resolvedReportPath, `# Gate report\n\n## Gate problems\n\n${problems.map((problem) => `- ${problem}`).join("\n")}\n`);
458
+ const banner = notGreenBanner(path.isAbsolute(reportPath) ? resolvedReportPath : reportPath);
459
+ return {
460
+ green: false,
461
+ exitCode: exitCodes.notGreen,
462
+ banner,
463
+ reportPath: path.isAbsolute(reportPath) ? resolvedReportPath : reportPath,
464
+ steps: [],
465
+ problems,
466
+ installChanged: [],
467
+ testCount: 0,
468
+ };
469
+ }
470
+ if (needPostgresContainer && postgresService) {
260
471
  const started = startPostgres(postgresService.image, postgresService.env, opts.postgresAttempts ?? 60, opts.postgresPause ??
261
472
  (() => {
262
473
  spawnSync("sleep", ["1"]);
@@ -270,10 +481,7 @@ export async function runGate(opts) {
270
481
  postgresNotReady = true;
271
482
  }
272
483
  }
273
- const mongoService = services.find((service) => service.id === "mongo");
274
- if (opts.mongodbUri && mongoService)
275
- env.MONGODB_URI = opts.mongodbUri;
276
- else if (opts.services && mongoService) {
484
+ if (needMongoContainer && mongoService) {
277
485
  const started = startMongo(mongoService.image, mongoService.env, opts.mongoAttempts ?? 60, opts.mongoPause ??
278
486
  (() => {
279
487
  spawnSync("sleep", ["1"]);
@@ -399,7 +607,7 @@ export async function runGate(opts) {
399
607
  });
400
608
  if (step.kind === "test")
401
609
  testCount += usedDirectCommand
402
- ? (countPytest(output) ?? 0)
610
+ ? (countCommandTests(output) ?? 0)
403
611
  : countTests(output, reportFile);
404
612
  steps.push(recorded);
405
613
  if (!opts.quiet)
@@ -423,7 +631,12 @@ export async function runGate(opts) {
423
631
  postgres?.stop();
424
632
  mongo?.stop();
425
633
  if (reports !== undefined)
426
- rmSync(reports, { recursive: true, force: true, maxRetries: 5, retryDelay: 100 });
634
+ rmSync(reports, {
635
+ recursive: true,
636
+ force: true,
637
+ maxRetries: 5,
638
+ retryDelay: 100,
639
+ });
427
640
  }
428
641
  const problems = [];
429
642
  if (postgresNotReady)
@@ -493,9 +706,7 @@ export async function runGate(opts) {
493
706
  writeFileSync(resolvedReportPath, await formatText(report, prettierConfig, "markdown"));
494
707
  const banner = green
495
708
  ? undefined
496
- : notGreenBanner(path.isAbsolute(reportPath)
497
- ? resolvedReportPath
498
- : reportPath);
709
+ : notGreenBanner(path.isAbsolute(reportPath) ? resolvedReportPath : reportPath);
499
710
  return {
500
711
  green,
501
712
  exitCode: green ? exitCodes.ok : exitCodes.notGreen,
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/gate/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/gate/run.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,18 @@
1
1
  export { ENGINE_PROTECTED, checkBounds } from "./delta/bounds.js";
2
- export { runFixLoop, type DeltaAttempt, type FixLoopResult } from "./delta/loop.js";
2
+ export { runFixLoop, type DeltaAttempt, type FixLoopResult, } from "./delta/loop.js";
3
3
  export { recordedProvider } from "./delta/provider.js";
4
- export type { ModelInput, ModelOutput, ModelProvider, ZoneBounds } from "./delta/types.js";
4
+ export type { ModelInput, ModelOutput, ModelProvider, ZoneBounds, } from "./delta/types.js";
5
5
  export { exitCodes, type ExitCode } from "./exit-codes.js";
6
- export { lockedInstallArgs, notGreenBanner, runGate, type GateAnswers, type GateOptions, type GateResult, } from "./gate/run.js";
6
+ export { databaseEndpointReachable, dockerCommand, dockerMissingDbHint, dockerReachable, lockedInstallArgs, notGreenBanner, redactDatabaseUrl, runGate, type GateAnswers, type GateOptions, type GateResult, } from "./gate/run.js";
7
7
  export { nodeVersionMessage } from "./node-version.js";
8
8
  export { profileHash } from "./profile/hash.js";
9
9
  export { PRESET_NAMES, PRESET_TWEAKS, answeredTweaks, ignoredTweaks, isPresetName, isTweakId, tweakChoices, type PresetName, type TweakAnswers, type TweakId, } from "./profile/presets.js";
10
10
  export { PROFILE_PATH_DEPRECATION, assignStyle, buildProfile, configFile, configHome, createNamedProfile, defaultProfileName, deleteNamedProfile, formatProfile, isProfileName, isProfilePathArg, listProfileNames, migrateProfileStore, namedProfileFile, profileFile, profilesDir, readConfig, readProfile, renameNamedProfile, requireDefaultProfileName, resolveNamedProfile, setDefaultProfile, writeConfig, writeProfile, type ProfileLocation, type YosrConfig, } from "./profile/store.js";
11
11
  export { evalCond, type CondExtra } from "./render/conditions.js";
12
12
  export { RenderError } from "./render/errors.js";
13
- export { findPython, minimumPython, pythonMessage } from "./render/package-manager.js";
14
- export { render, type RenderInput, type RenderResult } from "./render/render.js";
15
- export type { Condition, OptionValue, Scalar, StyleProfile, TemplateManifest } from "./render/types.js";
13
+ export { dotnetMessage, findDotnet, findJava, findPython, javaMessage, minimumPython, minimumSdk, packageManagerAvailable, packageManagerBinary, packageManagerMessage, pythonMessage, } from "./render/package-manager.js";
14
+ export { render, type RenderInput, type RenderResult, } from "./render/render.js";
15
+ export type { Condition, OptionValue, Scalar, StyleProfile, TemplateManifest, } from "./render/types.js";
16
16
  export { templateSource } from "./render/lockfile.js";
17
17
  export { validateAnswers } from "./render/validate.js";
18
18
  export { GATE_RULE, copilotInstructions, geminiMd, } from "./workflow/content.js";
@@ -1,16 +1,16 @@
1
1
  export { ENGINE_PROTECTED, checkBounds } from "./delta/bounds.js";
2
- export { runFixLoop } from "./delta/loop.js";
2
+ export { runFixLoop, } from "./delta/loop.js";
3
3
  export { recordedProvider } from "./delta/provider.js";
4
4
  export { exitCodes } from "./exit-codes.js";
5
- export { lockedInstallArgs, notGreenBanner, runGate, } from "./gate/run.js";
5
+ export { databaseEndpointReachable, dockerCommand, dockerMissingDbHint, dockerReachable, lockedInstallArgs, notGreenBanner, redactDatabaseUrl, runGate, } from "./gate/run.js";
6
6
  export { nodeVersionMessage } from "./node-version.js";
7
7
  export { profileHash } from "./profile/hash.js";
8
8
  export { PRESET_NAMES, PRESET_TWEAKS, answeredTweaks, ignoredTweaks, isPresetName, isTweakId, tweakChoices, } from "./profile/presets.js";
9
9
  export { PROFILE_PATH_DEPRECATION, assignStyle, buildProfile, configFile, configHome, createNamedProfile, defaultProfileName, deleteNamedProfile, formatProfile, isProfileName, isProfilePathArg, listProfileNames, migrateProfileStore, namedProfileFile, profileFile, profilesDir, readConfig, readProfile, renameNamedProfile, requireDefaultProfileName, resolveNamedProfile, setDefaultProfile, writeConfig, writeProfile, } from "./profile/store.js";
10
10
  export { evalCond } from "./render/conditions.js";
11
11
  export { RenderError } from "./render/errors.js";
12
- export { findPython, minimumPython, pythonMessage } from "./render/package-manager.js";
13
- export { render } from "./render/render.js";
12
+ export { dotnetMessage, findDotnet, findJava, findPython, javaMessage, minimumPython, minimumSdk, packageManagerAvailable, packageManagerBinary, packageManagerMessage, pythonMessage, } from "./render/package-manager.js";
13
+ export { render, } from "./render/render.js";
14
14
  export { templateSource } from "./render/lockfile.js";
15
15
  export { validateAnswers } from "./render/validate.js";
16
16
  export { GATE_RULE, copilotInstructions, geminiMd, } from "./workflow/content.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAyC,MAAM,iBAAiB,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,OAAO,GAIR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,YAAY,GAIb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAkB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,MAAM,EAAuC,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,QAAQ,GACT,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EACL,UAAU,GAGX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAOvD,OAAO,EAAE,SAAS,EAAiB,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EACL,yBAAyB,EACzB,aAAa,EACb,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,OAAO,GAIR,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,SAAS,EACT,YAAY,GAIb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,UAAU,EACV,WAAW,EACX,kBAAkB,EAClB,yBAAyB,EACzB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACX,YAAY,GAGb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAkB,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,aAAa,EACb,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACrB,aAAa,GACd,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,MAAM,GAGP,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,QAAQ,GACT,MAAM,uBAAuB,CAAC"}
@@ -1,4 +1,6 @@
1
1
  import type { PackageManagerName } from "./types.js";
2
+ /** Binary on PATH for a package-manager id (`maven` → `mvn`). */
3
+ export declare function packageManagerBinary(name: string): string;
2
4
  export declare function packageManagerAvailable(name: string): boolean;
3
5
  export declare function packageManagerMessage(name: PackageManagerName, available: boolean): string | undefined;
4
6
  /** Major.minor of the lowest Python a `>=3.12`-style range accepts. */
@@ -12,3 +14,22 @@ export declare function findPython(range: string): {
12
14
  path?: string;
13
15
  };
14
16
  export declare function pythonMessage(range: string): string;
17
+ /** Major (or major.minor) floor from a `>=10` / `>=10.0` style range. */
18
+ export declare function minimumSdk(range: string | undefined): string | undefined;
19
+ /**
20
+ * Whether `dotnet --version` reports an SDK satisfying `range` (e.g. `>=10.0`).
21
+ * Same shape as {@link findPython} / {@link findJava} for later stacks.
22
+ */
23
+ export declare function findDotnet(range: string): {
24
+ found: boolean;
25
+ version?: string;
26
+ };
27
+ export declare function dotnetMessage(range: string): string;
28
+ /**
29
+ * Whether `java -version` reports a JDK satisfying `range` (e.g. `>=25`).
30
+ */
31
+ export declare function findJava(range: string): {
32
+ found: boolean;
33
+ version?: string;
34
+ };
35
+ export declare function javaMessage(range: string): string;