yosr-seed 0.2.4 → 0.2.5

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 +16 -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 +39 -3
  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 +15 -1
  33. package/dist/preflight.js +43 -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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # yosr-seed
2
2
 
3
+ ## 0.2.5
4
+
5
+ ### Patch Changes
6
+
7
+ - 63badc9: Add the ASP.NET Core API template (`--template dotnet`, ADR 0026): .NET 10 LTS, minimal API, xUnit + WebApplicationFactory, locked NuGet restore with committed `packages.lock.json` and `global.json`, notes API, database none/Postgres (EF Core + Npgsql), API-key auth, multi-stage non-root Docker. Engine gains `engines.dotnet` / package manager `dotnet` (and the same shape for later `engines.java` / `maven`). Joins the Yosr Seed fixed group.
8
+ - 11f252b: Add Spring Boot template-spring (ADR 0027): Java 25, Maven locked resolve, optional JPA Postgres.
9
+ - Updated dependencies [63badc9]
10
+ - Updated dependencies [11f252b]
11
+ - @yosr-ai/template-dotnet@0.2.5
12
+ - @yosr-ai/template-next-fullstack@0.2.5
13
+ - @yosr-ai/template-fastapi@0.2.5
14
+ - @yosr-ai/template-hono@0.2.5
15
+ - @yosr-ai/template-vite-react@0.2.5
16
+ - @yosr-ai/template-astro-site@0.2.5
17
+ - @yosr-ai/template-spring@0.2.5
18
+
3
19
  ## 0.2.4
4
20
 
5
21
  ### Patch Changes
package/README.md CHANGED
@@ -7,6 +7,7 @@ Templates:
7
7
  - `next-fullstack` (`@yosr-ai/template-next-fullstack`, the default) — Next.js full-stack
8
8
  - `hono` (`@yosr-ai/template-hono`) — API-only Hono on Node.js 24
9
9
  - `fastapi` (`@yosr-ai/template-fastapi`) — API-only FastAPI on Python 3.12+
10
+ - `dotnet` (`@yosr-ai/template-dotnet`) — API-only ASP.NET Core on .NET 10
10
11
  - `vite-react` (`@yosr-ai/template-vite-react`) — Web app (Vite + React) static SPA
11
12
  - `astro-site` (`@yosr-ai/template-astro-site`) — Website (Astro) content-first static site
12
13
 
@@ -85,7 +86,7 @@ Style presets (Clean / Classic / Minimal) and tweaks shape layout, formatting, a
85
86
  | `create-yosr-seed [dir]` | Same as `yosr-seed create` |
86
87
  | `yosr-seed doctor` | Preflight checks and copy-paste versions |
87
88
  | `yosr-seed info` | Inside a generated project: setup choices, create versions, tracked-file drift |
88
- | `yosr-seed gate [dir] [--e2e] [--image]` | Inside a generated project: run its checks again |
89
+ | `yosr-seed gate [dir] [--e2e] [--image] [--database-url <url>] [--mongodb-uri <uri>]` | Inside a generated project: run its checks again (optional throwaway DB URL instead of Docker) |
89
90
  | `yosr-seed profile` | TTY menu for named profiles; pipe prints usage |
90
91
  | `yosr-seed profile list` | List names; mark the default |
91
92
  | `yosr-seed profile show [name]` | Print a style profile |
