logicstamp-context 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/LLM_CONTEXT.md +67 -20
  2. package/README.md +68 -33
  3. package/dist/cli/commands/clean.d.ts +2 -2
  4. package/dist/cli/commands/clean.js +2 -2
  5. package/dist/cli/commands/compare.js +1 -1
  6. package/dist/cli/commands/compare.js.map +1 -1
  7. package/dist/cli/commands/context/configManager.js +2 -2
  8. package/dist/cli/commands/context/configManager.js.map +1 -1
  9. package/dist/cli/commands/context/contractBuilder.d.ts +1 -0
  10. package/dist/cli/commands/context/contractBuilder.d.ts.map +1 -1
  11. package/dist/cli/commands/context/contractBuilder.js +1 -1
  12. package/dist/cli/commands/context/contractBuilder.js.map +1 -1
  13. package/dist/cli/commands/context/fileWriter.d.ts +11 -0
  14. package/dist/cli/commands/context/fileWriter.d.ts.map +1 -1
  15. package/dist/cli/commands/context/fileWriter.js +52 -4
  16. package/dist/cli/commands/context/fileWriter.js.map +1 -1
  17. package/dist/cli/commands/context/index.d.ts +20 -2
  18. package/dist/cli/commands/context/index.d.ts.map +1 -1
  19. package/dist/cli/commands/context/index.js +22 -2
  20. package/dist/cli/commands/context/index.js.map +1 -1
  21. package/dist/cli/commands/context/statsCalculator.d.ts +1 -1
  22. package/dist/cli/commands/context/statsCalculator.js +4 -4
  23. package/dist/cli/commands/context/statsCalculator.js.map +1 -1
  24. package/dist/cli/commands/context/tokenEstimator.d.ts.map +1 -1
  25. package/dist/cli/commands/context/tokenEstimator.js +10 -7
  26. package/dist/cli/commands/context/tokenEstimator.js.map +1 -1
  27. package/dist/cli/commands/context/{incrementalWatch.d.ts → watchMode/incrementalWatch.d.ts} +6 -6
  28. package/dist/cli/commands/context/watchMode/incrementalWatch.d.ts.map +1 -0
  29. package/dist/cli/commands/context/{incrementalWatch.js → watchMode/incrementalWatch.js} +107 -45
  30. package/dist/cli/commands/context/watchMode/incrementalWatch.js.map +1 -0
  31. package/dist/cli/commands/context/watchMode/index.d.ts +12 -0
  32. package/dist/cli/commands/context/watchMode/index.d.ts.map +1 -0
  33. package/dist/cli/commands/context/watchMode/index.js +12 -0
  34. package/dist/cli/commands/context/watchMode/index.js.map +1 -0
  35. package/dist/cli/commands/context/{watchDiff.d.ts → watchMode/watchDiff.d.ts} +2 -2
  36. package/dist/cli/commands/context/watchMode/watchDiff.d.ts.map +1 -0
  37. package/dist/cli/commands/context/{watchDiff.js → watchMode/watchDiff.js} +1 -1
  38. package/dist/cli/commands/context/watchMode/watchDiff.js.map +1 -0
  39. package/dist/cli/commands/context/watchMode/watchMode.d.ts +10 -0
  40. package/dist/cli/commands/context/watchMode/watchMode.d.ts.map +1 -0
  41. package/dist/cli/commands/context/{watchMode.js → watchMode/watchMode.js} +127 -30
  42. package/dist/cli/commands/context/watchMode/watchMode.js.map +1 -0
  43. package/dist/cli/commands/context.d.ts +3 -1
  44. package/dist/cli/commands/context.d.ts.map +1 -1
  45. package/dist/cli/commands/context.js +17 -11
  46. package/dist/cli/commands/context.js.map +1 -1
  47. package/dist/cli/commands/init.js +7 -7
  48. package/dist/cli/commands/init.js.map +1 -1
  49. package/dist/cli/commands/security.d.ts +1 -1
  50. package/dist/cli/commands/security.js +1 -1
  51. package/dist/cli/commands/style.d.ts +2 -2
  52. package/dist/cli/commands/style.js +2 -2
  53. package/dist/cli/commands/validate.d.ts +1 -1
  54. package/dist/cli/commands/validate.js +2 -2
  55. package/dist/cli/commands/validate.js.map +1 -1
  56. package/dist/cli/handlers/compareHandler.d.ts +1 -1
  57. package/dist/cli/handlers/compareHandler.js +5 -5
  58. package/dist/cli/handlers/compareHandler.js.map +1 -1
  59. package/dist/cli/handlers/contextHandler.d.ts +1 -1
  60. package/dist/cli/handlers/contextHandler.js +2 -2
  61. package/dist/cli/handlers/contextHandler.js.map +1 -1
  62. package/dist/cli/handlers/styleHandler.js +1 -1
  63. package/dist/cli/handlers/styleHandler.js.map +1 -1
  64. package/dist/cli/index.d.ts +2 -2
  65. package/dist/cli/index.js +16 -10
  66. package/dist/cli/index.js.map +1 -1
  67. package/dist/cli/parser/argumentParser.d.ts +1 -1
  68. package/dist/cli/parser/argumentParser.d.ts.map +1 -1
  69. package/dist/cli/parser/argumentParser.js +12 -1
  70. package/dist/cli/parser/argumentParser.js.map +1 -1
  71. package/dist/cli/parser/helpText.d.ts.map +1 -1
  72. package/dist/cli/parser/helpText.js +51 -38
  73. package/dist/cli/parser/helpText.js.map +1 -1
  74. package/dist/cli/stamp.d.ts +2 -2
  75. package/dist/cli/stamp.js +3 -3
  76. package/dist/cli/stamp.js.map +1 -1
  77. package/dist/core/pack/loader.d.ts +2 -0
  78. package/dist/core/pack/loader.d.ts.map +1 -1
  79. package/dist/core/pack/loader.js +17 -1
  80. package/dist/core/pack/loader.js.map +1 -1
  81. package/dist/extractors/react/propExtractor.d.ts.map +1 -1
  82. package/dist/extractors/react/propExtractor.js +164 -217
  83. package/dist/extractors/react/propExtractor.js.map +1 -1
  84. package/dist/extractors/styling/styleExtractor.d.ts +5 -2
  85. package/dist/extractors/styling/styleExtractor.d.ts.map +1 -1
  86. package/dist/extractors/styling/styleExtractor.js +177 -5
  87. package/dist/extractors/styling/styleExtractor.js.map +1 -1
  88. package/dist/types/UIFContract.d.ts +27 -4
  89. package/dist/types/UIFContract.d.ts.map +1 -1
  90. package/dist/types/UIFContract.js.map +1 -1
  91. package/dist/utils/config.d.ts +8 -0
  92. package/dist/utils/config.d.ts.map +1 -1
  93. package/dist/utils/config.js +14 -1
  94. package/dist/utils/config.js.map +1 -1
  95. package/dist/utils/fileLock.d.ts.map +1 -1
  96. package/dist/utils/fileLock.js +3 -0
  97. package/dist/utils/fileLock.js.map +1 -1
  98. package/package.json +2 -2
  99. package/schema/logicstamp.context.schema.json +70 -9
  100. package/dist/cli/commands/context/incrementalWatch.d.ts.map +0 -1
  101. package/dist/cli/commands/context/incrementalWatch.js.map +0 -1
  102. package/dist/cli/commands/context/watchDiff.d.ts.map +0 -1
  103. package/dist/cli/commands/context/watchDiff.js.map +0 -1
  104. package/dist/cli/commands/context/watchMode.d.ts +0 -10
  105. package/dist/cli/commands/context/watchMode.d.ts.map +0 -1
  106. package/dist/cli/commands/context/watchMode.js.map +0 -1
