@zod-to-form/cli 0.2.7 → 0.3.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/codegen.d.ts +2 -0
- package/dist/codegen.d.ts.map +1 -1
- package/dist/codegen.js +190 -61
- package/dist/codegen.js.map +1 -1
- package/dist/templates.d.ts +13 -1
- package/dist/templates.d.ts.map +1 -1
- package/dist/templates.js +10 -10
- package/dist/templates.js.map +1 -1
- package/package.json +2 -2
package/dist/codegen.d.ts
CHANGED
|
@@ -9,6 +9,8 @@ export type CodegenConfig = {
|
|
|
9
9
|
componentConfig?: ZodToFormComponentConfig<Record<string, unknown>>;
|
|
10
10
|
ui: 'shadcn' | 'unstyled';
|
|
11
11
|
serverAction: boolean;
|
|
12
|
+
/** Wrap generated form in <FormProvider {...form}> */
|
|
13
|
+
formProvider?: boolean;
|
|
12
14
|
};
|
|
13
15
|
export declare function resolveFieldMapping<TComponents extends Record<string, unknown>>(fieldKey: string, fieldType: string | undefined, componentConfig: ZodToFormComponentConfig<TComponents> | undefined): {
|
|
14
16
|
entry?: ComponentEntry<TComponents>;
|
package/dist/codegen.d.ts.map
CHANGED
|
@@ -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;
|
|
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,cAAc,EACd,aAAa,EAEb,wBAAwB,EACzB,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,wBAAwB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,EAAE,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,sDAAsD;IACtD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AA2JF,wBAAgB,mBAAmB,CAAC,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7E,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,eAAe,EAAE,wBAAwB,CAAC,WAAW,CAAC,GAAG,SAAS,GACjE;IACD,KAAK,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,EAAE,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC;CAC1C,CAuBA;AA6TD,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,SAAS,EAAE,EACnB,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,CAyHjB"}
|
package/dist/codegen.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
+
import { getEmptyDefault } from '@zod-to-form/core';
|
|
2
3
|
import { getFileHeader, renderField } from './templates.js';
|
|
3
4
|
function renderLiteralProp(value) {
|
|
4
5
|
if (typeof value === 'string') {
|
|
@@ -29,6 +30,7 @@ function getMappedFieldComponent(field, componentConfig) {
|
|
|
29
30
|
return {
|
|
30
31
|
componentName: mapping.entry.component,
|
|
31
32
|
override: mapping.override,
|
|
33
|
+
entry: mapping.entry,
|
|
32
34
|
source: mapping.source
|
|
33
35
|
};
|
|
34
36
|
}
|
|
@@ -179,50 +181,50 @@ function cloneFieldWithArrayIndex(field, arrayKey) {
|
|
|
179
181
|
}
|
|
180
182
|
function getObjectPropertyName(path) {
|
|
181
183
|
const lastSegment = path.split('.').at(-1) ?? path;
|
|
182
|
-
return JSON.stringify(lastSegment);
|
|
184
|
+
return escapeUnsafeChars(JSON.stringify(lastSegment));
|
|
183
185
|
}
|
|
184
186
|
function getDefaultArrayItemExpression(field) {
|
|
185
187
|
if (!field) {
|
|
186
188
|
return `''`;
|
|
187
189
|
}
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
190
|
+
const value = getEmptyDefault(field);
|
|
191
|
+
return serializeDefaultValue(value);
|
|
192
|
+
}
|
|
193
|
+
const charMap = {
|
|
194
|
+
'<': '\\u003C',
|
|
195
|
+
'>': '\\u003E',
|
|
196
|
+
'/': '\\u002F',
|
|
197
|
+
'\\': '\\\\',
|
|
198
|
+
'\b': '\\b',
|
|
199
|
+
'\f': '\\f',
|
|
200
|
+
'\n': '\\n',
|
|
201
|
+
'\r': '\\r',
|
|
202
|
+
'\t': '\\t',
|
|
203
|
+
'\0': '\\0',
|
|
204
|
+
'\u2028': '\\u2028',
|
|
205
|
+
'\u2029': '\\u2029'
|
|
206
|
+
};
|
|
207
|
+
function escapeUnsafeChars(str) {
|
|
208
|
+
return str.replace(/[<>\/\\\b\f\n\r\t\0\u2028\u2029]/g, (x) => charMap[x] ?? x);
|
|
209
|
+
}
|
|
210
|
+
function serializeDefaultValue(value) {
|
|
211
|
+
if (value === undefined)
|
|
212
|
+
return 'undefined';
|
|
213
|
+
if (value === '')
|
|
214
|
+
return `''`;
|
|
215
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
216
|
+
return String(value);
|
|
217
|
+
if (typeof value === 'string')
|
|
218
|
+
return escapeUnsafeChars(JSON.stringify(value));
|
|
219
|
+
if (Array.isArray(value))
|
|
220
|
+
return '[]';
|
|
221
|
+
if (value && typeof value === 'object') {
|
|
222
|
+
const entries = Object.entries(value)
|
|
223
|
+
.map(([k, v]) => `${escapeUnsafeChars(JSON.stringify(k))}: ${serializeDefaultValue(v)}`)
|
|
213
224
|
.join(', ');
|
|
214
225
|
return `{ ${entries} }`;
|
|
215
226
|
}
|
|
216
|
-
|
|
217
|
-
return '[]';
|
|
218
|
-
}
|
|
219
|
-
if (field.zodType === 'number' || field.zodType === 'bigint') {
|
|
220
|
-
return '0';
|
|
221
|
-
}
|
|
222
|
-
if (field.zodType === 'boolean') {
|
|
223
|
-
return 'false';
|
|
224
|
-
}
|
|
225
|
-
return `''`;
|
|
227
|
+
return escapeUnsafeChars(JSON.stringify(value));
|
|
226
228
|
}
|
|
227
229
|
function renderNestedBlock(field, componentConfig, primitives, indent) {
|
|
228
230
|
const children = (field.children ?? [])
|
|
@@ -253,11 +255,21 @@ function renderArrayBlock(field, componentConfig, primitives, indent) {
|
|
|
253
255
|
const mappedItem = indexedItemField
|
|
254
256
|
? getMappedFieldComponent(indexedItemField, componentConfig)
|
|
255
257
|
: { source: 'none' };
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
let itemJsx;
|
|
259
|
+
if (!indexedItemField) {
|
|
260
|
+
itemJsx = `${indent} <input {...register(\`${field.key}.\${index}\`)} />`;
|
|
261
|
+
}
|
|
262
|
+
else if (mappedItem.componentName && mappedItem.entry?.controlled) {
|
|
263
|
+
const overrideProps = renderOverrideProps(mappedItem.override?.props);
|
|
264
|
+
const propMap = resolvePropMap(mappedItem.entry, mappedItem.override);
|
|
265
|
+
itemJsx = renderControlledComponent(indexedItemField.key, mappedItem.componentName, propMap, overrideProps);
|
|
266
|
+
}
|
|
267
|
+
else if (mappedItem.componentName) {
|
|
268
|
+
itemJsx = `<${mappedItem.componentName} {...register(\`${indexedItemField.key}\`)}${renderOverrideProps(mappedItem.override?.props)} />`;
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
itemJsx = renderFieldBlockWithConfig(indexedItemField, componentConfig, primitives, `${indent} `);
|
|
272
|
+
}
|
|
261
273
|
return [
|
|
262
274
|
`${indent}<div>`,
|
|
263
275
|
`${indent} <label>${field.label}</label>`,
|
|
@@ -274,6 +286,65 @@ function renderArrayBlock(field, componentConfig, primitives, indent) {
|
|
|
274
286
|
function capitalize(s) {
|
|
275
287
|
return s.charAt(0).toUpperCase() + s.slice(1);
|
|
276
288
|
}
|
|
289
|
+
/**
|
|
290
|
+
* Merge component-level propMap with per-field propMap override.
|
|
291
|
+
* Per-field entries win when keys overlap.
|
|
292
|
+
*/
|
|
293
|
+
function resolvePropMap(entry, override) {
|
|
294
|
+
const entryMap = entry?.propMap;
|
|
295
|
+
const fieldMap = override?.propMap;
|
|
296
|
+
if (!entryMap && !fieldMap)
|
|
297
|
+
return undefined;
|
|
298
|
+
return { ...entryMap, ...fieldMap };
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Render a controlled component using <Controller> with propMap applied.
|
|
302
|
+
*
|
|
303
|
+
* Default RHF field props: value, onChange, onBlur, ref, name
|
|
304
|
+
* propMap remaps these: e.g. { onSelect: 'field.onChange' } means
|
|
305
|
+
* the component receives `onSelect={field.onChange}` instead of `onChange={field.onChange}`.
|
|
306
|
+
*/
|
|
307
|
+
function renderControlledComponent(fieldKey, componentName, propMap, overrideProps) {
|
|
308
|
+
// Default RHF field prop mappings
|
|
309
|
+
const defaultFieldProps = {
|
|
310
|
+
value: 'field.value',
|
|
311
|
+
onChange: 'field.onChange',
|
|
312
|
+
onBlur: 'field.onBlur',
|
|
313
|
+
ref: 'field.ref',
|
|
314
|
+
name: 'field.name'
|
|
315
|
+
};
|
|
316
|
+
// Build the final prop wiring: start with defaults, apply propMap remapping
|
|
317
|
+
const finalProps = { ...defaultFieldProps };
|
|
318
|
+
if (propMap) {
|
|
319
|
+
// propMap maps componentPropName → RHF field expression
|
|
320
|
+
// e.g. { onSelect: 'field.onChange', value: 'field.value' }
|
|
321
|
+
// First, remove default props that are being remapped away
|
|
322
|
+
const rhfTargets = new Set(Object.values(propMap));
|
|
323
|
+
for (const [defaultProp, defaultExpr] of Object.entries(defaultFieldProps)) {
|
|
324
|
+
if (rhfTargets.has(defaultExpr) && !(defaultProp in propMap)) {
|
|
325
|
+
delete finalProps[defaultProp];
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
// Then add the remapped props
|
|
329
|
+
for (const [componentProp, rhfExpr] of Object.entries(propMap)) {
|
|
330
|
+
// Remove any default that would conflict with this component prop name
|
|
331
|
+
if (componentProp in finalProps && !(componentProp in propMap)) {
|
|
332
|
+
// Already handled
|
|
333
|
+
}
|
|
334
|
+
finalProps[componentProp] = rhfExpr;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
const propsStr = Object.entries(finalProps)
|
|
338
|
+
.map(([prop, expr]) => `${prop}={${expr}}`)
|
|
339
|
+
.join(' ');
|
|
340
|
+
const nameExpr = fieldKey.includes('${') ? `\`${fieldKey}\`` : `"${fieldKey}"`;
|
|
341
|
+
const idExpr = fieldKey.includes('${') ? `{${'`'}${fieldKey}${'`'}}` : `"${fieldKey}"`;
|
|
342
|
+
return [
|
|
343
|
+
`<Controller name={${nameExpr}} control={control} render={({ field }) => (`,
|
|
344
|
+
` <${componentName} id=${idExpr} ${propsStr}${overrideProps} />`,
|
|
345
|
+
`)} />`
|
|
346
|
+
].join('\n');
|
|
347
|
+
}
|
|
277
348
|
function renderFieldBlockWithConfig(field, componentConfig, primitives, indent = ' ') {
|
|
278
349
|
const mapping = getMappedFieldComponent(field, componentConfig);
|
|
279
350
|
if (field.hasCustomRender) {
|
|
@@ -289,8 +360,15 @@ function renderFieldBlockWithConfig(field, componentConfig, primitives, indent =
|
|
|
289
360
|
// render that component instead of expanding children.
|
|
290
361
|
if (mapping.source === 'fields' && mapping.componentName) {
|
|
291
362
|
const overrideProps = renderOverrideProps(mapping.override?.props);
|
|
292
|
-
|
|
293
|
-
|
|
363
|
+
let content;
|
|
364
|
+
if (mapping.entry?.controlled) {
|
|
365
|
+
const propMap = resolvePropMap(mapping.entry, mapping.override);
|
|
366
|
+
content = renderControlledComponent(field.key, mapping.componentName, propMap, overrideProps);
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
const regExpr = field.key.includes('${') ? `register(\`${field.key}\`)` : `register('${field.key}')`;
|
|
370
|
+
content = `<${mapping.componentName} id="${field.key}" {...${regExpr}}${overrideProps} />`;
|
|
371
|
+
}
|
|
294
372
|
return renderFieldContainer(field, content, indent, primitives);
|
|
295
373
|
}
|
|
296
374
|
if (field.component === 'Fieldset') {
|
|
@@ -301,23 +379,47 @@ function renderFieldBlockWithConfig(field, componentConfig, primitives, indent =
|
|
|
301
379
|
}
|
|
302
380
|
if (mapping.componentName) {
|
|
303
381
|
const overrideProps = renderOverrideProps(mapping.override?.props);
|
|
304
|
-
|
|
382
|
+
let content;
|
|
383
|
+
if (mapping.entry?.controlled) {
|
|
384
|
+
const propMap = resolvePropMap(mapping.entry, mapping.override);
|
|
385
|
+
content = renderControlledComponent(field.key, mapping.componentName, propMap, overrideProps);
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
content = `<${mapping.componentName} id="${field.key}" {...${field.key.includes('${') ? `register(\`${field.key}\`)` : `register('${field.key}')`}}${overrideProps} />`;
|
|
389
|
+
}
|
|
305
390
|
return renderFieldContainer(field, content, indent, primitives);
|
|
306
391
|
}
|
|
307
392
|
return renderFieldContainer(field, renderField(field), indent, primitives);
|
|
308
393
|
}
|
|
394
|
+
/** Check if any field in the tree uses a controlled component entry */
|
|
395
|
+
function hasControlledFields(fields, componentConfig) {
|
|
396
|
+
if (!componentConfig)
|
|
397
|
+
return false;
|
|
398
|
+
for (const field of fields) {
|
|
399
|
+
const mapping = resolveFieldMapping(field.key, field.component, componentConfig);
|
|
400
|
+
if (mapping.entry?.controlled)
|
|
401
|
+
return true;
|
|
402
|
+
if (field.children?.length && hasControlledFields(field.children, componentConfig))
|
|
403
|
+
return true;
|
|
404
|
+
if (field.arrayItem && hasControlledFields([field.arrayItem], componentConfig))
|
|
405
|
+
return true;
|
|
406
|
+
}
|
|
407
|
+
return false;
|
|
408
|
+
}
|
|
309
409
|
export async function generateFormComponent(fields, config) {
|
|
310
410
|
const schemaImportPath = getSchemaImportPath(config);
|
|
311
411
|
const arrayFields = collectArrayFields(fields);
|
|
312
412
|
const hasArrays = arrayFields.length > 0;
|
|
313
413
|
const formPrimitives = config.componentConfig?.formPrimitives;
|
|
414
|
+
const useFormProvider = config.formProvider || config.mode === 'auto-save';
|
|
415
|
+
const hasControlled = hasControlledFields(fields, config.componentConfig);
|
|
314
416
|
const mappedComponents = collectMappedComponentNames(fields, config.componentConfig);
|
|
315
417
|
const primitiveComponents = collectFormPrimitiveNames(formPrimitives);
|
|
316
418
|
const importNames = new Set([...mappedComponents, ...primitiveComponents]);
|
|
317
419
|
const componentImportLine = config.componentConfig && importNames.size > 0
|
|
318
420
|
? `import { ${Array.from(importNames).sort().join(', ')} } from '${config.componentConfig.components}';`
|
|
319
421
|
: undefined;
|
|
320
|
-
const header = getFileHeader(schemaImportPath, config.exportName, hasArrays, config.mode, componentImportLine);
|
|
422
|
+
const header = getFileHeader(schemaImportPath, config.exportName, hasArrays, config.mode, componentImportLine, { hasControlled, formProvider: useFormProvider });
|
|
321
423
|
const body = fields
|
|
322
424
|
.map((field) => renderFieldBlockWithConfig(field, config.componentConfig, formPrimitives, ' '))
|
|
323
425
|
.join('\n');
|
|
@@ -328,16 +430,29 @@ export async function generateFormComponent(fields, config) {
|
|
|
328
430
|
return ` const { fields: ${varName}Fields, append: append${capitalize(varName)}, remove: remove${capitalize(varName)} } = useFieldArray<FormData, '${f.key}'>({ control, name: '${f.key}' });`;
|
|
329
431
|
})
|
|
330
432
|
.join('\n');
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
433
|
+
// Build useForm destructure parts
|
|
434
|
+
const destructureParts = ['register'];
|
|
435
|
+
if (config.mode === 'auto-save') {
|
|
436
|
+
destructureParts.push('watch');
|
|
437
|
+
}
|
|
438
|
+
else {
|
|
439
|
+
destructureParts.push('handleSubmit');
|
|
440
|
+
}
|
|
441
|
+
if (hasArrays || hasControlled) {
|
|
442
|
+
destructureParts.push('control');
|
|
443
|
+
}
|
|
444
|
+
const useFormDestructure = `{ ${destructureParts.join(', ')} }`;
|
|
445
|
+
// Props interface
|
|
446
|
+
const propsLines = [];
|
|
447
|
+
if (config.mode === 'auto-save') {
|
|
448
|
+
propsLines.push(` onValueChange?: (data: FormData) => void;`);
|
|
449
|
+
propsLines.push(` onSubmit?: (data: FormData) => void;`);
|
|
450
|
+
}
|
|
451
|
+
else {
|
|
452
|
+
propsLines.push(` onSubmit: (data: FormData) => void;`);
|
|
453
|
+
}
|
|
454
|
+
propsLines.push(` defaultValues?: Partial<FormData>;`);
|
|
455
|
+
propsLines.push(` values?: FormData;`);
|
|
341
456
|
const autoSaveEffect = config.mode === 'auto-save'
|
|
342
457
|
? [
|
|
343
458
|
` useEffect(() => {`,
|
|
@@ -354,24 +469,38 @@ export async function generateFormComponent(fields, config) {
|
|
|
354
469
|
? ` <form>`
|
|
355
470
|
: ` <form onSubmit={handleSubmit(props.onSubmit)}>`;
|
|
356
471
|
const formTail = config.mode === 'auto-save' ? [] : [` <button type="submit">Submit</button>`];
|
|
472
|
+
// Form body with optional FormProvider wrapping
|
|
473
|
+
const formContent = [
|
|
474
|
+
formOpen,
|
|
475
|
+
body,
|
|
476
|
+
...formTail,
|
|
477
|
+
` </form>`
|
|
478
|
+
];
|
|
479
|
+
const wrappedContent = useFormProvider
|
|
480
|
+
? [
|
|
481
|
+
` <FormProvider {...form}>`,
|
|
482
|
+
...formContent.map((line) => line ? ` ${line}` : line),
|
|
483
|
+
` </FormProvider>`
|
|
484
|
+
]
|
|
485
|
+
: formContent;
|
|
357
486
|
return [
|
|
358
487
|
header,
|
|
359
488
|
'',
|
|
360
489
|
`export function ${config.componentName}(props: {`,
|
|
361
490
|
...propsLines,
|
|
362
491
|
`}) {`,
|
|
363
|
-
` const
|
|
492
|
+
` const form = useForm<FormData>({`,
|
|
364
493
|
` resolver: zodResolver(${config.exportName}),`,
|
|
365
|
-
...(config.mode === 'auto-save' ? [` mode: 'onChange'
|
|
494
|
+
...(config.mode === 'auto-save' ? [` mode: 'onChange',`] : []),
|
|
495
|
+
` defaultValues: props.defaultValues,`,
|
|
496
|
+
` values: props.values,`,
|
|
366
497
|
` });`,
|
|
498
|
+
` const ${useFormDestructure} = form;`,
|
|
367
499
|
...(hasArrays ? [arrayHooks] : []),
|
|
368
500
|
...autoSaveEffect,
|
|
369
501
|
'',
|
|
370
502
|
` return (`,
|
|
371
|
-
|
|
372
|
-
body,
|
|
373
|
-
...formTail,
|
|
374
|
-
` </form>`,
|
|
503
|
+
...wrappedContent,
|
|
375
504
|
` );`,
|
|
376
505
|
`}`
|
|
377
506
|
].join('\n');
|
package/dist/codegen.js.map
CHANGED
|
@@ -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":"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"}
|
package/dist/templates.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import type { FormField } from '@zod-to-form/core';
|
|
2
|
-
export
|
|
2
|
+
export type FileHeaderOptions = {
|
|
3
|
+
schemaImportPath: string;
|
|
4
|
+
exportName: string;
|
|
5
|
+
hasArrays?: boolean;
|
|
6
|
+
hasControlled?: boolean;
|
|
7
|
+
mode?: 'submit' | 'auto-save';
|
|
8
|
+
formProvider?: boolean;
|
|
9
|
+
componentImportLine?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function getFileHeader(schemaImportPath: string, exportName: string, hasArrays?: boolean, mode?: 'submit' | 'auto-save', componentImportLine?: string, options?: {
|
|
12
|
+
hasControlled?: boolean;
|
|
13
|
+
formProvider?: boolean;
|
|
14
|
+
}): string;
|
|
3
15
|
export declare function renderField(field: FormField): string;
|
|
4
16
|
//# sourceMappingURL=templates.d.ts.map
|
package/dist/templates.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,UAAQ,EACjB,IAAI,GAAE,QAAQ,GAAG,WAAsB,EACvC,mBAAmB,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,wBAAgB,aAAa,CAC3B,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,UAAQ,EACjB,IAAI,GAAE,QAAQ,GAAG,WAAsB,EACvC,mBAAmB,CAAC,EAAE,MAAM,EAC5B,OAAO,CAAC,EAAE;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5D,MAAM,CAoBR;AAkCD,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAiBpD"}
|
package/dist/templates.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export function getFileHeader(schemaImportPath, exportName, hasArrays = false, mode = 'submit', componentImportLine) {
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
export function getFileHeader(schemaImportPath, exportName, hasArrays = false, mode = 'submit', componentImportLine, options) {
|
|
2
|
+
const rhfParts = ['useForm'];
|
|
3
|
+
if (hasArrays)
|
|
4
|
+
rhfParts.push('useFieldArray');
|
|
5
|
+
if (options?.hasControlled)
|
|
6
|
+
rhfParts.push('Controller');
|
|
7
|
+
if (options?.formProvider || mode === 'auto-save')
|
|
8
|
+
rhfParts.push('FormProvider');
|
|
9
|
+
const rhfImports = `import { ${rhfParts.join(', ')} } from 'react-hook-form';`;
|
|
5
10
|
const reactImports = mode === 'auto-save' ? `import { useEffect } from 'react';` : '';
|
|
6
11
|
return [
|
|
7
12
|
...(reactImports ? [reactImports] : []),
|
|
8
13
|
rhfImports,
|
|
9
14
|
`import { zodResolver } from '@hookform/resolvers/zod';`,
|
|
10
15
|
`import { z } from 'zod';`,
|
|
16
|
+
`import type { StripIndexSignature } from '@zod-to-form/core';`,
|
|
11
17
|
...(componentImportLine ? [componentImportLine] : []),
|
|
12
18
|
`import { ${exportName} } from '${schemaImportPath}';`,
|
|
13
19
|
``,
|
|
14
|
-
`type StripIndexSignature<T> = T extends readonly (infer U)[]`,
|
|
15
|
-
` ? StripIndexSignature<U>[]`,
|
|
16
|
-
` : T extends object`,
|
|
17
|
-
` ? { [K in keyof T as string extends K ? never : number extends K ? never : symbol extends K ? never : K]: StripIndexSignature<T[K]> }`,
|
|
18
|
-
` : T;`,
|
|
19
|
-
``,
|
|
20
20
|
`type FormData = StripIndexSignature<z.output<typeof ${exportName}>>;`
|
|
21
21
|
].join('\n');
|
|
22
22
|
}
|
package/dist/templates.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"templates.js","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,aAAa,CAC3B,gBAAwB,EACxB,UAAkB,EAClB,SAAS,GAAG,KAAK,EACjB,IAAI,GAA2B,QAAQ,EACvC,mBAA4B,EAC5B,OAA6D,EACrD;IACR,MAAM,QAAQ,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,IAAI,SAAS;QAAE,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC9C,IAAI,OAAO,EAAE,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,OAAO,EAAE,YAAY,IAAI,IAAI,KAAK,WAAW;QAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACjF,MAAM,UAAU,GAAG,YAAY,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC;IAE/E,MAAM,YAAY,GAAG,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,EAAE,CAAC;IAEtF,OAAO;QACL,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,UAAU;QACV,wDAAwD;QACxD,0BAA0B;QAC1B,+DAA+D;QAC/D,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,YAAY,UAAU,YAAY,gBAAgB,IAAI;QACtD,EAAE;QACF,uDAAuD,UAAU,KAAK;KACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAAA,CACd;AAED,SAAS,gBAAgB,CAAC,IAAY,EAAU;IAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC,CAAC,CAAC,aAAa,IAAI,IAAI,CAAC;AAAA,CAC9E;AAED,SAAS,WAAW,CAAC,KAAgB,EAAU;IAC7C,MAAM,SAAS,GAAG,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACzF,OAAO,cAAc,KAAK,CAAC,GAAG,WAAW,SAAS,SAAS,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AAAA,CAC9F;AAED,SAAS,cAAc,CAAC,KAAgB,EAAU;IAChD,OAAO,cAAc,KAAK,CAAC,GAAG,yBAAyB,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AAAA,CAC1F;AAED,SAAS,gBAAgB,CAAC,KAAgB,EAAU;IAClD,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC3C,CAAC,CAAC,cAAc,KAAK,CAAC,GAAG,4BAA4B;QACrD,CAAC,CAAC,aAAa,KAAK,CAAC,GAAG,2BAA2B,CAAC;IACtD,OAAO,cAAc,KAAK,CAAC,GAAG,qBAAqB,YAAY,MAAM,CAAC;AAAA,CACvE;AAED,SAAS,eAAe,CAAC,KAAgB,EAAU;IACjD,OAAO,cAAc,KAAK,CAAC,GAAG,qBAAqB,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;AAAA,CACtF;AAED,SAAS,YAAY,CAAC,KAAgB,EAAU;IAC9C,MAAM,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;SAClC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK,WAAW,CAAC;SACnF,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO,eAAe,KAAK,CAAC,GAAG,SAAS,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,OAAO,WAAW,CAAC;AAAA,CAC5F;AAED,MAAM,UAAU,WAAW,CAAC,KAAgB,EAAU;IACpD,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;QACxB,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ;YACX,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,YAAY;YACf,OAAO,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACjC,KAAK,WAAW;YACd,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,iBAAiB,KAAK,CAAC,GAAG,SAAS,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC;QAC9E;YACE,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;AAAA,CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zod-to-form/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Build-time code generator for Zod v4 form components",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/pradeepmouli/zod-to-form#readme",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"chokidar": "^5.0.0",
|
|
38
38
|
"commander": "^14.0.3",
|
|
39
39
|
"jiti": "^2.6.1",
|
|
40
|
-
"@zod-to-form/core": "0.
|
|
40
|
+
"@zod-to-form/core": "0.3.0"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
43
|
"zod": "^4.3.6"
|