@metaobjectsdev/codegen-ts 0.12.4-rc.1 → 0.12.5-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":"projection-decl.d.ts","sourceRoot":"","sources":["../../src/templates/projection-decl.ts"],"names":[],"mappings":"AAUA,OAAO,EACM,UAAU,EAAE,KAAK,QAAQ,EAErC,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW1D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,kBAAkB,GACvB,MAAM,
|
|
1
|
+
{"version":3,"file":"projection-decl.d.ts","sourceRoot":"","sources":["../../src/templates/projection-decl.ts"],"names":[],"mappings":"AAUA,OAAO,EACM,UAAU,EAAE,KAAK,QAAQ,EAErC,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW1D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,oFAAoF;IACpF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,aAAa,CAAC;IAC7B;;;;;OAKG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,kBAAkB,GACvB,MAAM,CAqJR"}
|
|
@@ -86,14 +86,24 @@ export function renderProjectionDecl(projection, root, opts) {
|
|
|
86
86
|
// A field.object passthrough carries the value-object's Zod schema (so the
|
|
87
87
|
// view's read schema + inferred type expose the VO shape, not z.unknown()).
|
|
88
88
|
const zodLines = allFields.map((f) => {
|
|
89
|
+
// The read schema's nullability MUST mirror the view column's: a column that
|
|
90
|
+
// is not `.notNull()` infers `T | null` in Drizzle's SELECT type, so the Zod
|
|
91
|
+
// read type (and thus the generated query's return type) must be `.nullable()`
|
|
92
|
+
// too — otherwise `db.select().from(view)` yields `T | null` into a non-null
|
|
93
|
+
// `<Name>` field and the generated query fails to compile under strict TS.
|
|
94
|
+
const nullable = mapColumnType(f, dialect, columnNamingStrategy, timestampMode)
|
|
95
|
+
.modifiers.includes(".notNull()")
|
|
96
|
+
? ""
|
|
97
|
+
: ".nullable()";
|
|
89
98
|
const refBase = objectRefOf(f);
|
|
90
99
|
if (refBase) {
|
|
91
100
|
const schemaSym = imp(`${refBase}InsertSchema@${voModule(refBase)}`);
|
|
92
|
-
|
|
93
|
-
? code
|
|
94
|
-
: code
|
|
101
|
+
const base = f.isArray
|
|
102
|
+
? code `${z}.array(${schemaSym})`
|
|
103
|
+
: code `${schemaSym}`;
|
|
104
|
+
return code ` ${f.name}: ${base}${nullable}`;
|
|
95
105
|
}
|
|
96
|
-
return code ` ${f.name}: ${z}.${zodTypeFor(f).replace(/^z\./, "")}`;
|
|
106
|
+
return code ` ${f.name}: ${z}.${zodTypeFor(f).replace(/^z\./, "")}${nullable}`;
|
|
97
107
|
});
|
|
98
108
|
// Typed view column map for the Drizzle `.existing()` declaration — keyed by
|
|
99
109
|
// projection field name, valued by the column builder for the (renamed)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projection-decl.js","sourceRoot":"","sources":["../../src/templates/projection-decl.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,qEAAqE;AACrE,EAAE;AACF,uDAAuD;AACvD,oBAAoB;AACpB,4CAA4C;AAC5C,gCAAgC;AAChC,0BAA0B;AAE1B,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAa,MAAM,SAAS,CAAC;AACzD,OAAO,EACL,SAAS,EAAE,UAAU,EACrB,oBAAoB,EAAE,qBAAqB,EAAE,YAAY,GAC1D,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAiCvF,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E;;;;;;GAMG;AACH,SAAS,sBAAsB,CAAC,IAAY;IAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,IAAI,KAAK,EAAE,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,oBAAoB,CAClC,UAAsB,EACtB,IAAc,EACd,IAAwB;IAExB,MAAM,EAAE,OAAO,EAAE,oBAAoB,EAAE,SAAS,GAAG,EAAE,EAAE,aAAa,GAAG,QAAQ,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEzI,iFAAiF;IACjF,6EAA6E;IAC7E,iFAAiF;IACjF,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAU,EAAE,CAC3C,GAAG;QACD,CAAC,CAAC,0BAA0B,CAAC,OAAO,EAAE,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC;QACxG,CAAC,CAAC,KAAK,OAAO,KAAK,CAAC;IACxB,MAAM,WAAW,GAAG,CAAC,CAAY,EAAsB,EAAE;QACvD,IAAI,CAAC,CAAC,OAAO,KAAK,oBAAoB;YAAE,OAAO,SAAS,CAAC;QACzD,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1C,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnF,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;IAChE,MAAM,UAAU,GACd,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,yBAAyB,CAAC;IAC7E,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,MAAM,IAAI,UAAU,EAAE,CAAC,CAAC;IAC/C,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAEvB,oEAAoE;IACpE,2EAA2E;IAC3E,+EAA+E;IAC/E,8EAA8E;IAC9E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAEtE,iFAAiF;IACjF,MAAM,SAAS,GAAgB,EAAE,CAAC;IAClC,MAAM,UAAU,GAAG,UAAU,CAAC,aAAa,CAAC;IAC5C,MAAM,SAAS,GAAG,UAAU,EAAE,IAAI,IAAI,UAAU,CAAC,QAAQ,CAAC;IAC1D,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,OAAO,GACX,UAAU,YAAY,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7E,IAAI,OAAO,EAAE,CAAC;YACZ,8FAA8F;YAC9F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE;QAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE1D,2EAA2E;IAC3E,4EAA4E;IAC5E,MAAM,QAAQ,GAAW,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,OAAO,gBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrE,
|
|
1
|
+
{"version":3,"file":"projection-decl.js","sourceRoot":"","sources":["../../src/templates/projection-decl.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.12.
|
|
3
|
+
"version": "0.12.5-rc.1",
|
|
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.12.
|
|
115
|
-
"@metaobjectsdev/render": "0.12.
|
|
114
|
+
"@metaobjectsdev/metadata": "0.12.5-rc.1",
|
|
115
|
+
"@metaobjectsdev/render": "0.12.5-rc.1",
|
|
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.12.
|
|
127
|
-
"@metaobjectsdev/migrate-ts": "0.12.
|
|
128
|
-
"@metaobjectsdev/runtime-ts": "0.12.
|
|
126
|
+
"@metaobjectsdev/codegen-ts-react": "0.12.5-rc.1",
|
|
127
|
+
"@metaobjectsdev/migrate-ts": "0.12.5-rc.1",
|
|
128
|
+
"@metaobjectsdev/runtime-ts": "0.12.5-rc.1",
|
|
129
129
|
"bun-types": "latest",
|
|
130
130
|
"drizzle-orm": "^0.36.0",
|
|
131
131
|
"hono": "^4.6.0",
|
|
@@ -136,14 +136,25 @@ export function renderProjectionDecl(
|
|
|
136
136
|
// A field.object passthrough carries the value-object's Zod schema (so the
|
|
137
137
|
// view's read schema + inferred type expose the VO shape, not z.unknown()).
|
|
138
138
|
const zodLines: Code[] = allFields.map((f) => {
|
|
139
|
+
// The read schema's nullability MUST mirror the view column's: a column that
|
|
140
|
+
// is not `.notNull()` infers `T | null` in Drizzle's SELECT type, so the Zod
|
|
141
|
+
// read type (and thus the generated query's return type) must be `.nullable()`
|
|
142
|
+
// too — otherwise `db.select().from(view)` yields `T | null` into a non-null
|
|
143
|
+
// `<Name>` field and the generated query fails to compile under strict TS.
|
|
144
|
+
const nullable =
|
|
145
|
+
mapColumnType(f, dialect, columnNamingStrategy, timestampMode)
|
|
146
|
+
.modifiers.includes(".notNull()")
|
|
147
|
+
? ""
|
|
148
|
+
: ".nullable()";
|
|
139
149
|
const refBase = objectRefOf(f);
|
|
140
150
|
if (refBase) {
|
|
141
151
|
const schemaSym = imp(`${refBase}InsertSchema@${voModule(refBase)}`);
|
|
142
|
-
|
|
143
|
-
? code
|
|
144
|
-
: code
|
|
152
|
+
const base = f.isArray
|
|
153
|
+
? code`${z}.array(${schemaSym})`
|
|
154
|
+
: code`${schemaSym}`;
|
|
155
|
+
return code` ${f.name}: ${base}${nullable}`;
|
|
145
156
|
}
|
|
146
|
-
return code` ${f.name}: ${z}.${zodTypeFor(f).replace(/^z\./, "")}`;
|
|
157
|
+
return code` ${f.name}: ${z}.${zodTypeFor(f).replace(/^z\./, "")}${nullable}`;
|
|
147
158
|
});
|
|
148
159
|
|
|
149
160
|
// Typed view column map for the Drizzle `.existing()` declaration — keyed by
|