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.
- package/CHANGELOG.md +30 -0
- package/README.md +2 -1
- package/dist/adopt.js +22 -8
- package/dist/adopt.js.map +1 -1
- package/dist/create.js +37 -7
- package/dist/create.js.map +1 -1
- package/dist/doctor.js +42 -2
- package/dist/doctor.js.map +1 -1
- package/dist/engine/ci/apply.d.ts +4 -0
- package/dist/engine/ci/apply.js +8 -1
- package/dist/engine/ci/apply.js.map +1 -1
- package/dist/engine/ci/content.d.ts +1 -1
- package/dist/engine/ci/content.js +20 -0
- package/dist/engine/ci/content.js.map +1 -1
- package/dist/engine/gate/run.d.ts +28 -2
- package/dist/engine/gate/run.js +226 -15
- package/dist/engine/gate/run.js.map +1 -1
- package/dist/engine/index.d.ts +6 -6
- package/dist/engine/index.js +4 -4
- package/dist/engine/index.js.map +1 -1
- package/dist/engine/render/package-manager.d.ts +21 -0
- package/dist/engine/render/package-manager.js +75 -1
- package/dist/engine/render/package-manager.js.map +1 -1
- package/dist/engine/render/render.d.ts +1 -1
- package/dist/engine/render/render.js +44 -8
- package/dist/engine/render/render.js.map +1 -1
- package/dist/engine/render/types.d.ts +5 -1
- package/dist/gate.js +68 -12
- package/dist/gate.js.map +1 -1
- package/dist/help.js +17 -1
- package/dist/help.js.map +1 -1
- package/dist/preflight.d.ts +17 -1
- package/dist/preflight.js +58 -5
- package/dist/preflight.js.map +1 -1
- package/dist/schemas/seed.answers.schema.json +3 -1
- package/dist/schemas/seed.template.schema.json +12 -2
- package/dist/templates.d.ts +1 -1
- package/dist/templates.js +24 -0
- package/dist/templates.js.map +1 -1
- package/package.json +8 -6
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import { spawnSync } from "node:child_process";
|
|
2
|
+
/** Binary on PATH for a package-manager id (`maven` → `mvn`). */
|
|
3
|
+
export function packageManagerBinary(name) {
|
|
4
|
+
return name === "maven" ? "mvn" : name;
|
|
5
|
+
}
|
|
2
6
|
export function packageManagerAvailable(name) {
|
|
3
|
-
const result = spawnSync(name, ["--version"], {
|
|
7
|
+
const result = spawnSync(packageManagerBinary(name), ["--version"], {
|
|
8
|
+
stdio: "ignore",
|
|
9
|
+
});
|
|
4
10
|
return result.status === 0;
|
|
5
11
|
}
|
|
6
12
|
export function packageManagerMessage(name, available) {
|
|
@@ -10,6 +16,10 @@ export function packageManagerMessage(name, available) {
|
|
|
10
16
|
return "Package manager pnpm was not found. Run `corepack enable` and try again.";
|
|
11
17
|
if (name === "uv")
|
|
12
18
|
return "uv was not found. Install it from https://docs.astral.sh/uv/ and try again.";
|
|
19
|
+
if (name === "dotnet")
|
|
20
|
+
return "The .NET SDK was not found. Install it from https://dot.net/download and try again.";
|
|
21
|
+
if (name === "maven")
|
|
22
|
+
return "Maven was not found. Install it from https://maven.apache.org/download.cgi and try again.";
|
|
13
23
|
return "Package manager npm was not found.";
|
|
14
24
|
}
|
|
15
25
|
/** Major.minor of the lowest Python a `>=3.12`-style range accepts. */
|
|
@@ -29,4 +39,68 @@ export function findPython(range) {
|
|
|
29
39
|
export function pythonMessage(range) {
|
|
30
40
|
return `Python ${range} was not found by uv. Install one with \`uv python install ${minimumPython(range) ?? "3.12"}\` and try again.`;
|
|
31
41
|
}
|
|
42
|
+
/** Major (or major.minor) floor from a `>=10` / `>=10.0` style range. */
|
|
43
|
+
export function minimumSdk(range) {
|
|
44
|
+
return /^>=\s*(\d+(?:\.\d+)?)/.exec(range ?? "")?.[1];
|
|
45
|
+
}
|
|
46
|
+
function versionMeetsFloor(version, floor) {
|
|
47
|
+
const parse = (text) => text.split(".").map((part) => Number.parseInt(part, 10) || 0);
|
|
48
|
+
const have = parse(version);
|
|
49
|
+
const need = parse(floor);
|
|
50
|
+
const len = Math.max(have.length, need.length);
|
|
51
|
+
for (let i = 0; i < len; i++) {
|
|
52
|
+
const a = have[i] ?? 0;
|
|
53
|
+
const b = need[i] ?? 0;
|
|
54
|
+
if (a > b)
|
|
55
|
+
return true;
|
|
56
|
+
if (a < b)
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Whether `dotnet --version` reports an SDK satisfying `range` (e.g. `>=10.0`).
|
|
63
|
+
* Same shape as {@link findPython} / {@link findJava} for later stacks.
|
|
64
|
+
*/
|
|
65
|
+
export function findDotnet(range) {
|
|
66
|
+
const result = spawnSync("dotnet", ["--version"], { encoding: "utf8" });
|
|
67
|
+
if (result.status !== 0)
|
|
68
|
+
return { found: false };
|
|
69
|
+
const version = (result.stdout ?? "").trim();
|
|
70
|
+
if (version.length === 0)
|
|
71
|
+
return { found: false };
|
|
72
|
+
const floor = minimumSdk(range);
|
|
73
|
+
if (floor === undefined)
|
|
74
|
+
return { found: true, version };
|
|
75
|
+
return versionMeetsFloor(version, floor)
|
|
76
|
+
? { found: true, version }
|
|
77
|
+
: { found: false, version };
|
|
78
|
+
}
|
|
79
|
+
export function dotnetMessage(range) {
|
|
80
|
+
return `A .NET SDK ${range} was not found. Install one from https://dot.net/download (minimum ${minimumSdk(range) ?? "10.0"}) and try again.`;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Whether `java -version` reports a JDK satisfying `range` (e.g. `>=25`).
|
|
84
|
+
*/
|
|
85
|
+
export function findJava(range) {
|
|
86
|
+
const result = spawnSync("java", ["-version"], { encoding: "utf8" });
|
|
87
|
+
// OpenJDK prints version on stderr.
|
|
88
|
+
const text = `${result.stderr ?? ""}${result.stdout ?? ""}`;
|
|
89
|
+
if (result.status !== 0 && text.length === 0)
|
|
90
|
+
return { found: false };
|
|
91
|
+
const match = /version\s+"(\d+)(?:\.(\d+))?/.exec(text) ??
|
|
92
|
+
/version\s+(\d+)(?:\.(\d+))?/.exec(text);
|
|
93
|
+
if (!match)
|
|
94
|
+
return { found: false };
|
|
95
|
+
const version = match[2] !== undefined ? `${match[1]}.${match[2]}` : `${match[1]}`;
|
|
96
|
+
const floor = minimumSdk(range);
|
|
97
|
+
if (floor === undefined)
|
|
98
|
+
return { found: true, version };
|
|
99
|
+
return versionMeetsFloor(version, floor)
|
|
100
|
+
? { found: true, version }
|
|
101
|
+
: { found: false, version };
|
|
102
|
+
}
|
|
103
|
+
export function javaMessage(range) {
|
|
104
|
+
return `A JDK ${range} was not found. Install one from https://adoptium.net/ (minimum ${minimumSdk(range) ?? "25"}) and try again.`;
|
|
105
|
+
}
|
|
32
106
|
//# sourceMappingURL=package-manager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/render/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../src/render/package-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,iEAAiE;AACjE,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,IAAY;IAClD,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE;QAClE,KAAK,EAAE,QAAQ;KAChB,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,IAAwB,EACxB,SAAkB;IAElB,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAChC,IAAI,IAAI,KAAK,MAAM;QACjB,OAAO,0EAA0E,CAAC;IACpF,IAAI,IAAI,KAAK,IAAI;QACf,OAAO,6EAA6E,CAAC;IACvF,IAAI,IAAI,KAAK,QAAQ;QACnB,OAAO,qFAAqF,CAAC;IAC/F,IAAI,IAAI,KAAK,OAAO;QAClB,OAAO,2FAA2F,CAAC;IACrG,OAAO,oCAAoC,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,OAAO,kBAAkB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,MAAM,GAAG,SAAS,CACtB,IAAI,EACJ,CAAC,QAAQ,EAAE,MAAM,EAAE,uBAAuB,EAAE,KAAK,CAAC,EAClD,EAAE,QAAQ,EAAE,MAAM,EAAE,CACrB,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,UAAU,KAAK,8DAA8D,aAAa,CAAC,KAAK,CAAC,IAAI,MAAM,mBAAmB,CAAC;AACxI,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,UAAU,CAAC,KAAyB;IAClD,OAAO,uBAAuB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAe,EAAE,KAAa;IACvD,MAAM,KAAK,GAAG,CAAC,IAAY,EAAY,EAAE,CACvC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IAItC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACjD,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAClD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACzD,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;QACtC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,cAAc,KAAK,sEAAsE,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,kBAAkB,CAAC;AAChJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACrE,oCAAoC;IACpC,MAAM,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;IAC5D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACtE,MAAM,KAAK,GACT,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC;QACzC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACpC,MAAM,OAAO,GACX,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACrE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IACzD,OAAO,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC;QACtC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1B,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,SAAS,KAAK,mEAAmE,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,kBAAkB,CAAC;AACtI,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Mismatch, OptionValue, PackageManagerName, Scalar, StyleProfile, TemplateManifest } from "./types.js";
|
|
2
2
|
export { RenderError } from "./errors.js";
|
|
3
|
-
/** API-only templates (FastAPI, Hono) get endpoint wording in the seeded Local issue. */
|
|
3
|
+
/** API-only templates (FastAPI, Hono, ASP.NET Core, Spring Boot) get endpoint wording in the seeded Local issue. */
|
|
4
4
|
export declare function isApiOnly(manifest: TemplateManifest): boolean;
|
|
5
5
|
export type RenderInput = {
|
|
6
6
|
templateDir: string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { execFileSync } from "node:child_process";
|
|
2
|
-
import { existsSync, mkdirSync, readdirSync, statSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { existsSync, mkdirSync, readdirSync, statSync, writeFileSync, } from "node:fs";
|
|
3
3
|
import path from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
4
5
|
import { applyCiArtifacts } from "../ci/apply.js";
|
|
5
6
|
import { applyWorkflowArtifacts } from "../workflow/apply.js";
|
|
6
7
|
import { satisfiesYosrEngine } from "./engines.js";
|
|
@@ -11,18 +12,32 @@ import { formatTree } from "./format.js";
|
|
|
11
12
|
import { addPackages } from "./json-merge.js";
|
|
12
13
|
import { writeSeedFiles } from "./lockfile.js";
|
|
13
14
|
import { resolveOptions } from "./options.js";
|
|
14
|
-
import { findPython, packageManagerAvailable, packageManagerMessage, pythonMessage, } from "./package-manager.js";
|
|
15
|
+
import { dotnetMessage, findDotnet, findJava, findPython, javaMessage, packageManagerAvailable, packageManagerMessage, pythonMessage, } from "./package-manager.js";
|
|
15
16
|
import { appendNextAgentRules, writeRules } from "./rules.js";
|
|
16
17
|
import { applyStyleValues, concreteAliasDirs, concreteRoot, layoutDimension, pathMapFor, relocateTree, resolveStyle, } from "./style.js";
|
|
17
18
|
import { assertResolved, buildTokens, substitute } from "./tokens.js";
|
|
18
|
-
import { applyOp, copyDir, createTree, materializeAnchors, normPath } from "./tree-ops.js";
|
|
19
|
+
import { applyOp, copyDir, createTree, materializeAnchors, normPath, } from "./tree-ops.js";
|
|
19
20
|
import { readJson } from "./util.js";
|
|
20
21
|
import { validateProfile, validateTemplate } from "./validate.js";
|
|
21
22
|
export { RenderError } from "./errors.js";
|
|
22
23
|
const PM = {
|
|
23
|
-
pnpm: {
|
|
24
|
+
pnpm: {
|
|
25
|
+
run: "pnpm",
|
|
26
|
+
exec: "pnpm exec",
|
|
27
|
+
installCi: "pnpm install --frozen-lockfile",
|
|
28
|
+
},
|
|
24
29
|
npm: { run: "npm run", exec: "npx", installCi: "npm ci" },
|
|
25
30
|
uv: { run: "uv run", exec: "uv run", installCi: "uv sync --locked" },
|
|
31
|
+
dotnet: {
|
|
32
|
+
run: "dotnet",
|
|
33
|
+
exec: "dotnet",
|
|
34
|
+
installCi: "dotnet restore --locked-mode",
|
|
35
|
+
},
|
|
36
|
+
maven: {
|
|
37
|
+
run: "mvn",
|
|
38
|
+
exec: "mvn",
|
|
39
|
+
installCi: "mvn -B -q dependency:resolve dependency-lock:check",
|
|
40
|
+
},
|
|
26
41
|
};
|
|
27
42
|
/**
|
|
28
43
|
* Logical root for `domain` / `shared` / `server`. Python and Next.js templates
|
|
@@ -32,9 +47,12 @@ const PM = {
|
|
|
32
47
|
function logicalRoot(roots, name) {
|
|
33
48
|
return [`@${name}`, `#${name}`].find((root) => root in roots) ?? `@${name}`;
|
|
34
49
|
}
|
|
35
|
-
/** API-only templates (FastAPI, Hono) get endpoint wording in the seeded Local issue. */
|
|
50
|
+
/** API-only templates (FastAPI, Hono, ASP.NET Core, Spring Boot) get endpoint wording in the seeded Local issue. */
|
|
36
51
|
export function isApiOnly(manifest) {
|
|
37
|
-
return manifest.engines.python !== undefined ||
|
|
52
|
+
return (manifest.engines.python !== undefined ||
|
|
53
|
+
manifest.engines.dotnet !== undefined ||
|
|
54
|
+
manifest.engines.java !== undefined ||
|
|
55
|
+
manifest.stack?.framework === "hono");
|
|
38
56
|
}
|
|
39
57
|
export async function render(input) {
|
|
40
58
|
const t0 = Date.now();
|
|
@@ -55,6 +73,12 @@ export async function render(input) {
|
|
|
55
73
|
const python = manifest.engines.python;
|
|
56
74
|
if (python !== undefined && !findPython(python).found)
|
|
57
75
|
fail(pythonMessage(python));
|
|
76
|
+
const dotnet = manifest.engines.dotnet;
|
|
77
|
+
if (dotnet !== undefined && !findDotnet(dotnet).found)
|
|
78
|
+
fail(dotnetMessage(dotnet));
|
|
79
|
+
const java = manifest.engines.java;
|
|
80
|
+
if (java !== undefined && !findJava(java).found)
|
|
81
|
+
fail(javaMessage(java));
|
|
58
82
|
const pm = PM[pmName];
|
|
59
83
|
const overrides = input.styleOverrides ?? {};
|
|
60
84
|
const effective = { ...input.profile.style, ...overrides };
|
|
@@ -82,7 +106,11 @@ export async function render(input) {
|
|
|
82
106
|
for (const feature of ordered) {
|
|
83
107
|
const replaces = new Set((feature.replaces ?? []).map((file) => normPath(state, file)));
|
|
84
108
|
copyDir(state, `${feature.dir ?? `features/${feature.id}`}/files`, `feature:${feature.id}`, (file) => replaces.has(file));
|
|
85
|
-
for (const kind of [
|
|
109
|
+
for (const kind of [
|
|
110
|
+
"dependencies",
|
|
111
|
+
"devDependencies",
|
|
112
|
+
"scripts",
|
|
113
|
+
]) {
|
|
86
114
|
const map = feature[kind];
|
|
87
115
|
if (map)
|
|
88
116
|
addPackages(state, kind, map, `feature:${feature.id}`);
|
|
@@ -108,6 +136,8 @@ export async function render(input) {
|
|
|
108
136
|
});
|
|
109
137
|
applyCiArtifacts(state, options, {
|
|
110
138
|
python: manifest.engines.python !== undefined,
|
|
139
|
+
dotnet: manifest.engines.dotnet !== undefined,
|
|
140
|
+
java: manifest.engines.java !== undefined,
|
|
111
141
|
});
|
|
112
142
|
writeRules(state, manifest, options, applied, unsupported, pm, styleRules, allStyleRules, defaultRoots, chosenRoots, concrete, input.profile, activeAliases, extra);
|
|
113
143
|
const tokens = buildTokens(manifest, options, pmName, pm, dirs, engineVersion);
|
|
@@ -125,7 +155,13 @@ export async function render(input) {
|
|
|
125
155
|
assertResolved(file, entry.content);
|
|
126
156
|
if (pmName === "pnpm") {
|
|
127
157
|
const pkg = state.tree.get("package.json") ?? fail("package.json missing");
|
|
128
|
-
|
|
158
|
+
// Resolve pnpm from a cwd without a packageManager pin. Upgrade baselines
|
|
159
|
+
// chdir into an empty temp tree; using process.cwd() would flip the Corepack
|
|
160
|
+
// shim and make package.json hashes drift vs create.
|
|
161
|
+
const version = execFileSync("pnpm", ["--version"], {
|
|
162
|
+
encoding: "utf8",
|
|
163
|
+
cwd: path.dirname(fileURLToPath(import.meta.url)),
|
|
164
|
+
}).trim();
|
|
129
165
|
const json = JSON.parse(pkg.content);
|
|
130
166
|
pkg.content = `${JSON.stringify({ ...json, packageManager: `pnpm@${version}` }, null, 2)}\n`;
|
|
131
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/render/render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/render/render.ts"],"names":[],"mappings":"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"}
|
|
@@ -146,6 +146,10 @@ export type TemplateManifest = {
|
|
|
146
146
|
yosr: string;
|
|
147
147
|
node?: string;
|
|
148
148
|
python?: string;
|
|
149
|
+
/** .NET SDK range (ASP.NET Core templates), e.g. `>=10.0`. */
|
|
150
|
+
dotnet?: string;
|
|
151
|
+
/** JDK range (Spring templates later), e.g. `>=25`. */
|
|
152
|
+
java?: string;
|
|
149
153
|
};
|
|
150
154
|
stack?: {
|
|
151
155
|
framework: string;
|
|
@@ -261,7 +265,7 @@ export type ConcreteDirs = {
|
|
|
261
265
|
serverDir: string;
|
|
262
266
|
featureUiDir: string | null;
|
|
263
267
|
};
|
|
264
|
-
export type PackageManagerName = "pnpm" | "npm" | "uv";
|
|
268
|
+
export type PackageManagerName = "pnpm" | "npm" | "uv" | "dotnet" | "maven";
|
|
265
269
|
export type PackageManagerCommands = {
|
|
266
270
|
run: string;
|
|
267
271
|
exec: string;
|
package/dist/gate.js
CHANGED
|
@@ -1,29 +1,70 @@
|
|
|
1
1
|
import { existsSync, readFileSync } from "node:fs";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { exitCodes, runGate } from "./engine/index.js";
|
|
4
|
-
import { liveProbe, packageManagerCheck, pythonCheck, } from "./preflight.js";
|
|
4
|
+
import { dotnetCheck, javaCheck, liveProbe, packageManagerCheck, pythonCheck, } from "./preflight.js";
|
|
5
5
|
import { isTemplateId, loadTemplateManifest, templateDir, templatePackageVersion, } from "./templates.js";
|
|
6
|
-
const USAGE = "Usage: yosr-seed gate [dir] [--e2e] [--image]";
|
|
6
|
+
const USAGE = "Usage: yosr-seed gate [dir] [--e2e] [--image] [--database-url <url>] [--mongodb-uri <uri>]";
|
|
7
7
|
function lastLines(text) {
|
|
8
8
|
const lines = text.split("\n").filter((line) => line.trim().length > 0);
|
|
9
9
|
return lines.slice(-15).join("\n");
|
|
10
10
|
}
|
|
11
|
+
function takeFlagValue(name, inline, rest) {
|
|
12
|
+
if (inline !== undefined && inline.length > 0)
|
|
13
|
+
return inline;
|
|
14
|
+
const next = rest.shift();
|
|
15
|
+
if (next === undefined || next.startsWith("--"))
|
|
16
|
+
throw new Error(`Missing value for --${name}.`);
|
|
17
|
+
return next;
|
|
18
|
+
}
|
|
11
19
|
/** Re-runs the recorded template's checks in a generated project. */
|
|
12
20
|
export async function runGateCommand(io) {
|
|
13
21
|
let dir;
|
|
14
22
|
let e2e = false;
|
|
15
23
|
let image = false;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
let databaseUrl;
|
|
25
|
+
let mongodbUri;
|
|
26
|
+
const rest = [...io.args.slice(1)];
|
|
27
|
+
try {
|
|
28
|
+
while (rest.length > 0) {
|
|
29
|
+
const arg = rest.shift();
|
|
30
|
+
if (arg === undefined)
|
|
31
|
+
break;
|
|
32
|
+
if (arg === "--e2e") {
|
|
33
|
+
e2e = true;
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
if (arg === "--image") {
|
|
37
|
+
image = true;
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
if (arg === "--database-url" || arg.startsWith("--database-url=")) {
|
|
41
|
+
const inline = arg.startsWith("--database-url=")
|
|
42
|
+
? arg.slice("--database-url=".length)
|
|
43
|
+
: undefined;
|
|
44
|
+
databaseUrl = takeFlagValue("database-url", inline, rest);
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (arg === "--mongodb-uri" || arg.startsWith("--mongodb-uri=")) {
|
|
48
|
+
const inline = arg.startsWith("--mongodb-uri=")
|
|
49
|
+
? arg.slice("--mongodb-uri=".length)
|
|
50
|
+
: undefined;
|
|
51
|
+
mongodbUri = takeFlagValue("mongodb-uri", inline, rest);
|
|
52
|
+
continue;
|
|
53
|
+
}
|
|
54
|
+
if (arg.startsWith("--") || dir !== undefined) {
|
|
55
|
+
io.stderr(USAGE);
|
|
56
|
+
return exitCodes.failure;
|
|
57
|
+
}
|
|
26
58
|
dir = arg;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
io.stderr(error instanceof Error ? error.message : String(error));
|
|
63
|
+
return exitCodes.failure;
|
|
64
|
+
}
|
|
65
|
+
if (databaseUrl !== undefined && mongodbUri !== undefined) {
|
|
66
|
+
io.stderr("Pass only one of --database-url or --mongodb-uri.");
|
|
67
|
+
return exitCodes.failure;
|
|
27
68
|
}
|
|
28
69
|
const root = path.resolve(io.cwd ?? process.cwd(), dir ?? ".");
|
|
29
70
|
const answersPath = path.join(root, ".seed", "answers.json");
|
|
@@ -37,6 +78,15 @@ export async function runGateCommand(io) {
|
|
|
37
78
|
io.stderr(`.seed/answers.json records template ${name || "(none)"}, which this yosr-seed does not ship.`);
|
|
38
79
|
return exitCodes.failure;
|
|
39
80
|
}
|
|
81
|
+
const database = answers.options?.database;
|
|
82
|
+
if (databaseUrl !== undefined && database !== "postgres") {
|
|
83
|
+
io.stderr("--database-url is only for Postgres projects. This project is not using Postgres.");
|
|
84
|
+
return exitCodes.failure;
|
|
85
|
+
}
|
|
86
|
+
if (mongodbUri !== undefined && database !== "mongodb") {
|
|
87
|
+
io.stderr("--mongodb-uri is only for MongoDB projects. This project is not using MongoDB.");
|
|
88
|
+
return exitCodes.failure;
|
|
89
|
+
}
|
|
40
90
|
const manifest = loadTemplateManifest(name);
|
|
41
91
|
const shipped = templatePackageVersion(name);
|
|
42
92
|
io.stdout(`Template: ${name}@${shipped}`);
|
|
@@ -48,6 +98,10 @@ export async function runGateCommand(io) {
|
|
|
48
98
|
const checks = [packageManagerCheck(manager, probe)];
|
|
49
99
|
if (manifest.engines.python !== undefined)
|
|
50
100
|
checks.push(pythonCheck(manifest.engines.python, probe));
|
|
101
|
+
if (manifest.engines.dotnet !== undefined)
|
|
102
|
+
checks.push(dotnetCheck(manifest.engines.dotnet, probe));
|
|
103
|
+
if (manifest.engines.java !== undefined)
|
|
104
|
+
checks.push(javaCheck(manifest.engines.java, probe));
|
|
51
105
|
const missing = checks.filter((check) => !check.ok);
|
|
52
106
|
if (missing.length > 0) {
|
|
53
107
|
for (const check of missing)
|
|
@@ -61,6 +115,8 @@ export async function runGateCommand(io) {
|
|
|
61
115
|
e2e,
|
|
62
116
|
image,
|
|
63
117
|
quiet: true,
|
|
118
|
+
...(databaseUrl !== undefined ? { databaseUrl } : {}),
|
|
119
|
+
...(mongodbUri !== undefined ? { mongodbUri } : {}),
|
|
64
120
|
});
|
|
65
121
|
for (const step of gate.steps) {
|
|
66
122
|
const seconds = step.durationSec !== undefined ? ` ${step.durationSec}s` : "";
|
package/dist/gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,WAAW,GAGZ,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,WAAW,EACX,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../src/gate.ts"],"names":[],"mappings":"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"}
|
package/dist/help.js
CHANGED
|
@@ -63,12 +63,22 @@ function needsLine(manifest) {
|
|
|
63
63
|
const python = manifest.engines.python;
|
|
64
64
|
if (python !== undefined)
|
|
65
65
|
return `Needs Python ${python}.`;
|
|
66
|
+
const dotnet = manifest.engines.dotnet;
|
|
67
|
+
if (dotnet !== undefined)
|
|
68
|
+
return `Needs .NET SDK ${dotnet}.`;
|
|
69
|
+
const java = manifest.engines.java;
|
|
70
|
+
if (java !== undefined)
|
|
71
|
+
return `Needs JDK ${java} and Maven.`;
|
|
66
72
|
return `Needs Node.js ${manifest.engines.node ?? ">=24"}.`;
|
|
67
73
|
}
|
|
68
74
|
/** What `style.ignore` leaves out of a template, in words. */
|
|
69
75
|
function skippedSettings(manifest) {
|
|
70
76
|
if (manifest.engines.python !== undefined)
|
|
71
77
|
return "TypeScript, Prettier, React naming";
|
|
78
|
+
if (manifest.engines.dotnet !== undefined)
|
|
79
|
+
return "TypeScript, Prettier, React naming";
|
|
80
|
+
if (manifest.engines.java !== undefined)
|
|
81
|
+
return "TypeScript, Prettier, React naming";
|
|
72
82
|
return "lint preset, forms, React component naming, data fetching";
|
|
73
83
|
}
|
|
74
84
|
/** Flags of a non-default template that differ from the default template's. */
|
|
@@ -133,7 +143,7 @@ export function buildHelpText() {
|
|
|
133
143
|
" Report template changes since create. Writes nothing; does not apply upgrades.",
|
|
134
144
|
" yosr-seed adopt [dir] --template <id> [--package-manager <pm>] [--yes]",
|
|
135
145
|
" Preview, then add AGENTS.md + pointer files and an adopted .seed/ record. Does not rewrite app code.",
|
|
136
|
-
" yosr-seed gate [dir] [--e2e] [--image]",
|
|
146
|
+
" yosr-seed gate [dir] [--e2e] [--image] [--database-url <url>] [--mongodb-uri <uri>]",
|
|
137
147
|
" Run the project's checks again (lint, typecheck, tests, ...) and rewrite .seed/report.md.",
|
|
138
148
|
" yosr-seed --version",
|
|
139
149
|
"",
|
|
@@ -164,6 +174,12 @@ export function buildHelpText() {
|
|
|
164
174
|
" Run the optional end-to-end step.",
|
|
165
175
|
" --no-gate",
|
|
166
176
|
" Write the project and skip install, lint, typecheck, build, and test.",
|
|
177
|
+
" --database-url <url>",
|
|
178
|
+
" Create/gate: use this throwaway Postgres URL instead of a Docker container.",
|
|
179
|
+
" Never read from the environment; never written to .seed/.",
|
|
180
|
+
" --mongodb-uri <uri>",
|
|
181
|
+
" Create/gate: use this throwaway MongoDB URI instead of a Docker container.",
|
|
182
|
+
" Never read from the environment; never written to .seed/.",
|
|
167
183
|
" --no-git",
|
|
168
184
|
" Do not create a git repository.",
|
|
169
185
|
" --push",
|
package/dist/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"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"}
|
package/dist/preflight.d.ts
CHANGED
|
@@ -12,8 +12,20 @@ export type CommandProbe = {
|
|
|
12
12
|
found: boolean;
|
|
13
13
|
text: string;
|
|
14
14
|
};
|
|
15
|
+
/** A .NET SDK that satisfies `range` (e.g. `>=10.0`). */
|
|
16
|
+
dotnet?(range: string): {
|
|
17
|
+
found: boolean;
|
|
18
|
+
text: string;
|
|
19
|
+
};
|
|
20
|
+
/** A JDK that satisfies `range` (e.g. `>=25`). */
|
|
21
|
+
java?(range: string): {
|
|
22
|
+
found: boolean;
|
|
23
|
+
text: string;
|
|
24
|
+
};
|
|
15
25
|
};
|
|
16
|
-
export type ManagerName = "pnpm" | "npm" | "uv";
|
|
26
|
+
export type ManagerName = "pnpm" | "npm" | "uv" | "dotnet" | "maven";
|
|
27
|
+
/** Post-create “run the app” hint on the success outro. */
|
|
28
|
+
export declare function projectRunHint(manager: ManagerName): string;
|
|
17
29
|
export type Check = {
|
|
18
30
|
name: string;
|
|
19
31
|
ok: boolean;
|
|
@@ -25,6 +37,10 @@ export declare function nodeCheck(version: string): Check;
|
|
|
25
37
|
export declare function packageManagerCheck(manager: ManagerName, probe: CommandProbe): Check;
|
|
26
38
|
/** Python for a Python template (`engines.python`, for example `>=3.12`). */
|
|
27
39
|
export declare function pythonCheck(range: string, probe: CommandProbe): Check;
|
|
40
|
+
/** .NET SDK for an ASP.NET Core template (`engines.dotnet`, for example `>=10.0`). */
|
|
41
|
+
export declare function dotnetCheck(range: string, probe: CommandProbe): Check;
|
|
42
|
+
/** JDK for a Spring Boot template (`engines.java`, for example `>=25`). */
|
|
43
|
+
export declare function javaCheck(range: string, probe: CommandProbe): Check;
|
|
28
44
|
export declare function gitCheck(enabled: boolean, probe: CommandProbe, identity: {
|
|
29
45
|
name: string;
|
|
30
46
|
email: string;
|