@zod-to-form/cli 0.6.1 → 0.6.3

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/README.md CHANGED
@@ -46,7 +46,7 @@ Optional options:
46
46
  - `--mode <mode>`: `submit | auto-save` (default `submit`)
47
47
  - `--out <path>`: output directory or `.tsx` file path
48
48
  - `--name <componentName>`: generated component name override
49
- - `--ui <preset>`: `shadcn | unstyled` (default `shadcn`)
49
+ - `--ui <preset>`: `shadcn | html` (default `shadcn`)
50
50
  - `--dry-run`: print generated code to stdout without writing files
51
51
  - `--server-action`: generate Next.js server action next to form output
52
52
  - `--watch`: watch schema file and regenerate on changes
package/dist/codegen.d.ts CHANGED
@@ -1,22 +1,12 @@
1
- import type { FormField } from '@zod-to-form/core';
2
- import type { ComponentOverride, FieldConfig, ZodFormsConfig } from './index.js';
3
- export type CodegenConfig = {
1
+ import type { FormField, SchemaLiteInfo } from '@zod-to-form/core';
2
+ import { type CodegenConfig as CodegenConfigBase } from '@zod-to-form/codegen';
3
+ export { resolveFieldMapping } from '@zod-to-form/codegen';
4
+ export type CodegenConfig = CodegenConfigBase & {
5
+ /** Absolute path to schema file (used to compute relative import path) */
4
6
  schemaPath: string;
5
- exportName: string;
7
+ /** Absolute path to output file (used to compute relative import path) */
6
8
  outputPath: string;
7
- componentName: string;
8
- mode: 'submit' | 'auto-save';
9
- componentConfig?: ZodFormsConfig<Record<string, unknown>>;
10
- ui: 'shadcn' | 'unstyled';
11
- serverAction: boolean;
12
- /** Wrap generated form in <FormProvider {...form}> */
13
- formProvider?: boolean;
14
- };
15
- export declare function resolveFieldMapping<TComponents extends Record<string, unknown>>(fieldKey: string, componentName: string | undefined, componentConfig: ZodFormsConfig<TComponents> | undefined): {
16
- componentOverride?: ComponentOverride;
17
- override?: FieldConfig;
18
- componentName?: string;
19
- source: 'fields' | 'components' | 'none';
20
9
  };
21
10
  export declare function generateFormComponent(fields: FormField[], config: CodegenConfig): Promise<string>;
11
+ export declare function generateSchemaLiteFile(config: CodegenConfig, info: SchemaLiteInfo): string | null;
22
12
  //# sourceMappingURL=codegen.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EACV,iBAAiB,EACjB,WAAW,EAEX,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC7B,eAAe,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,EAAE,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA6JF,wBAAgB,mBAAmB,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7E,QAAQ,EAAE,MAAM,EAChB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,eAAe,EAAE,cAAc,CAAC,WAAW,CAAC,GAAG,SAAS,GACvD;IACD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC;CAC1C,CAmCA;AAuUD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,CAoHjB"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAGL,KAAK,aAAa,IAAI,iBAAiB,EACxC,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG;IAC9C,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAcF,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,CAMjB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAGjG"}
package/dist/codegen.js CHANGED
@@ -1,147 +1,7 @@
1
1
  import path from 'node:path';
2
- import { getEmptyDefault } from '@zod-to-form/core';
3
- import { getFileHeader, renderField } from './templates.js';
4
- function renderLiteralProp(value) {
5
- if (typeof value === 'string') {
6
- const json = JSON.stringify(value);
7
- const inner = json.slice(1, -1);
8
- return `"${inner}"`;
9
- }
10
- if (typeof value === 'number' || typeof value === 'boolean') {
11
- return `{${String(value)}}`;
12
- }
13
- return undefined;
14
- }
15
- function renderOverrideProps(props) {
16
- if (!props) {
17
- return '';
18
- }
19
- const attrs = Object.entries(props)
20
- .map(([key, value]) => {
21
- const rendered = renderLiteralProp(value);
22
- return rendered ? ` ${key}=${rendered}` : '';
23
- })
24
- .join('');
25
- return attrs;
26
- }
27
- function getMappedFieldComponent(field, componentConfig) {
28
- const mapping = resolveFieldMapping(field.key, field.component, componentConfig);
29
- if (!mapping.componentName) {
30
- return { source: mapping.source };
31
- }
32
- return {
33
- componentName: mapping.componentName,
34
- override: mapping.override,
35
- componentOverride: mapping.componentOverride,
36
- source: mapping.source
37
- };
38
- }
39
- function collectMappedComponentNames(fields, componentConfig, out = new Set()) {
40
- for (const field of fields) {
41
- const mapping = getMappedFieldComponent(field, componentConfig);
42
- if (mapping.componentName && (mapping.componentOverride || mapping.override)) {
43
- out.add(mapping.componentName);
44
- }
45
- if (field.children?.length) {
46
- collectMappedComponentNames(field.children, componentConfig, out);
47
- }
48
- if (field.arrayItem) {
49
- collectMappedComponentNames([field.arrayItem], componentConfig, out);
50
- }
51
- }
52
- return out;
53
- }
54
- function collectFormPrimitiveNames(primitives) {
55
- const names = new Set();
56
- if (!primitives) {
57
- return names;
58
- }
59
- if (primitives.field) {
60
- names.add(primitives.field);
61
- }
62
- if (primitives.label) {
63
- names.add(primitives.label);
64
- }
65
- if (primitives.control) {
66
- names.add(primitives.control);
67
- }
68
- return names;
69
- }
70
- function renderFieldContainer(field, content, indent, primitives) {
71
- const styleAttr = field.gridColumn ? ` style={{ gridColumn: '${field.gridColumn}' }}` : '';
72
- const fieldTag = primitives?.field;
73
- const labelTag = primitives?.label;
74
- const controlTag = primitives?.control;
75
- if (!fieldTag && !labelTag && !controlTag) {
76
- return [
77
- `${indent}<div${styleAttr}>`,
78
- `${indent} <label htmlFor="${field.key}">${field.label}</label>`,
79
- `${indent} ${content}`,
80
- `${indent}</div>`
81
- ].join('\n');
82
- }
83
- const openField = fieldTag ? `<${fieldTag}${styleAttr}>` : `<div${styleAttr}>`;
84
- const closeField = fieldTag ? `</${fieldTag}>` : `</div>`;
85
- const openLabel = labelTag
86
- ? `<${labelTag} htmlFor="${field.key}">`
87
- : `<label htmlFor="${field.key}">`;
88
- const closeLabel = labelTag ? `</${labelTag}>` : `</label>`;
89
- if (!controlTag) {
90
- return [
91
- `${indent}${openField}`,
92
- `${indent} ${openLabel}${field.label}${closeLabel}`,
93
- `${indent} ${content}`,
94
- `${indent}${closeField}`
95
- ].join('\n');
96
- }
97
- return [
98
- `${indent}${openField}`,
99
- `${indent} ${openLabel}${field.label}${closeLabel}`,
100
- `${indent} <${controlTag}>`,
101
- `${indent} ${content}`,
102
- `${indent} </${controlTag}>`,
103
- `${indent}${closeField}`
104
- ].join('\n');
105
- }
106
- /**
107
- * Normalise a concrete field key (e.g. `attributes.0.typeCall.type` or
108
- * `attributes.${index}.typeCall.type`) to the bracket notation used in
109
- * the user-facing `fields` config (e.g. `attributes[].typeCall.type`).
110
- */
111
- function normalizeFieldKey(key) {
112
- // Replace `.number.` or `.${index}.` segments with `[].`
113
- let result = key.replace(/\.(?:\d+|\$\{index\})\./g, '[].');
114
- // Replace trailing `.number` or `.${index}`
115
- result = result.replace(/\.(?:\d+|\$\{index\})$/, '[]');
116
- return result;
117
- }
118
- export function resolveFieldMapping(fieldKey, componentName, componentConfig) {
119
- if (!componentConfig) {
120
- return { source: 'none' };
121
- }
122
- const normalizedKey = normalizeFieldKey(fieldKey);
123
- const override = componentConfig.fields?.[fieldKey] ?? componentConfig.fields?.[normalizedKey];
124
- // Determine final component name: per-field override > field's default
125
- const resolvedComponent = override?.component ?? componentName;
126
- if (override) {
127
- return {
128
- componentName: resolvedComponent,
129
- componentOverride: resolvedComponent
130
- ? componentConfig.components.overrides?.[resolvedComponent]
131
- : undefined,
132
- override,
133
- source: 'fields'
134
- };
135
- }
136
- if (resolvedComponent) {
137
- return {
138
- componentName: resolvedComponent,
139
- componentOverride: componentConfig.components.overrides?.[resolvedComponent],
140
- source: 'components'
141
- };
142
- }
143
- return { source: 'none' };
144
- }
2
+ import { generateFormComponent as generateFormComponentBase, generateSchemaLiteFile as generateSchemaLiteFileBase } from '@zod-to-form/codegen';
3
+ // Re-export the browser-safe resolveFieldMapping for use by other CLI modules
4
+ export { resolveFieldMapping } from '@zod-to-form/codegen';
145
5
  function getSchemaImportPath(config) {
146
6
  const relative = path
147
7
  .relative(path.dirname(config.outputPath), config.schemaPath)
@@ -152,360 +12,15 @@ function getSchemaImportPath(config) {
152
12
  .replace(/\.cts$/i, '.cjs')
153
13
  .replace(/\.tsx?$/i, '.js');
154
14
  }
155
- /** Convert a field key to a safe camelCase variable prefix (e.g. 'address.street' → 'addressStreet') */
156
- function toVarName(key) {
157
- return key.replace(/[^a-zA-Z0-9]+([a-zA-Z0-9])/g, (_, c) => c.toUpperCase());
158
- }
159
- /** Collect all array fields (recursively through nested objects) */
160
- function collectArrayFields(fields) {
161
- const result = [];
162
- for (const field of fields) {
163
- if (field.component === 'ArrayField' && !field.key.includes('.0.')) {
164
- result.push(field);
165
- }
166
- if (field.component === 'Fieldset' && field.children) {
167
- result.push(...collectArrayFields(field.children));
168
- }
169
- }
170
- return result;
171
- }
172
- function replaceArrayIndexToken(key, arrayKey) {
173
- const prefix = `${arrayKey}.0`;
174
- if (key === prefix) {
175
- return `${arrayKey}.${'${index}'}`;
176
- }
177
- if (key.startsWith(`${prefix}.`)) {
178
- return `${arrayKey}.${'${index}'}.${key.slice(prefix.length + 1)}`;
179
- }
180
- return key;
181
- }
182
- function cloneFieldWithArrayIndex(field, arrayKey) {
183
- return {
184
- ...field,
185
- key: replaceArrayIndexToken(field.key, arrayKey),
186
- children: field.children?.map((child) => cloneFieldWithArrayIndex(child, arrayKey)),
187
- arrayItem: field.arrayItem ? cloneFieldWithArrayIndex(field.arrayItem, arrayKey) : undefined
188
- };
189
- }
190
- function getDefaultArrayItemExpression(field) {
191
- if (!field) {
192
- return `''`;
193
- }
194
- const value = getEmptyDefault(field);
195
- return serializeDefaultValue(value);
196
- }
197
- const charMap = {
198
- '<': '\\u003C',
199
- '>': '\\u003E',
200
- '/': '\\u002F',
201
- '\\': '\\\\',
202
- '\b': '\\b',
203
- '\f': '\\f',
204
- '\n': '\\n',
205
- '\r': '\\r',
206
- '\t': '\\t',
207
- '\0': '\\0',
208
- '\u2028': '\\u2028',
209
- '\u2029': '\\u2029'
210
- };
211
- function escapeUnsafeChars(str) {
212
- return str.replace(/[<>/\\\b\f\n\r\t\0\u2028\u2029]/g, (x) => charMap[x] ?? x);
213
- }
214
- function serializeDefaultValue(value) {
215
- if (value === undefined)
216
- return 'undefined';
217
- if (value === '')
218
- return `''`;
219
- if (typeof value === 'number' || typeof value === 'boolean')
220
- return String(value);
221
- if (typeof value === 'string')
222
- return escapeUnsafeChars(JSON.stringify(value));
223
- if (Array.isArray(value))
224
- return '[]';
225
- if (value && typeof value === 'object') {
226
- const entries = Object.entries(value)
227
- .map(([k, v]) => `${escapeUnsafeChars(JSON.stringify(k))}: ${serializeDefaultValue(v)}`)
228
- .join(', ');
229
- return `{ ${entries} }`;
230
- }
231
- return escapeUnsafeChars(JSON.stringify(value));
232
- }
233
- function renderNestedBlock(field, componentConfig, primitives, indent) {
234
- const children = (field.children ?? [])
235
- .map((child) => renderFieldBlockWithConfig(child, componentConfig, primitives, `${indent} `))
236
- .join('\n');
237
- return [
238
- `${indent}<div>`,
239
- `${indent} <label>${field.label}</label>`,
240
- `${indent} <fieldset>`,
241
- `${indent} <legend>${field.label}</legend>`,
242
- children,
243
- `${indent} </fieldset>`,
244
- `${indent}</div>`
245
- ].join('\n');
246
- }
247
- function renderArrayBlock(field, componentConfig, primitives, indent) {
248
- if (field.key.includes('${')) {
249
- return [
250
- `${indent}<div>`,
251
- `${indent} <label>${field.label}</label>`,
252
- `${indent} <p>Nested array editing is not auto-generated for dynamic paths. Use a custom renderer for ${field.key}.</p>`,
253
- `${indent}</div>`
254
- ].join('\n');
255
- }
256
- const varName = toVarName(field.key);
257
- const itemField = field.arrayItem;
258
- const indexedItemField = itemField ? cloneFieldWithArrayIndex(itemField, field.key) : undefined;
259
- const mappedItem = indexedItemField
260
- ? getMappedFieldComponent(indexedItemField, componentConfig)
261
- : { source: 'none' };
262
- let itemJsx;
263
- if (!indexedItemField) {
264
- itemJsx = `${indent} <input {...register(\`${field.key}.\${index}\`)} />`;
265
- }
266
- else if (mappedItem.source === 'fields' &&
267
- mappedItem.componentName &&
268
- mappedItem.componentOverride?.controlled) {
269
- const overrideProps = renderOverrideProps(mappedItem.override?.props);
270
- const propMap = resolvePropMap(mappedItem.componentOverride, mappedItem.override);
271
- itemJsx = renderControlledComponent(indexedItemField.key, mappedItem.componentName, propMap, overrideProps);
272
- }
273
- else if (mappedItem.source === 'fields' && mappedItem.componentName) {
274
- itemJsx = `<${mappedItem.componentName} {...register(\`${indexedItemField.key}\`)}${renderOverrideProps(mappedItem.override?.props)} />`;
275
- }
276
- else {
277
- itemJsx = renderFieldBlockWithConfig(indexedItemField, componentConfig, primitives, `${indent} `);
278
- }
279
- return [
280
- `${indent}<div>`,
281
- `${indent} <label>${field.label}</label>`,
282
- `${indent} {${varName}Fields.map((item, index) => (`,
283
- `${indent} <div key={item.id}>`,
284
- itemJsx,
285
- `${indent} <button type="button" onClick={() => remove${capitalize(varName)}(index)}>Remove</button>`,
286
- `${indent} </div>`,
287
- `${indent} ))}`,
288
- `${indent} <button type="button" onClick={() => append${capitalize(varName)}(${getDefaultArrayItemExpression(itemField)})}>Add</button>`,
289
- `${indent}</div>`
290
- ].join('\n');
291
- }
292
- function capitalize(s) {
293
- return s.charAt(0).toUpperCase() + s.slice(1);
294
- }
295
- /**
296
- * Merge component-level propMap with per-field propMap override.
297
- * Per-field entries win when keys overlap.
298
- */
299
- function resolvePropMap(componentOverride, override) {
300
- const entryMap = componentOverride?.propMap;
301
- const fieldMap = override?.propMap;
302
- if (!entryMap && !fieldMap)
303
- return undefined;
304
- return { ...entryMap, ...fieldMap };
305
- }
306
- /**
307
- * Render a controlled component using <Controller> with propMap applied.
308
- *
309
- * Default RHF field props: value, onChange, onBlur, ref, name
310
- * propMap remaps these: e.g. { onSelect: 'field.onChange' } means
311
- * the component receives `onSelect={field.onChange}` instead of `onChange={field.onChange}`.
312
- */
313
- function renderControlledComponent(fieldKey, componentName, propMap, overrideProps) {
314
- // Default RHF field prop mappings
315
- const defaultFieldProps = {
316
- value: 'field.value',
317
- onChange: 'field.onChange',
318
- onBlur: 'field.onBlur',
319
- ref: 'field.ref',
320
- name: 'field.name'
321
- };
322
- // Build the final prop wiring: start with defaults, apply propMap remapping
323
- const finalProps = { ...defaultFieldProps };
324
- if (propMap) {
325
- // propMap maps componentPropName → RHF field expression
326
- // e.g. { onSelect: 'field.onChange', value: 'field.value' }
327
- // First, remove default props that are being remapped away
328
- const rhfTargets = new Set(Object.values(propMap));
329
- for (const [defaultProp, defaultExpr] of Object.entries(defaultFieldProps)) {
330
- if (rhfTargets.has(defaultExpr) && !(defaultProp in propMap)) {
331
- delete finalProps[defaultProp];
332
- }
333
- }
334
- // Then add the remapped props
335
- for (const [componentProp, rhfExpr] of Object.entries(propMap)) {
336
- // Remove any default that would conflict with this component prop name
337
- if (componentProp in finalProps && !(componentProp in propMap)) {
338
- // Already handled
339
- }
340
- finalProps[componentProp] = rhfExpr;
341
- }
342
- }
343
- const propsStr = Object.entries(finalProps)
344
- .map(([prop, expr]) => `${prop}={${expr}}`)
345
- .join(' ');
346
- const nameExpr = fieldKey.includes('${') ? `\`${fieldKey}\`` : `"${fieldKey}"`;
347
- const idExpr = fieldKey.includes('${') ? `{${'`'}${fieldKey}${'`'}}` : `"${fieldKey}"`;
348
- return [
349
- `<Controller name={${nameExpr}} control={control} render={({ field }) => (`,
350
- ` <${componentName} id=${idExpr} ${propsStr}${overrideProps} />`,
351
- `)} />`
352
- ].join('\n');
353
- }
354
- function renderFieldBlockWithConfig(field, componentConfig, primitives, indent = ' ') {
355
- const mapping = getMappedFieldComponent(field, componentConfig);
356
- if (field.hasCustomRender) {
357
- const styleAttr = field.gridColumn ? ` style={{ gridColumn: '${field.gridColumn}' }}` : '';
358
- return [
359
- `${indent}<div${styleAttr}>`,
360
- `${indent} <label htmlFor="${field.key}">${field.label}</label>`,
361
- `${indent} {/* TODO: custom renderer for ${field.key} — replace with your component */}`,
362
- `${indent}</div>`
363
- ].join('\n');
364
- }
365
- // If a fields override maps this nested/array field to a custom component,
366
- // render that component instead of expanding children.
367
- if (mapping.source === 'fields' && mapping.componentName) {
368
- const overrideProps = renderOverrideProps(mapping.override?.props);
369
- let content;
370
- if (mapping.componentOverride?.controlled) {
371
- const propMap = resolvePropMap(mapping.componentOverride, mapping.override);
372
- content = renderControlledComponent(field.key, mapping.componentName, propMap, overrideProps);
373
- }
374
- else {
375
- const regExpr = field.key.includes('${')
376
- ? `register(\`${field.key}\`)`
377
- : `register('${field.key}')`;
378
- content = `<${mapping.componentName} id="${field.key}" {...${regExpr}}${overrideProps} />`;
379
- }
380
- return renderFieldContainer(field, content, indent, primitives);
381
- }
382
- if (field.component === 'Fieldset') {
383
- return renderNestedBlock(field, componentConfig, primitives, indent);
384
- }
385
- if (field.component === 'ArrayField') {
386
- return renderArrayBlock(field, componentConfig, primitives, indent);
387
- }
388
- if (mapping.componentName && (mapping.componentOverride || mapping.override)) {
389
- const overrideProps = renderOverrideProps(mapping.override?.props);
390
- let content;
391
- if (mapping.componentOverride?.controlled) {
392
- const propMap = resolvePropMap(mapping.componentOverride, mapping.override);
393
- content = renderControlledComponent(field.key, mapping.componentName, propMap, overrideProps);
394
- }
395
- else {
396
- content = `<${mapping.componentName} id="${field.key}" {...${field.key.includes('${') ? `register(\`${field.key}\`)` : `register('${field.key}')`}}${overrideProps} />`;
397
- }
398
- return renderFieldContainer(field, content, indent, primitives);
399
- }
400
- return renderFieldContainer(field, renderField(field), indent, primitives);
401
- }
402
- /** Check if any field in the tree uses a controlled component entry */
403
- function hasControlledFields(fields, componentConfig) {
404
- if (!componentConfig)
405
- return false;
406
- for (const field of fields) {
407
- const mapping = resolveFieldMapping(field.key, field.component, componentConfig);
408
- if (mapping.componentOverride?.controlled)
409
- return true;
410
- if (field.children?.length && hasControlledFields(field.children, componentConfig))
411
- return true;
412
- if (field.arrayItem && hasControlledFields([field.arrayItem], componentConfig))
413
- return true;
414
- }
415
- return false;
416
- }
417
15
  export async function generateFormComponent(fields, config) {
418
16
  const schemaImportPath = getSchemaImportPath(config);
419
- const arrayFields = collectArrayFields(fields);
420
- const hasArrays = arrayFields.length > 0;
421
- const formPrimitives = config.componentConfig?.formPrimitives;
422
- const useFormProvider = config.formProvider || config.mode === 'auto-save';
423
- const hasControlled = hasControlledFields(fields, config.componentConfig);
424
- const mappedComponents = collectMappedComponentNames(fields, config.componentConfig);
425
- const primitiveComponents = collectFormPrimitiveNames(formPrimitives);
426
- const importNames = new Set([...mappedComponents, ...primitiveComponents]);
427
- const componentImportLine = config.componentConfig && importNames.size > 0
428
- ? `import { ${Array.from(importNames).sort().join(', ')} } from '${config.componentConfig.components.source}';`
429
- : undefined;
430
- const header = getFileHeader(schemaImportPath, config.exportName, hasArrays, config.mode, componentImportLine, { hasControlled, formProvider: useFormProvider });
431
- const body = fields
432
- .map((field) => renderFieldBlockWithConfig(field, config.componentConfig, formPrimitives, ' '))
433
- .join('\n');
434
- // useFieldArray hook declarations
435
- const arrayHooks = arrayFields
436
- .map((f) => {
437
- const varName = toVarName(f.key);
438
- return ` const { fields: ${varName}Fields, append: append${capitalize(varName)}, remove: remove${capitalize(varName)} } = useFieldArray<FormData, '${f.key}'>({ control, name: '${f.key}' });`;
439
- })
440
- .join('\n');
441
- // Build useForm destructure parts
442
- const destructureParts = ['register'];
443
- if (config.mode === 'auto-save') {
444
- destructureParts.push('watch');
445
- }
446
- else {
447
- destructureParts.push('handleSubmit');
448
- }
449
- if (hasArrays || hasControlled) {
450
- destructureParts.push('control');
451
- }
452
- const useFormDestructure = `{ ${destructureParts.join(', ')} }`;
453
- // Props interface
454
- const propsLines = [];
455
- if (config.mode === 'auto-save') {
456
- propsLines.push(` onValueChange?: (data: FormData) => void;`);
457
- propsLines.push(` onSubmit?: (data: FormData) => void;`);
458
- }
459
- else {
460
- propsLines.push(` onSubmit: (data: FormData) => void;`);
461
- }
462
- propsLines.push(` defaultValues?: Partial<FormData>;`);
463
- propsLines.push(` values?: FormData;`);
464
- const autoSaveEffect = config.mode === 'auto-save'
465
- ? [
466
- ` useEffect(() => {`,
467
- ` const subscription = watch((values) => {`,
468
- ` props.onValueChange?.(values as FormData);`,
469
- ` });`,
470
- ``,
471
- ` return () => subscription.unsubscribe();`,
472
- ` }, [watch, props.onValueChange]);`,
473
- ``
474
- ]
475
- : [];
476
- const formOpen = config.mode === 'auto-save'
477
- ? ` <form>`
478
- : ` <form onSubmit={handleSubmit(props.onSubmit)}>`;
479
- const formTail = config.mode === 'auto-save' ? [] : [` <button type="submit">Submit</button>`];
480
- // Form body with optional FormProvider wrapping
481
- const formContent = [formOpen, body, ...formTail, ` </form>`];
482
- const wrappedContent = useFormProvider
483
- ? [
484
- ` <FormProvider {...form}>`,
485
- ...formContent.map((line) => (line ? ` ${line}` : line)),
486
- ` </FormProvider>`
487
- ]
488
- : formContent;
489
- return [
490
- header,
491
- '',
492
- `export function ${config.componentName}(props: {`,
493
- ...propsLines,
494
- `}) {`,
495
- ` const form = useForm<FormData>({`,
496
- ` resolver: zodResolver(${config.exportName}),`,
497
- ...(config.mode === 'auto-save' ? [` mode: 'onChange',`] : []),
498
- ` defaultValues: props.defaultValues,`,
499
- ` values: props.values,`,
500
- ` });`,
501
- ` const ${useFormDestructure} = form;`,
502
- ...(hasArrays ? [arrayHooks] : []),
503
- ...autoSaveEffect,
504
- '',
505
- ` return (`,
506
- ...wrappedContent,
507
- ` );`,
508
- `}`
509
- ].join('\n');
17
+ return generateFormComponentBase(fields, {
18
+ ...config,
19
+ schemaImportPath
20
+ });
21
+ }
22
+ export function generateSchemaLiteFile(config, info) {
23
+ const schemaImportPath = getSchemaImportPath(config);
24
+ return generateSchemaLiteFileBase(schemaImportPath, config.exportName, info);
510
25
  }
511
26
  //# sourceMappingURL=codegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../src/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,qBAAqB,IAAI,yBAAyB,EAClD,sBAAsB,IAAI,0BAA0B,EAErD,MAAM,sBAAsB,CAAC;AAE9B,8EAA8E;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAS3D,SAAS,mBAAmB,CAAC,MAAqB;IAChD,MAAM,QAAQ,GAAG,IAAI;SAClB,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;SAC5D,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEvB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;IACtE,OAAO,OAAO;SACX,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmB,EACnB,MAAqB;IAErB,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,yBAAyB,CAAC,MAAM,EAAE;QACvC,GAAG,MAAM;QACT,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,MAAqB,EAAE,IAAoB;IAChF,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACrD,OAAO,0BAA0B,CAAC,gBAAgB,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC/E,CAAC"}
package/dist/index.d.ts CHANGED
@@ -3,9 +3,9 @@
3
3
  * @zod-to-form/cli — Build-time code generator for Zod v4 forms
4
4
  */
5
5
  import { Command } from 'commander';
6
- import { defineConfig, validateConfig, type ComponentOverride, type FieldConfig, type FormPrimitivesConfig, type ZodFormsConfig } from '@zod-to-form/core';
6
+ import { defineConfig, validateConfig, type ComponentOverride, type FieldConfig, type ZodFormsConfig } from '@zod-to-form/core';
7
7
  export { defineConfig, validateConfig };
8
- export type { ComponentOverride, FieldConfig, FormPrimitivesConfig, ZodFormsConfig };
8
+ export type { ComponentOverride, FieldConfig, ZodFormsConfig };
9
9
  type GenerateOptions = {
10
10
  config: string;
11
11
  schema: string;
@@ -13,7 +13,7 @@ type GenerateOptions = {
13
13
  mode?: 'submit' | 'auto-save';
14
14
  out?: string;
15
15
  name?: string;
16
- ui?: 'shadcn' | 'unstyled';
16
+ ui?: 'shadcn' | 'html';
17
17
  dryRun?: boolean;
18
18
  serverAction?: boolean;
19
19
  watch?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;GAEG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,cAAc,EAGd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAEhB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAExC,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,oBAAoB,EAAE,cAAc,EAAE,CAAC;AAErF,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,aAAa,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC;AA0CF,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CA0FD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAmGvC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;GAEG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,YAAY,EACZ,cAAc,EAGd,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAEhB,KAAK,cAAc,EAEpB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAExC,YAAY,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAE/D,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,aAAa,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC;AA0CF,wBAAsB,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC,CAuHD;AAED,wBAAgB,aAAa,IAAI,OAAO,CAmGvC"}