@metaobjectsdev/codegen-ts 0.24.1 → 0.24.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/generators/requirements-markdown.d.ts.map +1 -1
- package/dist/generators/requirements-markdown.js +27 -1
- package/dist/generators/requirements-markdown.js.map +1 -1
- package/dist/generators/requirements-view.d.ts +8 -0
- package/dist/generators/requirements-view.d.ts.map +1 -1
- package/dist/generators/requirements-view.js +2 -1
- package/dist/generators/requirements-view.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/runner.d.ts.map +1 -1
- package/dist/runner.js +39 -17
- package/dist/runner.js.map +1 -1
- package/package.json +6 -6
- package/src/generators/requirements-markdown.ts +28 -1
- package/src/generators/requirements-view.ts +10 -0
- package/src/index.ts +12 -0
- package/src/runner.ts +46 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements-markdown.d.ts","sourceRoot":"","sources":["../../src/generators/requirements-markdown.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"requirements-markdown.d.ts","sourceRoot":"","sources":["../../src/generators/requirements-markdown.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA8D7D;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,cAAc,EAAE,GAAG,MAAM,CAUlF"}
|
|
@@ -20,6 +20,32 @@
|
|
|
20
20
|
function heading(depth) {
|
|
21
21
|
return "#".repeat(Math.min(depth + 2, 6));
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* The heading line: the ADDRESS, then the LABEL where there is one.
|
|
25
|
+
*
|
|
26
|
+
* `spec/capability-ledger.md` charters `title` on a requirement as the thing an index
|
|
27
|
+
* shows, so it belongs here and not in the fact bar. It rides BESIDE the path rather
|
|
28
|
+
* than replacing it, for two reasons that are not stylistic:
|
|
29
|
+
*
|
|
30
|
+
* - `path` is unique by construction and a `title` is not, so a title-keyed heading can
|
|
31
|
+
* collide — two entries with the same heading, and two markdown anchors fighting over
|
|
32
|
+
* one slug.
|
|
33
|
+
* - Every sibling surface names a requirement by its path: the TOON artifact's first
|
|
34
|
+
* column, shape C's `requirement.<subType> <path>` backlinks, and every `verify`
|
|
35
|
+
* diagnostic. A reader arriving from any of them searches for the path.
|
|
36
|
+
*
|
|
37
|
+
* An untitled requirement therefore renders exactly as it did before this line existed.
|
|
38
|
+
*
|
|
39
|
+
* Whitespace is COLLAPSED here rather than in the projection. A newline inside a title
|
|
40
|
+
* ends the heading and re-parents everything after it, so the document silently loses
|
|
41
|
+
* its structure — but that is a markdown fact, not a fact about the ledger, and another
|
|
42
|
+
* consumer of `RequirementRow` is entitled to the authored string.
|
|
43
|
+
*/
|
|
44
|
+
function headingLine(r) {
|
|
45
|
+
const title = r.title?.replace(/\s+/g, " ").trim();
|
|
46
|
+
const label = title === undefined || title === "" ? "" : ` — ${title}`;
|
|
47
|
+
return `${heading(r.depth)} ${r.path}${label}`;
|
|
48
|
+
}
|
|
23
49
|
/** The one-line fact bar: the attrs that are scannable rather than readable. */
|
|
24
50
|
function facts(r) {
|
|
25
51
|
const parts = [`\`${r.subType}\``];
|
|
@@ -36,7 +62,7 @@ function facts(r) {
|
|
|
36
62
|
return parts.join(" · ");
|
|
37
63
|
}
|
|
38
64
|
function renderOne(r) {
|
|
39
|
-
const out = [
|
|
65
|
+
const out = [headingLine(r), "", facts(r), ""];
|
|
40
66
|
if (r.statement !== undefined)
|
|
41
67
|
out.push(r.statement, "");
|
|
42
68
|
// The prescriptive pair. A requirement MUST be violable, so the counterexample is not
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements-markdown.js","sourceRoot":"","sources":["../../src/generators/requirements-markdown.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,sFAAsF;AACtF,EAAE;AACF,sFAAsF;AACtF,EAAE;AACF,sFAAsF;AACtF,wFAAwF;AACxF,qDAAqD;AACrD,EAAE;AACF,yFAAyF;AACzF,wFAAwF;AACxF,wFAAwF;AACxF,mFAAmF;AACnF,mFAAmF;AACnF,EAAE;AACF,yFAAyF;AACzF,oFAAoF;AAIpF,wFAAwF;AACxF,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,gFAAgF;AAChF,SAAS,KAAK,CAAC,CAAiB;IAC9B,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAClE,mFAAmF;IACnF,iEAAiE;IACjE,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IACjF,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,CAAiB;IAClC,MAAM,GAAG,GAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"requirements-markdown.js","sourceRoot":"","sources":["../../src/generators/requirements-markdown.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,EAAE;AACF,sFAAsF;AACtF,EAAE;AACF,sFAAsF;AACtF,EAAE;AACF,sFAAsF;AACtF,wFAAwF;AACxF,qDAAqD;AACrD,EAAE;AACF,yFAAyF;AACzF,wFAAwF;AACxF,wFAAwF;AACxF,mFAAmF;AACnF,mFAAmF;AACnF,EAAE;AACF,yFAAyF;AACzF,oFAAoF;AAIpF,wFAAwF;AACxF,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAS,WAAW,CAAC,CAAiB;IACpC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnD,MAAM,KAAK,GAAG,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CAAC;IACvE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;AACjD,CAAC;AAED,gFAAgF;AAChF,SAAS,KAAK,CAAC,CAAiB;IAC9B,MAAM,KAAK,GAAa,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC;IAClE,mFAAmF;IACnF,iEAAiE;IACjE,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC;IACjF,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7E,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,CAAiB;IAClC,MAAM,GAAG,GAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,IAAI,CAAC,CAAC,SAAS,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACzD,sFAAsF;IACtF,iFAAiF;IACjF,IAAI,CAAC,CAAC,cAAc,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5F,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAE7D,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3F,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAA+B;IACxE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,OAAO;QACL,gBAAgB;QAChB,EAAE;QACF,GAAG,IAAI,CAAC,MAAM,wBAAwB,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,yBAAyB;QAC3F,EAAE;QACF,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;KACvB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -5,6 +5,14 @@ export interface RequirementRow {
|
|
|
5
5
|
readonly path: string;
|
|
6
6
|
/** 0 for a root-level requirement. Derived from `path`, so it cannot disagree with it. */
|
|
7
7
|
readonly depth: number;
|
|
8
|
+
/**
|
|
9
|
+
* The entry's LABEL, where the author wrote one. `spec/capability-ledger.md` charters
|
|
10
|
+
* `title` on a requirement by name — "`name` is an identifier, this is what an index
|
|
11
|
+
* shows" — so a surface that projects the address and drops the label renders an index
|
|
12
|
+
* the charter already described differently. The address stays the primary key; this
|
|
13
|
+
* rides beside it, never in place of it.
|
|
14
|
+
*/
|
|
15
|
+
readonly title: string | undefined;
|
|
8
16
|
/** "functional" | "architectural" — the check-polarity axis. */
|
|
9
17
|
readonly subType: string;
|
|
10
18
|
/** Undefined on an unlevelled architectural requirement (the flat policy form). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements-view.d.ts","sourceRoot":"","sources":["../../src/generators/requirements-view.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"requirements-view.d.ts","sourceRoot":"","sources":["../../src/generators/requirements-view.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAGzD,wFAAwF;AACxF,MAAM,WAAW,cAAc;IAC7B,qFAAqF;IACrF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,gEAAgE;IAChE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5C,yEAAyE;IACzE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,+EAA+E;IAC/E,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,iFAAiF;IACjF,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7C;AAYD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,GAAG,cAAc,EAAE,CAqBhE"}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
// resolving accessors or the resolving `attr()`, so a requirement that `extends` an
|
|
22
22
|
// abstract parent inherits its `@level` / `@status` / statement rather than projecting
|
|
23
23
|
// them as undefined. No `own*()` call belongs in this file.
|
|
24
|
-
import { DOC_ATTR_DESCRIPTION, REQUIREMENT_ATTR_STATEMENT, REQUIREMENT_ATTR_COUNTEREXAMPLE, } from "@metaobjectsdev/metadata";
|
|
24
|
+
import { DOC_ATTR_DESCRIPTION, DOC_ATTR_TITLE, REQUIREMENT_ATTR_STATEMENT, REQUIREMENT_ATTR_COUNTEREXAMPLE, } from "@metaobjectsdev/metadata";
|
|
25
25
|
import { walkRequirements } from "../requirement-walk.js";
|
|
26
26
|
/** Reads a resolving string attr, normalising "declared but empty" to undefined so a
|
|
27
27
|
* renderer has one absent-case to handle rather than two. */
|
|
@@ -48,6 +48,7 @@ export function requirementRows(root) {
|
|
|
48
48
|
// Derived rather than threaded: a separately-tracked depth could drift from the
|
|
49
49
|
// path that renders beside it, and there is only one right answer.
|
|
50
50
|
depth: view.path.split(".").length - 1,
|
|
51
|
+
title: stringAttr(node, DOC_ATTR_TITLE),
|
|
51
52
|
subType: view.subType,
|
|
52
53
|
level: view.level,
|
|
53
54
|
status: view.status,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requirements-view.js","sourceRoot":"","sources":["../../src/generators/requirements-view.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,qFAAqF;AACrF,2EAA2E;AAC3E,wFAAwF;AACxF,qFAAqF;AACrF,wFAAwF;AACxF,aAAa;AACb,EAAE;AACF,yFAAyF;AACzF,iFAAiF;AACjF,uFAAuF;AACvF,wFAAwF;AACxF,qCAAqC;AACrC,EAAE;AACF,uFAAuF;AACvF,oFAAoF;AACpF,uFAAuF;AACvF,4DAA4D;AAE5D,OAAO,EACL,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"requirements-view.js","sourceRoot":"","sources":["../../src/generators/requirements-view.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,EAAE;AACF,kEAAkE;AAClE,EAAE;AACF,+EAA+E;AAC/E,EAAE;AACF,qFAAqF;AACrF,2EAA2E;AAC3E,wFAAwF;AACxF,qFAAqF;AACrF,wFAAwF;AACxF,aAAa;AACb,EAAE;AACF,yFAAyF;AACzF,iFAAiF;AACjF,uFAAuF;AACvF,wFAAwF;AACxF,qCAAqC;AACrC,EAAE;AACF,uFAAuF;AACvF,oFAAoF;AACpF,uFAAuF;AACvF,4DAA4D;AAE5D,OAAO,EACL,oBAAoB,EACpB,cAAc,EACd,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAiC1D;8DAC8D;AAC9D,SAAS,UAAU,CAAC,IAAc,EAAE,IAAY;IAC9C,mFAAmF;IACnF,oFAAoF;IACpF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC1C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,IAAc;IAC5C,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC3C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;QACvC,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gFAAgF;YAChF,mEAAmE;YACnE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC;YACtC,KAAK,EAAE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC;YACvC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3B,SAAS,EAAE,UAAU,CAAC,IAAI,EAAE,0BAA0B,CAAC;YACvD,cAAc,EAAE,UAAU,CAAC,IAAI,EAAE,+BAA+B,CAAC;YACjE,WAAW,EAAE,UAAU,CAAC,IAAI,EAAE,oBAAoB,CAAC;YACnD,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE;YACnC,eAAe,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;SAC7D,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export type { RenderContext } from "./render-context.js";
|
|
|
23
23
|
export { makeRenderContext } from "./render-context.js";
|
|
24
24
|
export type { WriteStatus, WriteResult, MergeStrategy, BaselineMode, DecideAndWriteOpts, } from "./overwrite-policy.js";
|
|
25
25
|
export { decideAndWrite, GitMissingError } from "./overwrite-policy.js";
|
|
26
|
+
export { contentHash, readGeneratedHash, listGeneratedPaths } from "./overwrite-policy.js";
|
|
26
27
|
export { CodegenError } from "./errors.js";
|
|
27
28
|
export { GENERATED_HEADER, EXTRA_SUFFIX, DEFAULT_OUT_DIR, CODEGEN_ATTR_EMIT_TANSTACK, CODEGEN_ATTR_EMIT_GRID, CODEGEN_ATTR_EMIT_FORM, CODEGEN_ATTR_EMIT_ROUTES } from "./constants.js";
|
|
28
29
|
export { formatTs } from "./format.js";
|
|
@@ -78,6 +79,7 @@ export { buildTemplateDocData } from "./generators/template-doc-builder.js";
|
|
|
78
79
|
export { requirementTests } from "./generators/requirement-tests.js";
|
|
79
80
|
export { requirementsFile } from "./generators/requirements-file.js";
|
|
80
81
|
export type { RequirementRow } from "./generators/requirements-view.js";
|
|
82
|
+
export { requirementRows } from "./generators/requirements-view.js";
|
|
81
83
|
export type { RequirementTestsOpts, RequirementTestRenderer, } from "./generators/requirement-tests.js";
|
|
82
84
|
export { walkRequirements, groupByConcern, concernOf, NO_CONCERN, } from "./requirement-walk.js";
|
|
83
85
|
export type { RequirementView, ResolvedClaim, WalkedRequirement, } from "./requirement-walk.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE5D,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAClG,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAC/F,YAAY,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAGxE,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAErF,YAAY,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,aAAa,EAAE,UAAU,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC9P,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,YAAY,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,YAAY,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,EACZ,kBAAkB,GACnB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,13 @@ export { buildPkMap } from "./pk-resolver.js";
|
|
|
18
18
|
export { buildRelationMap } from "./relation-resolver.js";
|
|
19
19
|
export { makeRenderContext } from "./render-context.js";
|
|
20
20
|
export { decideAndWrite, GitMissingError } from "./overwrite-policy.js";
|
|
21
|
+
// The committed half of `.gen-state`. Exported for `verify --codegen`, which needs
|
|
22
|
+
// the same "is this still exactly what the generator wrote?" evidence the write path
|
|
23
|
+
// uses — without it the gate cannot tell a preserved hand edit from stale output.
|
|
24
|
+
// `listGeneratedPaths` answers the sibling question — WHICH paths we have ever
|
|
25
|
+
// written — which is how the gate scopes itself to its own output instead of
|
|
26
|
+
// convicting every stranger's file that happens to sit in the same directory.
|
|
27
|
+
export { contentHash, readGeneratedHash, listGeneratedPaths } from "./overwrite-policy.js";
|
|
21
28
|
export { CodegenError } from "./errors.js";
|
|
22
29
|
export { GENERATED_HEADER, EXTRA_SUFFIX, DEFAULT_OUT_DIR, CODEGEN_ATTR_EMIT_TANSTACK, CODEGEN_ATTR_EMIT_GRID, CODEGEN_ATTR_EMIT_FORM, CODEGEN_ATTR_EMIT_ROUTES } from "./constants.js";
|
|
23
30
|
export { formatTs } from "./format.js";
|
|
@@ -96,6 +103,11 @@ export { buildTemplateDocData } from "./generators/template-doc-builder.js";
|
|
|
96
103
|
// worse than the bug report this is meant to avoid.
|
|
97
104
|
export { requirementTests } from "./generators/requirement-tests.js";
|
|
98
105
|
export { requirementsFile } from "./generators/requirements-file.js";
|
|
106
|
+
// The projection itself, not just its type: it is the authority on WHICH doc slots a
|
|
107
|
+
// requirement surface actually renders, and `meta verify`'s authoring lint tells an
|
|
108
|
+
// author that `summary` is invisible while `title` is the entry's label. Both halves of
|
|
109
|
+
// that claim need to be checkable against the projection rather than asserted in prose.
|
|
110
|
+
export { requirementRows } from "./generators/requirements-view.js";
|
|
99
111
|
export { walkRequirements, groupByConcern, concernOf, NO_CONCERN, } from "./requirement-walk.js";
|
|
100
112
|
export { renderRequirementTest } from "./templates/requirement-test.js";
|
|
101
113
|
// FR-038 §8 — deletion integrity. Pure decision logic: which no-longer-generated
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,yCAAyC;AACzC,wEAAwE;AAExE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE7E,+EAA+E;AAC/E,kEAAkE;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EACL,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,qCAAqC,CAAC;AAS7C,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAIlG,0EAA0E;AAC1E,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,YAAY,GACb,MAAM,yBAAyB,CAAC;AAIjC,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAGrD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AASxD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/runner.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,0BAA0B,CAAC;AAMrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAQpE,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;4BAEwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;oDACgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;qBAEiB;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;gDAC4C;IAC5C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAkBD,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,0BAA0B,CAAC;AAMrE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAQpE,OAAO,EAOL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,YAAY,EAElB,MAAM,uBAAuB,CAAC;AAU/B,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;4BAEwB;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;oDACgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;qBAEiB;IACjB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB;;;;;;;;;OASG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;IACH,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB;gDAC4C;IAC5C,SAAS,EAAE,WAAW,EAAE,CAAC;CAC1B;AAkBD,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,CA6iBpE"}
|
package/dist/runner.js
CHANGED
|
@@ -140,29 +140,35 @@ export async function runGen(opts) {
|
|
|
140
140
|
return { files: [], warnings, conflicts: [] };
|
|
141
141
|
}
|
|
142
142
|
// #194 — dbImport / dialect are optional config, BUT a model that declares a
|
|
143
|
-
// source.rdb genuinely needs
|
|
143
|
+
// source.rdb genuinely needs `dialect`. Only a sourced object emits database
|
|
144
144
|
// artifacts (schema / query / route code), and every generator below gates
|
|
145
145
|
// that emission on hasAnyRdbSource — the #248 R2 source-based predicate — so a
|
|
146
146
|
// sourceless object (a value object, or a sourceless projection) emits zero DB
|
|
147
147
|
// code. Guard BEFORE normalizeConfig fills its inert defaults, so a DB project
|
|
148
|
-
// that forgot
|
|
149
|
-
// silently-defaulted output (
|
|
150
|
-
//
|
|
151
|
-
//
|
|
148
|
+
// that forgot it gets a clear error naming the objects, never
|
|
149
|
+
// silently-defaulted output (a Postgres project quietly emitting sqlite).
|
|
150
|
+
//
|
|
151
|
+
// `dbImport` is NOT part of this check, and the difference is where the answer
|
|
152
|
+
// is needed. A dialect is a property of the MODEL: every sourced object is
|
|
153
|
+
// lowered to SQL, and a wrong default is silently wrong everywhere. A dbImport
|
|
154
|
+
// is a property of a GENERATOR: only one that emits `import { db } from …` can
|
|
155
|
+
// read it, and a project whose generated queries take `db` as a parameter has
|
|
156
|
+
// no singleton to name. Demanding it from the model convicted exactly those
|
|
157
|
+
// projects — the error even told them their model "generates database code"
|
|
158
|
+
// that in fact imported nothing. It is demanded below at the point of USE, by
|
|
159
|
+
// the generator that reads it, which the runner names in the thrown message.
|
|
152
160
|
const dbEmittingObjects = safeEntities.filter((e) => !e.isAbstract && hasAnyRdbSource(e));
|
|
153
|
-
if (dbEmittingObjects.length > 0) {
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
missing.push("dbImport");
|
|
159
|
-
if (missing.length > 0) {
|
|
160
|
-
const names = dbEmittingObjects.map((e) => e.name).join(", ");
|
|
161
|
-
throw new Error(`codegen config is missing ${missing.join(" and ")} — required because this model ` +
|
|
162
|
-
`generates database code for: ${names}. Set ${missing.join(" and ")} in ` +
|
|
163
|
-
`metaobjects.config.ts. (A model of only value objects and/or sourceless projections may omit them.)`);
|
|
164
|
-
}
|
|
161
|
+
if (dbEmittingObjects.length > 0 && opts.config.dialect === undefined) {
|
|
162
|
+
const names = dbEmittingObjects.map((e) => e.name).join(", ");
|
|
163
|
+
throw new Error(`codegen config is missing dialect — required because this model ` +
|
|
164
|
+
`generates database code for: ${names}. Set dialect in ` +
|
|
165
|
+
`metaobjects.config.ts. (A model of only value objects and/or sourceless projections may omit it.)`);
|
|
165
166
|
}
|
|
167
|
+
/** Did the AUTHOR declare a dbImport reachable by this target? Tracked, never
|
|
168
|
+
* inferred by comparing against DEFAULT_DB_IMPORT — `meta init` scaffolds a
|
|
169
|
+
* relative path and a project may legitimately write the default's own string,
|
|
170
|
+
* which a value comparison would then read as absent. */
|
|
171
|
+
const dbImportUndeclaredFor = (targetName) => (opts.config.targets?.[targetName]?.dbImport ?? opts.config.dbImport) === undefined;
|
|
166
172
|
// 2. Resolve targets + entity-module target.
|
|
167
173
|
const config = normalizeConfig(opts.config);
|
|
168
174
|
// (Historical: a warning stood here for a @filterable timestamp under
|
|
@@ -313,6 +319,22 @@ export async function runGen(opts) {
|
|
|
313
319
|
...(projectRoot !== undefined && { projectRoot }),
|
|
314
320
|
warn: (msg) => warnings.push(`[${generator.name}] ${msg}`),
|
|
315
321
|
};
|
|
322
|
+
// The point of USE for an undeclared dbImport (see the guard above). Reading
|
|
323
|
+
// it is what proves this generator emits a db-singleton import, so reading is
|
|
324
|
+
// what asks for it; a generator that never touches it never demands it. The
|
|
325
|
+
// throw travels through the `[${generator.name}]` wrapper below, so the message
|
|
326
|
+
// names the generator that wants the path. Both surfaces are covered because a
|
|
327
|
+
// generator may read either.
|
|
328
|
+
if (dbImportUndeclaredFor(selfTarget.name)) {
|
|
329
|
+
const demand = () => {
|
|
330
|
+
throw new Error(`codegen config is missing dbImport — this generator emits ` +
|
|
331
|
+
`\`import { db } from …\` and needs the module to import it from. Set dbImport in ` +
|
|
332
|
+
`metaobjects.config.ts (or on this generator's target). A project whose generated ` +
|
|
333
|
+
`queries take \`db\` as a parameter never needs it.`);
|
|
334
|
+
};
|
|
335
|
+
Object.defineProperty(renderContext, "dbImport", { get: demand, configurable: true });
|
|
336
|
+
Object.defineProperty(ctx.config, "dbImport", { get: demand, configurable: true });
|
|
337
|
+
}
|
|
316
338
|
let files;
|
|
317
339
|
try {
|
|
318
340
|
files = await generator.generate(ctx);
|
package/dist/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/codegen-ts",
|
|
3
|
-
"version": "0.24.
|
|
3
|
+
"version": "0.24.3",
|
|
4
4
|
"description": "TypeScript codegen engine for MetaObjects — emits Drizzle, Zod, and Fastify artifacts.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -111,8 +111,8 @@
|
|
|
111
111
|
"access": "public"
|
|
112
112
|
},
|
|
113
113
|
"dependencies": {
|
|
114
|
-
"@metaobjectsdev/metadata": "0.24.
|
|
115
|
-
"@metaobjectsdev/render": "0.24.
|
|
114
|
+
"@metaobjectsdev/metadata": "0.24.3",
|
|
115
|
+
"@metaobjectsdev/render": "0.24.3",
|
|
116
116
|
"@biomejs/js-api": "^0.7.0",
|
|
117
117
|
"@biomejs/wasm-nodejs": "^1.9.4",
|
|
118
118
|
"@toon-format/toon": "^2.3.0",
|
|
@@ -124,9 +124,9 @@
|
|
|
124
124
|
},
|
|
125
125
|
"devDependencies": {
|
|
126
126
|
"@biomejs/biome": "^1.9.0",
|
|
127
|
-
"@metaobjectsdev/codegen-ts-react": "0.24.
|
|
128
|
-
"@metaobjectsdev/migrate-ts": "0.24.
|
|
129
|
-
"@metaobjectsdev/runtime-ts": "0.24.
|
|
127
|
+
"@metaobjectsdev/codegen-ts-react": "0.24.3",
|
|
128
|
+
"@metaobjectsdev/migrate-ts": "0.24.3",
|
|
129
|
+
"@metaobjectsdev/runtime-ts": "0.24.3",
|
|
130
130
|
"bun-types": "latest",
|
|
131
131
|
"drizzle-orm": "^0.38.0",
|
|
132
132
|
"hono": "^4.6.0",
|
|
@@ -24,6 +24,33 @@ function heading(depth: number): string {
|
|
|
24
24
|
return "#".repeat(Math.min(depth + 2, 6));
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* The heading line: the ADDRESS, then the LABEL where there is one.
|
|
29
|
+
*
|
|
30
|
+
* `spec/capability-ledger.md` charters `title` on a requirement as the thing an index
|
|
31
|
+
* shows, so it belongs here and not in the fact bar. It rides BESIDE the path rather
|
|
32
|
+
* than replacing it, for two reasons that are not stylistic:
|
|
33
|
+
*
|
|
34
|
+
* - `path` is unique by construction and a `title` is not, so a title-keyed heading can
|
|
35
|
+
* collide — two entries with the same heading, and two markdown anchors fighting over
|
|
36
|
+
* one slug.
|
|
37
|
+
* - Every sibling surface names a requirement by its path: the TOON artifact's first
|
|
38
|
+
* column, shape C's `requirement.<subType> <path>` backlinks, and every `verify`
|
|
39
|
+
* diagnostic. A reader arriving from any of them searches for the path.
|
|
40
|
+
*
|
|
41
|
+
* An untitled requirement therefore renders exactly as it did before this line existed.
|
|
42
|
+
*
|
|
43
|
+
* Whitespace is COLLAPSED here rather than in the projection. A newline inside a title
|
|
44
|
+
* ends the heading and re-parents everything after it, so the document silently loses
|
|
45
|
+
* its structure — but that is a markdown fact, not a fact about the ledger, and another
|
|
46
|
+
* consumer of `RequirementRow` is entitled to the authored string.
|
|
47
|
+
*/
|
|
48
|
+
function headingLine(r: RequirementRow): string {
|
|
49
|
+
const title = r.title?.replace(/\s+/g, " ").trim();
|
|
50
|
+
const label = title === undefined || title === "" ? "" : ` — ${title}`;
|
|
51
|
+
return `${heading(r.depth)} ${r.path}${label}`;
|
|
52
|
+
}
|
|
53
|
+
|
|
27
54
|
/** The one-line fact bar: the attrs that are scannable rather than readable. */
|
|
28
55
|
function facts(r: RequirementRow): string {
|
|
29
56
|
const parts: string[] = [`\`${r.subType}\``];
|
|
@@ -37,7 +64,7 @@ function facts(r: RequirementRow): string {
|
|
|
37
64
|
}
|
|
38
65
|
|
|
39
66
|
function renderOne(r: RequirementRow): string {
|
|
40
|
-
const out: string[] = [
|
|
67
|
+
const out: string[] = [headingLine(r), "", facts(r), ""];
|
|
41
68
|
|
|
42
69
|
if (r.statement !== undefined) out.push(r.statement, "");
|
|
43
70
|
// The prescriptive pair. A requirement MUST be violable, so the counterexample is not
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
import {
|
|
26
26
|
DOC_ATTR_DESCRIPTION,
|
|
27
|
+
DOC_ATTR_TITLE,
|
|
27
28
|
REQUIREMENT_ATTR_STATEMENT,
|
|
28
29
|
REQUIREMENT_ATTR_COUNTEREXAMPLE,
|
|
29
30
|
} from "@metaobjectsdev/metadata";
|
|
@@ -36,6 +37,14 @@ export interface RequirementRow {
|
|
|
36
37
|
readonly path: string;
|
|
37
38
|
/** 0 for a root-level requirement. Derived from `path`, so it cannot disagree with it. */
|
|
38
39
|
readonly depth: number;
|
|
40
|
+
/**
|
|
41
|
+
* The entry's LABEL, where the author wrote one. `spec/capability-ledger.md` charters
|
|
42
|
+
* `title` on a requirement by name — "`name` is an identifier, this is what an index
|
|
43
|
+
* shows" — so a surface that projects the address and drops the label renders an index
|
|
44
|
+
* the charter already described differently. The address stays the primary key; this
|
|
45
|
+
* rides beside it, never in place of it.
|
|
46
|
+
*/
|
|
47
|
+
readonly title: string | undefined;
|
|
39
48
|
/** "functional" | "architectural" — the check-polarity axis. */
|
|
40
49
|
readonly subType: string;
|
|
41
50
|
/** Undefined on an unlevelled architectural requirement (the flat policy form). */
|
|
@@ -78,6 +87,7 @@ export function requirementRows(root: MetaData): RequirementRow[] {
|
|
|
78
87
|
// Derived rather than threaded: a separately-tracked depth could drift from the
|
|
79
88
|
// path that renders beside it, and there is only one right answer.
|
|
80
89
|
depth: view.path.split(".").length - 1,
|
|
90
|
+
title: stringAttr(node, DOC_ATTR_TITLE),
|
|
81
91
|
subType: view.subType,
|
|
82
92
|
level: view.level,
|
|
83
93
|
status: view.status,
|
package/src/index.ts
CHANGED
|
@@ -61,6 +61,13 @@ export type {
|
|
|
61
61
|
DecideAndWriteOpts,
|
|
62
62
|
} from "./overwrite-policy.js";
|
|
63
63
|
export { decideAndWrite, GitMissingError } from "./overwrite-policy.js";
|
|
64
|
+
// The committed half of `.gen-state`. Exported for `verify --codegen`, which needs
|
|
65
|
+
// the same "is this still exactly what the generator wrote?" evidence the write path
|
|
66
|
+
// uses — without it the gate cannot tell a preserved hand edit from stale output.
|
|
67
|
+
// `listGeneratedPaths` answers the sibling question — WHICH paths we have ever
|
|
68
|
+
// written — which is how the gate scopes itself to its own output instead of
|
|
69
|
+
// convicting every stranger's file that happens to sit in the same directory.
|
|
70
|
+
export { contentHash, readGeneratedHash, listGeneratedPaths } from "./overwrite-policy.js";
|
|
64
71
|
|
|
65
72
|
export { CodegenError } from "./errors.js";
|
|
66
73
|
export { GENERATED_HEADER, EXTRA_SUFFIX, DEFAULT_OUT_DIR, CODEGEN_ATTR_EMIT_TANSTACK, CODEGEN_ATTR_EMIT_GRID, CODEGEN_ATTR_EMIT_FORM, CODEGEN_ATTR_EMIT_ROUTES } from "./constants.js";
|
|
@@ -204,6 +211,11 @@ export { buildTemplateDocData } from "./generators/template-doc-builder.js";
|
|
|
204
211
|
export { requirementTests } from "./generators/requirement-tests.js";
|
|
205
212
|
export { requirementsFile } from "./generators/requirements-file.js";
|
|
206
213
|
export type { RequirementRow } from "./generators/requirements-view.js";
|
|
214
|
+
// The projection itself, not just its type: it is the authority on WHICH doc slots a
|
|
215
|
+
// requirement surface actually renders, and `meta verify`'s authoring lint tells an
|
|
216
|
+
// author that `summary` is invisible while `title` is the entry's label. Both halves of
|
|
217
|
+
// that claim need to be checkable against the projection rather than asserted in prose.
|
|
218
|
+
export { requirementRows } from "./generators/requirements-view.js";
|
|
207
219
|
export type {
|
|
208
220
|
RequirementTestsOpts,
|
|
209
221
|
RequirementTestRenderer,
|
package/src/runner.ts
CHANGED
|
@@ -242,32 +242,42 @@ export async function runGen(opts: RunGenOpts): Promise<RunGenResult> {
|
|
|
242
242
|
}
|
|
243
243
|
|
|
244
244
|
// #194 — dbImport / dialect are optional config, BUT a model that declares a
|
|
245
|
-
// source.rdb genuinely needs
|
|
245
|
+
// source.rdb genuinely needs `dialect`. Only a sourced object emits database
|
|
246
246
|
// artifacts (schema / query / route code), and every generator below gates
|
|
247
247
|
// that emission on hasAnyRdbSource — the #248 R2 source-based predicate — so a
|
|
248
248
|
// sourceless object (a value object, or a sourceless projection) emits zero DB
|
|
249
249
|
// code. Guard BEFORE normalizeConfig fills its inert defaults, so a DB project
|
|
250
|
-
// that forgot
|
|
251
|
-
// silently-defaulted output (
|
|
252
|
-
//
|
|
253
|
-
//
|
|
250
|
+
// that forgot it gets a clear error naming the objects, never
|
|
251
|
+
// silently-defaulted output (a Postgres project quietly emitting sqlite).
|
|
252
|
+
//
|
|
253
|
+
// `dbImport` is NOT part of this check, and the difference is where the answer
|
|
254
|
+
// is needed. A dialect is a property of the MODEL: every sourced object is
|
|
255
|
+
// lowered to SQL, and a wrong default is silently wrong everywhere. A dbImport
|
|
256
|
+
// is a property of a GENERATOR: only one that emits `import { db } from …` can
|
|
257
|
+
// read it, and a project whose generated queries take `db` as a parameter has
|
|
258
|
+
// no singleton to name. Demanding it from the model convicted exactly those
|
|
259
|
+
// projects — the error even told them their model "generates database code"
|
|
260
|
+
// that in fact imported nothing. It is demanded below at the point of USE, by
|
|
261
|
+
// the generator that reads it, which the runner names in the thrown message.
|
|
254
262
|
const dbEmittingObjects = safeEntities.filter(
|
|
255
263
|
(e) => !e.isAbstract && hasAnyRdbSource(e),
|
|
256
264
|
);
|
|
257
|
-
if (dbEmittingObjects.length > 0) {
|
|
258
|
-
const
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
`codegen config is missing ${missing.join(" and ")} — required because this model ` +
|
|
265
|
-
`generates database code for: ${names}. Set ${missing.join(" and ")} in ` +
|
|
266
|
-
`metaobjects.config.ts. (A model of only value objects and/or sourceless projections may omit them.)`,
|
|
267
|
-
);
|
|
268
|
-
}
|
|
265
|
+
if (dbEmittingObjects.length > 0 && opts.config.dialect === undefined) {
|
|
266
|
+
const names = dbEmittingObjects.map((e) => e.name).join(", ");
|
|
267
|
+
throw new Error(
|
|
268
|
+
`codegen config is missing dialect — required because this model ` +
|
|
269
|
+
`generates database code for: ${names}. Set dialect in ` +
|
|
270
|
+
`metaobjects.config.ts. (A model of only value objects and/or sourceless projections may omit it.)`,
|
|
271
|
+
);
|
|
269
272
|
}
|
|
270
273
|
|
|
274
|
+
/** Did the AUTHOR declare a dbImport reachable by this target? Tracked, never
|
|
275
|
+
* inferred by comparing against DEFAULT_DB_IMPORT — `meta init` scaffolds a
|
|
276
|
+
* relative path and a project may legitimately write the default's own string,
|
|
277
|
+
* which a value comparison would then read as absent. */
|
|
278
|
+
const dbImportUndeclaredFor = (targetName: string): boolean =>
|
|
279
|
+
(opts.config.targets?.[targetName]?.dbImport ?? opts.config.dbImport) === undefined;
|
|
280
|
+
|
|
271
281
|
// 2. Resolve targets + entity-module target.
|
|
272
282
|
const config = normalizeConfig(opts.config);
|
|
273
283
|
|
|
@@ -429,6 +439,25 @@ export async function runGen(opts: RunGenOpts): Promise<RunGenResult> {
|
|
|
429
439
|
warn: (msg) => warnings.push(`[${generator.name}] ${msg}`),
|
|
430
440
|
};
|
|
431
441
|
|
|
442
|
+
// The point of USE for an undeclared dbImport (see the guard above). Reading
|
|
443
|
+
// it is what proves this generator emits a db-singleton import, so reading is
|
|
444
|
+
// what asks for it; a generator that never touches it never demands it. The
|
|
445
|
+
// throw travels through the `[${generator.name}]` wrapper below, so the message
|
|
446
|
+
// names the generator that wants the path. Both surfaces are covered because a
|
|
447
|
+
// generator may read either.
|
|
448
|
+
if (dbImportUndeclaredFor(selfTarget.name)) {
|
|
449
|
+
const demand = (): never => {
|
|
450
|
+
throw new Error(
|
|
451
|
+
`codegen config is missing dbImport — this generator emits ` +
|
|
452
|
+
`\`import { db } from …\` and needs the module to import it from. Set dbImport in ` +
|
|
453
|
+
`metaobjects.config.ts (or on this generator's target). A project whose generated ` +
|
|
454
|
+
`queries take \`db\` as a parameter never needs it.`,
|
|
455
|
+
);
|
|
456
|
+
};
|
|
457
|
+
Object.defineProperty(renderContext, "dbImport", { get: demand, configurable: true });
|
|
458
|
+
Object.defineProperty(ctx.config, "dbImport", { get: demand, configurable: true });
|
|
459
|
+
}
|
|
460
|
+
|
|
432
461
|
let files: EmittedFile[];
|
|
433
462
|
try {
|
|
434
463
|
files = await generator.generate(ctx);
|