@metaobjectsdev/codegen-ts 0.15.17 → 0.15.18

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":"payload-codegen.d.ts","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,EAcd,MAAM,0BAA0B,CAAC;AAkHlC,kGAAkG;AAClG,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CASjG;AAMD,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAyBjF"}
1
+ {"version":3,"file":"payload-codegen.d.ts","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,KAAK,QAAQ,EAcd,MAAM,0BAA0B,CAAC;AAyHlC,kGAAkG;AAClG,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhF;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CASjG;AAMD,iGAAiG;AACjG,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAyBjF"}
@@ -45,7 +45,10 @@ function findObject(root, name) {
45
45
  function fieldTsType(field, ownerName) {
46
46
  if (field.subType === FIELD_SUBTYPE_OBJECT) {
47
47
  const ref = field.attr(FIELD_ATTR_OBJECT_REF);
48
- const refName = typeof ref === "string" ? ref : "unknown";
48
+ // FR-032/ADR-0041 @objectRef canonicalizes to an FQN (`pkg::Name`), which is not
49
+ // a valid TS identifier. The emitted TYPE is the bare name; the FQN is retained as
50
+ // refVo for resolution/recursion (findObject matches FQN or bare).
51
+ const refName = typeof ref === "string" ? stripPackage(ref) : "unknown";
49
52
  // isArray is a structural property on MetaData, not an attr.
50
53
  const isArray = field.resolvedIsArray();
51
54
  const result = {
@@ -77,12 +80,16 @@ function fieldTsType(field, ownerName) {
77
80
  function isFieldRequired(field) {
78
81
  return field.attr(FIELD_ATTR_REQUIRED) === true;
79
82
  }
80
- function emitInterface(root, voName, emitted, out, enumAliases) {
81
- if (emitted.has(voName))
82
- return;
83
- const vo = findObject(root, voName);
83
+ function emitInterface(root, voRef, emitted, out, enumAliases) {
84
+ const vo = findObject(root, voRef);
84
85
  if (!vo)
85
86
  return;
87
+ // FR-032/ADR-0041 — voRef may arrive as an FQN (a nested @objectRef); the emitted
88
+ // interface NAME must be the bare, TS-valid name. Dedupe on the bare name too, so a
89
+ // VO reached once by bare name and once by FQN still emits exactly once.
90
+ const voName = vo.name;
91
+ if (emitted.has(voName))
92
+ return;
86
93
  emitted.add(voName);
87
94
  const aliasLines = [];
88
95
  const lines = [`export interface ${voName} {`];
@@ -1 +1 @@
1
- {"version":3,"file":"payload-codegen.js","sourceRoot":"","sources":["../src/payload-codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload-codegen.js","sourceRoot":"","sources":["../src/payload-codegen.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.15.17",
3
+ "version": "0.15.18",
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.15.17",
115
- "@metaobjectsdev/render": "0.15.17",
114
+ "@metaobjectsdev/metadata": "0.15.18",
115
+ "@metaobjectsdev/render": "0.15.18",
116
116
  "@biomejs/js-api": "^0.7.0",
117
117
  "@biomejs/wasm-nodejs": "^1.9.4",
118
118
  "ts-poet": "^6.10.0"
@@ -123,9 +123,9 @@
123
123
  },
124
124
  "devDependencies": {
125
125
  "@biomejs/biome": "^1.9.0",
126
- "@metaobjectsdev/codegen-ts-react": "0.15.17",
127
- "@metaobjectsdev/migrate-ts": "0.15.17",
128
- "@metaobjectsdev/runtime-ts": "0.15.17",
126
+ "@metaobjectsdev/codegen-ts-react": "0.15.18",
127
+ "@metaobjectsdev/migrate-ts": "0.15.18",
128
+ "@metaobjectsdev/runtime-ts": "0.15.18",
129
129
  "bun-types": "latest",
130
130
  "drizzle-orm": "^0.36.0",
131
131
  "hono": "^4.6.0",
@@ -67,7 +67,10 @@ function fieldTsType(
67
67
  ): { type: string; refVo?: string; enumAlias?: { name: string; decl: string } } {
68
68
  if (field.subType === FIELD_SUBTYPE_OBJECT) {
69
69
  const ref = field.attr(FIELD_ATTR_OBJECT_REF);
70
- const refName = typeof ref === "string" ? ref : "unknown";
70
+ // FR-032/ADR-0041 @objectRef canonicalizes to an FQN (`pkg::Name`), which is not
71
+ // a valid TS identifier. The emitted TYPE is the bare name; the FQN is retained as
72
+ // refVo for resolution/recursion (findObject matches FQN or bare).
73
+ const refName = typeof ref === "string" ? stripPackage(ref) : "unknown";
71
74
  // isArray is a structural property on MetaData, not an attr.
72
75
  const isArray = field.resolvedIsArray();
73
76
  const result: { type: string; refVo?: string } = {
@@ -102,14 +105,18 @@ function isFieldRequired(field: MetaData): boolean {
102
105
 
103
106
  function emitInterface(
104
107
  root: MetaData,
105
- voName: string,
108
+ voRef: string,
106
109
  emitted: Set<string>,
107
110
  out: string[],
108
111
  enumAliases: Set<string>,
109
112
  ): void {
110
- if (emitted.has(voName)) return;
111
- const vo = findObject(root, voName);
113
+ const vo = findObject(root, voRef);
112
114
  if (!vo) return;
115
+ // FR-032/ADR-0041 — voRef may arrive as an FQN (a nested @objectRef); the emitted
116
+ // interface NAME must be the bare, TS-valid name. Dedupe on the bare name too, so a
117
+ // VO reached once by bare name and once by FQN still emits exactly once.
118
+ const voName = vo.name;
119
+ if (emitted.has(voName)) return;
113
120
  emitted.add(voName);
114
121
  const aliasLines: string[] = [];
115
122
  const lines: string[] = [`export interface ${voName} {`];