@@ -8,22 +8,157 @@ import { hasExportedHooks, extractHookParameters } from './hookParameterExtracto
8
8
  // TypeScript TypeFlags.Undefined constant (0x4000 = 16384)
9
9
  // Used for checking if a union type includes undefined
10
10
  const TYPEFLAG_UNDEFINED = 16384; // ts.TypeFlags.Undefined
11
+ /**
12
+ * Wraps a function call in a try-catch, returning a default value on error.
13
+ * Use this to simplify error handling for operations that may fail but shouldn't
14
+ * stop processing of other items.
15
+ */
16
+ function safeExtract(fn, defaultValue, errorContext) {
17
+ try {
18
+ return fn();
19
+ }
20
+ catch (error) {
21
+ if (errorContext) {
22
+ debugError('propExtractor', 'extractProps', {
23
+ filePath: errorContext.filePath,
24
+ error: error instanceof Error ? error.message : String(error),
25
+ context: errorContext.context,
26
+ });
27
+ }
28
+ return defaultValue;
29
+ }
30
+ }
11
31
  /**
12
32
  * Safely get TypeScript type flags from a ts-morph Type
13
33
  * Accesses the underlying TypeScript compiler type to get flags
14
34
  */
15
35
  function getTypeFlags(type) {
16
- try {
17
- // Access the underlying TypeScript compiler type
18
- const compilerType = type.compilerType;
19
- if (compilerType && typeof compilerType.flags === 'number') {
20
- return compilerType.flags;
36
+ const compilerType = type.compilerType;
37
+ if (compilerType && typeof compilerType.flags === 'number') {
38
+ return compilerType.flags;
39
+ }
40
+ return 0;
41
+ }
42
+ /**
43
+ * Check if a union type includes undefined
44
+ */
45
+ function isUndefinedType(type) {
46
+ const flags = getTypeFlags(type);
47
+ if ((flags & TYPEFLAG_UNDEFINED) !== 0) {
48
+ return true;
49
+ }
50
+ return type.getText() === 'undefined';
51
+ }
52
+ /**
53
+ * Check if a union type contains undefined and extract the non-undefined type text
54
+ * Returns { hasUndefined, typeText } where typeText excludes undefined
55
+ */
56
+ function analyzeUnionForUndefined(propType) {
57
+ if (!propType.isUnion()) {
58
+ return { hasUndefined: false, typeText: propType.getText() };
59
+ }
60
+ const unionTypes = propType.getUnionTypes();
61
+ const hasUndefined = unionTypes.some(isUndefinedType);
62
+ if (!hasUndefined) {
63
+ return { hasUndefined: false, typeText: propType.getText() };
64
+ }
65
+ const typeText = unionTypes
66
+ .filter(ut => !isUndefinedType(ut))
67
+ .map(ut => ut.getText())
68
+ .join(' | ');
69
+ return { hasUndefined: true, typeText };
70
+ }
71
+ /**
72
+ * Extract a single prop from an interface property
73
+ */
74
+ function extractInterfaceProp(prop) {
75
+ const name = prop.getName();
76
+ let isOptional = prop.hasQuestionToken();
77
+ let type = prop.getType().getText();
78
+ let didRebuildFromUnion = false;
79
+ // Check for union-with-undefined (some people write foo: string | undefined without ?)
80
+ if (!isOptional) {
81
+ const analysis = analyzeUnionForUndefined(prop.getType());
82
+ if (analysis.hasUndefined) {
83
+ isOptional = true;
84
+ type = analysis.typeText;
85
+ didRebuildFromUnion = true;
21
86
  }
22
87
  }
23
- catch {
24
- // Fallback if compiler type not accessible
88
+ // If optional but we didn't rebuild from union types, strip undefined from type text
89
+ if (isOptional && !didRebuildFromUnion) {
90
+ type = stripUndefinedFromUnionText(type);
25
91
  }
26
- return 0;
92
+ return { name, propType: normalizePropType(type, isOptional) };
93
+ }
94
+ /**
95
+ * Extract props from a single interface declaration
96
+ */
97
+ function extractPropsFromInterface(iface, filePath) {
98
+ const props = {};
99
+ if (!/Props$/i.test(iface.getName())) {
100
+ return props;
101
+ }
102
+ for (const prop of iface.getProperties()) {
103
+ const result = safeExtract(() => extractInterfaceProp(prop), null, { filePath, context: 'props-interface-property' });
104
+ if (result) {
105
+ props[result.name] = result.propType;
106
+ }
107
+ }
108
+ return props;
109
+ }
110
+ /**
111
+ * Extract a single prop from a type alias property symbol
112
+ */
113
+ function extractTypeAliasProp(prop, typeAlias) {
114
+ const name = prop.getName();
115
+ let isOptional = false;
116
+ let propType = prop.getTypeAtLocation(typeAlias).getText();
117
+ let didRebuildFromUnion = false;
118
+ // Method 1: Check if type is a union that includes undefined
119
+ const propTypeObj = prop.getTypeAtLocation(typeAlias);
120
+ const analysis = analyzeUnionForUndefined(propTypeObj);
121
+ if (analysis.hasUndefined) {
122
+ isOptional = true;
123
+ propType = analysis.typeText;
124
+ didRebuildFromUnion = true;
125
+ }
126
+ // Method 2: Check declarations for question token (AST method)
127
+ if (!isOptional) {
128
+ const declarations = prop.getDeclarations();
129
+ isOptional = declarations.some((decl) => {
130
+ if (Node.isPropertySignature(decl)) {
131
+ return decl.hasQuestionToken();
132
+ }
133
+ if (Node.isPropertyDeclaration(decl)) {
134
+ return decl.hasQuestionToken();
135
+ }
136
+ return false;
137
+ });
138
+ }
139
+ // If optional but we didn't rebuild from union types, strip undefined from type text
140
+ if (isOptional && !didRebuildFromUnion) {
141
+ propType = stripUndefinedFromUnionText(propType);
142
+ }
143
+ return { name, propType: normalizePropType(propType, isOptional) };
144
+ }
145
+ /**
146
+ * Extract props from a single type alias declaration
147
+ */
148
+ function extractPropsFromTypeAlias(typeAlias, filePath) {
149
+ const props = {};
150
+ if (!/Props$/i.test(typeAlias.getName())) {
151
+ return props;
152
+ }
153
+ const type = typeAlias.getType();
154
+ const properties = type.getProperties();
155
+ for (const prop of properties) {
156
+ const result = safeExtract(() => extractTypeAliasProp(prop, typeAlias), null, { filePath, context: 'props-typealias-property' });
157
+ if (result) {
158
+ props[result.name] = result.propType;
159
+ }
160
+ }
161
+ return props;
27
162
  }
28
163
  /**
29
164
  * Extract component props from TypeScript interfaces/types
@@ -32,216 +167,28 @@ function getTypeFlags(type) {
32
167
  export function extractProps(source) {
33
168
  const props = {};
34
169
  const filePath = source.getFilePath?.() ?? 'unknown';
35
- try {
36
- // Look for interfaces ending with Props
37
- try {
38
- source.getInterfaces().forEach((iface) => {
39
- try {
40
- if (/Props$/i.test(iface.getName())) {
41
- iface.getProperties().forEach((prop) => {
42
- try {
43
- const name = prop.getName();
44
- let isOptional = prop.hasQuestionToken();
45
- let type = prop.getType().getText();
46
- let didRebuildFromUnion = false;
47
- // Also check for union-with-undefined (some people write foo: string | undefined without ?)
48
- if (!isOptional) {
49
- try {
50
- const propType = prop.getType();
51
- if (propType.isUnion()) {
52
- const unionTypes = propType.getUnionTypes();
53
- const hasUndefined = unionTypes.some(ut => {
54
- try {
55
- const flags = getTypeFlags(ut);
56
- if ((flags & TYPEFLAG_UNDEFINED) !== 0) {
57
- return true;
58
- }
59
- }
60
- catch {
61
- // Fallback to string check if flags not available
62
- }
63
- const text = ut.getText();
64
- return text === 'undefined';
65
- });
66
- if (hasUndefined) {
67
- isOptional = true;
68
- // Normalize type text by removing undefined from union (handles any position)
69
- type = unionTypes
70
- .filter(ut => {
71
- const flags = getTypeFlags(ut);
72
- if ((flags & TYPEFLAG_UNDEFINED) !== 0) {
73
- return false;
74
- }
75
- return ut.getText() !== 'undefined';
76
- })
77
- .map(ut => ut.getText())
78
- .join(' | ');
79
- didRebuildFromUnion = true;
80
- }
81
- }
82
- }
83
- catch {
84
- // Fallback if union check fails
85
- }
86
- }
87
- // If optional but we didn't rebuild from union types, strip undefined from type text
88
- // This handles cases like "foo?: undefined | string" where ? token made us skip union logic
89
- if (isOptional && !didRebuildFromUnion) {
90
- type = stripUndefinedFromUnionText(type);
91
- }
92
- props[name] = normalizePropType(type, isOptional);
93
- }
94
- catch (error) {
95
- debugError('propExtractor', 'extractProps', {
96
- filePath,
97
- error: error instanceof Error ? error.message : String(error),
98
- context: 'props-interface-property',
99
- });
100
- // Continue with next property
101
- }
102
- });
103
- }
104
- }
105
- catch (error) {
106
- debugError('propExtractor', 'extractProps', {
107
- filePath,
108
- error: error instanceof Error ? error.message : String(error),
109
- context: 'props-interface',
110
- });
111
- // Continue with next interface
112
- }
113
- });
114
- }
115
- catch (error) {
116
- debugError('propExtractor', 'extractProps', {
117
- filePath,
118
- error: error instanceof Error ? error.message : String(error),
119
- context: 'props-interfaces-batch',
120
- });
121
- }
122
- // Look for type aliases ending with Props
123
- try {
124
- source.getTypeAliases().forEach((typeAlias) => {
125
- try {
126
- if (/Props$/i.test(typeAlias.getName())) {
127
- const type = typeAlias.getType();
128
- const properties = type.getProperties();
129
- properties.forEach((prop) => {
130
- try {
131
- const name = prop.getName();
132
- // Check if optional using TypeScript's type system
133
- let isOptional = false;
134
- let propType = prop.getTypeAtLocation(typeAlias).getText();
135
- let didRebuildFromUnion = false;
136
- // Method 1: Check if type is a union that includes undefined
137
- // Use type flags instead of string matching to avoid false positives
138
- try {
139
- const propTypeObj = prop.getTypeAtLocation(typeAlias);
140
- if (propTypeObj.isUnion()) {
141
- const unionTypes = propTypeObj.getUnionTypes();
142
- const hasUndefined = unionTypes.some(ut => {
143
- // Check type flags for undefined (more robust than string matching)
144
- const flags = getTypeFlags(ut);
145
- if ((flags & TYPEFLAG_UNDEFINED) !== 0) {
146
- return true;
147
- }
148
- // Fallback: exact string match only (avoid false positives like SomeUndefinedType)
149
- const text = ut.getText();
150
- return text === 'undefined';
151
- });
152
- if (hasUndefined) {
153
- isOptional = true;
154
- // Normalize type text by removing undefined from union (handles any position)
155
- // This ensures consistent output: undefined | string and string | undefined both become string
156
- propType = unionTypes
157
- .filter(ut => {
158
- const flags = getTypeFlags(ut);
159
- if ((flags & TYPEFLAG_UNDEFINED) !== 0) {
160
- return false;
161
- }
162
- return ut.getText() !== 'undefined';
163
- })
164
- .map(ut => ut.getText())
165
- .join(' | ');
166
- didRebuildFromUnion = true;
167
- }
168
- }
169
- }
170
- catch {
171
- // Fallback if union check fails
172
- }
173
- // Method 2: Check declarations for question token (AST method)
174
- if (!isOptional) {
175
- const declarations = prop.getDeclarations();
176
- isOptional = declarations.some((decl) => {
177
- // Use AST method to check for question token
178
- // PropertySignature and PropertyDeclaration both have hasQuestionToken()
179
- if (Node.isPropertySignature(decl)) {
180
- return decl.hasQuestionToken();
181
- }
182
- if (Node.isPropertyDeclaration(decl)) {
183
- return decl.hasQuestionToken();
184
- }
185
- return false;
186
- });
187
- }
188
- // If optional but we didn't rebuild from union types, strip undefined from type text
189
- // This handles cases like "foo?: undefined | string" where ? token made us skip union logic
190
- // Also handles "foo?: string | number" where union exists but doesn't contain undefined
191
- if (isOptional && !didRebuildFromUnion) {
192
- propType = stripUndefinedFromUnionText(propType);
193
- }
194
- props[name] = normalizePropType(propType, isOptional);
195
- }
196
- catch (error) {
197
- debugError('propExtractor', 'extractProps', {
198
- filePath,
199
- error: error instanceof Error ? error.message : String(error),
200
- context: 'props-typealias-property',
201
- });
202
- // Continue with next property
203
- }
204
- });
205
- }
206
- }
207
- catch (error) {
208
- debugError('propExtractor', 'extractProps', {
209
- filePath,
210
- error: error instanceof Error ? error.message : String(error),
211
- context: 'props-typealias',
212
- });
213
- // Continue with next type alias
214
- }
215
- });
216
- }
217
- catch (error) {
218
- debugError('propExtractor', 'extractProps', {
219
- filePath,
220
- error: error instanceof Error ? error.message : String(error),
221
- context: 'props-typealiases-batch',
222
- });
223
- }
224
- // Always try to extract hook parameters if there are exported hooks
225
- // This ensures hook parameters are captured even if there's a Props interface
226
- // Props take priority on conflicts (if a prop exists in both, Props value is kept)
227
- // Quick check: only extract if there might be exported hooks (performance optimization)
228
- if (hasExportedHooks(source)) {
229
- const hookParams = extractHookParameters(source);
230
- if (Object.keys(hookParams).length > 0) {
231
- // Merge hook parameters with Props, with Props taking priority on conflicts
232
- // Save original props to preserve Props values, then merge hookParams, then restore Props
233
- const originalProps = { ...props };
234
- Object.assign(props, hookParams);
235
- Object.assign(props, originalProps); // Props override any conflicting hook parameters
236
- }
237
- }
170
+ // Extract props from interfaces ending with Props
171
+ const interfaces = safeExtract(() => source.getInterfaces(), [], { filePath, context: 'props-interfaces-batch' });
172
+ for (const iface of interfaces) {
173
+ const ifaceProps = safeExtract(() => extractPropsFromInterface(iface, filePath), {}, { filePath, context: 'props-interface' });
174
+ Object.assign(props, ifaceProps);
238
175
  }
239
- catch (error) {
240
- debugError('propExtractor', 'extractProps', {
241
- filePath,
242
- error: error instanceof Error ? error.message : String(error),
243
- });
244
- return {};
176
+ // Extract props from type aliases ending with Props
177
+ const typeAliases = safeExtract(() => source.getTypeAliases(), [], { filePath, context: 'props-typealiases-batch' });
178
+ for (const typeAlias of typeAliases) {
179
+ const typeAliasProps = safeExtract(() => extractPropsFromTypeAlias(typeAlias, filePath), {}, { filePath, context: 'props-typealias' });
180
+ Object.assign(props, typeAliasProps);
181
+ }
182
+ // Extract hook parameters if there are exported hooks
183
+ // Props take priority on conflicts (if a prop exists in both, Props value is kept)
184
+ if (hasExportedHooks(source)) {
185
+ const hookParams = extractHookParameters(source);
186
+ if (Object.keys(hookParams).length > 0) {
187
+ // Merge hook parameters with Props, with Props taking priority on conflicts
188
+ const originalProps = { ...props };
189
+ Object.assign(props, hookParams);
190
+ Object.assign(props, originalProps); // Props override any conflicting hook parameters
191
+ }
245
192
  }
246
193
  return props;
247
194
  }
@@ -1 +1 @@
1
- {"version":3,"file":"propExtractor.js","sourceRoot":"","sources":["../../../src/extractors/react/propExtractor.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAc,IAAI,EAAoB,MAAM,UAAU,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEtF,2DAA2D;AAC3D,uDAAuD;AACvD,MAAM,kBAAkB,GAAG,KAAK,CAAC,CAAC,yBAAyB;AAE3D;;;GAGG;AACH,SAAS,YAAY,CAAC,IAAU;IAC9B,IAAI,CAAC;QACH,iDAAiD;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,IAAI,YAAY,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC3D,OAAO,YAAY,CAAC,KAAK,CAAC;QAC5B,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,2CAA2C;IAC7C,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,MAAkB;IAC7C,MAAM,KAAK,GAA6B,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,SAAS,CAAC;IAErD,IAAI,CAAC;QACH,wCAAwC;QACxC,IAAI,CAAC;YACH,MAAM,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvC,IAAI,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACpC,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BACrC,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gCAC5B,IAAI,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gCACzC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,CAAC;gCACpC,IAAI,mBAAmB,GAAG,KAAK,CAAC;gCAEhC,4FAA4F;gCAC5F,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,IAAI,CAAC;wCACH,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;wCAChC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;4CACvB,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC;4CAC5C,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gDACxC,IAAI,CAAC;oDACH,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;oDAC/B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;wDACvC,OAAO,IAAI,CAAC;oDACd,CAAC;gDACH,CAAC;gDAAC,MAAM,CAAC;oDACP,kDAAkD;gDACpD,CAAC;gDACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;gDAC1B,OAAO,IAAI,KAAK,WAAW,CAAC;4CAC9B,CAAC,CAAC,CAAC;4CAEH,IAAI,YAAY,EAAE,CAAC;gDACjB,UAAU,GAAG,IAAI,CAAC;gDAClB,8EAA8E;gDAC9E,IAAI,GAAG,UAAU;qDACd,MAAM,CAAC,EAAE,CAAC,EAAE;oDACX,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;oDAC/B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;wDACvC,OAAO,KAAK,CAAC;oDACf,CAAC;oDACD,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC;gDACtC,CAAC,CAAC;qDACD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;qDACvB,IAAI,CAAC,KAAK,CAAC,CAAC;gDACf,mBAAmB,GAAG,IAAI,CAAC;4CAC7B,CAAC;wCACH,CAAC;oCACH,CAAC;oCAAC,MAAM,CAAC;wCACP,gCAAgC;oCAClC,CAAC;gCACH,CAAC;gCAED,qFAAqF;gCACrF,4FAA4F;gCAC5F,IAAI,UAAU,IAAI,CAAC,mBAAmB,EAAE,CAAC;oCACvC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;gCAC3C,CAAC;gCAED,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;4BACpD,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;oCAC1C,QAAQ;oCACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oCAC7D,OAAO,EAAE,0BAA0B;iCACpC,CAAC,CAAC;gCACH,8BAA8B;4BAChC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;wBAC1C,QAAQ;wBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,OAAO,EAAE,iBAAiB;qBAC3B,CAAC,CAAC;oBACH,+BAA+B;gBACjC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;gBAC1C,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,wBAAwB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,0CAA0C;QAC1C,IAAI,CAAC;YACH,MAAM,CAAC,cAAc,EAAE,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;gBAC5C,IAAI,CAAC;oBACH,IAAI,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;wBACxC,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;wBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;wBAExC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;4BAC1B,IAAI,CAAC;gCACH,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;gCAE5B,mDAAmD;gCACnD,IAAI,UAAU,GAAG,KAAK,CAAC;gCACvB,IAAI,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;gCAC3D,IAAI,mBAAmB,GAAG,KAAK,CAAC;gCAEhC,6DAA6D;gCAC7D,qEAAqE;gCACrE,IAAI,CAAC;oCACH,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oCACtD,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;wCAC1B,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;wCAC/C,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;4CACxC,oEAAoE;4CACpE,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;4CAC/B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;gDACvC,OAAO,IAAI,CAAC;4CACd,CAAC;4CACD,mFAAmF;4CACnF,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;4CAC1B,OAAO,IAAI,KAAK,WAAW,CAAC;wCAC9B,CAAC,CAAC,CAAC;wCAEH,IAAI,YAAY,EAAE,CAAC;4CACjB,UAAU,GAAG,IAAI,CAAC;4CAClB,8EAA8E;4CAC9E,+FAA+F;4CAC/F,QAAQ,GAAG,UAAU;iDAClB,MAAM,CAAC,EAAE,CAAC,EAAE;gDACX,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;gDAC/B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;oDACvC,OAAO,KAAK,CAAC;gDACf,CAAC;gDACD,OAAO,EAAE,CAAC,OAAO,EAAE,KAAK,WAAW,CAAC;4CACtC,CAAC,CAAC;iDACD,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC;iDACvB,IAAI,CAAC,KAAK,CAAC,CAAC;4CACf,mBAAmB,GAAG,IAAI,CAAC;wCAC7B,CAAC;oCACH,CAAC;gCACH,CAAC;gCAAC,MAAM,CAAC;oCACP,gCAAgC;gCAClC,CAAC;gCAED,+DAA+D;gCAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;oCAChB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;oCAC5C,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wCACtC,6CAA6C;wCAC7C,yEAAyE;wCACzE,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;4CACnC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;wCACjC,CAAC;wCACD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;4CACrC,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;wCACjC,CAAC;wCACD,OAAO,KAAK,CAAC;oCACf,CAAC,CAAC,CAAC;gCACL,CAAC;gCAED,qFAAqF;gCACrF,4FAA4F;gCAC5F,wFAAwF;gCACxF,IAAI,UAAU,IAAI,CAAC,mBAAmB,EAAE,CAAC;oCACvC,QAAQ,GAAG,2BAA2B,CAAC,QAAQ,CAAC,CAAC;gCACnD,CAAC;gCAED,KAAK,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;4BACxD,CAAC;4BAAC,OAAO,KAAK,EAAE,CAAC;gCACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;oCAC1C,QAAQ;oCACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;oCAC7D,OAAO,EAAE,0BAA0B;iCACpC,CAAC,CAAC;gCACH,8BAA8B;4BAChC,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;wBAC1C,QAAQ;wBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC7D,OAAO,EAAE,iBAAiB;qBAC3B,CAAC,CAAC;oBACH,gCAAgC;gBAClC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;gBAC1C,QAAQ;gBACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,OAAO,EAAE,yBAAyB;aACnC,CAAC,CAAC;QACL,CAAC;QAED,oEAAoE;QACpE,8EAA8E;QAC9E,mFAAmF;QACnF,wFAAwF;QACxF,IAAI,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,MAAM,UAAU,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YACjD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvC,4EAA4E;gBAC5E,0FAA0F;gBAC1F,MAAM,aAAa,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBACjC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,iDAAiD;YACxF,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,eAAe,EAAE,cAAc,EAAE;YAC1C,QAAQ;YACR,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,yDAAyD;AACzD,+EAA+E;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"propExtractor.js","sourceRoot":"","sources":["../../../src/extractors/react/propExtractor.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,12 @@
3
3
  * Orchestrates extraction of style metadata from TypeScript components
4
4
  */
5
5
  import { SourceFile } from 'ts-morph';
6
- import type { StyleMetadata } from '../../types/UIFContract.js';
6
+ import type { StyleMetadata, StyleMode } from '../../types/UIFContract.js';
7
7
  /**
8
8
  * Extract style metadata from a source file
9
+ * @param source - The source file to extract from
10
+ * @param filePath - The file path for error reporting
11
+ * @param mode - Style extraction mode: 'lean' (default) or 'full'
9
12
  */
10
- export declare function extractStyleMetadata(source: SourceFile, filePath: string): Promise<StyleMetadata | undefined>;
13
+ export declare function extractStyleMetadata(source: SourceFile, filePath: string, mode?: StyleMode): Promise<StyleMetadata | undefined>;
11
14
  //# sourceMappingURL=styleExtractor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"styleExtractor.d.ts","sourceRoot":"","sources":["../../../src/extractors/styling/styleExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAyF,MAAM,UAAU,CAAC;AAC7H,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,4BAA4B,CAAC;AAc9E;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CA4DnH"}
1
+ {"version":3,"file":"styleExtractor.d.ts","sourceRoot":"","sources":["../../../src/extractors/styling/styleExtractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAyF,MAAM,UAAU,CAAC;AAC7H,OAAO,KAAK,EAAE,aAAa,EAAgB,SAAS,EAAgD,MAAM,4BAA4B,CAAC;AAcvI;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,SAAkB,GACvB,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAuEpC"}