@metaobjectsdev/codegen-ts 0.17.0 → 0.17.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":"routes-file.d.ts","sourceRoot":"","sources":["../../src/templates/routes-file.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CA8K/E"}
1
+ {"version":3,"file":"routes-file.d.ts","sourceRoot":"","sources":["../../src/templates/routes-file.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAQ1D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAyL/E"}
@@ -20,7 +20,7 @@ import {} from "../render-context.js";
20
20
  import { crossEntitySpecifier, entityModuleSpecifier, relativeModuleSpecifier } from "../import-path.js";
21
21
  import { GENERATED_HEADER } from "../constants.js";
22
22
  import { routesHandlerName } from "../naming.js";
23
- import { isProjection } from "../projection/projection-detector.js";
23
+ import { isProjection, isWriteThrough } from "../projection/projection-detector.js";
24
24
  import { isTphDiscriminatorBase, tphPlan } from "./tph-discriminator.js";
25
25
  export function renderRoutesFile(entity, ctx) {
26
26
  // FR-017 Tier 2 — a TPH discriminator base mounts polymorphic list/get at the
@@ -100,6 +100,16 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
100
100
  }
101
101
  // --- Vanilla / write-through entity path: full CRUD routes ---
102
102
  const tableVar = ctx.collectionName(entityName);
103
+ // #214 — a write-through entity (writable table + replica @kind:view + derived
104
+ // origin.passthrough fields) keeps FULL CRUD (writes → table) but its READS must
105
+ // route through the replica view so the HTTP responses carry the derived field.
106
+ // The entity file already exports `<camel>View` as an `.existing()` Drizzle view;
107
+ // import it and pass it as `readView` to mountCrudRoutes. A vanilla entity omits both.
108
+ const writeThrough = isWriteThrough(entity);
109
+ const camelName = entityName.charAt(0).toLowerCase() + entityName.slice(1);
110
+ const viewImportLine = writeThrough ? `\n ${camelName}View,` : "";
111
+ const readViewLinePrefixed = writeThrough ? `\n readView: ${camelName}View,` : "";
112
+ const readViewLineFlat = writeThrough ? `\n readView: ${camelName}View,` : "";
103
113
  const FastifyInstanceSym = imp("t:FastifyInstance@fastify");
104
114
  const mountCrudRoutesSym = imp("mountCrudRoutes@@metaobjectsdev/runtime-ts/drizzle-fastify");
105
115
  // FR-018 M:N traversal: for each many-to-many navigation declared on this
@@ -116,7 +126,7 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
116
126
  import { db } from ${JSON.stringify(dbImportSpec)};
117
127
  import {
118
128
  ${entityName},
119
- ${tableVar},
129
+ ${tableVar},${viewImportLine}
120
130
  ${entityName}InsertSchema,
121
131
  ${entityName}UpdateSchema,
122
132
  ${entityName}FilterAllowlist,
@@ -139,7 +149,7 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
139
149
  fastify: instance,
140
150
  path: ${entityName}.$path,
141
151
  db,
142
- table: ${tableVar},
152
+ table: ${tableVar},${readViewLinePrefixed}
143
153
  insertSchema: ${entityName}InsertSchema,
144
154
  updateSchema: ${entityName}UpdateSchema,
145
155
  filterAllowlist: ${entityName}FilterAllowlist,
@@ -163,7 +173,7 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
163
173
  fastify,
164
174
  path: ${entityName}.$path,
165
175
  db,
166
- table: ${tableVar},
176
+ table: ${tableVar},${readViewLineFlat}
167
177
  insertSchema: ${entityName}InsertSchema,
168
178
  updateSchema: ${entityName}UpdateSchema,
169
179
  filterAllowlist: ${entityName}FilterAllowlist,
@@ -1 +1 @@
1
- {"version":3,"file":"routes-file.js","sourceRoot":"","sources":["../../src/templates/routes-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routes-file.js","sourceRoot":"","sources":["../../src/templates/routes-file.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.17.0",
3
+ "version": "0.17.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.17.0",
115
- "@metaobjectsdev/render": "0.17.0",
114
+ "@metaobjectsdev/metadata": "0.17.1",
115
+ "@metaobjectsdev/render": "0.17.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.17.0",
127
- "@metaobjectsdev/migrate-ts": "0.17.0",
128
- "@metaobjectsdev/runtime-ts": "0.17.0",
126
+ "@metaobjectsdev/codegen-ts-react": "0.17.1",
127
+ "@metaobjectsdev/migrate-ts": "0.17.1",
128
+ "@metaobjectsdev/runtime-ts": "0.17.1",
129
129
  "bun-types": "latest",
130
130
  "drizzle-orm": "^0.36.0",
131
131
  "hono": "^4.6.0",
@@ -25,7 +25,7 @@ import { type RenderContext } from "../render-context.js";
25
25
  import { crossEntitySpecifier, entityModuleSpecifier, relativeModuleSpecifier } from "../import-path.js";
26
26
  import { GENERATED_HEADER } from "../constants.js";
27
27
  import { routesHandlerName } from "../naming.js";
28
- import { isProjection } from "../projection/projection-detector.js";
28
+ import { isProjection, isWriteThrough } from "../projection/projection-detector.js";
29
29
  import type { RelationEntry } from "../relation-resolver.js";
30
30
  import { isTphDiscriminatorBase, tphPlan } from "./tph-discriminator.js";
31
31
 
@@ -124,6 +124,17 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
124
124
  // --- Vanilla / write-through entity path: full CRUD routes ---
125
125
  const tableVar = ctx.collectionName(entityName);
126
126
 
127
+ // #214 — a write-through entity (writable table + replica @kind:view + derived
128
+ // origin.passthrough fields) keeps FULL CRUD (writes → table) but its READS must
129
+ // route through the replica view so the HTTP responses carry the derived field.
130
+ // The entity file already exports `<camel>View` as an `.existing()` Drizzle view;
131
+ // import it and pass it as `readView` to mountCrudRoutes. A vanilla entity omits both.
132
+ const writeThrough = isWriteThrough(entity);
133
+ const camelName = entityName.charAt(0).toLowerCase() + entityName.slice(1);
134
+ const viewImportLine = writeThrough ? `\n ${camelName}View,` : "";
135
+ const readViewLinePrefixed = writeThrough ? `\n readView: ${camelName}View,` : "";
136
+ const readViewLineFlat = writeThrough ? `\n readView: ${camelName}View,` : "";
137
+
127
138
  const FastifyInstanceSym = imp("t:FastifyInstance@fastify");
128
139
  const mountCrudRoutesSym = imp("mountCrudRoutes@@metaobjectsdev/runtime-ts/drizzle-fastify");
129
140
 
@@ -144,7 +155,7 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
144
155
  import { db } from ${JSON.stringify(dbImportSpec)};
145
156
  import {
146
157
  ${entityName},
147
- ${tableVar},
158
+ ${tableVar},${viewImportLine}
148
159
  ${entityName}InsertSchema,
149
160
  ${entityName}UpdateSchema,
150
161
  ${entityName}FilterAllowlist,
@@ -168,7 +179,7 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
168
179
  fastify: instance,
169
180
  path: ${entityName}.$path,
170
181
  db,
171
- table: ${tableVar},
182
+ table: ${tableVar},${readViewLinePrefixed}
172
183
  insertSchema: ${entityName}InsertSchema,
173
184
  updateSchema: ${entityName}UpdateSchema,
174
185
  filterAllowlist: ${entityName}FilterAllowlist,
@@ -192,7 +203,7 @@ export async function ${handlerName}(fastify: ${FastifyInstanceSym}) {
192
203
  fastify,
193
204
  path: ${entityName}.$path,
194
205
  db,
195
- table: ${tableVar},
206
+ table: ${tableVar},${readViewLineFlat}
196
207
  insertSchema: ${entityName}InsertSchema,
197
208
  updateSchema: ${entityName}UpdateSchema,
198
209
  filterAllowlist: ${entityName}FilterAllowlist,