@knapsack/renderer-react 4.86.7 → 4.86.8--canary.6838.e7bc12f.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.
@@ -1 +1 @@
1
- {"version":3,"file":"infer-spec.d.mts","sourceRoot":"","sources":["../../src/analyze/infer-spec.mts"],"names":[],"mappings":"AAIA,wBAAsB,SAAS,CAAC,EAC9B,IAAI,EACJ,WAAW,EACX,WAA2B,EAC3B,cAAc,GACf,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;;;;;;;;;;;;;;;;;;;;GA6GA"}
1
+ {"version":3,"file":"infer-spec.d.mts","sourceRoot":"","sources":["../../src/analyze/infer-spec.mts"],"names":[],"mappings":"AAOA,wBAAsB,SAAS,CAAC,EAC9B,IAAI,EACJ,WAAW,EACX,WAA2B,EAC3B,cAAc,GACf,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;;;;;;;;;;;;;;;;;;;;GA8IA"}
@@ -1,7 +1,7 @@
1
1
  import { convertToSpec } from '@knapsack/spec-utils';
2
- import { analyzeComponent } from './utils/react-component-analyzer.mjs';
2
+ import { analyzeComponent, } from './utils/react-component-analyzer.mjs';
3
3
  export async function inferSpec({ path, namedExport, resolveFrom = process.cwd(), pkgPathAliases, }) {
4
- const { props: componentProps, slots: componentSlots } = await analyzeComponent({
4
+ const { props: componentProps, slots: componentSlots, isPropTypes = false, } = await analyzeComponent({
5
5
  fileName: path,
6
6
  exportName: namedExport,
7
7
  pkgPathAliases,
@@ -43,25 +43,44 @@ export async function inferSpec({ path, namedExport, resolveFrom = process.cwd()
43
43
  // NonNullable ensures we get the table row type from a defined extraDocs entry
44
44
  const propsTableRows = [];
45
45
  Object.entries(componentProps).forEach(([propName, propDetails]) => {
46
- var _a;
47
46
  const { required, typeInfo: propTypeInfo } = propDetails;
48
47
  if (propTypeInfo) {
49
- const { prop } = convertToSpec({
50
- typeInfo: propTypeInfo,
51
- trustRequiredProps: false,
52
- });
48
+ // Extract display type before processing (since we may destructure these fields)
49
+ const displayType = propTypeInfo.tsRawType ||
50
+ propTypeInfo.type ||
51
+ (isPropTypes && propTypeInfo.tsType) ||
52
+ 'unknown';
53
+ // Both TypeScript and PropTypes now produce the same flat structure in typeInfo
54
+ let prop = null;
55
+ if (isPropTypes) {
56
+ // PropTypes analysis produces flat structure in typeInfo
57
+ // Remove tsRawType and tsType before assigning as PropertyTypes
58
+ const propTypeInfoTyped = propTypeInfo;
59
+ const { tsRawType: _tsRawType, tsType: _tsType, ...propData } = propTypeInfoTyped;
60
+ prop = propData;
61
+ }
62
+ else {
63
+ const { prop: convertedProp } = convertToSpec({
64
+ typeInfo: propTypeInfo,
65
+ trustRequiredProps: false,
66
+ });
67
+ prop = convertedProp;
68
+ }
69
+ // Assign prop with all metadata
53
70
  if (prop) {
54
71
  props.properties[propName] = prop;
72
+ // Add description if present
55
73
  if (propDetails.description) {
56
74
  props.properties[propName].description = propDetails.description;
57
75
  }
58
- if (required) {
59
- (_a = props.required) === null || _a === void 0 ? void 0 : _a.push(propName);
76
+ // Add to required array if needed
77
+ if (required && props.required) {
78
+ props.required.push(propName);
60
79
  }
61
80
  }
62
81
  propsTableRows.push({
63
82
  'Prop Name': `\`${propName}\``,
64
- Type: `\`${propTypeInfo.tsRawType || propTypeInfo.type || 'unknown'}\``,
83
+ Type: `\`${displayType}\``,
65
84
  Required: required ? 'Yes' : 'No',
66
85
  Description: propDetails.description || '',
67
86
  });
@@ -1 +1 @@
1
- {"version":3,"file":"infer-spec.mjs","sourceRoot":"","sources":["../../src/analyze/infer-spec.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"infer-spec.mjs","sourceRoot":"","sources":["../../src/analyze/infer-spec.mts"],"names":[],"mappings":"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"}
@@ -1,8 +1,18 @@
1
1
  import { type TypeInfo } from '@knapsack/spec-utils';
2
+ export type PropTypesTypeInfo = {
3
+ type: string;
4
+ tsRawType?: string;
5
+ default?: string | number | boolean | null | Record<string, unknown> | unknown[];
6
+ enum?: (string | number | boolean | null)[];
7
+ items?: PropTypesTypeInfo;
8
+ properties?: Record<string, PropTypesTypeInfo>;
9
+ tsType?: string;
10
+ tsMetadata?: null;
11
+ };
2
12
  export type ComponentProps = Record<string, {
3
13
  required: boolean;
4
14
  description?: string;
5
- typeInfo: TypeInfo;
15
+ typeInfo: TypeInfo | PropTypesTypeInfo;
6
16
  }>;
7
17
  export type SlotInfo = {
8
18
  title: string;
@@ -11,6 +21,7 @@ export type SlotInfo = {
11
21
  export type ComponentAnalysis = {
12
22
  props: ComponentProps;
13
23
  slots: SlotInfo[];
24
+ isPropTypes?: boolean;
14
25
  };
15
26
  /**
16
27
  * Analyzes a React component to extract its props and slots information
@@ -1 +1 @@
1
- {"version":3,"file":"react-component-analyzer.d.mts","sourceRoot":"","sources":["../../../src/analyze/utils/react-component-analyzer.mts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAiB,MAAM,sBAAsB,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,MAAM,CACjC,MAAM,EACN;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB,CACF,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB,CAAC;AAiGF;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,UAAU,EACV,cAAc,EACd,cAAc,GACf,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAqE7B"}
1
+ {"version":3,"file":"react-component-analyzer.d.mts","sourceRoot":"","sources":["../../../src/analyze/utils/react-component-analyzer.mts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAG9B,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,OAAO,EAAE,CAAC;IACd,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAC5C,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,CACjC,MAAM,EACN;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,GAAG,iBAAiB,CAAC;CACxC,CACF,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC;IACtB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAgMF;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,EACrC,QAAQ,EACR,UAAU,EACV,cAAc,EACd,cAAc,GACf,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAkK7B"}
@@ -1,4 +1,5 @@
1
- import { analyzeExport } from '@knapsack/spec-utils';
1
+ import { join } from 'node:path';
2
+ import { analyzeExport, resolveTsModule, } from '@knapsack/spec-utils';
2
3
  /**
3
4
  * Merges properties from multiple object types in a union
4
5
  */
@@ -23,6 +24,56 @@ const mergeUnionObjectProperties = ({ items, }) => {
23
24
  });
24
25
  return mergedProperties;
25
26
  };
27
+ /**
28
+ * Extracts property values from a PropTypes prop definition
29
+ * @param propDef - Unknown because we accept any PropertyTypes union variant
30
+ * @param key - The property key to extract
31
+ * @param guard - Type guard to verify the value is of type T
32
+ */
33
+ function extractPropValue(propDef, // Unknown because PropertyTypes is a discriminated union
34
+ key, guard) {
35
+ if (typeof propDef === 'object' && propDef !== null && key in propDef) {
36
+ const value = propDef[key];
37
+ return guard(value) ? value : undefined;
38
+ }
39
+ return undefined;
40
+ }
41
+ /**
42
+ * Builds a PropTypesTypeInfo from a prop definition
43
+ * Note: Parameters use unknown because they come from dynamic PropertyTypes parsing
44
+ */
45
+ function buildPropTypesTypeInfo(propDef) {
46
+ const enumValue = extractPropValue(propDef, 'enum', (v) => Array.isArray(v) &&
47
+ v.every((item) => typeof item === 'string' ||
48
+ typeof item === 'number' ||
49
+ typeof item === 'boolean' ||
50
+ item === null));
51
+ const tsTypeValue = extractPropValue(propDef, 'tsType', (v) => typeof v === 'string');
52
+ const tsRawTypeValue = extractPropValue(propDef, 'tsRawType', (v) => typeof v === 'string');
53
+ const defaultValue = extractPropValue(propDef, 'default', (v) => typeof v === 'string' ||
54
+ typeof v === 'number' ||
55
+ typeof v === 'boolean' ||
56
+ v === null ||
57
+ (typeof v === 'object' && v !== null) ||
58
+ Array.isArray(v));
59
+ const itemsValue = extractPropValue(propDef, 'items', (v) => typeof v === 'object' && v !== null);
60
+ const propertiesValue = extractPropValue(propDef, 'properties', (v) => typeof v === 'object' && v !== null);
61
+ // Determine tsRawType with priority: enum > tsType > tsRawType
62
+ const tsRawType = enumValue
63
+ ? enumValue.map((v) => JSON.stringify(v)).join(' | ')
64
+ : tsTypeValue || tsRawTypeValue;
65
+ return {
66
+ type: propDef.type || 'string',
67
+ ...(tsRawType && { tsRawType }),
68
+ ...(defaultValue !== undefined && { default: defaultValue }),
69
+ ...(enumValue && { enum: enumValue }),
70
+ ...(tsTypeValue && { tsType: tsTypeValue }),
71
+ ...(itemsValue && { items: itemsValue }),
72
+ ...(propertiesValue && {
73
+ properties: propertiesValue,
74
+ }),
75
+ };
76
+ }
26
77
  /**
27
78
  * Checks if a TypeInfo represents a React node type or a function returning a React node
28
79
  */
@@ -126,15 +177,82 @@ export async function analyzeComponent({ fileName, exportName, pkgPathAliases, r
126
177
  }
127
178
  }
128
179
  catch (error) {
129
- // @TODO: Fallback to PropTypes
130
- // https://linear.app/knapsack/issue/KSP-5878/setup-infer-spec-for-prop-types-in-react-renderer
131
- // console.log(
132
- // 'Failed to analyze component types using TypeScript, falling back to PropTypes:\n\n',
133
- // error.message,
134
- // );
135
- throw new Error(`Failed to infer spec for component "${exportName}" in "${fileName}"`, {
136
- cause: error,
137
- });
180
+ // Fallback to PropTypes
181
+ console.log(`[react-component-analyzer] TypeScript analysis failed for "${exportName}" in "${fileName}", falling back to PropTypes`);
182
+ try {
183
+ // Import PropTypes analysis utilities
184
+ const { getPropTypesInfoFromFile, extractSpecFromPropTypesInfo, cleanUpSpec, } = await import('../../utils.js');
185
+ // Use TypeScript resolver for consistent path resolution
186
+ let resolvedFileName;
187
+ try {
188
+ const { resolvedFileName: resolved } = resolveTsModule({
189
+ moduleName: fileName,
190
+ containingFile: join(resolveFromDir || process.cwd(), 'containing-file.ts'),
191
+ pkgPathAliases: pkgPathAliases || {},
192
+ });
193
+ resolvedFileName = resolved;
194
+ }
195
+ catch (resolveError) {
196
+ console.log(`[react-component-analyzer] Path resolution failed, using original fileName: ${fileName}`, resolveError);
197
+ resolvedFileName = fileName;
198
+ }
199
+ // Extract PropTypes information from the component file
200
+ const propTypesInfo = await getPropTypesInfoFromFile({
201
+ src: resolvedFileName,
202
+ });
203
+ // Check if we found PropTypes definitions
204
+ if (propTypesInfo && propTypesInfo.info.length > 0) {
205
+ // Convert PropTypes info to Knapsack spec format
206
+ const propTypesSpec = extractSpecFromPropTypesInfo({
207
+ info: propTypesInfo.info,
208
+ exportName: exportName || 'default',
209
+ });
210
+ if (propTypesSpec) {
211
+ // Clean up the spec (removes invalid props, etc.)
212
+ const cleanedSpec = cleanUpSpec({ spec: propTypesSpec });
213
+ if (!cleanedSpec) {
214
+ // If cleanedSpec is false, return empty analysis
215
+ return {
216
+ props: {},
217
+ slots: [],
218
+ };
219
+ }
220
+ // Convert PropTypes spec to ComponentAnalysis format
221
+ const propTypeProps = {};
222
+ const propTypeSlots = [];
223
+ // Convert each prop from PropTypes format to TypeInfo format
224
+ Object.entries(cleanedSpec.props.properties || {}).forEach(([propName, propDef]) => {
225
+ var _a;
226
+ // Build typeInfo from prop definition
227
+ const typeInfo = buildPropTypesTypeInfo(propDef);
228
+ propTypeProps[propName] = {
229
+ required: ((_a = cleanedSpec.props.required) === null || _a === void 0 ? void 0 : _a.includes(propName)) || false,
230
+ description: propDef.description,
231
+ typeInfo,
232
+ };
233
+ });
234
+ // Convert slots (children, render props, etc.)
235
+ Object.entries(cleanedSpec.slots || {}).forEach(([slotName, slotDef]) => {
236
+ propTypeSlots.push({
237
+ title: slotDef.title || slotName,
238
+ description: slotDef.description,
239
+ });
240
+ });
241
+ return {
242
+ props: propTypeProps,
243
+ slots: propTypeSlots,
244
+ isPropTypes: true,
245
+ };
246
+ }
247
+ }
248
+ }
249
+ catch (propTypesError) {
250
+ // PropTypes fallback failed
251
+ console.log(`[react-component-analyzer] PropTypes fallback also failed for "${exportName}" in "${fileName}"`, propTypesError);
252
+ throw new Error(`Failed to infer spec for component "${exportName}" in "${fileName}"`, {
253
+ cause: error,
254
+ });
255
+ }
138
256
  }
139
257
  return {
140
258
  props,
@@ -1 +1 @@
1
- {"version":3,"file":"react-component-analyzer.mjs","sourceRoot":"","sources":["../../../src/analyze/utils/react-component-analyzer.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-component-analyzer.mjs","sourceRoot":"","sources":["../../../src/analyze/utils/react-component-analyzer.mts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { Documentation } from 'react-docgen';
1
2
  import { KsTemplateSpec } from '@knapsack/types';
2
3
  type GetSpecParams = {
3
4
  src: string;
@@ -19,6 +20,18 @@ export declare function getDemoAppUsage({ children, imports, format, }: {
19
20
  imports?: string;
20
21
  format?: boolean;
21
22
  }): Promise<string>;
23
+ export declare function getPropTypesInfoFromFile({ src, }: {
24
+ src: string;
25
+ }): Promise<{
26
+ info: Documentation[];
27
+ }>;
28
+ export declare function extractSpecFromPropTypesInfo({ info: results, exportName, }: {
29
+ info: Documentation[];
30
+ exportName: string;
31
+ }): KsTemplateSpec | false;
32
+ export declare function cleanUpSpec({ spec, }: {
33
+ spec: KsTemplateSpec | false;
34
+ }): KsTemplateSpec | false;
22
35
  export declare const clearInferSpecCache: () => void;
23
36
  export declare function getReactDocs(opt: GetSpecParams & {
24
37
  resolveFromDir: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAA+B,MAAM,iBAAiB,CAAC;AAE9E,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAmEF,eAAO,MAAM,WAAW,YAAY,CAAC;AAmBrC,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyDlB;AAED,wBAAsB,eAAe,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB;AAwZD,eAAO,MAAM,mBAAmB,YAG/B,CAAC;AAuCF,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,CAIjC;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkEnB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,aAAa,EAEd,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EAIf,MAAM,iBAAiB,CAAC;AAEzB,KAAK,aAAa,GAAG;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAmEF,eAAO,MAAM,WAAW,YAAY,CAAC;AAmBrC,wBAAsB,QAAQ,CAAC,IAAI,EAAE;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE;QACX,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,MAAM,CAAC;KACf,EAAE,CAAC;IACJ,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAyDlB;AAED,wBAAsB,eAAe,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAUlB;AAuND,wBAAsB,wBAAwB,CAAC,EAC7C,GAAG,GACJ,EAAE;IACD,GAAG,EAAE,MAAM,CAAC;CACb,GAAG,OAAO,CAAC;IACV,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB,CAAC,CAoBD;AA8WD,wBAAgB,4BAA4B,CAAC,EAC3C,IAAI,EAAE,OAAO,EACb,UAAU,GACX,EAAE;IACD,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,cAAc,GAAG,KAAK,CAiiBzB;AAED,wBAAgB,WAAW,CAAC,EAC1B,IAAI,GACL,EAAE;IACD,IAAI,EAAE,cAAc,GAAG,KAAK,CAAC;CAC9B,GAAG,cAAc,GAAG,KAAK,CAczB;AA2ED,eAAO,MAAM,mBAAmB,YAG/B,CAAC;AAuCF,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,GAAG;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB,GACA,OAAO,CAAC,cAAc,GAAG,KAAK,CAAC,CAIjC;AAED,wBAAsB,eAAe,CACnC,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,EAAE,CAAC,CAkEnB"}
package/dist/utils.js CHANGED
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.clearInferSpecCache = exports.demoAppName = void 0;
7
7
  exports.getUsage = getUsage;
8
8
  exports.getDemoAppUsage = getDemoAppUsage;
9
+ exports.getPropTypesInfoFromFile = getPropTypesInfoFromFile;
10
+ exports.extractSpecFromPropTypesInfo = extractSpecFromPropTypesInfo;
11
+ exports.cleanUpSpec = cleanUpSpec;
9
12
  exports.getReactDocs = getReactDocs;
10
13
  exports.copyReactAssets = copyReactAssets;
11
14
  const app_1 = require("@knapsack/app");
@@ -278,30 +281,304 @@ function extractSpecFromTypeScriptInfo({ info: results, exportName, }) {
278
281
  return false;
279
282
  }
280
283
  }
281
- async function getPropTypesInfoFromFile({ src }) {
284
+ async function getPropTypesInfoFromFile({ src, }) {
282
285
  const reactDocs = await import('react-docgen');
283
- const { builtinResolvers } = reactDocs;
286
+ const { builtinResolvers, builtinHandlers } = reactDocs;
284
287
  const fileSrc = await (0, file_utils_1.readFile)(src);
285
288
  const { FindExportedDefinitionsResolver } = builtinResolvers;
289
+ // Use react-docgen's built-in handlers for comprehensive PropTypes extraction
286
290
  const results = reactDocs.parse(fileSrc, {
287
291
  resolver: new FindExportedDefinitionsResolver(),
288
- handlers: null,
292
+ handlers: [
293
+ builtinHandlers.propTypeHandler,
294
+ builtinHandlers.defaultPropsHandler,
295
+ builtinHandlers.propDocblockHandler,
296
+ builtinHandlers.componentDocblockHandler,
297
+ ],
289
298
  filename: src,
290
- // babelrc: false,
291
299
  });
292
300
  return {
293
301
  info: results,
294
302
  };
295
303
  }
304
+ /**
305
+ * Processes default values from PropTypes, converting strings to actual JavaScript values
306
+ * @returns unknown because the value can be any valid JavaScript value
307
+ */
308
+ function processDefaultValue(defaultValue) {
309
+ let defaultVal = defaultValue;
310
+ try {
311
+ // Try JSON.parse first for arrays/objects
312
+ if (typeof defaultVal === 'string' &&
313
+ ((defaultVal.startsWith('[') && defaultVal.endsWith(']')) ||
314
+ (defaultVal.startsWith('{') && defaultVal.endsWith('}')))) {
315
+ defaultVal = JSON.parse(defaultVal);
316
+ }
317
+ else if (defaultVal === 'true') {
318
+ defaultVal = true;
319
+ }
320
+ else if (defaultVal === 'false') {
321
+ defaultVal = false;
322
+ }
323
+ else if (defaultVal === 'null') {
324
+ defaultVal = null;
325
+ }
326
+ else if (typeof defaultVal === 'string' &&
327
+ !Number.isNaN(Number(defaultVal)) &&
328
+ defaultVal !== '') {
329
+ defaultVal = Number(defaultVal);
330
+ }
331
+ else {
332
+ // For other values, just remove quotes
333
+ defaultVal = (0, utils_1.removeWrappingQuotes)(defaultVal);
334
+ }
335
+ }
336
+ catch (error) {
337
+ // If JSON.parse fails, try to evaluate as JavaScript
338
+ try {
339
+ // eslint-disable-next-line no-new-func
340
+ defaultVal = new Function(`return ${defaultVal}`)();
341
+ }
342
+ catch (evalError) {
343
+ defaultVal = (0, utils_1.removeWrappingQuotes)(defaultVal);
344
+ }
345
+ }
346
+ return defaultVal;
347
+ }
348
+ /**
349
+ * Processes enum values from PropTypes, removing quotes and converting to proper types
350
+ */
351
+ function processEnumValues(enumValueObjects) {
352
+ if (!Array.isArray(enumValueObjects)) {
353
+ return [];
354
+ }
355
+ return enumValueObjects.map((obj) => {
356
+ // Ensure obj has a value property
357
+ if (typeof obj !== 'object' || obj === null || !('value' in obj)) {
358
+ return 'unknown';
359
+ }
360
+ const rawValue = obj.value;
361
+ // Remove quotes from string values
362
+ if (typeof rawValue === 'string' &&
363
+ rawValue.startsWith("'") &&
364
+ rawValue.endsWith("'")) {
365
+ return rawValue.slice(1, -1);
366
+ }
367
+ // Parse other values - only return strings and numbers for enum
368
+ if (!Number.isNaN(Number(rawValue)))
369
+ return Number(rawValue);
370
+ return rawValue;
371
+ });
372
+ }
373
+ /**
374
+ * Normalizes PropTypes names to JSON Schema types
375
+ */
376
+ function normalizeType(propType) {
377
+ switch (propType) {
378
+ case 'bool':
379
+ return 'boolean';
380
+ case 'shape':
381
+ case 'exact':
382
+ return 'object';
383
+ case 'func':
384
+ return 'function';
385
+ case 'array':
386
+ case 'arrayOf':
387
+ return 'array';
388
+ case 'string':
389
+ case 'number':
390
+ case 'boolean':
391
+ case 'object':
392
+ return propType;
393
+ default:
394
+ return 'string'; // fallback to string for unknown types
395
+ }
396
+ }
397
+ /**
398
+ * Checks if a value is a shape type
399
+ */
400
+ function isShapeType(value) {
401
+ return (value === null || value === void 0 ? void 0 : value.name) === 'shape' || (value === null || value === void 0 ? void 0 : value.name) === 'exact';
402
+ }
403
+ // Maximum allowed depth for nested PropTypes shapes to prevent infinite recursion
404
+ const DEFAULT_MAX_SHAPE_DEPTH = 3;
405
+ /**
406
+ * Builds a single prop definition from PropTypes value (without shape handling)
407
+ */
408
+ function buildSinglePropDefinition(value) {
409
+ const propDef = {
410
+ type: normalizeType((value === null || value === void 0 ? void 0 : value.name) || 'string'),
411
+ };
412
+ // Handle enums
413
+ if ((value === null || value === void 0 ? void 0 : value.name) === 'enum' && Array.isArray(value.value)) {
414
+ propDef.enum = processEnumValues(value.value);
415
+ }
416
+ return propDef;
417
+ }
418
+ /**
419
+ * Builds prop definition with shape handling
420
+ * @param value - The PropTypes value to convert
421
+ * @param depth - Current nesting depth (default 0)
422
+ * @param maxDepth - Maximum allowed nesting depth (default 3)
423
+ */
424
+ function buildPropDefinition(value, depth = 0, maxDepth = DEFAULT_MAX_SHAPE_DEPTH) {
425
+ const propDef = buildSinglePropDefinition(value);
426
+ // Handle nested shapes recursively (with depth limit)
427
+ const hasValue = isShapeType(value) && (value === null || value === void 0 ? void 0 : value.value) && depth < maxDepth;
428
+ if (hasValue) {
429
+ // Build shape properties inline to avoid circular dependency
430
+ const shapeProperties = {};
431
+ Object.entries(value.value).forEach(([key, nestedValue]) => {
432
+ shapeProperties[key] = buildPropDefinition(nestedValue, depth + 1, maxDepth);
433
+ });
434
+ return {
435
+ ...propDef,
436
+ type: 'object',
437
+ properties: shapeProperties,
438
+ };
439
+ }
440
+ return propDef;
441
+ }
442
+ /**
443
+ * Builds shape properties from PropTypes shape values with depth tracking
444
+ */
445
+ function buildShapePropertiesWithDepth(shapeValue, depth, maxDepth) {
446
+ const shapeProperties = {};
447
+ Object.entries(shapeValue).forEach(([key, value]) => {
448
+ shapeProperties[key] = buildPropDefinition(value, depth, maxDepth);
449
+ });
450
+ return shapeProperties;
451
+ }
452
+ /**
453
+ * Recursively builds a type string representation for union types
454
+ */
455
+ function buildTypeString(unionType) {
456
+ if (!unionType || typeof unionType !== 'object') {
457
+ return 'unknown';
458
+ }
459
+ const typeName = unionType.name;
460
+ switch (typeName) {
461
+ case 'string':
462
+ case 'number':
463
+ case 'boolean':
464
+ case 'bool':
465
+ case 'func':
466
+ case 'symbol':
467
+ return typeName;
468
+ case 'array': {
469
+ // Plain PropTypes.array -> array of any
470
+ return 'any[]';
471
+ }
472
+ case 'shape':
473
+ case 'exact': {
474
+ const shapeValue = unionType.value;
475
+ if (!shapeValue || typeof shapeValue !== 'object') {
476
+ return 'object';
477
+ }
478
+ const props = Object.entries(shapeValue)
479
+ .map(([key, value]) => {
480
+ const typeStr = buildTypeString(value);
481
+ return `${key}: ${typeStr}`;
482
+ })
483
+ .join(', ');
484
+ return `{ ${props} }`;
485
+ }
486
+ case 'arrayOf': {
487
+ const itemType = unionType.value;
488
+ const itemTypeStr = itemType
489
+ ? buildTypeString(itemType)
490
+ : 'any';
491
+ return `${itemTypeStr}[]`;
492
+ }
493
+ case 'objectOf': {
494
+ const itemType = unionType.value;
495
+ const itemTypeStr = itemType
496
+ ? buildTypeString(itemType)
497
+ : 'any';
498
+ return `Record<string, ${itemTypeStr}>`;
499
+ }
500
+ case 'enum': {
501
+ const enumValues = unionType.value || [];
502
+ if (Array.isArray(enumValues)) {
503
+ const processed = processEnumValues(enumValues);
504
+ return processed.map((v) => JSON.stringify(v)).join(' | ');
505
+ }
506
+ return 'string';
507
+ }
508
+ case 'union': {
509
+ // PropTypes.oneOfType([PropTypes.string, PropTypes.number]) -> union
510
+ const unionTypes = unionType.value || [];
511
+ if (!Array.isArray(unionTypes)) {
512
+ return 'any';
513
+ }
514
+ // Build full type strings recursively for nested types
515
+ const unionTypeStrings = unionTypes
516
+ .map((unionItem) => buildTypeString(unionItem))
517
+ .filter(Boolean);
518
+ return unionTypeStrings.join(' | ');
519
+ }
520
+ case 'instanceOf': {
521
+ const instanceValue = unionType.value;
522
+ let className = 'any';
523
+ // Check if it's an object with a name property
524
+ if (typeof instanceValue === 'object' &&
525
+ instanceValue &&
526
+ instanceValue !== null &&
527
+ 'name' in instanceValue &&
528
+ typeof instanceValue.name === 'string') {
529
+ className = instanceValue.name;
530
+ }
531
+ // Check if it's a string directly
532
+ else if (typeof instanceValue === 'string') {
533
+ className = instanceValue;
534
+ }
535
+ return `instanceOf(${className})`;
536
+ }
537
+ default:
538
+ return typeName || 'any';
539
+ }
540
+ }
541
+ /**
542
+ * Helper function to add a prop with all its metadata to the spec
543
+ */
544
+ function addPropToSpec(spec, propName, propData, required, description, defaultValue) {
545
+ // Build the complete prop with all metadata
546
+ const completeProp = { ...propData };
547
+ // Add description if present
548
+ if (description) {
549
+ completeProp.description = description;
550
+ }
551
+ // Add required if needed
552
+ if (required && spec.props.required) {
553
+ spec.props.required.push(propName);
554
+ }
555
+ // Add default value if present
556
+ if (defaultValue && 'value' in defaultValue) {
557
+ const processedDefault = processDefaultValue(defaultValue.value);
558
+ // Only set default if it's a primitive type
559
+ if (typeof processedDefault === 'string' ||
560
+ typeof processedDefault === 'number' ||
561
+ typeof processedDefault === 'boolean') {
562
+ completeProp.default = processedDefault;
563
+ }
564
+ }
565
+ // Assign the complete prop to the spec
566
+ spec.props.properties[propName] = completeProp;
567
+ }
296
568
  function extractSpecFromPropTypesInfo({ info: results, exportName, }) {
297
569
  try {
298
570
  const isDefaultExport = !exportName || exportName === 'default';
299
571
  // if `isDefaultExport` then we just grab last result since `export default` TENDS to be last. that'll we can do really...
300
- const result = isDefaultExport
572
+ let result = isDefaultExport
301
573
  ? results.pop()
302
574
  : results.find((r) => r.displayName === exportName);
303
- // log.inspect(results, 'JSX PropTypes Results');
304
- // console.log(JSON.stringify(result, null, ' '));
575
+ // Fix: If no valid result found, return false early to ensure type safety and prevent execution with undefined.
576
+ if (!result && results.length > 0) {
577
+ [result] = results;
578
+ }
579
+ if (!result) {
580
+ return false;
581
+ }
305
582
  const spec = {
306
583
  isInferred: true,
307
584
  props: {
@@ -313,43 +590,323 @@ function extractSpecFromPropTypesInfo({ info: results, exportName, }) {
313
590
  slots: {},
314
591
  };
315
592
  Object.entries((result === null || result === void 0 ? void 0 : result.props) || {}).forEach(([propName, propDef]) => {
316
- var _a;
317
- const { required, description, defaultValue } = propDef;
318
- switch ((_a = propDef === null || propDef === void 0 ? void 0 : propDef.type) === null || _a === void 0 ? void 0 : _a.name) {
593
+ const { required, description, defaultValue, type } = propDef;
594
+ // Automatically treat "children" props as slots
595
+ if (propName === 'children') {
596
+ spec.slots[propName] = {
597
+ title: propName,
598
+ };
599
+ if (description) {
600
+ spec.slots[propName].description = description;
601
+ }
602
+ return; // Skip normal prop processing
603
+ }
604
+ // Use react-docgen's detailed type information
605
+ const propType = type === null || type === void 0 ? void 0 : type.name;
606
+ // Generate the full type string for PropTypes (similar to tsRawType for TypeScript)
607
+ const typeString = buildTypeString(type);
608
+ switch (propType) {
319
609
  case 'string':
320
- spec.props.properties[propName] = {
321
- type: 'string',
322
- };
610
+ addPropToSpec(spec, propName, { type: 'string', tsType: typeString, tsRawType: typeString }, required, description, defaultValue);
611
+ break;
612
+ case 'number':
613
+ addPropToSpec(spec, propName, { type: 'number', tsType: typeString, tsRawType: typeString }, required, description, defaultValue);
323
614
  break;
324
615
  case 'func':
325
- spec.props.properties[propName] = {
326
- type: 'string',
327
- };
616
+ addPropToSpec(spec, propName, {
617
+ typeof: 'function',
618
+ tsType: 'function',
619
+ tsRawType: typeString,
620
+ }, required, description, defaultValue);
621
+ break;
622
+ case 'elementType':
623
+ addPropToSpec(spec, propName, {
624
+ typeof: 'function',
625
+ tsType: 'ElementType',
626
+ tsRawType: typeString,
627
+ }, required, description, defaultValue);
328
628
  break;
329
629
  case 'bool':
330
- spec.props.properties[propName] = {
331
- type: 'boolean',
332
- };
630
+ addPropToSpec(spec, propName, { type: 'boolean', tsType: typeString, tsRawType: typeString }, required, description, defaultValue);
631
+ break;
632
+ case 'any':
633
+ addPropToSpec(spec, propName, {
634
+ // fallback to string to allow the user to put in something manually.
635
+ type: 'string',
636
+ tsType: 'any',
637
+ tsRawType: typeString,
638
+ }, required, description, defaultValue);
333
639
  break;
640
+ case 'symbol':
641
+ addPropToSpec(spec, propName, { type: 'string', tsType: 'symbol', tsRawType: typeString }, required, description, defaultValue);
642
+ break;
643
+ case 'instanceOf': {
644
+ // PropTypes.instanceOf(MyClass) -> instance of class
645
+ const instanceOfValue = type === null || type === void 0 ? void 0 : type.value;
646
+ let className = 'any';
647
+ // Check if it's an object with a name property
648
+ if (typeof instanceOfValue === 'object' &&
649
+ instanceOfValue &&
650
+ instanceOfValue !== null &&
651
+ 'name' in instanceOfValue) {
652
+ className = String(instanceOfValue.name);
653
+ }
654
+ // Check if it's a string directly
655
+ else if (typeof instanceOfValue === 'string') {
656
+ className = instanceOfValue;
657
+ }
658
+ addPropToSpec(spec, propName, {
659
+ type: 'string', // JSON Schema doesn't support class instances
660
+ tsType: `instanceOf(${className})`, // Store full instanceOf syntax
661
+ tsRawType: typeString,
662
+ }, required, description, defaultValue);
663
+ break;
664
+ }
665
+ case 'shape':
666
+ case 'exact': {
667
+ // PropTypes.shape({...}) -> object
668
+ const shapeValue = type === null || type === void 0 ? void 0 : type.value;
669
+ if (shapeValue) {
670
+ // Expand properties for both simple and nested shapes (max 3 levels deep)
671
+ const shapeProperties = {};
672
+ for (const [key, value] of Object.entries(shapeValue)) {
673
+ shapeProperties[key] = buildPropDefinition(value, 0, DEFAULT_MAX_SHAPE_DEPTH);
674
+ }
675
+ addPropToSpec(spec, propName, {
676
+ type: 'object',
677
+ properties: shapeProperties,
678
+ tsType: typeString,
679
+ tsRawType: typeString,
680
+ }, required, description, defaultValue);
681
+ }
682
+ else {
683
+ // Fallback to simple object
684
+ addPropToSpec(spec, propName, {
685
+ type: 'object',
686
+ properties: {
687
+ 'Object with unknown properties': { type: 'string' },
688
+ },
689
+ }, required, description, defaultValue);
690
+ }
691
+ break;
692
+ }
693
+ case 'objectOf': {
694
+ // PropTypes.objectOf(PropTypes.string) -> object with specific value type
695
+ const objectOfType = type === null || type === void 0 ? void 0 : type.value;
696
+ if (objectOfType &&
697
+ typeof objectOfType === 'object' &&
698
+ 'name' in objectOfType) {
699
+ // Build properties based on the objectOf parameter
700
+ const objectProperties = {};
701
+ switch (objectOfType.name) {
702
+ case 'string':
703
+ // For objectOf(string), create a generic string property
704
+ objectProperties['Object of strings'] = { type: 'string' };
705
+ break;
706
+ case 'number':
707
+ objectProperties['Object of numbers'] = { type: 'number' };
708
+ break;
709
+ case 'bool':
710
+ objectProperties['Object of booleans'] = { type: 'boolean' };
711
+ break;
712
+ case 'object':
713
+ objectProperties['Object of objects'] = { type: 'object' };
714
+ break;
715
+ case 'shape':
716
+ // For shapes, expand the properties
717
+ if ('value' in objectOfType && objectOfType.value) {
718
+ Object.assign(objectProperties, buildShapePropertiesWithDepth(objectOfType.value, 0, DEFAULT_MAX_SHAPE_DEPTH));
719
+ }
720
+ else {
721
+ objectProperties['Object with unknown properties'] = {
722
+ type: 'object',
723
+ };
724
+ }
725
+ break;
726
+ default:
727
+ objectProperties['Object with unknown properties'] = {
728
+ type: 'any',
729
+ };
730
+ }
731
+ addPropToSpec(spec, propName, {
732
+ type: 'object',
733
+ // @ts-expect-error - placeholder properties for objectOf don't match strict PropertyTypes
734
+ properties: objectProperties,
735
+ tsType: typeString,
736
+ tsRawType: typeString,
737
+ }, required, description, defaultValue);
738
+ }
739
+ else {
740
+ // Fallback for unknown objectOf types
741
+ addPropToSpec(spec, propName, {
742
+ type: 'object',
743
+ properties: {
744
+ 'Object with unknown properties': { type: 'string' },
745
+ },
746
+ tsType: typeString,
747
+ tsRawType: typeString,
748
+ }, required, description, defaultValue);
749
+ }
750
+ break;
751
+ }
752
+ case 'enum': {
753
+ // PropTypes.oneOf(['option1', 'option2']) -> enum
754
+ const enumValueObjects = (type === null || type === void 0 ? void 0 : type.value) || [];
755
+ // Ensure enumValueObjects is an array before calling map
756
+ if (!Array.isArray(enumValueObjects)) {
757
+ addPropToSpec(spec, propName, { type: 'string', tsType: typeString, tsRawType: typeString }, required, description, defaultValue);
758
+ break;
759
+ }
760
+ // Extract actual values from the objects and parse them
761
+ const enumValues = processEnumValues(enumValueObjects);
762
+ // Get all unique types in the enum
763
+ const types = [...new Set(enumValues.map((val) => typeof val))];
764
+ // Determine the base type - use the most common type, or 'string' as fallback
765
+ let baseType = 'string';
766
+ let enumPropType = 'string';
767
+ if (types.length === 1) {
768
+ // All values are the same type
769
+ const singleType = types[0];
770
+ if (singleType === 'number') {
771
+ baseType = 'number';
772
+ enumPropType = 'number';
773
+ }
774
+ // Everything else defaults to 'string'
775
+ }
776
+ addPropToSpec(spec, propName, {
777
+ type: enumPropType,
778
+ enum: enumValues,
779
+ tsType: baseType,
780
+ tsRawType: typeString,
781
+ }, required, description, defaultValue);
782
+ break;
783
+ }
784
+ case 'union': {
785
+ // PropTypes.oneOfType([PropTypes.string, PropTypes.number]) -> union
786
+ const unionTypes = (type === null || type === void 0 ? void 0 : type.value) || [];
787
+ if (!Array.isArray(unionTypes)) {
788
+ addPropToSpec(spec, propName, { type: 'string', tsType: typeString, tsRawType: typeString }, required, description, defaultValue);
789
+ break;
790
+ }
791
+ // Build full type strings recursively for nested types
792
+ const unionTypeStrings = unionTypes
793
+ .map((unionType) => buildTypeString(unionType))
794
+ .filter(Boolean);
795
+ addPropToSpec(spec, propName, {
796
+ type: 'string', // Default to string for UI compatibility
797
+ tsType: unionTypeStrings.join(' | '), // Store exact TypeScript union type with full nesting
798
+ tsRawType: typeString,
799
+ }, required, description, defaultValue);
800
+ break;
801
+ }
802
+ case 'array': {
803
+ addPropToSpec(spec, propName, {
804
+ type: 'array',
805
+ items: { type: 'string' },
806
+ tsType: typeString,
807
+ tsRawType: typeString,
808
+ }, required, description, defaultValue);
809
+ break;
810
+ }
811
+ case 'arrayOf': {
812
+ // PropTypes.arrayOf(PropTypes.string) -> array with specific item type
813
+ const arrayOfType = type === null || type === void 0 ? void 0 : type.value;
814
+ let itemType = 'string';
815
+ let tsType = 'any[]';
816
+ if (arrayOfType &&
817
+ typeof arrayOfType === 'object' &&
818
+ 'name' in arrayOfType) {
819
+ // Determine the item type from the arrayOf parameter
820
+ switch (arrayOfType.name) {
821
+ case 'string':
822
+ itemType = 'string';
823
+ tsType = 'string[]';
824
+ break;
825
+ case 'number':
826
+ itemType = 'number';
827
+ tsType = 'number[]';
828
+ break;
829
+ case 'boolean':
830
+ case 'bool':
831
+ itemType = 'boolean';
832
+ tsType = 'boolean[]';
833
+ break;
834
+ case 'object':
835
+ itemType = 'object';
836
+ tsType = 'object[]';
837
+ break;
838
+ case 'shape':
839
+ itemType = 'object';
840
+ // For shapes, expand the properties into items
841
+ if ('value' in arrayOfType && arrayOfType.value) {
842
+ // Build the type string using the full type (arrayOf with shape inside)
843
+ const shapeTypeStr = buildTypeString(type);
844
+ const shapeProps = buildShapePropertiesWithDepth(arrayOfType.value, 0, DEFAULT_MAX_SHAPE_DEPTH);
845
+ addPropToSpec(spec, propName, {
846
+ type: 'array',
847
+ items: {
848
+ type: 'object',
849
+ properties: shapeProps,
850
+ },
851
+ tsType: shapeTypeStr,
852
+ tsRawType: shapeTypeStr,
853
+ }, required, description, defaultValue);
854
+ return; // Skip the default assignment below
855
+ }
856
+ tsType = 'object[]';
857
+ break;
858
+ default:
859
+ itemType = 'string';
860
+ tsType = 'any[]';
861
+ }
862
+ }
863
+ if (itemType === 'object') {
864
+ addPropToSpec(spec, propName, {
865
+ type: 'array',
866
+ items: {
867
+ type: 'object',
868
+ properties: {
869
+ 'Object with unknown properties': { type: 'string' },
870
+ },
871
+ },
872
+ tsType,
873
+ tsRawType: typeString,
874
+ }, required, description, defaultValue);
875
+ }
876
+ else {
877
+ addPropToSpec(spec, propName, {
878
+ type: 'array',
879
+ // @ts-expect-error - PropTypes item type doesn't match strict PropertyTypes union
880
+ items: { type: itemType },
881
+ tsType,
882
+ tsRawType: typeString,
883
+ }, required, description, defaultValue);
884
+ }
885
+ break;
886
+ }
887
+ case 'object': {
888
+ addPropToSpec(spec, propName, {
889
+ type: 'object',
890
+ properties: {
891
+ 'Object with unknown properties': { type: 'string' },
892
+ },
893
+ tsType: typeString,
894
+ tsRawType: typeString,
895
+ }, required, description, defaultValue);
896
+ break;
897
+ }
334
898
  case 'node':
899
+ case 'element':
335
900
  spec.slots[propName] = {
336
901
  title: propName,
337
- description,
338
902
  };
339
- }
340
- // assigning info that all would have
341
- if (spec.props.properties[propName]) {
342
- if (required)
343
- spec.props.required.push(propName);
344
- if (description && !spec.props.properties[propName].description) {
345
- spec.props.properties[propName].description = description;
346
- }
347
- if (defaultValue && 'value' in defaultValue) {
348
- spec.props.properties[propName].default =
349
- typeof defaultValue.value === 'string'
350
- ? (0, utils_1.removeWrappingQuotes)(defaultValue.value)
351
- : defaultValue.value;
352
- }
903
+ if (description) {
904
+ spec.slots[propName] = {
905
+ ...spec.slots[propName],
906
+ description,
907
+ };
908
+ }
909
+ break;
353
910
  }
354
911
  });
355
912
  return spec;
@@ -403,6 +960,7 @@ async function getReactModuleInfoUncached({ src: unknownSrc, resolveFromDir, })
403
960
  return { type: 'unknown' };
404
961
  const { ext } = path_1.default.parse(jsInfo.absolutePath);
405
962
  switch (ext) {
963
+ case '.js':
406
964
  case '.jsx': {
407
965
  const propTypesInfo = await getPropTypesInfoFromFile({
408
966
  src: jsInfo.absolutePath,
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;AA2GA,4BAkEC;AAED,0CAkBC;AAkcD,oCAQC;AAED,0CAqEC;AAltBD,uCAAoC;AACpC,qDAO8B;AAC9B,2CAAuD;AACvD,gDAAwB;AAMxB,2CAA8E;AAmD9E,SAAS,mBAAmB,CAAC,EAC3B,YAAY,EACZ,UAAU,EACV,QAAQ,GAKT;IACC,OAAO;OACF,YAAY;QACX,UAAU;QAEV,QAAQ;QACN,CAAC,CAAC;UACF,QAAQ;UACR,YAAY,GAAG;QACf,CAAC,CAAC,IACN;GACH,CAAC;AACJ,CAAC;AACY,QAAA,WAAW,GAAG,SAAS,CAAC;AAErC,SAAS,qBAAqB,CAAC,EAC7B,OAAO,GAAG,EAAE,EACZ,QAAQ,GAIT;IACC,OAAO,GAAG,OAAO;;WAER,mBAAW;;MAEhB,QAAQ;;;CAGb,CAAC;AACF,CAAC;AAEM,KAAK,UAAU,QAAQ,CAAC,IAS9B;IACC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,OAAO;YACL,GAAG;YACH,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC;IACzD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,0EAA0E,CAC3E,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAa,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;QACxD,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ;gBACX,qHAAqH;gBACrH,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClD,OAAO,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;gBAC7B,CAAC;gBACD,OAAO,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;YAC7B,KAAK,SAAS;gBACZ,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC;YAChD;gBACE,OAAO,GAAG,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;QAC/C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,SAAS,GAAgC,EAAE,CAAC;IAElD,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE;;QACpC,SAAS,CAAC,GAAG,CAAC,GAAG,MAAA,SAAS,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC;QACtC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;QAClD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5E,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,KAAK,GAAG,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,mBAAmB,CAAC;QACjC,YAAY;QACZ,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,GAAG,eAAe,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACzD,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,MAAM;QAChB,CAAC,CAAC,IAAA,uBAAU,EAAC;YACT,QAAQ,EAAE,MAAM;YAChB,IAAI,EAAE,OAAO,EAAE,oCAAoC;SACpD,CAAC;aACC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC3B,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,oDAAoD;QACpF,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,EACpC,QAAQ,EACR,OAAO,EACP,MAAM,GAKP;IACC,MAAM,IAAI,GAAG,qBAAqB,CAAC;QACjC,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IACH,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,IAAA,uBAAU,EAAC;QAChB,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,OAAO,EAAE,oCAAoC;KACpD,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,yBAAyB,CAAC,EAAE,GAAG,EAAmB;IAG/D,MAAM,YAAY,GAAG,MAAM,IAAA,mBAAM,EAAC,eAAe,EAAE;QACjD,GAAG,EAAE,cAAI,CAAC,OAAO,CAAC,GAAG,CAAC;KACvB,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAkB;QAC5B,kCAAkC,EAAE,IAAI;QACxC,qBAAqB,EAAE,IAAI;QAC3B,0BAA0B,EAAE,KAAK;QACjC,+MAA+M;QAC/M,oBAAoB,EAAE,CAAC,uBAAuB,EAAE,KAAK,CAAC;KACvD,CAAC;IACF,MAAM,KAAK,GAAG,YAAY;QACxB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,KAAK;QACnD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC;IACzC,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;KACjB,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,EACrC,IAAI,EAAE,OAAO,EACb,UAAU,GAIX;IACC,IAAI,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,MAAM,IAAI,GAAmB;YAC3B,KAAK,EAAE;gBACL,OAAO,EAAE,wCAAwC;gBACjD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;aACf;YACD,KAAK,EAAE;YACL,cAAc;YACd,uBAAuB;YACvB,KAAK;aACN;SACF,CAAC;QAEF,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,SAAS,CAAC;QAEhE,0HAA0H;QAC1H,MAAM,MAAM,GAAG,eAAe;YAC5B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;QAEtD,qEAAqE;QACrE,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE1B,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAC/B,qCAAqC;QACrC,MAAM,CAAC,OAAO,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;;YAClE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,GAC/D,OAAO,CAAC;YAEV,8GAA8G;YAC9G,mCAAmC;YACnC,uDAAuD;YACvD,MAAM,QAAQ,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CACvB,OAAO,CAAC,aAAa,EAAE,EAAE,EAE1B,OAAO,CAAC,MAAM,EAAE,EAAE,EAClB,IAAI,EAAE,CAAC;YAEV,QAAQ,QAAQ,EAAE,CAAC;gBACjB,KAAK,QAAQ;oBACX,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;wBAChC,IAAI,EAAE,QAAQ;qBACf,CAAC;oBACF,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;wBAChC,IAAI,EAAE,QAAQ;qBACf,CAAC;oBACF,MAAM;gBACR,KAAK,SAAS,CAAC;gBACf,KAAK,MAAM;oBACT,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;wBAC5C,iDAAiD;wBACjD,YAAY,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,KAAK,MAAM,CAAC;oBACrD,CAAC;oBACD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;wBAChC,IAAI,EAAE,SAAS;qBAChB,CAAC;oBACF,MAAM;gBACR,KAAK,MAAM;oBAST,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;wBAChC,IAAI,EAAE,QAAQ;wBACd,sDAAsD;wBACtD,IAAI,EAAE;4BACJ,wBAAwB;4BACxB,GAAG,IAAI,GAAG,CACP,IAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gCAC7C,IAAI,CAAC,KAAK;oCAAE,OAAO,EAAE,CAAC;gCACtB,MAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;gCAChD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;oCACzB,OAAO,EAAE,CAAC;gCACZ,CAAC;gCACD,OAAO,CAAC,IAAI,CAAC,CAAC;4BAChB,CAAC,CAAC,CACH;yBACF;qBACF,CAAC;oBACF,MAAM;gBACR,KAAK,WAAW,CAAC;gBACjB,KAAK,iBAAiB,CAAC;gBACvB,KAAK,oBAAoB,CAAC;gBAC1B,KAAK,cAAc;oBACjB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;wBACrB,KAAK,EAAE,QAAQ;qBAChB,CAAC;oBACF,IAAI,WAAW,EAAE,CAAC;wBAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;4BACrB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;4BACvB,WAAW;yBACZ,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,KAAK,KAAK,CAAC;gBACX,KAAK,IAAI;oBACP,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;wBACrB,KAAK,EAAE,QAAQ;wBACf,WAAW,EAAE,WAAW,IAAI,4BAA4B;wBACxD,mBAAmB,EAAE,IAAI;wBACzB,YAAY,EAAE,IAAI;wBAClB,YAAY,EAAE,IAAI;qBACnB,CAAC;oBACF,MAAM;gBACR,OAAO,CAAC,CAAC,CAAC;oBACR,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAChC,YAAY;wBACZ,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;4BAChC,kDAAkD;4BAClD,MAAM,EAAE,UAAU;4BAClB,MAAM,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,IAAI;yBAC5B,CAAC;oBACJ,CAAC;yBAAM,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,0CAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBACrC,wCAAwC;wBACxC,sEAAsE;wBACtE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;4BACxD,IAAI,CAAC,QAAQ;gCAAE,OAAO,EAAE,CAAC;4BACzB,MAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;4BACnD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gCACzB,OAAO,EAAE,CAAC;4BACZ,CAAC;4BACD,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChB,CAAC,CAAC,CAAC;wBAEH,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,CAAC;4BACpB,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;gCAChC,IAAI,EAAE,QAAQ;gCACd,0BAA0B;gCAC1B,IAAI,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;6BAC5B,CAAC;wBACJ,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;4BAChC,MAAM,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,IAAI;yBAC5B,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,IAAI,QAAQ;oBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC5D,CAAC;gBACD,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;oBAC5C,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;wBAClD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,UAAU,CAClD,YAAY,CAAC,KAAK,CACnB,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,IAAA,4BAAoB,EAC5D,YAAY,CAAC,KAAK,CACnB,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,6BAA6B;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAG,CAAC,OAAO,CACT,iDAAiD,EACjD;YACE,UAAU;YACV,KAAK;SACN,EACD,gBAAgB,CACjB,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,EAAE,GAAG,EAAmB;IAG9D,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;IAC/C,MAAM,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACvC,MAAM,OAAO,GAAG,MAAM,IAAA,qBAAQ,EAAC,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,+BAA+B,EAAE,GAAG,gBAAgB,CAAC;IAC7D,MAAM,OAAO,GAAoB,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;QACxD,QAAQ,EAAE,IAAI,+BAA+B,EAAE;QAC/C,QAAQ,EAAE,IAAI;QACd,QAAQ,EAAE,GAAG;QACb,kBAAkB;KACnB,CAAC,CAAC;IACH,OAAO;QACL,IAAI,EAAE,OAAO;KACd,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CAAC,EACpC,IAAI,EAAE,OAAO,EACb,UAAU,GAIX;IACC,IAAI,CAAC;QACH,MAAM,eAAe,GAAG,CAAC,UAAU,IAAI,UAAU,KAAK,SAAS,CAAC;QAEhE,0HAA0H;QAC1H,MAAM,MAAM,GAAG,eAAe;YAC5B,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACf,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,UAAU,CAAC,CAAC;QAEtD,iDAAiD;QACjD,mDAAmD;QAEnD,MAAM,IAAI,GAAmB;YAC3B,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE;gBACL,OAAO,EAAE,wCAAwC;gBACjD,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,EAAE;aACf;YACD,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,EAAE;;YAClE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;YACxD,QAAQ,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,IAAI,EAAE,CAAC;gBAC5B,KAAK,QAAQ;oBACX,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;wBAChC,IAAI,EAAE,QAAQ;qBACf,CAAC;oBACF,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;wBAChC,IAAI,EAAE,QAAQ;qBACf,CAAC;oBACF,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG;wBAChC,IAAI,EAAE,SAAS;qBAChB,CAAC;oBACF,MAAM;gBACR,KAAK,MAAM;oBACT,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG;wBACrB,KAAK,EAAE,QAAQ;wBACf,WAAW;qBACZ,CAAC;YACN,CAAC;YAED,qCAAqC;YACrC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,IAAI,QAAQ;oBAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACjD,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;oBAChE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,WAAW,GAAG,WAAW,CAAC;gBAC5D,CAAC;gBACD,IAAI,YAAY,IAAI,OAAO,IAAI,YAAY,EAAE,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,OAAO;wBACrC,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ;4BACpC,CAAC,CAAC,IAAA,4BAAoB,EAAC,YAAY,CAAC,KAAK,CAAC;4BAC1C,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAG,CAAC,OAAO,CACT,2CAA2C,EAC3C;YACE,UAAU;YACV,KAAK;SACN,EACD,gBAAgB,CACjB,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,IAAI,GAGL;;IACC,IAAI,IAAI,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAChC,gEAAgE;IAChE,MAAM,CAAC,OAAO,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,UAAU,KAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,EAAE;QACzE,IAAI,IAAA,qBAAa,EAAC,IAAI,CAAC,EAAE,CAAC;YACxB,4DAA4D;YAC5D,uBAAuB;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,EACxC,GAAG,EAAE,UAAU,EACf,cAAc,GAIf;IAaC,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAW,EAAC;QAClC,IAAI,EAAE,UAAU;QAChB,cAAc;QACd,WAAW,EAAE,OAAO;KACrB,CAAC,CAAC;IACH,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC;YACrD,GAAG,EAAE,SAAS,CAAC,YAAY;SAC5B,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,cAAc,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAW,EAAC;QAC/B,IAAI,EAAE,UAAU;QAChB,cAAc;KACf,CAAC,CAAC;IACH,IAAI,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,cAAI,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChD,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,aAAa,GAAG,MAAM,wBAAwB,CAAC;gBACnD,GAAG,EAAE,MAAM,CAAC,YAAY;aACzB,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,aAAa,CAAC,IAAI;aACzB,CAAC;QACJ,CAAC;QACD,KAAK,KAAK,CAAC;QACX,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,cAAc,GAAG,MAAM,yBAAyB,CAAC;gBACrD,GAAG,EAAE,MAAM,CAAC,YAAY;aACzB,CAAC,CAAC;YACH,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,cAAc,CAAC,IAAI;aAC1B,CAAC;QACJ,CAAC;QACD;YACE,OAAO;gBACL,IAAI,EAAE,SAAS;aAChB,CAAC;IACN,CAAC;AACH,CAAC;AAED,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAGpC,CAAC;AACG,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,SAAG,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC;IAC5D,uBAAuB,CAAC,KAAK,EAAE,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,mBAAmB,uBAG9B;AACF,KAAK,UAAU,kBAAkB,CAC/B,IAAsD;IAEtD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,uBAAuB,CAAC,GAAG,CAAC,QAAQ,EAAE,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,OAAO,uBAAuB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,EAC1B,GAAG,EACH,UAAU,EACV,cAAc,GAGf;IACC,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC;QAC/C,GAAG;QACH,cAAc;KACf,CAAC,CAAC;IACH,QAAQ,eAAe,CAAC,IAAI,EAAE,CAAC;QAC7B,KAAK,YAAY;YACf,OAAO,6BAA6B,CAAC;gBACnC,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,UAAU;aACX,CAAC,CAAC;QACL,KAAK,WAAW;YACd,OAAO,4BAA4B,CAAC;gBAClC,IAAI,EAAE,eAAe,CAAC,IAAI;gBAC1B,UAAU;aACX,CAAC,CAAC;QACL,KAAK,SAAS,CAAC;QACf;YACE,OAAO,KAAK,CAAC;IACjB,CAAC;AACH,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,GAEC;IAED,OAAO,WAAW,CAAC;QACjB,IAAI,EAAE,MAAM,YAAY,CAAC,GAAG,CAAC;KAC9B,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,eAAuB,EACvB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,IAAA,6BAAgB,EAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,IAAA,6BAAgB,EAAC,WAAW,CAAC,CAAC;QACnE,MAAM,CAAC,uBAAuB,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;QAChE,IAAI,iBAAiB,KAAK,EAAE,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAC;QACJ,CAAC;QAED,sFAAsF;QACtF,kGAAkG;QAClG,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAC5B,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YACvB,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SACvB,CAAC,CACH,CAAC;QACF,MAAM,YAAY,GAAG,cAAI,CAAC,OAAO,CAC/B,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE;YAC3B,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;SACvB,CAAC,CACH,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAA,iBAAI,EACF,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,EAChD,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,qBAAqB,YAAY,KAAK,CAAC,CACnE;YACD,IAAA,iBAAI,EACF,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,6BAA6B,CAAC,EACnD,cAAI,CAAC,IAAI,CAAC,eAAe,EAAE,wBAAwB,YAAY,KAAK,CAAC,CACtE;YACD,IAAA,iBAAI,EACF,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,iCAAiC,CAAC,EAC1D,cAAI,CAAC,IAAI,CACP,eAAe,EACf,4BAA4B,eAAe,KAAK,CACjD,CACF;YACD,IAAA,iBAAI,EACF,cAAI,CAAC,IAAI,CAAC,YAAY,EAAE,8BAA8B,CAAC,EACvD,cAAI,CAAC,IAAI,CACP,eAAe,EACf,yBAAyB,eAAe,KAAK,CAC9C,CACF;SACF,CAAC,CAAC;QACH,MAAM,eAAe,GACnB,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC;QAE3E,OAAO;YACL,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,eAAe,IAAI,YAAY,KAAK,CAAC;YACpE,cAAI,CAAC,IAAI,CACP,UAAU,EACV,aAAa,eAAe,IAAI,eAAe,KAAK,CACrD;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAG,CAAC,IAAI,CACN,gHAAgH,EAChH,KAAK,EACL,wBAAwB,CACzB,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@knapsack/renderer-react",
3
3
  "description": "Render React",
4
- "version": "4.86.7",
4
+ "version": "4.86.8--canary.6838.e7bc12f.0",
5
5
  "type": "commonjs",
6
6
  "types": "./dist/index.d.ts",
7
7
  "exports": {
@@ -32,28 +32,28 @@
32
32
  "author": "Knapsack",
33
33
  "dependencies": {
34
34
  "@babel/preset-react": "^7.27.1",
35
- "@knapsack/app": "4.86.7",
36
- "@knapsack/creator-utils": "4.86.7",
37
- "@knapsack/file-utils": "4.86.7",
38
- "@knapsack/ks-file-utils": "4.86.7",
39
- "@knapsack/renderer-react-components": "4.86.7",
40
- "@knapsack/renderer-webpack-base": "4.86.7",
41
- "@knapsack/spec-utils": "4.86.7",
42
- "@knapsack/types": "4.86.7",
43
- "@knapsack/utils": "4.86.7",
35
+ "@knapsack/app": "4.86.8--canary.6838.e7bc12f.0",
36
+ "@knapsack/creator-utils": "4.86.8--canary.6838.e7bc12f.0",
37
+ "@knapsack/file-utils": "4.86.8--canary.6838.e7bc12f.0",
38
+ "@knapsack/ks-file-utils": "4.86.8--canary.6838.e7bc12f.0",
39
+ "@knapsack/renderer-react-components": "4.86.8--canary.6838.e7bc12f.0",
40
+ "@knapsack/renderer-webpack-base": "4.86.8--canary.6838.e7bc12f.0",
41
+ "@knapsack/spec-utils": "4.86.8--canary.6838.e7bc12f.0",
42
+ "@knapsack/types": "4.86.8--canary.6838.e7bc12f.0",
43
+ "@knapsack/utils": "4.86.8--canary.6838.e7bc12f.0",
44
44
  "react": "^18.3.1",
45
- "react-docgen": "^6.0.4",
45
+ "react-docgen": "^8.0.2",
46
46
  "react-docgen-typescript": "^2.4.0",
47
47
  "react-dom": "^18.3.1",
48
48
  "typescript": "^5.9.2",
49
49
  "zod": "^4.0.14"
50
50
  },
51
51
  "devDependencies": {
52
- "@knapsack/eslint-config-starter": "4.86.7",
53
- "@knapsack/sandbox-components": "4.86.7",
54
- "@knapsack/test-ava": "4.86.7",
55
- "@knapsack/toby": "4.86.7",
56
- "@knapsack/typescript-config-starter": "4.86.7",
52
+ "@knapsack/eslint-config-starter": "4.86.8--canary.6838.e7bc12f.0",
53
+ "@knapsack/sandbox-components": "4.86.8--canary.6838.e7bc12f.0",
54
+ "@knapsack/test-ava": "4.86.8--canary.6838.e7bc12f.0",
55
+ "@knapsack/toby": "4.86.8--canary.6838.e7bc12f.0",
56
+ "@knapsack/typescript-config-starter": "4.86.8--canary.6838.e7bc12f.0",
57
57
  "@mui/material": "^5.18.0",
58
58
  "@mui/x-data-grid": "^6.20.4",
59
59
  "@types/node": "^20.19.22",
@@ -71,5 +71,5 @@
71
71
  "directory": "apps/client/renderers/renderer-react",
72
72
  "type": "git"
73
73
  },
74
- "gitHead": "06db8c00ff66883b98cc2f4f0d568084ac43033d"
74
+ "gitHead": "e7bc12fba159a40f2963a172a3b3916a16b76b96"
75
75
  }