@metaobjectsdev/cli 0.7.0-rc.9 → 0.8.0-rc.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"AAmBA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsE7E"}
1
+ {"version":3,"file":"gen.d.ts","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"AAuBA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0F7E"}
@@ -1,15 +1,19 @@
1
- import { relative } from "node:path";
1
+ import { relative, join } from "node:path";
2
+ import { existsSync } from "node:fs";
2
3
  import { parseGenArgs } from "../lib/args.js";
3
4
  import { resolveGenConfig } from "../lib/config.js";
4
5
  import { loadMetaobjectsConfig } from "../lib/load-metaobjects-config.js";
5
6
  import { formatGenResult } from "../lib/output.js";
6
7
  import { log } from "../lib/log.js";
7
- import { loadMemory } from "@metaobjectsdev/sdk";
8
+ import { loadMemory, DEFAULT_METADATA_DIR } from "@metaobjectsdev/sdk";
8
9
  import { runGen } from "@metaobjectsdev/codegen-ts";
9
10
  function mapStatus(s) {
10
11
  switch (s) {
11
12
  case "new":
12
13
  case "overwrite": return "new";
14
+ case "merged": return "merged";
15
+ case "conflict": return "conflict";
16
+ case "unchanged":
13
17
  case "skipped": return "unchanged";
14
18
  case "refused": return "refused";
15
19
  }
@@ -41,7 +45,13 @@ export async function genCommand(args, cwd) {
41
45
  }
42
46
  catch (err) {
43
47
  const msg = err.message;
44
- if (msg.includes("ENOENT") || msg.includes("no such") || msg.includes("cannot read")) {
48
+ // Only emit the scaffold hint for the ACTUAL missing-metadata-dir
49
+ // condition — checked explicitly here. A broad substring match on
50
+ // "no such" / "cannot read" wrongly swallowed genuine ParseErrors (e.g.
51
+ // `origin.@via "X.y" ...: no such relationship "y" on X`) as "no
52
+ // metaobjects/ found", masking the real failure. Real parse/validation
53
+ // errors propagate with their actual message.
54
+ if (!existsSync(join(projectRoot, DEFAULT_METADATA_DIR))) {
45
55
  log.error(`no metaobjects/ found in ${projectRoot}; run 'meta init' to scaffold`);
46
56
  }
47
57
  else {
@@ -54,6 +64,8 @@ export async function genCommand(args, cwd) {
54
64
  result = await runGen({
55
65
  config: forgeConfig,
56
66
  metadata,
67
+ projectRoot,
68
+ baseline: flags.baseline,
57
69
  ...(cliConfig.entities.length > 0 ? { entityFilter: cliConfig.entities } : {}),
58
70
  });
59
71
  }
@@ -82,6 +94,15 @@ export async function genCommand(args, cwd) {
82
94
  warnings: [],
83
95
  }, { isTTY: !!process.stdout.isTTY });
84
96
  log.info(output);
97
+ // End-of-run conflict summary — surfaces in CI logs alongside the file
98
+ // listing. The non-zero exit code below carries the failure signal.
99
+ if (result.conflicts.length > 0) {
100
+ const list = result.conflicts
101
+ .map((c) => ` - ${relative(projectRoot, c.path)}`)
102
+ .join("\n");
103
+ log.warn(`meta gen completed with ${result.conflicts.length} conflict(s). ` +
104
+ `Resolve and re-run to advance the canonical state.\n${list}`);
105
+ }
85
106
  const hasFailure = files.some((f) => f.status === "conflict" || f.status === "refused");
86
107
  return hasFailure ? 1 : 0;
87
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAyC,MAAM,kBAAkB,CAAC;AAC1F,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAGpD,SAAS,SAAS,CAAC,CAAc;IAC/B,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,KAAK,CAAC;QACX,KAAK,WAAW,CAAC,CAAC,OAAO,KAAK,CAAC;QAC/B,KAAK,SAAS,CAAC,CAAG,OAAO,WAAW,CAAC;QACrC,KAAK,SAAS,CAAC,CAAG,OAAO,SAAS,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAc,EAAE,GAAW;IAC1D,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QAAC,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IAAC,CAAC;IACnC,OAAO,GAAG,EAAE,CAAC;QAAC,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAE5D,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE;YACvC,GAAG,CAAC,WAAW,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrF,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,CAAC;QACnC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YACrF,GAAG,CAAC,KAAK,CAAC,4BAA4B,WAAW,+BAA+B,CAAC,CAAC;QACpF,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,KAAK,CAAC,4BAA4B,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,MAAM,CAAC;YACpB,MAAM,EAAE,WAAW;YACnB,QAAQ;YACR,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC/E,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAC,eAAgB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAEjD,0EAA0E;IAC1E,6EAA6E;IAC7E,yCAAyC;IACzC,MAAM,KAAK,GAAmB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC;QACnC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,EAAE;KACT,CAAC,CAAC,CAAC;IAEJ,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CACnC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACjF,MAAM,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAChC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,KAAK;QACL,MAAM,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM;QAC1E,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,QAAQ,EAAE,EAAE;KACb,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;IAEtC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;IACxF,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"gen.js","sourceRoot":"","sources":["../../../src/commands/gen.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ export declare function parseInitArgs(argv: string[]): InitFlags;
9
9
  export interface GenFlags {
10
10
  dryRun: boolean;
11
11
  entities: string[];
12
+ /** First-time-on-existing-file behavior. Default: write-if-different
13
+ * (existing content becomes the canonical baseline). "fresh" → overwrite
14
+ * and re-baseline. */
15
+ baseline: "default" | "fresh";
12
16
  }
13
17
  export declare function parseGenArgs(argv: string[]): GenFlags;
14
18
  export interface ExportFlags {
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAoBvD;AAMD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAarD;AAMD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAY3D;AAMD,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAY3D;AAMD,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAc3E;AAMD,QAAA,MAAM,QAAQ,uCAAwC,CAAC;AACvD,KAAK,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzC,QAAA,MAAM,YAAY,wGAOR,CAAC;AACX,KAAK,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,QAAA,MAAM,YAAY,0CAA2C,CAAC;AAC9D,KAAK,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAEhB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAuD7D"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;CACb;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAoBvD;AAMD,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;;2BAEuB;IACvB,QAAQ,EAAE,SAAS,GAAG,OAAO,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,CAqBrD;AAMD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;CACzB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAY3D;AAMD,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,WAAW,CAY3D;AAMD,MAAM,WAAW,mBAAmB;IAClC,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,2EAA2E;IAC3E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAc3E;AAMD,QAAA,MAAM,QAAQ,uCAAwC,CAAC;AACvD,KAAK,OAAO,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzC,QAAA,MAAM,YAAY,wGAOR,CAAC;AACX,KAAK,UAAU,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,QAAA,MAAM,YAAY,0CAA2C,CAAC;AAC9D,KAAK,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,MAAM,EAAE,OAAO,CAAC;IAEhB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAuD7D"}
@@ -25,13 +25,19 @@ export function parseGenArgs(argv) {
25
25
  args: argv,
26
26
  options: {
27
27
  "dry-run": { type: "boolean", default: false },
28
+ "baseline": { type: "string" },
28
29
  },
29
30
  strict: true,
30
31
  allowPositionals: true,
31
32
  });
33
+ const baselineRaw = values.baseline;
34
+ if (baselineRaw !== undefined && baselineRaw !== "default" && baselineRaw !== "fresh") {
35
+ throw new Error(`invalid --baseline '${baselineRaw}'; expected 'default' or 'fresh'`);
36
+ }
32
37
  return {
33
38
  dryRun: !!values["dry-run"],
34
39
  entities: positionals,
40
+ baseline: baselineRaw ?? "default",
35
41
  };
36
42
  }
37
43
  export function parseExportArgs(argv) {
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/lib/args.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metaobjectsdev/cli",
3
- "version": "0.7.0-rc.9",
3
+ "version": "0.8.0-rc.1",
4
4
  "description": "CLI for MetaObjects: scaffold, codegen, migrate, and drift-detection commands.",
5
5
  "type": "module",
6
6
  "main": "./dist/src/index.js",
@@ -36,14 +36,14 @@
36
36
  },
37
37
  "keywords": ["metaobjects", "cli", "scaffold", "codegen", "drift-detection"],
38
38
  "dependencies": {
39
- "@metaobjectsdev/sdk": "0.7.0-rc.9",
40
- "@metaobjectsdev/metadata": "0.7.0-rc.9",
41
- "@metaobjectsdev/render": "0.7.0-rc.9",
42
- "@metaobjectsdev/codegen-ts": "0.7.0-rc.9",
43
- "@metaobjectsdev/codegen-ts-react": "0.7.0-rc.9",
44
- "@metaobjectsdev/codegen-ts-tanstack": "0.7.0-rc.9",
45
- "@metaobjectsdev/migrate-ts": "0.7.0-rc.9",
46
- "@metaobjectsdev/runtime-ts": "0.7.0-rc.9",
39
+ "@metaobjectsdev/sdk": "0.8.0-rc.1",
40
+ "@metaobjectsdev/metadata": "0.8.0-rc.1",
41
+ "@metaobjectsdev/render": "0.8.0-rc.1",
42
+ "@metaobjectsdev/codegen-ts": "0.8.0-rc.1",
43
+ "@metaobjectsdev/codegen-ts-react": "0.8.0-rc.1",
44
+ "@metaobjectsdev/codegen-ts-tanstack": "0.8.0-rc.1",
45
+ "@metaobjectsdev/migrate-ts": "0.8.0-rc.1",
46
+ "@metaobjectsdev/runtime-ts": "0.8.0-rc.1",
47
47
  "jiti": "^2.4.0"
48
48
  },
49
49
  "peerDependencies": {
@@ -1,10 +1,11 @@
1
- import { relative } from "node:path";
1
+ import { relative, join } from "node:path";
2
+ import { existsSync } from "node:fs";
2
3
  import { parseGenArgs } from "../lib/args.js";
3
4
  import { resolveGenConfig } from "../lib/config.js";
4
5
  import { loadMetaobjectsConfig } from "../lib/load-metaobjects-config.js";
5
6
  import { formatGenResult, type GenFileEntry, type GenFileStatus } from "../lib/output.js";
6
7
  import { log } from "../lib/log.js";
7
- import { loadMemory } from "@metaobjectsdev/sdk";
8
+ import { loadMemory, DEFAULT_METADATA_DIR } from "@metaobjectsdev/sdk";
8
9
  import { runGen } from "@metaobjectsdev/codegen-ts";
9
10
  import type { WriteStatus } from "@metaobjectsdev/codegen-ts";
10
11
 
@@ -12,6 +13,9 @@ function mapStatus(s: WriteStatus): GenFileStatus {
12
13
  switch (s) {
13
14
  case "new":
14
15
  case "overwrite": return "new";
16
+ case "merged": return "merged";
17
+ case "conflict": return "conflict";
18
+ case "unchanged":
15
19
  case "skipped": return "unchanged";
16
20
  case "refused": return "refused";
17
21
  }
@@ -40,7 +44,13 @@ export async function genCommand(args: string[], cwd: string): Promise<number> {
40
44
  });
41
45
  } catch (err) {
42
46
  const msg = (err as Error).message;
43
- if (msg.includes("ENOENT") || msg.includes("no such") || msg.includes("cannot read")) {
47
+ // Only emit the scaffold hint for the ACTUAL missing-metadata-dir
48
+ // condition — checked explicitly here. A broad substring match on
49
+ // "no such" / "cannot read" wrongly swallowed genuine ParseErrors (e.g.
50
+ // `origin.@via "X.y" ...: no such relationship "y" on X`) as "no
51
+ // metaobjects/ found", masking the real failure. Real parse/validation
52
+ // errors propagate with their actual message.
53
+ if (!existsSync(join(projectRoot, DEFAULT_METADATA_DIR))) {
44
54
  log.error(`no metaobjects/ found in ${projectRoot}; run 'meta init' to scaffold`);
45
55
  } else {
46
56
  log.error(`failed to load metadata: ${msg}`);
@@ -53,6 +63,8 @@ export async function genCommand(args: string[], cwd: string): Promise<number> {
53
63
  result = await runGen({
54
64
  config: forgeConfig,
55
65
  metadata,
66
+ projectRoot,
67
+ baseline: flags.baseline,
56
68
  ...(cliConfig.entities.length > 0 ? { entityFilter: cliConfig.entities } : {}),
57
69
  });
58
70
  } catch (err) {
@@ -85,6 +97,18 @@ export async function genCommand(args: string[], cwd: string): Promise<number> {
85
97
 
86
98
  log.info(output);
87
99
 
100
+ // End-of-run conflict summary — surfaces in CI logs alongside the file
101
+ // listing. The non-zero exit code below carries the failure signal.
102
+ if (result.conflicts.length > 0) {
103
+ const list = result.conflicts
104
+ .map((c) => ` - ${relative(projectRoot, c.path)}`)
105
+ .join("\n");
106
+ log.warn(
107
+ `meta gen completed with ${result.conflicts.length} conflict(s). ` +
108
+ `Resolve and re-run to advance the canonical state.\n${list}`,
109
+ );
110
+ }
111
+
88
112
  const hasFailure = files.some((f) => f.status === "conflict" || f.status === "refused");
89
113
  return hasFailure ? 1 : 0;
90
114
  }
package/src/lib/args.ts CHANGED
@@ -41,6 +41,10 @@ export function parseInitArgs(argv: string[]): InitFlags {
41
41
  export interface GenFlags {
42
42
  dryRun: boolean;
43
43
  entities: string[];
44
+ /** First-time-on-existing-file behavior. Default: write-if-different
45
+ * (existing content becomes the canonical baseline). "fresh" → overwrite
46
+ * and re-baseline. */
47
+ baseline: "default" | "fresh";
44
48
  }
45
49
 
46
50
  export function parseGenArgs(argv: string[]): GenFlags {
@@ -48,13 +52,21 @@ export function parseGenArgs(argv: string[]): GenFlags {
48
52
  args: argv,
49
53
  options: {
50
54
  "dry-run": { type: "boolean", default: false },
55
+ "baseline": { type: "string" },
51
56
  },
52
57
  strict: true,
53
58
  allowPositionals: true,
54
59
  });
60
+ const baselineRaw = values.baseline as string | undefined;
61
+ if (baselineRaw !== undefined && baselineRaw !== "default" && baselineRaw !== "fresh") {
62
+ throw new Error(
63
+ `invalid --baseline '${baselineRaw}'; expected 'default' or 'fresh'`,
64
+ );
65
+ }
55
66
  return {
56
67
  dryRun: !!values["dry-run"],
57
68
  entities: positionals,
69
+ baseline: (baselineRaw as "default" | "fresh" | undefined) ?? "default",
58
70
  };
59
71
  }
60
72