@postxl/generators 1.11.2 → 1.11.4

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.
@@ -310,6 +310,8 @@ export function ${detectDelta._utils.validation.requiredFields.name}<
310
310
 
311
311
  /**
312
312
  * Validates that the field is a reference to an existing item.
313
+ * If the value is a key (not an ID), it resolves the key to the actual ID and updates the item.
314
+ * This allows importing Excel data where relation fields contain human-readable keys instead of UUIDs.
313
315
  */
314
316
  export async function ${detectDelta._utils.validation.referenceField.name}<
315
317
  Model extends ${dto.genericModel.name}<ID>,
@@ -328,16 +330,27 @@ export async function ${detectDelta._utils.validation.referenceField.name}<
328
330
  item: Partial<Model>
329
331
  fieldName: FieldName
330
332
  relatedModel: RelatedModelName
331
- getExistingItem: (id: RelatedID) => Promise<RelatedModel | null>
333
+ /**
334
+ * Function to get an existing item by ID or key.
335
+ * Should try ID lookup first, then key lookup.
336
+ * Returns the item if found, null otherwise.
337
+ */
338
+ getExistingItem: (idOrKey: RelatedID) => Promise<RelatedModel | null>
332
339
  }): Promise<${errors.invalidReference.type.name}<RelatedModelName, FieldName, Value> | undefined> {
333
340
  const value: Value | undefined | null = item[fieldName] as Value | undefined | null
334
- if (value === undefined || value === null) {
341
+ if (value === undefined || value === null) {
335
342
  return undefined
336
343
  }
337
344
  const existingItem = await getExistingItem(value)
338
345
  if (!existingItem) {
339
346
  return { error: '${errors.invalidReference.discriminant}', relatedModel, fieldName, value }
340
347
  }
348
+ // If the existing item was found and its ID differs from the provided value,
349
+ // it means the value was a key (not an ID). Replace the key with the actual ID.
350
+ // This ensures the item has the correct ID for database operations.
351
+ if (existingItem.id !== value) {
352
+ (item as Record<string, unknown>)[fieldName] = existingItem.id
353
+ }
341
354
  return undefined
342
355
  }
343
356
 
@@ -1 +1 @@
1
- {"version":3,"file":"detect-delta-functions.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/detect-delta-functions.generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,oEA0YC;AA9YD,6DAA8C;AAI9C,SAAgB,4BAA4B,CAAC,OAAsB;IACjE,MAAM,EACJ,MAAM,EAAE,EAAE,WAAW,EAAE,GACxB,GAAG,OAAO,CAAA;IAEX,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAA;IAC7B,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAA;IACzC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,OAAO,CAAA;IAE9E,MAAM,OAAO,GAAG,SAAS,CAAC,eAAe;QACvC,EAAE;SACD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAC1C,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;SACzB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;SACnB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;SACnB,OAAO,CAAC,YAAY,CAAC;SACrB,OAAO,CAAC,SAAS,CAAC;SAClB,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC;SACrC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;SAChC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC;SACjC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;SAC9B,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAE5C,OAAO,QAAQ,CAAC;;EAEhB,OAAO,CAAC,QAAQ,EAAE;;;;;;eAML,SAAS,CAAC,YAAY;;yFAEoD,MAAM,CAAC,YAAY;;WAEjG,MAAM,CAAC,YAAY;WACnB,YAAY,CAAC,IAAI;;;;yFAI6D,OAAO,CAAC,MAAM,CAAC,YAAY;;cAEtG,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,kBAAkB,GAAG,CAAC,YAAY,CAAC,IAAI;;;;;;;;;;;wBAWtE,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,kBAAkB,GAAG,CAAC,YAAY,CAAC,IAAI,oBAAoB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;8DAe5E,YAAY,CAAC,IAAI;cACjE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI;cACzC,SAAS,CAAC,IAAI;wBACJ,SAAS,CAAC,IAAI;;;;;;;;;;;;;;;cAexB,MAAM,CAAC,YAAY;qCACI,MAAM,CAAC,YAAY;;;cAG1C,MAAM,CAAC,YAAY;;mBAEd,MAAM,CAAC,YAAY;;;;;;;cAOxB,OAAO,CAAC,MAAM,CAAC,YAAY;;;;cAI3B,SAAS,CAAC,YAAY;qCACC,SAAS,CAAC,YAAY;;;;;;;;;;;;;;;;;;;;;;;oDAuBP,GAAG,CAAC,YAAY,CAAC,IAAI,oBAAoB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;;gFAW5B,YAAY,CAAC,IAAI;;;;;;;;;0BASvE,MAAM,CAAC,YAAY;;wBAErB,SAAS,CAAC,YAAY;;;sBAGxB,MAAM,CAAC,YAAY;;;;;;;;sBAQnB,MAAM,CAAC,YAAY;;;;;;;sBAOnB,MAAM,CAAC,YAAY;;;;;;sBAMnB,MAAM,CAAC,YAAY;;;;;sBAKnB,OAAO,CAAC,MAAM,CAAC,YAAY;;;oBAG7B,SAAS,CAAC,YAAY;;;kBAGxB,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,kBAAkB,GAAG,CAAC,YAAY,CAAC,IAAI,oBAAoB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;MAQtH,YAAY,CAAC,IAAI;iBACN,YAAY,CAAC,IAAI;;;;;;;;;;;;;kCAaA,GAAG,CAAC,YAAY,CAAC,IAAI,oBAAoB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;WAM/E,YAAY,CAAC,IAAI;;;;;;;;;;;;;;kDAcsB,GAAG,CAAC,YAAY,CAAC,IAAI,oBAAoB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;WAK/F,YAAY,CAAC,IAAI;MACtB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;;;;;;kBAeH,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI;;;;;;;kBAOlC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI;kBACjD,GAAG,CAAC,YAAY,CAAC,IAAI;eACxB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;MAQxB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;kBACjB,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;;;8BAGjB,MAAM,CAAC,YAAY,CAAC,YAAY;;;;;;;;;;;;;wBAatC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI;kBACvD,GAAG,CAAC,YAAY,CAAC,IAAI;eACxB,GAAG,CAAC,MAAM,CAAC,IAAI;yBACL,GAAG,CAAC,YAAY,CAAC,IAAI;sBACxB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;;;;;cAcvB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI;;;;;;;uBAOxB,MAAM,CAAC,gBAAgB,CAAC,YAAY;;;;;;;;wBAQnC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI;kBACpD,GAAG,CAAC,YAAY,CAAC,IAAI;eACxB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;;cAWhB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI;;;;;;;uBAOjB,MAAM,CAAC,SAAS,CAAC,YAAY;;;;;;;;kBAQlC,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI;kBACtC,GAAG,CAAC,YAAY,CAAC,IAAI;eACxB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;MAQxB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI;;;;;;;;uBAQX,MAAM,CAAC,WAAW,CAAC,YAAY;;;;;;;;wBAQ9B,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI;kBAC3D,GAAG,CAAC,YAAY,CAAC,IAAI;eACxB,GAAG,CAAC,MAAM,CAAC,IAAI;;;yBAGL,GAAG,CAAC,YAAY,CAAC,IAAI;sBACxB,GAAG,CAAC,MAAM,CAAC,IAAI;;;;;;;;;;;;IAYjC,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI;;;;;;qBAMpB,MAAM,CAAC,oBAAoB,CAAC,YAAY;EAC3D,CAAA;AACF,CAAC"}
1
+ {"version":3,"file":"detect-delta-functions.generator.js","sourceRoot":"","sources":["../../../../src/backend-import/generators/detect-delta/detect-delta-functions.generator.ts"],"names":[],"mappings":"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"}
@@ -220,5 +220,9 @@ console.log("Focused:", JSON.stringify(focused));
220
220
 
221
221
  - Ask for confirmation before running
222
222
  - Skip taking screenshots
223
- - save screenshots to .claude (but use the e2e/test-results folder instead)
223
+ - Save screenshots and other results in the /.claude folder
224
224
  - Forget to read and report on screenshots
225
+
226
+ ### DO
227
+
228
+ - only use /e2e/test-results folder for screenshots and other results
@@ -1,5 +1,5 @@
1
1
  {
2
- "$schema": "https://claude.ai/schemas/claude-code-settings.json",
2
+ "$schema": "https://json.schemastore.org/claude-code-settings.json",
3
3
  "instructions": [
4
4
  "Read CLAUDE.md for project-specific guidance before making changes",
5
5
  "This is a PostXL-generated project - see the main PostXL monorepo CLAUDE.md for full documentation",
@@ -35,6 +35,41 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.generateDataModelDecoder = generateDataModelDecoder;
37
37
  const Generator = __importStar(require("@postxl/generator"));
38
+ /**
39
+ * Checks if a discriminated union has any relation fields (in common fields or any member).
40
+ */
41
+ function discriminatedUnionHasRelationFields(field) {
42
+ // Check common fields
43
+ for (const f of field.commonFields.values()) {
44
+ if (f.kind === 'relation') {
45
+ return true;
46
+ }
47
+ }
48
+ // Check member fields
49
+ for (const member of field.members.values()) {
50
+ for (const f of member.fields.values()) {
51
+ if (f.kind === 'relation') {
52
+ return true;
53
+ }
54
+ }
55
+ }
56
+ return false;
57
+ }
58
+ /**
59
+ * Checks if a model needs lookup maps for Excel encoding.
60
+ * This is true if the model has direct relation fields OR discriminated unions with relation fields.
61
+ */
62
+ function modelNeedsLookupMaps(model) {
63
+ for (const field of model.fields.values()) {
64
+ if (field.kind === 'relation') {
65
+ return true;
66
+ }
67
+ if (field.kind === 'discriminatedUnion' && discriminatedUnionHasRelationFields(field)) {
68
+ return true;
69
+ }
70
+ }
71
+ return false;
72
+ }
38
73
  /**
39
74
  * Generates the data decoder, aggregating all the models.
40
75
  */
@@ -49,23 +84,40 @@ function generateDataModelDecoder({ context: { decoders, models } }) {
49
84
  const encoderExcelEntries = [];
50
85
  const decoderExcelEntries = [];
51
86
  const transformerExcelEntries = [];
87
+ // Build lookup map type entries for all models (map ID to keyField value)
88
+ const lookupMapTypeEntries = [];
89
+ const lookupMapBuilderEntries = [];
52
90
  for (const model of models.values()) {
53
91
  imports.addType(model.decoder.flattened.encodedType);
54
92
  encodedTypeEntries.push(`${model.decoder.dataModelEntry}: ${model.decoder.flattened.encodedType.name}[] | undefined`);
55
93
  imports.addType(model.decoder.excel.encodedType);
56
94
  encodedExcelTypeEntries.push(`${model.excelName}: ${model.decoder.excel.encodedType.name}[] | undefined`);
57
95
  imports.addType(model.types);
96
+ imports.addType(model.types.id);
58
97
  decodedTypeEntries.push(`${model.decoder.dataModelEntry}?: ${model.types.name}[]`);
59
98
  imports.add(model.decoder.flattened.encoder);
60
99
  encoderEntries.push(`${model.decoder.dataModelEntry}: input.${model.decoder.dataModelEntry}?.map(${model.decoder.flattened.encoder.name}) ?? undefined`);
61
100
  imports.add(model.decoder.excel.encoder);
62
- encoderExcelEntries.push(`${model.excelName}: input.${model.decoder.dataModelEntry}?.map(${model.decoder.excel.encoder.name}) ?? undefined`);
101
+ // Build lookup map type entry (maps ID to keyField value for this model)
102
+ lookupMapTypeEntries.push(`${model.decoder.dataModelEntry}: Map<${model.types.id.name}, string>`);
103
+ // Build lookup map builder entry
104
+ const keyFieldName = model.keyField.name;
105
+ lookupMapBuilderEntries.push(`${model.decoder.dataModelEntry}: new Map((input.${model.decoder.dataModelEntry} ?? []).map(item => [item.id, String(item.${keyFieldName})]))`);
63
106
  imports.add(model.decoder.flattened.decoder.zodDecoder);
64
107
  decoderEntries.push(`${model.decoder.dataModelEntry}: z.array(${model.decoder.flattened.decoder.zodDecoder.name}).optional()`);
65
108
  imports.add(model.decoder.excel.decoder.zodDecoder);
66
109
  decoderExcelEntries.push(`${model.excelName}: z.array(${model.decoder.excel.decoder.zodDecoder.name}).optional()`);
67
110
  transformerExcelEntries.push(`${model.decoder.dataModelEntry}: v.${model.excelName} ?? []`);
68
111
  }
112
+ // Generate encoder entries for Excel - models with relations (direct or via DU) need lookup maps
113
+ for (const model of models.values()) {
114
+ if (modelNeedsLookupMaps(model)) {
115
+ encoderExcelEntries.push(`${model.excelName}: input.${model.decoder.dataModelEntry}?.map(item => ${model.decoder.excel.encoder.name}(item, lookupMaps)) ?? undefined`);
116
+ }
117
+ else {
118
+ encoderExcelEntries.push(`${model.excelName}: input.${model.decoder.dataModelEntry}?.map(${model.decoder.excel.encoder.name}) ?? undefined`);
119
+ }
120
+ }
69
121
  return `
70
122
  import * as z from 'zod'
71
123
  ${imports.generate()}
@@ -84,6 +136,25 @@ export type ${dataModel.decodedType.name} = {
84
136
  ${decodedTypeEntries.join(',\n')}
85
137
  }
86
138
 
139
+ /**
140
+ * Lookup maps for resolving IDs to keyField values during Excel export.
141
+ * Each map contains ID -> keyField value mappings for a specific model.
142
+ * This is used to export human-readable keys instead of UUIDs in relation fields.
143
+ */
144
+ export type IdToKeyLookupMaps = {
145
+ ${lookupMapTypeEntries.join(',\n')}
146
+ }
147
+
148
+ /**
149
+ * Builds lookup maps from the DataModel for ID-to-key resolution during export.
150
+ * These maps allow the Excel encoder to output keyField values instead of IDs for relation fields.
151
+ */
152
+ function buildIdToKeyLookupMaps(input: ${dataModel.decodedType.name}): IdToKeyLookupMaps {
153
+ return {
154
+ ${lookupMapBuilderEntries.join(',\n')}
155
+ }
156
+ }
157
+
87
158
  export function ${dataModel.encoder.name}(input: ${dataModel.decodedType.name}): ${dataModel.encodedType.name} {
88
159
  return {
89
160
  ${encoderEntries.join(',\n')}
@@ -109,7 +180,15 @@ export type ${excelDataModel.encodedType.name} = {
109
180
  ${encodedExcelTypeEntries.join(',\n')}
110
181
  }
111
182
 
183
+ /**
184
+ * Encodes a DataModel to Excel format, converting relation IDs to human-readable keys.
185
+ * This allows exported Excel files to contain the same format as imported Excel files,
186
+ * making round-trip import/export consistent.
187
+ */
112
188
  export function ${excelDataModel.encoder.name}(input: ${dataModel.decodedType.name}): ${excelDataModel.encodedType.name} {
189
+ // Build lookup maps for ID-to-key resolution
190
+ const lookupMaps = buildIdToKeyLookupMaps(input)
191
+
113
192
  return {
114
193
  ${encoderExcelEntries.join(',\n')}
115
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"datamodel-decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/datamodel-decoder.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datamodel-decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/datamodel-decoder.generator.ts"],"names":[],"mappings":"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"}
@@ -37,11 +37,33 @@ exports.generateDiscriminatedUnionDecoder = generateDiscriminatedUnionDecoder;
37
37
  const Generator = __importStar(require("@postxl/generator"));
38
38
  const FlattenedFieldHelper = __importStar(require("./excel-field-decoder.helper"));
39
39
  const FieldDecoder = __importStar(require("./field-decoder.helper"));
40
+ /**
41
+ * Checks if a discriminated union has any relation fields (in common fields or any member).
42
+ */
43
+ function hasRelationFields(field) {
44
+ // Check common fields
45
+ for (const f of field.commonFields.values()) {
46
+ if (f.kind === 'relation') {
47
+ return true;
48
+ }
49
+ }
50
+ // Check member fields
51
+ for (const member of field.members.values()) {
52
+ for (const f of member.fields.values()) {
53
+ if (f.kind === 'relation') {
54
+ return true;
55
+ }
56
+ }
57
+ }
58
+ return false;
59
+ }
40
60
  function generateDiscriminatedUnionDecoder({ context, model, discriminatedUnion, }) {
41
61
  const imports = Generator.ImportGenerator.from(model.decoder.decoder.zodDecoder.location);
42
62
  const params = { context, model, discriminatedUnion, field: discriminatedUnion.field, imports };
43
63
  // We cannot inline below definitions, as we need to add the imports before
44
64
  const decoder = getDecoder(params);
65
+ const flattenedType = getFlattenedType({ discriminatedUnion });
66
+ const flattenedEncoder = getFlattenedEncoder(params);
45
67
  const flattenedDecoder = getFlattenedDecoder(params);
46
68
  return /* ts */ `
47
69
  import * as z from 'zod'
@@ -49,9 +71,9 @@ ${imports.generate()}
49
71
 
50
72
  ${decoder}
51
73
 
52
- ${getFlattenedType({ discriminatedUnion })}
74
+ ${flattenedType}
53
75
 
54
- ${getFlattenedEncoder({ discriminatedUnion })}
76
+ ${flattenedEncoder}
55
77
 
56
78
  ${flattenedDecoder}`;
57
79
  }
@@ -89,32 +111,77 @@ function getFlattenedType({ discriminatedUnion }) {
89
111
  export type ${discriminatedUnion.flattened.decoder.rawInputType.name} = z.infer<typeof ${discriminatedUnion.flattened.decoder.rawInputValidation.name}>
90
112
  `;
91
113
  }
92
- function getFlattenedEncoder({ discriminatedUnion, }) {
114
+ function getFlattenedEncoder({ context, discriminatedUnion, field, imports }) {
115
+ const hasRelations = hasRelationFields(field);
116
+ // If there are relation fields, we need the lookup maps type
117
+ if (hasRelations) {
118
+ imports.addTypeImport({
119
+ from: Generator.toBackendModuleLocation('@decoders/data-model.decoder'),
120
+ items: [Generator.toTypeName('IdToKeyLookupMaps')],
121
+ });
122
+ }
123
+ const encoderFields = getEncoderFields({ field, context, hasRelations });
124
+ if (hasRelations) {
125
+ return `
126
+ /**
127
+ * Encodes a ${field.type} discriminated union to a flattened object.
128
+ * When lookupMaps is provided, relation IDs are resolved to human-readable keyField values.
129
+ * When lookupMaps is not provided, IDs are output directly.
130
+ */
131
+ export function ${discriminatedUnion.flattened.encoder.name}(item: ${field.type}, lookupMaps?: IdToKeyLookupMaps) {
132
+ return {
133
+ ${encoderFields.join(',\n')}
134
+ }
135
+ }
136
+ `;
137
+ }
93
138
  return `
94
139
  /**
95
- * Encodes a ${discriminatedUnion.field.type} discriminated union to a flattened object, where each
140
+ * Encodes a ${field.type} discriminated union to a flattened object, where each
96
141
  * nested field is mapped to a top-level field. This allows serialization to a column structure.
97
142
  */
98
- export function ${discriminatedUnion.flattened.encoder.name}(item: ${discriminatedUnion.field.type}) {
143
+ export function ${discriminatedUnion.flattened.encoder.name}(item: ${field.type}) {
99
144
  return {
100
- ${getEncoderFields({ field: discriminatedUnion.field }).join(',\n')}
145
+ ${encoderFields.join(',\n')}
101
146
  }
102
147
  }
103
148
  `;
104
149
  }
105
- function getEncoderFields({ field }) {
150
+ function getEncoderFields({ field, context, hasRelations, }) {
106
151
  const result = [];
107
152
  result.push(`${field.databaseName}: item.type`);
108
153
  for (const f of field.commonFields.values()) {
109
- result.push(`${f.databaseName}: item.${f.name}`);
154
+ result.push(getEncoderFieldValue({ f, context, hasRelations, memberType: null }));
110
155
  }
111
156
  for (const member of field.members.values()) {
112
157
  for (const f of member.fields.values()) {
113
- result.push(`${f.databaseName}: item.type === '${member.type}' ? item.${f.name} : null`);
158
+ result.push(getEncoderFieldValue({ f, context, hasRelations, memberType: member.type }));
114
159
  }
115
160
  }
116
161
  return result;
117
162
  }
163
+ function getEncoderFieldValue({ f, context, hasRelations, memberType, }) {
164
+ const valueExpr = memberType ? `item.type === '${memberType}' ? item.${f.name} : null` : `item.${f.name}`;
165
+ if (f.kind === 'relation' && hasRelations) {
166
+ const referencedModel = context.models.get(f.referencedModelName);
167
+ const lookupExpr = `lookupMaps?.${referencedModel.decoder.dataModelEntry}.get(item.${f.name})`;
168
+ if (memberType) {
169
+ // Member-specific field: check type first, then resolve ID to key
170
+ if (f.isRequired) {
171
+ return `${f.databaseName}: item.type === '${memberType}' ? (${lookupExpr} ?? item.${f.name}) : null`;
172
+ }
173
+ return `${f.databaseName}: item.type === '${memberType}' ? (item.${f.name} === null ? null : (${lookupExpr} ?? item.${f.name})) : null`;
174
+ }
175
+ else {
176
+ // Common field: always present
177
+ if (f.isRequired) {
178
+ return `${f.databaseName}: ${lookupExpr} ?? item.${f.name}`;
179
+ }
180
+ return `${f.databaseName}: item.${f.name} === null ? null : (${lookupExpr} ?? item.${f.name})`;
181
+ }
182
+ }
183
+ return `${f.databaseName}: ${valueExpr}`;
184
+ }
118
185
  function getFlattenedDecoder({ context, model, discriminatedUnion, field, imports }) {
119
186
  imports.addTypeImport({ from: context.types.location, items: [field.type] });
120
187
  const fieldRawDecoders = [
@@ -1 +1 @@
1
- {"version":3,"file":"discriminated-union.decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/discriminated-union.decoder.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discriminated-union.decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/discriminated-union.decoder.generator.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,26 @@ exports.generateModelDecoder = generateModelDecoder;
37
37
  const Generator = __importStar(require("@postxl/generator"));
38
38
  const FlattenedFieldHelper = __importStar(require("./excel-field-decoder.helper"));
39
39
  const FieldHelper = __importStar(require("./field-decoder.helper"));
40
+ /**
41
+ * Checks if a discriminated union has any relation fields (in common fields or any member).
42
+ */
43
+ function discriminatedUnionHasRelationFields(field) {
44
+ // Check common fields
45
+ for (const f of field.commonFields.values()) {
46
+ if (f.kind === 'relation') {
47
+ return true;
48
+ }
49
+ }
50
+ // Check member fields
51
+ for (const member of field.members.values()) {
52
+ for (const f of member.fields.values()) {
53
+ if (f.kind === 'relation') {
54
+ return true;
55
+ }
56
+ }
57
+ }
58
+ return false;
59
+ }
40
60
  function generateModelDecoder({ model, context }) {
41
61
  const imports = Generator.ImportGenerator.from(model.decoder.decoder.zodDecoder.location).add(model.types);
42
62
  const sharedParams = { model, context, imports };
@@ -54,6 +74,7 @@ function generateModelDecoder({ model, context }) {
54
74
  ...sharedParams,
55
75
  toName: (field) => field.excelName,
56
76
  codecDefinition: model.decoder.excel,
77
+ isExcel: true,
57
78
  };
58
79
  const excelFlattenedType = getFlattenedType(excelFlattenedParams);
59
80
  const excelFlattenedEncoder = getFlattenedEncoder(excelFlattenedParams);
@@ -101,26 +122,86 @@ function getFlattenedType({ model, codecDefinition }) {
101
122
  */
102
123
  export type ${codecDefinition.decoder.rawInputType.name} = z.infer<typeof ${codecDefinition.decoder.rawInputValidation.name}>`;
103
124
  }
104
- function getFlattenedEncoder(params) {
105
- const { model, imports, codecDefinition, toName } = params;
106
- const fields = [];
125
+ /**
126
+ * Checks if the model needs lookup maps for Excel export (has relation fields or discriminated unions with relations).
127
+ */
128
+ function checkNeedsLookupMaps(model, isExcel) {
129
+ if (!isExcel) {
130
+ return false;
131
+ }
107
132
  for (const field of model.fields.values()) {
108
- switch (field.kind) {
109
- case 'discriminatedUnion': {
110
- const du = model.decoder.discriminatedUnions.get(field.name);
111
- imports.add(du.flattened.encoder);
112
- fields.push(`...${du.flattened.encoder.name}(item.${field.name})`);
113
- break;
114
- }
115
- case 'enum':
116
- fields.push(`"${toName(field)}": item.${field.name}`);
117
- break;
118
- default:
119
- fields.push(`"${toName(field)}": item.${field.name}`);
120
- break;
133
+ if (field.kind === 'relation') {
134
+ return true;
135
+ }
136
+ if (field.kind === 'discriminatedUnion' && discriminatedUnionHasRelationFields(field)) {
137
+ return true;
121
138
  }
122
139
  }
123
- const inputType = getFlattenedEncoderInputType(params);
140
+ return false;
141
+ }
142
+ /**
143
+ * Generates field encoding for a discriminated union.
144
+ */
145
+ function encodeDiscriminatedUnionField(params) {
146
+ const { field, model, imports, isExcel } = params;
147
+ const du = model.decoder.discriminatedUnions.get(field.name);
148
+ imports.add(du.flattened.encoder);
149
+ const hasRelations = isExcel && discriminatedUnionHasRelationFields(field);
150
+ const encoderCall = hasRelations
151
+ ? `${du.flattened.encoder.name}(item.${field.name}, lookupMaps)`
152
+ : `${du.flattened.encoder.name}(item.${field.name})`;
153
+ return `...${encoderCall}`;
154
+ }
155
+ /**
156
+ * Generates field encoding for a relation field.
157
+ */
158
+ function encodeRelationField(params) {
159
+ const { field, toName, context, isExcel } = params;
160
+ if (!isExcel) {
161
+ return `"${toName(field)}": item.${field.name}`;
162
+ }
163
+ // For Excel export, resolve relation IDs to keyField values using lookup maps
164
+ const referencedModel = context.models.get(field.referencedModelName);
165
+ const lookupExpr = `lookupMaps?.${referencedModel.decoder.dataModelEntry}.get(item.${field.name}) ?? item.${field.name}`;
166
+ if (field.isRequired) {
167
+ return `"${toName(field)}": ${lookupExpr}`;
168
+ }
169
+ return `"${toName(field)}": item.${field.name} === null ? null : (${lookupExpr})`;
170
+ }
171
+ /**
172
+ * Generates field encoding for a single field based on its kind.
173
+ */
174
+ function encodeField(field, params) {
175
+ const { toName, model, imports, context, isExcel } = params;
176
+ switch (field.kind) {
177
+ case 'discriminatedUnion':
178
+ return encodeDiscriminatedUnionField({ field, model, imports, isExcel });
179
+ case 'relation':
180
+ return encodeRelationField({ field, toName, context, isExcel });
181
+ case 'enum':
182
+ default:
183
+ return `"${toName(field)}": item.${field.name}`;
184
+ }
185
+ }
186
+ /**
187
+ * Generates the function signature and JSDoc based on whether lookup maps are needed.
188
+ */
189
+ function generateEncoderFunction(params) {
190
+ const { needsLookupMaps, model, codecDefinition, inputType, fields } = params;
191
+ if (needsLookupMaps) {
192
+ return `
193
+ /**
194
+ * Encodes a ${model.types.name} object to a flattened Excel object.
195
+ * When lookupMaps is provided, relation IDs are resolved to human-readable keyField values.
196
+ * When lookupMaps is not provided (e.g., single-model export), IDs are output directly.
197
+ * This ensures exported Excel files match the expected import format when used with flattenExcelDataModel.
198
+ */
199
+ export function ${codecDefinition.encoder.name}(item: ${inputType}, lookupMaps?: IdToKeyLookupMaps) {
200
+ return {
201
+ ${fields.join(',\n')}
202
+ }
203
+ }`;
204
+ }
124
205
  return `
125
206
  /**
126
207
  * Encodes a ${model.types.name} object to a flattened object, where each
@@ -132,6 +213,28 @@ function getFlattenedEncoder(params) {
132
213
  }
133
214
  }`;
134
215
  }
216
+ function getFlattenedEncoder(params) {
217
+ const { model, imports, codecDefinition, isExcel } = params;
218
+ const needsLookupMaps = checkNeedsLookupMaps(model, isExcel);
219
+ if (needsLookupMaps) {
220
+ imports.addTypeImport({
221
+ from: Generator.toBackendModuleLocation('@decoders/data-model.decoder'),
222
+ items: [Generator.toTypeName('IdToKeyLookupMaps')],
223
+ });
224
+ }
225
+ const fields = [];
226
+ for (const field of model.fields.values()) {
227
+ fields.push(encodeField(field, params));
228
+ }
229
+ const inputType = getFlattenedEncoderInputType(params);
230
+ return generateEncoderFunction({
231
+ needsLookupMaps,
232
+ model,
233
+ codecDefinition,
234
+ inputType,
235
+ fields,
236
+ });
237
+ }
135
238
  function getFlattenedEncoderInputType({ model, imports }) {
136
239
  const omits = [];
137
240
  for (const field of model.fields.values()) {
@@ -1 +1 @@
1
- {"version":3,"file":"model-decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/model-decoder.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-decoder.generator.js","sourceRoot":"","sources":["../../src/decoders/model-decoder.generator.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.generateDockerSh = generateDockerSh;
4
4
  function generateDockerSh({ schema: { projectType, slug } }) {
5
- const mountPath = projectType === 'workspace' ? '../../' : '${PWD}';
6
5
  const workDir = projectType === 'workspace' ? `/pxl/projects/${slug}/e2e` : '/pxl/e2e';
7
- return /*sh*/ String.raw `#!/bin/bash
6
+ const commonScript = /*sh*/ String.raw `#!/bin/bash
8
7
  # This script should only be run via 'pnpm docker' in the project root!
9
8
  # Define a name for the image
10
9
  IMAGE_NAME="e2e-pxl-env"
@@ -17,9 +16,18 @@ docker build -t $IMAGE_NAME ./e2e/
17
16
  USER_FLAG=""
18
17
  if [[ "$(uname)" = "Linux" ]]; then
19
18
  USER_FLAG="-u $(id -u):$(id -g)"
20
- fi
21
- ${projectType === 'workspace' ? '# Mount the entire monorepo to preserve pnpm workspace symlinks' : ''}
22
- docker run -p 3030:3030 $USER_FLAG -v ${mountPath}:/pxl -w ${workDir} --rm -it $IMAGE_NAME /bin/bash
19
+ fi`;
20
+ const runScript = projectType === 'workspace'
21
+ ? /*sh*/ String.raw `
22
+ # Mount the entire monorepo to preserve pnpm workspace symlinks
23
+ MONOREPO_ROOT="$(cd ../.. && pwd)"
24
+ # Delete the node shims from mounted volume to prevent "Exec format error" on cross-architecture mounts
25
+ docker run -p 3030:3030 $USER_FLAG -v "$MONOREPO_ROOT:/pxl" -w ${workDir} --rm -it $IMAGE_NAME /bin/bash -c "rm -f /pxl/node_modules/.bin/node /pxl/projects/*/node_modules/.bin/node 2>/dev/null; exec /bin/bash"
26
+ `
27
+ : /*sh*/ String.raw `
28
+ # Delete the node shims from mounted volume to prevent "Exec format error" on cross-architecture mounts
29
+ docker run -p 3030:3030 $USER_FLAG -v \${PWD}:/pxl -w ${workDir} --rm -it $IMAGE_NAME /bin/bash -c "rm -f /pxl/node_modules/.bin/node 2>/dev/null; exec /bin/bash"
23
30
  `;
31
+ return commonScript + runScript;
24
32
  }
25
33
  //# sourceMappingURL=docker-sh.generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docker-sh.generator.js","sourceRoot":"","sources":["../../../src/e2e/generators/docker-sh.generator.ts"],"names":[],"mappings":";;AAEA,4CAoBC;AApBD,SAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAiB;IAC/E,MAAM,SAAS,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IACnE,MAAM,OAAO,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;EAcxB,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,iEAAiE,CAAC,CAAC,CAAC,EAAE;wCAC9D,SAAS,YAAY,OAAO;CACnE,CAAA;AACD,CAAC"}
1
+ {"version":3,"file":"docker-sh.generator.js","sourceRoot":"","sources":["../../../src/e2e/generators/docker-sh.generator.ts"],"names":[],"mappings":";;AAEA,4CAgCC;AAhCD,SAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAiB;IAC/E,MAAM,OAAO,GAAG,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,MAAM,CAAC,CAAC,CAAC,UAAU,CAAA;IAEtF,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;GAarC,CAAA;IAED,MAAM,SAAS,GACb,WAAW,KAAK,WAAW;QACzB,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;;;;iEAIwC,OAAO;CACvE;QACK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAA;;wDAE+B,OAAO;CAC9D,CAAA;IAEC,OAAO,YAAY,GAAG,SAAS,CAAA;AACjC,CAAC"}
@@ -57,7 +57,7 @@ export const DashboardPage = () => {
57
57
  <h3 className="mb-4">Posts:</h3>
58
58
  <ul>
59
59
  {list
60
- .toSorted((a, b) => a.id.localeCompare(b.id))
60
+ .toSorted((a, b) => a.title.localeCompare(b.title))
61
61
  .map((post) => (
62
62
  <li
63
63
  key={post.id}
@@ -141,6 +141,13 @@ input[type='number'].appearance-none {
141
141
  --shadow-2xl: var(--shadow-2xl);
142
142
  }
143
143
 
144
+ /* has to be overwritten from the original, as tailwind hardcodes 0.25rem here, which prevents themeability */
145
+ @layer utilities {
146
+ .rounded {
147
+ border-radius: var(--radius);
148
+ }
149
+ }
150
+
144
151
  @layer components {
145
152
  h1 {
146
153
  font-size: var(--fs-2xl);
@@ -30,12 +30,11 @@ function generateModelTableComponent({ model, context, }) {
30
30
  return `
31
31
  import { ColumnDef } from '@tanstack/react-table'
32
32
 
33
- import { TrashIcon } from 'lucide-react'
34
33
  import { useMemo, useEffect, useRef, useCallback } from 'react'
35
34
 
36
35
  import { TableFilter } from '@components/admin/table-filter'
37
36
  import { ColumnHeaderStateIcon } from '@components/admin/column-header-state-icon'
38
- import { Button, Checkbox, DataGrid, DataGridViewMenu, Input, useDataGrid } from '@postxl/ui-components'
37
+ import { createSelectColumn, DataGrid, DataGridViewMenu, Input, useDataGrid } from '@postxl/ui-components'
39
38
  import { useTRPC } from '@lib/trpc'
40
39
  import { ParentSize } from '@visx/responsive'
41
40
 
@@ -127,50 +126,9 @@ export function ${model.table.component.name}({
127
126
 
128
127
  const columns = useMemo<ColumnDef<${model.types.viewModel.name}>[]>(
129
128
  () => [
130
- {
131
- id: 'select',
132
- header: ({ table }) => (
133
- <div className="size-full p-0 m-0 flex items-center gap-2 ">
134
- <Checkbox
135
- variant={table.getIsSomePageRowsSelected() ? 'default' : 'simple'}
136
- iconStyle={table.getIsSomePageRowsSelected() ? 'default' : 'simple'}
137
- checkIcon="check"
138
- checked={table.getIsAllPageRowsSelected() || table.getIsSomePageRowsSelected()}
139
- onChange={(e) => table.toggleAllPageRowsSelected(!!e.target.checked)}
140
- />
141
- {handleRemoveRows && (
142
- <Button
143
- variant="ghost"
144
- className="size-5 hover:[&_svg]:text-background hover:bg-destructive/90"
145
- onClick={() => {
146
- const toRemove = Array.from(table.getSelectedRowModel().rows.map((row) => row.original.id))
147
- if (toRemove.length === 0) {
148
- return
149
- }
150
- handleRemoveRows(toRemove)
151
- table.toggleAllRowsSelected(false)
152
- }}
153
- >
154
- <TrashIcon />
155
- </Button>
156
- )}
157
- </div>
158
- ),
159
- cell: ({ row }) => (
160
- <div className="size-full flex items-center _justify-start px-3">
161
- <Checkbox
162
- variant="simple"
163
- iconStyle="simple"
164
- checkIcon="check"
165
- checked={row.getIsSelected()}
166
- onChange={(e) => row.toggleSelected(!!e.target.checked)}
167
- />
168
- </div>
169
- ),
170
- size: 70,
171
- enableSorting: false,
172
- enableHiding: false,
173
- },
129
+ createSelectColumn<${model.types.viewModel.name}>({
130
+ onRemoveRows: handleRemoveRows,
131
+ }),
174
132
  ${fieldDefinitions.map((def) => generateColumn({ ...def, filterFieldArrayName, filterConfigName: model.types.filter.config.name, trpcRouteName: model.trpcRoute.name })).join(',\n')}
175
133
  ],
176
134
  [filters, onFilterChange, handleRemoveRows, trpc.${model.trpcRoute.name}, sort, ${labelMapDependencies.join(', ')}],
@@ -207,7 +165,7 @@ export function ${model.table.component.name}({
207
165
  columns,
208
166
  data,
209
167
  // Only use onDataChange for bulk operations (paste) when onCellUpdate is not provided
210
- onDataChange: onCellUpdate ? undefined : onDataEdit, // TODO: how do we make sure filtered data is also directly updated, so not the data loading view is displayed after editing until the update is confirmed from the backend?
168
+ onDataChange: onCellUpdate ? undefined : onDataEdit,
211
169
  onCellFocus: onCellChange,
212
170
  onRowAdd: handleAddRow ? onRowAdd : undefined,
213
171
  enableSearch: true,
@@ -1 +1 @@
1
- {"version":3,"file":"model-table.generator.js","sourceRoot":"","sources":["../../../src/frontend-tables/generators/model-table.generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-table.generator.js","sourceRoot":"","sources":["../../../src/frontend-tables/generators/model-table.generator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@postxl/generators",
3
- "version": "1.11.2",
3
+ "version": "1.11.4",
4
4
  "description": "Code generators for PXL - generates backend, frontend, Prisma schemas, and more",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -45,8 +45,8 @@
45
45
  "@prisma/prisma-schema-wasm": "7.2.0-4.0c8ef2ce45c83248ab3df073180d5eda9e8be7a3",
46
46
  "exceljs": "^4.4.0",
47
47
  "@postxl/generator": "^1.3.3",
48
- "@postxl/schema": "^1.3.0",
49
- "@postxl/ui-components": "^1.3.4",
48
+ "@postxl/schema": "^1.3.1",
49
+ "@postxl/ui-components": "^1.3.5",
50
50
  "@postxl/utils": "^1.3.1"
51
51
  },
52
52
  "devDependencies": {},