package/dist/adopt.js CHANGED
@@ -3,7 +3,7 @@ import { copyFileSync, existsSync, mkdirSync, mkdtempSync, readFileSync, rmSync,
3
3
  import { tmpdir } from "node:os";
4
4
  import path from "node:path";
5
5
  import { buildProfile, copilotInstructions, exitCodes, geminiMd, render, RenderError, runGate, templateSource, validateAnswers, } from "./engine/index.js";
6
- import { liveProbe, packageManagerCheck, pythonCheck, } from "./preflight.js";
6
+ import { dotnetCheck, javaCheck, liveProbe, packageManagerCheck, pythonCheck, } from "./preflight.js";
7
7
  import { isTemplateId, loadTemplateManifest, templateDir, templatePackageVersion, TEMPLATE_IDS, } from "./templates.js";
8
8
  const RULEBOOK_PATHS = [
9
9
  "AGENTS.md",
@@ -11,7 +11,7 @@ const RULEBOOK_PATHS = [
11
11
  "GEMINI.md",
12
12
  ".github/copilot-instructions.md",
13
13
  ];
14
- const USAGE = "Usage: yosr-seed adopt [dir] --template <next-fullstack|fastapi|hono|vite-react|astro-site> [--package-manager pnpm|npm|uv] [--yes]";
14
+ const USAGE = "Usage: yosr-seed adopt [dir] --template <next-fullstack|fastapi|hono|vite-react|astro-site|dotnet|spring> [--package-manager pnpm|npm|uv|dotnet|maven] [--yes]";
15
15
  function sha256Text(content) {
16
16
  return createHash("sha256").update(content).digest("hex");
17
17
  }
@@ -73,18 +73,28 @@ function parseFlags(args) {
73
73
  };
74
74
  }
75
75
  function defaultPackageManager(template) {
76
- return template === "fastapi" ? "uv" : "pnpm";
76
+ if (template === "fastapi")
77
+ return "uv";
78
+ if (template === "dotnet")
79
+ return "dotnet";
80
+ if (template === "spring")
81
+ return "maven";
82
+ return "pnpm";
77
83
  }
78
84
  function lockfileName(pm) {
79
85
  if (pm === "pnpm")
80
86
  return "pnpm-lock.yaml";
81
87
  if (pm === "npm")
82
88
  return "package-lock.json";
83
- return "uv.lock";
89
+ if (pm === "uv")
90
+ return "uv.lock";
91
+ if (pm === "dotnet")
92
+ return "packages.lock.json";
93
+ return "pom.xml";
84
94
  }
85
95
  function foreignLockfiles(root, chosen) {
86
96
  const found = [];
87
- for (const pm of ["pnpm", "npm", "uv"]) {
97
+ for (const pm of ["pnpm", "npm", "uv", "dotnet", "maven"]) {
88
98
  if (pm === chosen)
89
99
  continue;
90
100
  const name = lockfileName(pm);
@@ -219,12 +229,16 @@ export async function runAdopt(io) {
219
229
  io.stdout(`Warning: found ${foreign} while using ${packageManager}. Pass --package-manager if you meant a different manager.`);
220
230
  }
221
231
  const probe = io.probe ?? liveProbe();
222
- const checks = [
223
- packageManagerCheck(packageManager, probe),
224
- ];
232
+ const checks = [packageManagerCheck(packageManager, probe)];
225
233
  if (manifest.engines.python !== undefined) {
226
234
  checks.push(pythonCheck(manifest.engines.python, probe));
227
235
  }
236
+ if (manifest.engines.dotnet !== undefined) {
237
+ checks.push(dotnetCheck(manifest.engines.dotnet, probe));
238
+ }
239
+ if (manifest.engines.java !== undefined) {
240
+ checks.push(javaCheck(manifest.engines.java, probe));
241
+ }
228
242
  const missing = checks.filter((check) => !check.ok);
229
243
  if (missing.length > 0) {
230
244
  for (const check of missing)
package/dist/adopt.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adopt.js","sourceRoot":"","sources":["../src/adopt.ts"],"names":[],"mappings":"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"}
package/dist/create.js CHANGED
@@ -4,7 +4,7 @@ import { homedir } from "node:os";
4
4
  import path from "node:path";
5
5
  import { PRESET_TWEAKS, PROFILE_PATH_DEPRECATION, RenderError, buildProfile, defaultProfileName, evalCond, exitCodes, ignoredTweaks, isPresetName, isProfilePathArg, isTweakId, listProfileNames, migrateProfileStore, namedProfileFile, readProfile, render, resolveNamedProfile, runGate, setDefaultProfile, writeProfile, } from "./engine/index.js";
6
6
  import { savedStyleLabels } from "./labels.js";
7
- import { folderCheck, gitCheck, liveProbe, nodeCheck, packageManagerCheck, pythonCheck, } from "./preflight.js";
7
+ import { folderCheck, gitCheck, liveProbe, nodeCheck, dotnetCheck, javaCheck, packageManagerCheck, pythonCheck, } from "./preflight.js";
8
8
  import { TWEAKS, lineQuestion, optionPrompt, presetPrompt, tweakPrompt, } from "./prompts.js";
9
9
  import { renderFromYosrSeed } from "./run.js";
10
10
  import { DEFAULT_TEMPLATE, TEMPLATES, TEMPLATE_IDS, isTemplateId, loadTemplateManifest, templateChoices, templateDir as installedTemplatePath, } from "./templates.js";
@@ -112,6 +112,10 @@ function parseCreateArgs(args, manifest) {
112
112
  parsed.git = false;
113
113
  else if (name === "push")
114
114
  parsed.push = true;
115
+ else if (name === "database-url")
116
+ parsed.databaseUrl = takeValue(inline, rest, name);
117
+ else if (name === "mongodb-uri")
118
+ parsed.mongodbUri = takeValue(inline, rest, name);
115
119
  else if (name === "package-manager") {
116
120
  const value = takeValue(inline, rest, name);
117
121
  const manager = managers.find((item) => item === value);
@@ -148,6 +152,11 @@ function parseCreateArgs(args, manifest) {
148
152
  throw new Error("--push needs a green gate. Omit --no-gate.");
149
153
  if (parsed.noGate && parsed.saveProfile)
150
154
  throw new Error("--save-profile needs a green gate. Omit --no-gate.");
155
+ if (parsed.databaseUrl !== undefined && parsed.mongodbUri !== undefined)
156
+ throw new Error("Pass only one of --database-url or --mongodb-uri.");
157
+ if (parsed.noGate &&
158
+ (parsed.databaseUrl !== undefined || parsed.mongodbUri !== undefined))
159
+ throw new Error("--database-url / --mongodb-uri need the gate. Omit --no-gate.");
151
160
  return parsed;
152
161
  }
153
162
  function parseBooleanAnswer(raw, fallback) {
@@ -426,10 +435,14 @@ export async function runCreate(io) {
426
435
  const now = io.now ?? new Date().toISOString();
427
436
  const probe = io.probe ?? liveProbe();
428
437
  const python = manifest.engines.python;
438
+ const dotnet = manifest.engines.dotnet;
439
+ const java = manifest.engines.java;
429
440
  const preflight = [
430
441
  nodeCheck(io.nodeVersion),
431
442
  packageManagerCheck(flags.packageManager, probe),
432
443
  ...(python !== undefined ? [pythonCheck(python, probe)] : []),
444
+ ...(dotnet !== undefined ? [dotnetCheck(dotnet, probe)] : []),
445
+ ...(java !== undefined ? [javaCheck(java, probe)] : []),
433
446
  gitCheck(flags.git, probe, io.gitIdentity),
434
447
  ];
435
448
  const knownDir = flags.dir ??
@@ -861,7 +874,9 @@ export async function runCreate(io) {
861
874
  ? "npm run dev"
862
875
  : flags.packageManager === "uv"
863
876
  ? "uv run dev"
864
- : "pnpm dev";
877
+ : flags.packageManager === "dotnet"
878
+ ? "dotnet run --project src/App"
879
+ : "pnpm dev";
865
880
  const createdHere = !existsSync(outDir);
866
881
  const finishCancel = () => {
867
882
  if (createdHere && existsSync(outDir)) {
@@ -906,7 +921,9 @@ export async function runCreate(io) {
906
921
  spin?.stop(`Rendered ${secondsSince(renderStarted)}`);
907
922
  const ignored = rendered.ignored ?? [];
908
923
  if (ignored.length > 0) {
909
- const line = manifest.stack?.framework === "hono"
924
+ const line = manifest.stack?.framework === "hono" ||
925
+ manifest.engines.dotnet !== undefined ||
926
+ manifest.engines.java !== undefined
910
927
  ? `Style: ${ignored.length} profile settings this template ignores (for example Next.js-only lint) were skipped.`
911
928
  : `Style: ${ignored.length} profile settings for TypeScript and front-end code do not apply to ${manifest.name}; skipped.`;
912
929
  if (session)
@@ -935,6 +952,15 @@ export async function runCreate(io) {
935
952
  };
936
953
  }
937
954
  else {
955
+ const databaseChoice = typeof flags.answers.database === "string"
956
+ ? flags.answers.database
957
+ : undefined;
958
+ if (flags.databaseUrl !== undefined && databaseChoice !== "postgres") {
959
+ throw new Error("--database-url is only for Postgres projects. Pass --database postgres or omit --database-url.");
960
+ }
961
+ if (flags.mongodbUri !== undefined && databaseChoice !== "mongodb") {
962
+ throw new Error("--mongodb-uri is only for MongoDB projects. Pass --database mongodb or omit --mongodb-uri.");
963
+ }
938
964
  const gateOptions = {
939
965
  dir: outDir,
940
966
  templateDir,
@@ -942,6 +968,12 @@ export async function runCreate(io) {
942
968
  e2e: flags.e2e,
943
969
  quiet: session !== undefined,
944
970
  shouldStop: () => abandoned,
971
+ ...(flags.databaseUrl !== undefined
972
+ ? { databaseUrl: flags.databaseUrl }
973
+ : {}),
974
+ ...(flags.mongodbUri !== undefined
975
+ ? { mongodbUri: flags.mongodbUri }
976
+ : {}),
945
977
  };
946
978
  let liveSteps = false;
947
979
  if (spin) {
@@ -1044,6 +1076,8 @@ export async function runCreate(io) {
1044
1076
  return exitCodes.ok;
1045
1077
  }
1046
1078
  if (!gate.green) {
1079
+ for (const problem of gate.problems)
1080
+ session.log.error(problem);
1047
1081
  session.log.error(gate.banner ?? "NOT GREEN");
1048
1082
  session.outro(`The project was still written. See ${cd}/.seed/report.md`);
1049
1083
  return gate.exitCode;
@@ -1065,6 +1099,8 @@ export async function runCreate(io) {
1065
1099
  if (flags.noGate)
1066
1100
  return exitCodes.ok;
1067
1101
  if (!gate.green) {
1102
+ for (const problem of gate.problems)
1103
+ io.stderr(problem);
1068
1104
  io.stderr(gate.banner ?? "NOT GREEN");
1069
1105
  return gate.exitCode;
1070
1106
  }
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../src/create.ts"],"names":[],"mappings":"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"}
package/dist/doctor.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { homedir, release } from "node:os";
2
- import { configHome, defaultProfileName, exitCodes, migrateProfileStore, } from "./engine/index.js";
3
- import { gitCheck, liveProbe, nodeCheck, packageManagerCheck, pythonCheck, } from "./preflight.js";
2
+ import { configHome, defaultProfileName, dockerReachable, exitCodes, migrateProfileStore, } from "./engine/index.js";
3
+ import { dotnetCheck, javaCheck, gitCheck, liveProbe, nodeCheck, packageManagerCheck, pythonCheck, } from "./preflight.js";
4
4
  import { TEMPLATES, TEMPLATE_IDS, loadTemplateManifest, templatePackageVersion, } from "./templates.js";
5
5
  function printCheck(io, check) {
6
6
  io.stdout(`${check.ok ? "ok" : "fail"} ${check.line}`);
@@ -31,6 +31,40 @@ function pythonInfo(io, probe) {
31
31
  const found = pythonCheck(python.range, probe);
32
32
  io.stdout(`info ${found.ok ? found.line : `Python ${python.range} not found (${needed}; minimum ${python.range.replace(/^>=\s*/, "")})`}`);
33
33
  }
34
+ /** .NET SDK is info only: matters for ASP.NET Core templates, checked again at create and gate. */
35
+ function dotnetInfo(io, probe) {
36
+ const dotnet = TEMPLATE_IDS.map((id) => {
37
+ try {
38
+ return { id, range: loadTemplateManifest(id).engines.dotnet };
39
+ }
40
+ catch {
41
+ return { id, range: undefined };
42
+ }
43
+ }).find((entry) => entry.range !== undefined);
44
+ if (dotnet?.range === undefined)
45
+ return;
46
+ const needed = `needed for --template ${dotnet.id}`;
47
+ const found = dotnetCheck(dotnet.range, probe);
48
+ io.stdout(`info ${found.ok ? found.line : `.NET SDK ${dotnet.range} not found (${needed}; minimum ${dotnet.range.replace(/^>=\s*/, "")})`}`);
49
+ }
50
+ /** JDK and Maven are info only: matter for Spring Boot templates, checked again at create and gate. */
51
+ function javaInfo(io, probe) {
52
+ const java = TEMPLATE_IDS.map((id) => {
53
+ try {
54
+ return { id, range: loadTemplateManifest(id).engines.java };
55
+ }
56
+ catch {
57
+ return { id, range: undefined };
58
+ }
59
+ }).find((entry) => entry.range !== undefined);
60
+ if (java?.range === undefined)
61
+ return;
62
+ const needed = `needed for --template ${java.id}`;
63
+ const mvn = packageManagerCheck("maven", probe);
64
+ io.stdout(`info ${mvn.ok ? mvn.line : `mvn not found (${needed})`}`);
65
+ const found = javaCheck(java.range, probe);
66
+ io.stdout(`info ${found.ok ? found.line : `JDK ${java.range} not found (${needed}; minimum ${java.range.replace(/^>=\s*/, "")})`}`);
67
+ }
34
68
  /** Standalone preflight. Exit 0 when Node, git, and at least one package manager pass. */
35
69
  export function runDoctor(io) {
36
70
  const probe = io.probe ?? liveProbe();
@@ -58,6 +92,12 @@ export function runDoctor(io) {
58
92
  for (const check of [node, pnpm, npm, git])
59
93
  printCheck(io, check);
60
94
  pythonInfo(io, probe);
95
+ dotnetInfo(io, probe);
96
+ javaInfo(io, probe);
97
+ const dockerNote = "only needed for Postgres/MongoDB gate containers when no --database-url / --mongodb-uri";
98
+ io.stdout(dockerReachable()
99
+ ? `info Docker available (${dockerNote})`
100
+ : `info Docker not found (${dockerNote})`);
61
101
  return node.ok && (pnpm.ok || npm.ok) && git.ok
62
102
  ? exitCodes.ok
63
103
  : exitCodes.failure;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ import type { OptionValue, TreeState } from "../render/types.js";
2
2
  export type CiApplyMeta = {
3
3
  /** Python templates (FastAPI) need uv/Python on the runner. */
4
4
  python?: boolean;
5
+ /** ASP.NET Core templates need the .NET SDK on the runner. */
6
+ dotnet?: boolean;
7
+ /** Spring Boot templates need a JDK + Maven on the runner. */
8
+ java?: boolean;
5
9
  };
6
10
  /**
7
11
  * Opt-in create-time CI recipe (ADR 0025 §1). Writes a sample GitHub Actions
@@ -21,7 +21,14 @@ export function applyCiArtifacts(state, options, meta = {}) {
21
21
  if (replacedNextCi) {
22
22
  state.tree.delete(LEGACY_NEXT_CI_WORKFLOW_PATH);
23
23
  }
24
- put(state, CI_WORKFLOW_PATH, yosrSeedGateWorkflow(meta.python === true ? "python" : "node"));
24
+ const kind = meta.python === true
25
+ ? "python"
26
+ : meta.dotnet === true
27
+ ? "dotnet"
28
+ : meta.java === true
29
+ ? "java"
30
+ : "node";
31
+ put(state, CI_WORKFLOW_PATH, yosrSeedGateWorkflow(kind));
25
32
  const readme = state.tree.get("README.md");
26
33
  if (readme && !readme.content.includes("## CI")) {
27
34
  const trimmed = readme.content.replace(/\s*$/, "");
@@ -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"}