@metaobjectsdev/codegen-ts 0.16.0 → 0.17.0
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/column-mapper.d.ts +10 -0
- package/dist/column-mapper.d.ts.map +1 -1
- package/dist/column-mapper.js +21 -2
- package/dist/column-mapper.js.map +1 -1
- package/dist/naming.d.ts +4 -0
- package/dist/naming.d.ts.map +1 -1
- package/dist/naming.js +6 -0
- package/dist/naming.js.map +1 -1
- package/dist/projection/build-projection-views.d.ts +5 -1
- package/dist/projection/build-projection-views.d.ts.map +1 -1
- package/dist/projection/build-projection-views.js +165 -47
- package/dist/projection/build-projection-views.js.map +1 -1
- package/dist/projection/extract-view-spec.d.ts +8 -1
- package/dist/projection/extract-view-spec.d.ts.map +1 -1
- package/dist/projection/extract-view-spec.js +430 -29
- package/dist/projection/extract-view-spec.js.map +1 -1
- package/dist/projection/view-ddl-emit.d.ts.map +1 -1
- package/dist/projection/view-ddl-emit.js +142 -25
- package/dist/projection/view-ddl-emit.js.map +1 -1
- package/dist/projection/view-spec.d.ts +101 -3
- package/dist/projection/view-spec.d.ts.map +1 -1
- package/dist/templates/drizzle-schema.d.ts.map +1 -1
- package/dist/templates/drizzle-schema.js +9 -0
- package/dist/templates/drizzle-schema.js.map +1 -1
- package/dist/templates/entity-file.d.ts.map +1 -1
- package/dist/templates/entity-file.js +39 -3
- package/dist/templates/entity-file.js.map +1 -1
- package/dist/templates/inferred-types.d.ts +1 -1
- package/dist/templates/inferred-types.d.ts.map +1 -1
- package/dist/templates/inferred-types.js +13 -1
- package/dist/templates/inferred-types.js.map +1 -1
- package/dist/templates/projection-decl.d.ts.map +1 -1
- package/dist/templates/projection-decl.js +9 -70
- package/dist/templates/projection-decl.js.map +1 -1
- package/dist/templates/queries-file.d.ts.map +1 -1
- package/dist/templates/queries-file.js +117 -43
- package/dist/templates/queries-file.js.map +1 -1
- package/dist/templates/queries.d.ts +21 -4
- package/dist/templates/queries.d.ts.map +1 -1
- package/dist/templates/queries.js +48 -12
- package/dist/templates/queries.js.map +1 -1
- package/dist/templates/view-decl.d.ts +28 -0
- package/dist/templates/view-decl.d.ts.map +1 -0
- package/dist/templates/view-decl.js +107 -0
- package/dist/templates/view-decl.js.map +1 -0
- package/dist/templates/zod-validators.d.ts +6 -0
- package/dist/templates/zod-validators.d.ts.map +1 -1
- package/dist/templates/zod-validators.js +53 -7
- package/dist/templates/zod-validators.js.map +1 -1
- package/package.json +6 -6
- package/src/column-mapper.ts +26 -1
- package/src/naming.ts +7 -0
- package/src/projection/build-projection-views.ts +211 -50
- package/src/projection/extract-view-spec.ts +468 -29
- package/src/projection/view-ddl-emit.ts +158 -24
- package/src/projection/view-spec.ts +104 -3
- package/src/reference/entity.ts +11 -1
- package/src/reference/queries.ts +4 -1
- package/src/templates/drizzle-schema.ts +7 -0
- package/src/templates/entity-file.ts +46 -3
- package/src/templates/inferred-types.ts +18 -1
- package/src/templates/projection-decl.ts +8 -74
- package/src/templates/queries-file.ts +133 -48
- package/src/templates/queries.ts +50 -11
- package/src/templates/view-decl.ts +128 -0
- package/src/templates/zod-validators.ts +54 -9
|
@@ -6,9 +6,24 @@ export declare function getPkInfo(entity: MetaObject, ctx: RenderContext): {
|
|
|
6
6
|
fieldName: string;
|
|
7
7
|
tsType: string;
|
|
8
8
|
};
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
/** All primary-key field names, in order. `getPkInfo` exposes only the first (the
|
|
10
|
+
* query layer's single-PK finder/update signatures key on it); #214's write-through
|
|
11
|
+
* create re-read keys on ALL of them so a composite PK re-reads the exact written row
|
|
12
|
+
* (via the insert's returning() values), not any row sharing the first key component. */
|
|
13
|
+
export declare function getPkFields(entity: MetaObject): string[];
|
|
14
|
+
export declare function renderFindByIdFn(entity: MetaObject, ctx: RenderContext, readVar?: string): Code;
|
|
15
|
+
export declare function renderListFn(entity: MetaObject, ctx: RenderContext, readVar?: string): Code;
|
|
11
16
|
export declare function renderCreateFn(entity: MetaObject, ctx: RenderContext): Code;
|
|
17
|
+
/**
|
|
18
|
+
* #203 — the `insertPreserving<Entity>` escape hatch. Cross-port with the Java /
|
|
19
|
+
* Kotlin / C# / Python ports: emitted ONLY for an entity that declares @autoSet
|
|
20
|
+
* fields, it persists the row WITHOUT the create-time now() stamp — the @autoSet
|
|
21
|
+
* columns are written verbatim from the caller's data — for import / restore /
|
|
22
|
+
* replication paths that must keep the original timestamps. It validates through
|
|
23
|
+
* `<Entity>InsertPreservingSchema` (the preserving-shape schema whose @autoSet
|
|
24
|
+
* columns carry no transform); the normal `create<Entity>` always stamps now().
|
|
25
|
+
*/
|
|
26
|
+
export declare function renderInsertPreservingFn(entity: MetaObject, ctx: RenderContext): Code;
|
|
12
27
|
export declare function renderUpdateFn(entity: MetaObject, ctx: RenderContext): Code;
|
|
13
28
|
export declare function renderDeleteByIdFn(entity: MetaObject, ctx: RenderContext): Code;
|
|
14
29
|
/**
|
|
@@ -26,7 +41,9 @@ interface ReverseFk {
|
|
|
26
41
|
}
|
|
27
42
|
/** Collect this entity's OWN reverse FK targets, in declaration order. */
|
|
28
43
|
export declare function reverseFksFor(entity: MetaObject): ReverseFk[];
|
|
29
|
-
/** Render the single + batched reverse finders for one FK on `entity`.
|
|
30
|
-
|
|
44
|
+
/** Render the single + batched reverse finders for one FK on `entity`. `readVar`
|
|
45
|
+
* (#214) routes the SELECT to a write-through entity's replica view; absent, it
|
|
46
|
+
* reads the entity's own table (vanilla, byte-identical). */
|
|
47
|
+
export declare function renderReverseFinderFns(entity: MetaObject, fk: ReverseFk, ctx: RenderContext, readVar?: string): Code;
|
|
31
48
|
export {};
|
|
32
49
|
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/templates/queries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/templates/queries.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,0BAA0B,CAAC;AAEzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAqB1D,gEAAgE;AAChE,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMvG;AAED;;;0FAG0F;AAC1F,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,CAIxD;AAMD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAc/F;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAe3F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAc3E;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAcrF;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CA2B3E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,IAAI,CAe/E;AAED;;;;;;GAMG;AACH,UAAU,SAAS;IACjB,qEAAqE;IACrE,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,EAAE,CAS7D;AAED;;8DAE8D;AAC9D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CA0BpH"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { code, imp } from "ts-poet";
|
|
4
4
|
import { stripPackage } from "@metaobjectsdev/metadata";
|
|
5
5
|
import { IDENTITY_ATTR_FIELDS } from "@metaobjectsdev/metadata";
|
|
6
|
-
import { findByIdFnName, listFnName, createFnName, updateFnName, deleteByIdFnName, reverseFinderFnName, reverseFinderInFnName, } from "../naming.js";
|
|
6
|
+
import { findByIdFnName, listFnName, createFnName, insertPreservingFnName, updateFnName, deleteByIdFnName, reverseFinderFnName, reverseFinderInFnName, } from "../naming.js";
|
|
7
7
|
/** Map a field subType to the generated TS scalar type for keys/values. */
|
|
8
8
|
function subTypeToTsType(subType) {
|
|
9
9
|
return subType === "long" || subType === "int" || subType === "short" || subType === "byte"
|
|
@@ -15,16 +15,27 @@ function subTypeToTsType(subType) {
|
|
|
15
15
|
/** Get the PK field name and its TS type for a given entity. */
|
|
16
16
|
export function getPkInfo(entity, ctx) {
|
|
17
17
|
// Use primaryIdentity() to find the primary identity (may be inherited from extends:/super:).
|
|
18
|
-
const
|
|
19
|
-
const rawFields = primary?.attr(IDENTITY_ATTR_FIELDS);
|
|
20
|
-
const fields = Array.isArray(rawFields) ? rawFields : (typeof rawFields === "string" ? [rawFields] : undefined);
|
|
21
|
-
const pkFieldName = fields?.[0] ?? "id";
|
|
18
|
+
const pkFieldName = getPkFields(entity)[0] ?? "id";
|
|
22
19
|
const pkInfo = ctx.pkMap.get(entity.name);
|
|
23
20
|
const subType = pkInfo?.fieldSubType ?? "long";
|
|
24
21
|
return { fieldName: pkFieldName, tsType: subTypeToTsType(subType) };
|
|
25
22
|
}
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
/** All primary-key field names, in order. `getPkInfo` exposes only the first (the
|
|
24
|
+
* query layer's single-PK finder/update signatures key on it); #214's write-through
|
|
25
|
+
* create re-read keys on ALL of them so a composite PK re-reads the exact written row
|
|
26
|
+
* (via the insert's returning() values), not any row sharing the first key component. */
|
|
27
|
+
export function getPkFields(entity) {
|
|
28
|
+
const rawFields = entity.primaryIdentity()?.attr(IDENTITY_ATTR_FIELDS);
|
|
29
|
+
if (Array.isArray(rawFields))
|
|
30
|
+
return rawFields.filter((f) => typeof f === "string");
|
|
31
|
+
return typeof rawFields === "string" ? [rawFields] : [];
|
|
32
|
+
}
|
|
33
|
+
// #214 — a write-through entity read-view routes READS to its replica view; the read
|
|
34
|
+
// renderers below accept an optional `readVar` (the collection to SELECT from). Absent,
|
|
35
|
+
// they read the entity's own table (the vanilla path, byte-identical). Writes always
|
|
36
|
+
// target the table, so create/update/delete take no such override.
|
|
37
|
+
export function renderFindByIdFn(entity, ctx, readVar) {
|
|
38
|
+
const varName = readVar ?? ctx.collectionName(entity.name);
|
|
28
39
|
const entityName = entity.name;
|
|
29
40
|
const singularVar = entityName.charAt(0).toLowerCase() + entityName.slice(1);
|
|
30
41
|
const { fieldName: pkField, tsType: pkType } = getPkInfo(entity, ctx);
|
|
@@ -37,8 +48,8 @@ export async function ${fnName}(db: Db, ${pkField}: ${pkType}): Promise<${entity
|
|
|
37
48
|
}
|
|
38
49
|
`;
|
|
39
50
|
}
|
|
40
|
-
export function renderListFn(entity, ctx) {
|
|
41
|
-
const varName = ctx.collectionName(entity.name);
|
|
51
|
+
export function renderListFn(entity, ctx, readVar) {
|
|
52
|
+
const varName = readVar ?? ctx.collectionName(entity.name);
|
|
42
53
|
const entityName = entity.name;
|
|
43
54
|
// Pluralize the PascalCase entity name, preserving capitalization
|
|
44
55
|
// (e.g., "Category" -> "Categories", not "Categorys").
|
|
@@ -66,6 +77,29 @@ export async function ${fnName}(db: Db, data: unknown): Promise<${entityName}> {
|
|
|
66
77
|
}
|
|
67
78
|
`;
|
|
68
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* #203 — the `insertPreserving<Entity>` escape hatch. Cross-port with the Java /
|
|
82
|
+
* Kotlin / C# / Python ports: emitted ONLY for an entity that declares @autoSet
|
|
83
|
+
* fields, it persists the row WITHOUT the create-time now() stamp — the @autoSet
|
|
84
|
+
* columns are written verbatim from the caller's data — for import / restore /
|
|
85
|
+
* replication paths that must keep the original timestamps. It validates through
|
|
86
|
+
* `<Entity>InsertPreservingSchema` (the preserving-shape schema whose @autoSet
|
|
87
|
+
* columns carry no transform); the normal `create<Entity>` always stamps now().
|
|
88
|
+
*/
|
|
89
|
+
export function renderInsertPreservingFn(entity, ctx) {
|
|
90
|
+
const varName = ctx.collectionName(entity.name);
|
|
91
|
+
const entityName = entity.name;
|
|
92
|
+
const singularVar = entityName.charAt(0).toLowerCase() + entityName.slice(1);
|
|
93
|
+
const fnName = insertPreservingFnName(entityName);
|
|
94
|
+
const schemaName = `${entityName}InsertPreservingSchema`;
|
|
95
|
+
return code `
|
|
96
|
+
export async function ${fnName}(db: Db, data: unknown): Promise<${entityName}> {
|
|
97
|
+
const validated = ${schemaName}.parse(data);
|
|
98
|
+
const [${singularVar}] = await db.insert(${varName}).values(validated).returning();
|
|
99
|
+
return ${singularVar}!;
|
|
100
|
+
}
|
|
101
|
+
`;
|
|
102
|
+
}
|
|
69
103
|
export function renderUpdateFn(entity, ctx) {
|
|
70
104
|
const varName = ctx.collectionName(entity.name);
|
|
71
105
|
const entityName = entity.name;
|
|
@@ -120,9 +154,11 @@ export function reverseFksFor(entity) {
|
|
|
120
154
|
}
|
|
121
155
|
return out;
|
|
122
156
|
}
|
|
123
|
-
/** Render the single + batched reverse finders for one FK on `entity`.
|
|
124
|
-
|
|
125
|
-
|
|
157
|
+
/** Render the single + batched reverse finders for one FK on `entity`. `readVar`
|
|
158
|
+
* (#214) routes the SELECT to a write-through entity's replica view; absent, it
|
|
159
|
+
* reads the entity's own table (vanilla, byte-identical). */
|
|
160
|
+
export function renderReverseFinderFns(entity, fk, ctx, readVar) {
|
|
161
|
+
const varName = readVar ?? ctx.collectionName(entity.name);
|
|
126
162
|
const entityName = entity.name;
|
|
127
163
|
// The Drizzle table object is keyed by the LOGICAL field name (the DB column
|
|
128
164
|
// name is the argument to integer()/text()), so column access uses fk.fkField.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/templates/queries.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,8EAA8E;AAE9E,OAAO,EAAE,IAAI,EAAE,GAAG,EAAa,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAmB,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EACL,cAAc,EACd,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,2EAA2E;AAC3E,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,KAAK,MAAM;QACzF,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,OAAO,KAAK,SAAS;YACrB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,QAAQ,CAAC;AACjB,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,SAAS,CAAC,MAAkB,EAAE,GAAkB;IAC9D,8FAA8F;IAC9F,MAAM,
|
|
1
|
+
{"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/templates/queries.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type Code } from "ts-poet";
|
|
2
|
+
import { type MetaField } from "@metaobjectsdev/metadata";
|
|
3
|
+
import type { ColumnNamingStrategy } from "../metaobjects-config.js";
|
|
4
|
+
export interface ViewDeclOpts {
|
|
5
|
+
readonly dialect: "postgres" | "sqlite";
|
|
6
|
+
readonly columnNamingStrategy: ColumnNamingStrategy;
|
|
7
|
+
/** Drives the timestamp column TS type (Date vs string) in the view declaration. */
|
|
8
|
+
readonly timestampMode: "date" | "string";
|
|
9
|
+
/** Resolve a value-object short name → its import module specifier. */
|
|
10
|
+
readonly voModule: (refBase: string) => string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Emit `export const <viewVar> = <viewFn>(<viewName>, { …cols }).existing();` for a
|
|
14
|
+
* view-backed read model (projection or write-through replica view). `fields` are the
|
|
15
|
+
* view's exposed columns (already resolved to effective fields by the caller).
|
|
16
|
+
*/
|
|
17
|
+
export declare function renderExistingViewDecl(fields: readonly MetaField[], viewName: string, viewVar: string, opts: ViewDeclOpts): Code;
|
|
18
|
+
/**
|
|
19
|
+
* The Zod object body for a view-backed read model — one `field: z.<type>[.nullable()]`
|
|
20
|
+
* line per column, the read counterpart of {@link renderExistingViewDecl}. A column that
|
|
21
|
+
* is not `.notNull()` in the view is `.nullable()` (Drizzle's SELECT infers `T | null`),
|
|
22
|
+
* so `z.infer<>` of the object equals the view row type. This is the dialect-agnostic read
|
|
23
|
+
* type (a Drizzle view exposes `$inferSelect` on Postgres but not SQLite). A `field.object`
|
|
24
|
+
* passthrough carries the value-object's schema so the read type exposes the VO shape.
|
|
25
|
+
* `voModule` resolves a value-object short name → its import module.
|
|
26
|
+
*/
|
|
27
|
+
export declare function renderViewReadZodObject(fields: readonly MetaField[], opts: ViewDeclOpts): Code;
|
|
28
|
+
//# sourceMappingURL=view-decl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-decl.d.ts","sourceRoot":"","sources":["../../src/templates/view-decl.ts"],"names":[],"mappings":"AASA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EACL,KAAK,SAAS,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAIrE,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;IACpD,oFAAoF;IACpF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC1C,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD;AAyCD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,SAAS,SAAS,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,YAAY,GACjB,IAAI,CAaN;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI,CA4B9F"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// Shared Drizzle `.existing()` view declaration builder.
|
|
2
|
+
//
|
|
3
|
+
// A view-backed read model — a projection (read-only, view-only) OR the replica
|
|
4
|
+
// view of a write-through entity (FR-024 §7, #214) — declares its physical SQL
|
|
5
|
+
// view to Drizzle via `<viewVar> = pgView/sqliteView(<name>, { …cols }).existing()`
|
|
6
|
+
// so `db.select().from(<viewVar>)` is typed and `.existing()` tells Drizzle not to
|
|
7
|
+
// attempt DDL (the SQL view is created/owned by migrate-ts). Both hosts emit the
|
|
8
|
+
// SAME declaration shape, so it lives here once (extracted from projection-decl).
|
|
9
|
+
import { code, imp, joinCode } from "ts-poet";
|
|
10
|
+
import { FIELD_SUBTYPE_OBJECT, FIELD_ATTR_OBJECT_REF, stripPackage, } from "@metaobjectsdev/metadata";
|
|
11
|
+
import { mapColumnType } from "../column-mapper.js";
|
|
12
|
+
import { zodTypeFor } from "./field-meta.js";
|
|
13
|
+
/**
|
|
14
|
+
* The typed view column map for a Drizzle `.existing()` declaration — keyed by
|
|
15
|
+
* field name, valued by the column builder for the (renamed) physical view column,
|
|
16
|
+
* so `db.select().from(<view>)` is typed. Honors `@dbColumnType`; `.existing()`
|
|
17
|
+
* views carry type + physical name only (no PK/default/notNull DDL modifiers).
|
|
18
|
+
*/
|
|
19
|
+
function viewColumnLine(f, opts) {
|
|
20
|
+
const { dialect, columnNamingStrategy, timestampMode, voModule } = opts;
|
|
21
|
+
const spec = mapColumnType(f, dialect, columnNamingStrategy, timestampMode);
|
|
22
|
+
const colSym = imp(`${spec.fnName}@${spec.importModule}`);
|
|
23
|
+
const optsArg = spec.fnOptions && Object.keys(spec.fnOptions).length > 0
|
|
24
|
+
? `, ${JSON.stringify(spec.fnOptions)}`
|
|
25
|
+
: "";
|
|
26
|
+
// #204 — of the table modifiers, only `.array()` (postgres native array element
|
|
27
|
+
// typing) and `.notNull()` (shapes the SELECT type) carry to an existing view;
|
|
28
|
+
// `.primaryKey()`/`.default()`/`.references()`/`.unique()` are table-DDL concerns
|
|
29
|
+
// and invalid on a `.existing()` view declaration. Preserve the canonical order.
|
|
30
|
+
const viewModifiers = spec.modifiers
|
|
31
|
+
.filter((m) => m === ".array()" || m === ".notNull()")
|
|
32
|
+
.join("");
|
|
33
|
+
// Narrow the column to its resolved element/value type — `.$type<…>()` — mirroring
|
|
34
|
+
// the entity column so the read row is typed (not `unknown`) and an array column
|
|
35
|
+
// reads as `T[]`, not `T`.
|
|
36
|
+
let dollarType = "";
|
|
37
|
+
const dtr = spec.dollarTypeRef;
|
|
38
|
+
if (dtr?.kind === "scalar") {
|
|
39
|
+
dollarType = `.$type<${dtr.tsType}${dtr.array ? "[]" : ""}>()`;
|
|
40
|
+
}
|
|
41
|
+
else if (dtr?.kind === "objectRef") {
|
|
42
|
+
const voTypeSym = imp(`${dtr.name}@${voModule(dtr.name)}`);
|
|
43
|
+
dollarType = dtr.array ? code `.$type<${voTypeSym}[]>()` : code `.$type<${voTypeSym}>()`;
|
|
44
|
+
}
|
|
45
|
+
else if (dtr?.kind === "map") {
|
|
46
|
+
dollarType = "scalar" in dtr.value
|
|
47
|
+
? `.$type<Record<string, ${dtr.value.scalar}>>()`
|
|
48
|
+
: code `.$type<Record<string, ${imp(`${dtr.value.objectRef}@${voModule(dtr.value.objectRef)}`)}>>()`;
|
|
49
|
+
}
|
|
50
|
+
return code ` ${f.name}: ${colSym}(${JSON.stringify(spec.dbName)}${optsArg})${dollarType}${viewModifiers}`;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Emit `export const <viewVar> = <viewFn>(<viewName>, { …cols }).existing();` for a
|
|
54
|
+
* view-backed read model (projection or write-through replica view). `fields` are the
|
|
55
|
+
* view's exposed columns (already resolved to effective fields by the caller).
|
|
56
|
+
*/
|
|
57
|
+
export function renderExistingViewDecl(fields, viewName, viewVar, opts) {
|
|
58
|
+
const viewFn = opts.dialect === "postgres" ? "pgView" : "sqliteView";
|
|
59
|
+
const viewModule = opts.dialect === "postgres" ? "drizzle-orm/pg-core" : "drizzle-orm/sqlite-core";
|
|
60
|
+
const viewSym = imp(`${viewFn}@${viewModule}`);
|
|
61
|
+
const viewColumnLines = fields.map((f) => viewColumnLine(f, opts));
|
|
62
|
+
return code `
|
|
63
|
+
// View declaration — Drizzle uses this for typed SELECT queries.
|
|
64
|
+
// The SQL view is created/managed by migrate-ts; .existing() tells Drizzle
|
|
65
|
+
// not to attempt DDL for this declaration.
|
|
66
|
+
export const ${viewVar} = ${viewSym}(${JSON.stringify(viewName)}, {
|
|
67
|
+
${joinCode(viewColumnLines, { on: ",\n" })}
|
|
68
|
+
}).existing();
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The Zod object body for a view-backed read model — one `field: z.<type>[.nullable()]`
|
|
73
|
+
* line per column, the read counterpart of {@link renderExistingViewDecl}. A column that
|
|
74
|
+
* is not `.notNull()` in the view is `.nullable()` (Drizzle's SELECT infers `T | null`),
|
|
75
|
+
* so `z.infer<>` of the object equals the view row type. This is the dialect-agnostic read
|
|
76
|
+
* type (a Drizzle view exposes `$inferSelect` on Postgres but not SQLite). A `field.object`
|
|
77
|
+
* passthrough carries the value-object's schema so the read type exposes the VO shape.
|
|
78
|
+
* `voModule` resolves a value-object short name → its import module.
|
|
79
|
+
*/
|
|
80
|
+
export function renderViewReadZodObject(fields, opts) {
|
|
81
|
+
const { dialect, columnNamingStrategy, timestampMode, voModule } = opts;
|
|
82
|
+
const z = imp("z@zod");
|
|
83
|
+
const lines = fields.map((f) => {
|
|
84
|
+
const nullable = mapColumnType(f, dialect, columnNamingStrategy, timestampMode).modifiers.includes(".notNull()")
|
|
85
|
+
? ""
|
|
86
|
+
: ".nullable()";
|
|
87
|
+
const refBase = f.subType === FIELD_SUBTYPE_OBJECT
|
|
88
|
+
? (() => {
|
|
89
|
+
const ref = f.attr(FIELD_ATTR_OBJECT_REF);
|
|
90
|
+
return typeof ref === "string" && ref.length > 0 ? stripPackage(ref) : undefined;
|
|
91
|
+
})()
|
|
92
|
+
: undefined;
|
|
93
|
+
if (refBase) {
|
|
94
|
+
const schemaSym = imp(`${refBase}InsertSchema@${voModule(refBase)}`);
|
|
95
|
+
const base = f.resolvedIsArray() ? code `${z}.array(${schemaSym})` : code `${schemaSym}`;
|
|
96
|
+
return code ` ${f.name}: ${base}${nullable}`;
|
|
97
|
+
}
|
|
98
|
+
// #204 — an array passthrough reads as `T[]`; zodTypeFor returns the ELEMENT type.
|
|
99
|
+
const inner = code `${z}.${zodTypeFor(f).replace(/^z\./, "")}`;
|
|
100
|
+
const zbase = f.resolvedIsArray() ? code `${z}.array(${inner})` : inner;
|
|
101
|
+
return code ` ${f.name}: ${zbase}${nullable}`;
|
|
102
|
+
});
|
|
103
|
+
return code `${z}.object({
|
|
104
|
+
${joinCode(lines, { on: ",\n" })}
|
|
105
|
+
})`;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=view-decl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-decl.js","sourceRoot":"","sources":["../../src/templates/view-decl.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,12 @@ export declare function tphDiscriminatorPin(obj: MetaObject): {
|
|
|
15
15
|
/** True when this object is a TPH subtype — it declares @discriminatorValue
|
|
16
16
|
* and an ancestor carries @discriminator. */
|
|
17
17
|
export declare function isTphSubtype(obj: MetaObject): boolean;
|
|
18
|
+
/** True when this object declares at least one @autoSet timestamp field
|
|
19
|
+
* (onCreate or onUpdate). Drives whether codegen emits the #203
|
|
20
|
+
* `<Entity>InsertPreservingSchema` + `insertPreserving<Entity>` escape hatch —
|
|
21
|
+
* a plain entity has nothing to preserve, so both are omitted. Resolving
|
|
22
|
+
* (ADR-0039): honors an @autoSet inherited via extends. */
|
|
23
|
+
export declare function hasAutoSetFields(obj: MetaObject): boolean;
|
|
18
24
|
/**
|
|
19
25
|
* FR-017 Tier 2 — the per-subtype FULL read schema `<Sub>Schema`. Unlike the
|
|
20
26
|
* insert schema, this includes every effective field (PK included) so a raw DB
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validators.d.ts","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAA2B,MAAM,0BAA0B,CAAC;AAwB/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBrG;AAED;8CAC8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA0BrF;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"zod-validators.d.ts","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"AAWA,OAAO,EAAuB,KAAK,IAAI,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,UAAU,EAA2B,MAAM,0BAA0B,CAAC;AAwB/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBrG;AAED;8CAC8C;AAC9C,wBAAgB,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAErD;AAED;;;;4DAI4D;AAC5D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAMzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA0BrF;AAgCD;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA2CjF;AAED,wEAAwE;AACxE,MAAM,WAAW,gBAAgB;IAC/B,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,mFAAmF;IACnF,QAAQ,EAAE,OAAO,CAAC;IAClB;sEACkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;oDACgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAqBtE;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,UAAU,GAAG,gBAAgB,EAAE,CAwBtE;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CA4G9E"}
|
|
@@ -51,6 +51,19 @@ export function tphDiscriminatorPin(obj) {
|
|
|
51
51
|
export function isTphSubtype(obj) {
|
|
52
52
|
return tphDiscriminatorPin(obj) !== undefined;
|
|
53
53
|
}
|
|
54
|
+
/** True when this object declares at least one @autoSet timestamp field
|
|
55
|
+
* (onCreate or onUpdate). Drives whether codegen emits the #203
|
|
56
|
+
* `<Entity>InsertPreservingSchema` + `insertPreserving<Entity>` escape hatch —
|
|
57
|
+
* a plain entity has nothing to preserve, so both are omitted. Resolving
|
|
58
|
+
* (ADR-0039): honors an @autoSet inherited via extends. */
|
|
59
|
+
export function hasAutoSetFields(obj) {
|
|
60
|
+
for (const child of obj.fields()) {
|
|
61
|
+
const autoSet = child.attr(FIELD_ATTR_AUTO_SET);
|
|
62
|
+
if (autoSet === AUTO_SET_ON_CREATE || autoSet === AUTO_SET_ON_UPDATE)
|
|
63
|
+
return true;
|
|
64
|
+
}
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
54
67
|
/**
|
|
55
68
|
* FR-017 Tier 2 — the per-subtype FULL read schema `<Sub>Schema`. Unlike the
|
|
56
69
|
* insert schema, this includes every effective field (PK included) so a raw DB
|
|
@@ -136,7 +149,9 @@ export function renderInsertSchemaOnly(obj, ctx) {
|
|
|
136
149
|
// FR-013: @readOnly fields are populated by DB / replication / external
|
|
137
150
|
// owner; the application has no path to write them. Exclude from the
|
|
138
151
|
// create-shape schema entirely.
|
|
139
|
-
|
|
152
|
+
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
153
|
+
// excluded from the Insert/Update/preserving schemas, exactly like @readOnly.
|
|
154
|
+
if (child.attr(FIELD_ATTR_READ_ONLY) === true || child.isDerived())
|
|
140
155
|
continue;
|
|
141
156
|
// FR-017 Tier 1: TPH subtype pins its discriminator field to z.literal(...).
|
|
142
157
|
if (tphPin !== undefined && child.name === tphPin.fieldName) {
|
|
@@ -179,7 +194,9 @@ export function insertSchemaFields(obj) {
|
|
|
179
194
|
for (const child of obj.fields()) {
|
|
180
195
|
if (autoGenPkFields.has(child.name))
|
|
181
196
|
continue;
|
|
182
|
-
|
|
197
|
+
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
198
|
+
// excluded from the Insert/Update/preserving schemas, exactly like @readOnly.
|
|
199
|
+
if (child.attr(FIELD_ATTR_READ_ONLY) === true || child.isDerived())
|
|
183
200
|
continue;
|
|
184
201
|
if (tphPin !== undefined && child.name === tphPin.fieldName) {
|
|
185
202
|
out.push({ name: child.name, optional: false, pinnedLiteral: tphPin.value });
|
|
@@ -211,7 +228,9 @@ export function updateSchemaFields(obj) {
|
|
|
211
228
|
for (const child of obj.fields()) {
|
|
212
229
|
if (autoGenPkFields.has(child.name))
|
|
213
230
|
continue;
|
|
214
|
-
|
|
231
|
+
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
232
|
+
// excluded from the Insert/Update/preserving schemas, exactly like @readOnly.
|
|
233
|
+
if (child.attr(FIELD_ATTR_READ_ONLY) === true || child.isDerived())
|
|
215
234
|
continue;
|
|
216
235
|
// TPH subtype discriminator: omitted from the update schema entirely.
|
|
217
236
|
if (tphPin !== undefined && child.name === tphPin.fieldName)
|
|
@@ -237,6 +256,11 @@ export function renderZodValidators(obj, ctx) {
|
|
|
237
256
|
const tphPin = tphDiscriminatorPin(obj);
|
|
238
257
|
const insertFieldLines = [];
|
|
239
258
|
const updateFieldLines = [];
|
|
259
|
+
// #203 — the `insertPreserving` escape hatch's schema: same shape as the insert
|
|
260
|
+
// schema, but @autoSet columns are written VERBATIM (no create-time now()
|
|
261
|
+
// transform). Only emitted when the entity declares @autoSet fields.
|
|
262
|
+
const preservingFieldLines = [];
|
|
263
|
+
const emitPreserving = hasAutoSetFields(obj);
|
|
240
264
|
for (const child of obj.fields()) {
|
|
241
265
|
if (autoGenPkFields.has(child.name))
|
|
242
266
|
continue;
|
|
@@ -244,23 +268,32 @@ export function renderZodValidators(obj, ctx) {
|
|
|
244
268
|
// The DB / trigger / replication owns the write path; the app must not
|
|
245
269
|
// pass these values in POST/PATCH bodies (routesFile enforces the same
|
|
246
270
|
// contract at the boundary with a 400 response).
|
|
247
|
-
|
|
271
|
+
// #213 — a derived (origin-bearing) field is read-only (FR-024 §7 / ADR-0028):
|
|
272
|
+
// excluded from the Insert/Update/preserving schemas, exactly like @readOnly.
|
|
273
|
+
if (child.attr(FIELD_ATTR_READ_ONLY) === true || child.isDerived())
|
|
248
274
|
continue;
|
|
249
275
|
// FR-017 Tier 1: TPH subtype pins its discriminator field to z.literal(...).
|
|
250
276
|
// The discriminator is implicit on subtype rows (controlled by URL / insert
|
|
251
277
|
// path) — the app never writes it via the body and never updates it.
|
|
252
278
|
// Insert: pinned literal. Update: omitted entirely (clients can't change subtype).
|
|
253
279
|
if (tphPin !== undefined && child.name === tphPin.fieldName) {
|
|
254
|
-
|
|
280
|
+
const litLine = code ` ${child.name}: z.literal(${JSON.stringify(tphPin.value)})`;
|
|
281
|
+
insertFieldLines.push(litLine);
|
|
282
|
+
preservingFieldLines.push(litLine);
|
|
255
283
|
continue;
|
|
256
284
|
}
|
|
257
285
|
const autoSet = child.attr(FIELD_ATTR_AUTO_SET);
|
|
258
286
|
// Insert schema: @autoSet fields use transform (always override client input).
|
|
259
287
|
if (autoSet === AUTO_SET_ON_CREATE || autoSet === AUTO_SET_ON_UPDATE) {
|
|
260
288
|
insertFieldLines.push(code ` ${child.name}: z.string().optional().transform(() => new Date().toISOString())`);
|
|
289
|
+
// Preserving schema: the @autoSet column is validated verbatim (its natural
|
|
290
|
+
// field expr) so an import/restore keeps the caller's original timestamp.
|
|
291
|
+
preservingFieldLines.push(code ` ${child.name}: ${zodFieldExpr(child, obj, ctx)}`);
|
|
261
292
|
}
|
|
262
293
|
else {
|
|
263
|
-
|
|
294
|
+
const fieldLine = code ` ${child.name}: ${zodFieldExpr(child, obj, ctx)}`;
|
|
295
|
+
insertFieldLines.push(fieldLine);
|
|
296
|
+
preservingFieldLines.push(fieldLine);
|
|
264
297
|
}
|
|
265
298
|
// Update schema: @autoSet onCreate → omit entirely; onUpdate → transform
|
|
266
299
|
if (autoSet === AUTO_SET_ON_CREATE) {
|
|
@@ -289,8 +322,21 @@ export function renderZodValidators(obj, ctx) {
|
|
|
289
322
|
}
|
|
290
323
|
const insertSchemaName = `${obj.name}InsertSchema`;
|
|
291
324
|
const updateSchemaName = `${obj.name}UpdateSchema`;
|
|
325
|
+
const preservingSchemaName = `${obj.name}InsertPreservingSchema`;
|
|
292
326
|
const docs = renderDocsFor(obj);
|
|
293
327
|
const docsPrefix = docs ? `${docs}\n` : "";
|
|
328
|
+
// #203 — emit the preserving insert-shape only for @autoSet entities (nothing to
|
|
329
|
+
// preserve otherwise). Backs `insertPreserving<Entity>` (import/restore/replication).
|
|
330
|
+
const preservingBlock = emitPreserving
|
|
331
|
+
? code `
|
|
332
|
+
|
|
333
|
+
/** Insert-shape for import / restore / replication of ${obj.name}: identical to
|
|
334
|
+
* ${insertSchemaName}, but the @autoSet timestamp columns are written VERBATIM
|
|
335
|
+
* (no create-time now() stamp) so the caller's original values are preserved. */
|
|
336
|
+
export const ${preservingSchemaName} = ${z}.object({
|
|
337
|
+
${joinCode(preservingFieldLines, { on: ",\n" })}
|
|
338
|
+
});`
|
|
339
|
+
: code ``;
|
|
294
340
|
return code `
|
|
295
341
|
${docsPrefix}export const ${insertSchemaName} = ${z}.object({
|
|
296
342
|
${joinCode(insertFieldLines, { on: ",\n" })}
|
|
@@ -302,7 +348,7 @@ ${joinCode(updateFieldLines, { on: ",\n" })}
|
|
|
302
348
|
|
|
303
349
|
/** Typed patch shape for ${obj.name}: every settable field, optional (FR-035 PATCH). A
|
|
304
350
|
* renamed/dropped field is a compile error at every \`update${obj.name}\` call site. */
|
|
305
|
-
export type ${obj.name}Patch = ${z}.input<typeof ${updateSchemaName}
|
|
351
|
+
export type ${obj.name}Patch = ${z}.input<typeof ${updateSchemaName}>;${preservingBlock}
|
|
306
352
|
`;
|
|
307
353
|
}
|
|
308
354
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"zod-validators.js","sourceRoot":"","sources":["../../src/templates/zod-validators.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.
|
|
3
|
+
"version": "0.17.0",
|
|
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.
|
|
115
|
-
"@metaobjectsdev/render": "0.
|
|
114
|
+
"@metaobjectsdev/metadata": "0.17.0",
|
|
115
|
+
"@metaobjectsdev/render": "0.17.0",
|
|
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.
|
|
127
|
-
"@metaobjectsdev/migrate-ts": "0.
|
|
128
|
-
"@metaobjectsdev/runtime-ts": "0.
|
|
126
|
+
"@metaobjectsdev/codegen-ts-react": "0.17.0",
|
|
127
|
+
"@metaobjectsdev/migrate-ts": "0.17.0",
|
|
128
|
+
"@metaobjectsdev/runtime-ts": "0.17.0",
|
|
129
129
|
"bun-types": "latest",
|
|
130
130
|
"drizzle-orm": "^0.36.0",
|
|
131
131
|
"hono": "^4.6.0",
|