@knapsack/spec-utils 4.75.1--canary.5526.163eb8a.0 → 4.75.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.
@@ -23,8 +23,8 @@
23
23
  ✔ analyze-exports › function with basic parameters: .d.ts
24
24
  ✔ analyze-exports › async function with basic parameters: .d.ts
25
25
  ✔ analyze-exports › function with complex parameters: .d.ts
26
- ✔ analyze-exports.sandbox-components › analyzeExports react (3.2s)
27
- ✔ analyze-exports.sandbox-components › analyzeExports angular (2s)
26
+ ✔ analyze-exports.sandbox-components › analyzeExports react (3.5s)
27
+ ✔ analyze-exports.sandbox-components › analyzeExports angular (2.2s)
28
28
  ✔ convert-to-spec › string
29
29
  ✔ convert-to-spec › boolean
30
30
  ✔ convert-to-spec › object
package/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ # v4.75.1 (Fri Jan 31 2025)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - null template demoIds causing render error [#5533](https://github.com/knapsack-labs/app-monorepo/pull/5533) ([@mabry1985](https://github.com/mabry1985))
6
+ - functions not populating schema on react infer spec [#5496](https://github.com/knapsack-labs/app-monorepo/pull/5496) ([@mabry1985](https://github.com/mabry1985))
7
+ - comment out object logic for first pass ([@mabry1985](https://github.com/mabry1985))
8
+ - handle function types ([@mabry1985](https://github.com/mabry1985))
9
+ - adds handling for object props ([@mabry1985](https://github.com/mabry1985))
10
+
11
+ #### 🏠 Internal
12
+
13
+ - Update Node.js to v20.18.2 [#5500](https://github.com/knapsack-labs/app-monorepo/pull/5500) ([@renovate[bot]](https://github.com/renovate[bot]))
14
+ - Ensure we await mergePr to properly catch errors [#5477](https://github.com/knapsack-labs/app-monorepo/pull/5477) ([@illepic](https://github.com/illepic))
15
+
16
+ #### Authors: 3
17
+
18
+ - [@renovate[bot]](https://github.com/renovate[bot])
19
+ - Christopher Bloom ([@illepic](https://github.com/illepic))
20
+ - Josh Mabry ([@mabry1985](https://github.com/mabry1985))
21
+
22
+ ---
23
+
1
24
  # v4.74.0 (Fri Jan 24 2025)
2
25
 
3
26
  #### 🏠 Internal
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-type.d.ts","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAGtD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,UAAU,EACV,YAAwB,GACzB,EAAE;IACD,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;CAC7B,GAAG,QAAQ,CAgKX"}
1
+ {"version":3,"file":"analyze-type.d.ts","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,QAAQ,EAAkB,MAAM,YAAY,CAAC;AAGtD,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAO,EACP,UAAU,EACV,YAAwB,GACzB,EAAE;IACD,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;IACd,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;CAC7B,GAAG,QAAQ,CA8NX"}
@@ -134,6 +134,65 @@ export function analyzeType({ type, checker, isOptional, visitedTypes = new Set(
134
134
  }
135
135
  }
136
136
  }
137
+ // Handle function types
138
+ if (typeFlags.includes('Object') && type.getCallSignatures().length > 0) {
139
+ return {
140
+ type: 'function',
141
+ parameters: [],
142
+ returnType: { type: 'misc', ...typeInfoCommon },
143
+ ...typeInfoCommon,
144
+ };
145
+ }
146
+ // Handle object types
147
+ // @TODO: update handling of object type inference
148
+ // https://linear.app/knapsack/issue/KSP-5880/handle-arrays-of-objects-in-react-renderer-infer-spec
149
+ // if (typeFlags.includes('Object')) {
150
+ // const properties = type.getProperties();
151
+ // if (properties.length > 0) {
152
+ // const analyzedProperties = properties.reduce<Record<string, SymbolInfo>>(
153
+ // (acc, prop) => {
154
+ // try {
155
+ // const propType = checker.getTypeOfSymbol(prop);
156
+ // if (propType) {
157
+ // const propAnalysis = analyzeType({
158
+ // type: propType,
159
+ // checker,
160
+ // // eslint-disable-next-line no-bitwise
161
+ // isOptional: !!(prop.flags & ts.SymbolFlags.Optional),
162
+ // visitedTypes,
163
+ // depth: depth + 1,
164
+ // });
165
+ // acc[prop.getName()] = {
166
+ // name: prop.getName(),
167
+ // typeInfo: propAnalysis,
168
+ // tsMetadata: {
169
+ // symbol: prop,
170
+ // type: propType,
171
+ // symbolFlags: getSetFlags({
172
+ // flags: prop.flags,
173
+ // enumObject: ts.SymbolFlags,
174
+ // }),
175
+ // },
176
+ // };
177
+ // }
178
+ // } catch (error) {
179
+ // console.debug(
180
+ // `Error analyzing property ${prop.getName()}: ${error}`,
181
+ // );
182
+ // }
183
+ // return acc;
184
+ // },
185
+ // {},
186
+ // );
187
+ // if (Object.keys(analyzedProperties).length > 0) {
188
+ // return {
189
+ // type: 'object',
190
+ // properties: analyzedProperties,
191
+ // ...typeInfoCommon,
192
+ // };
193
+ // }
194
+ // }
195
+ // }
137
196
  // Default to misc type for anything we can't properly analyze
138
197
  return {
139
198
  type: 'misc',
@@ -1 +1 @@
1
- {"version":3,"file":"analyze-type.js","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyze-type.js","sourceRoot":"","sources":["../src/analyze-type.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@knapsack/spec-utils",
3
3
  "description": "",
4
- "version": "4.75.1--canary.5526.163eb8a.0",
4
+ "version": "4.75.1",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -19,17 +19,17 @@
19
19
  "test": "ava"
20
20
  },
21
21
  "dependencies": {
22
- "@knapsack/utils": "4.75.1--canary.5526.163eb8a.0",
22
+ "@knapsack/utils": "4.75.1",
23
23
  "typescript": "^5.6.3"
24
24
  },
25
25
  "devDependencies": {
26
- "@knapsack/angular-sandbox-components": "4.75.1--canary.5526.163eb8a.0",
27
- "@knapsack/eslint-config-starter": "4.75.1--canary.5526.163eb8a.0",
28
- "@knapsack/prettier-config": "4.75.1--canary.5526.163eb8a.0",
29
- "@knapsack/sandbox-components": "4.75.1--canary.5526.163eb8a.0",
30
- "@knapsack/test-ava": "4.75.1--canary.5526.163eb8a.0",
31
- "@knapsack/types": "4.75.1--canary.5526.163eb8a.0",
32
- "@knapsack/typescript-config-starter": "4.75.1--canary.5526.163eb8a.0",
26
+ "@knapsack/angular-sandbox-components": "4.75.1",
27
+ "@knapsack/eslint-config-starter": "4.75.1",
28
+ "@knapsack/prettier-config": "4.75.1",
29
+ "@knapsack/sandbox-components": "4.75.1",
30
+ "@knapsack/test-ava": "4.75.1",
31
+ "@knapsack/types": "4.75.1",
32
+ "@knapsack/typescript-config-starter": "4.75.1",
33
33
  "@types/node": "^20.17.16",
34
34
  "ava": "^6.2.0",
35
35
  "eslint": "^8.57.0"
@@ -43,5 +43,5 @@
43
43
  "directory": "apps/client/libs/spec-utils",
44
44
  "type": "git"
45
45
  },
46
- "gitHead": "163eb8aa992048050741cd7cea1a8802203c2395"
46
+ "gitHead": "45ad5aef13539ff9a9154a25b7cfde7da79db7f0"
47
47
  }
@@ -167,6 +167,68 @@ export function analyzeType({
167
167
  }
168
168
  }
169
169
 
170
+ // Handle function types
171
+ if (typeFlags.includes('Object') && type.getCallSignatures().length > 0) {
172
+ return {
173
+ type: 'function',
174
+ parameters: [],
175
+ returnType: { type: 'misc', ...typeInfoCommon },
176
+ ...typeInfoCommon,
177
+ };
178
+ }
179
+
180
+ // Handle object types
181
+ // @TODO: update handling of object type inference
182
+ // https://linear.app/knapsack/issue/KSP-5880/handle-arrays-of-objects-in-react-renderer-infer-spec
183
+ // if (typeFlags.includes('Object')) {
184
+ // const properties = type.getProperties();
185
+ // if (properties.length > 0) {
186
+ // const analyzedProperties = properties.reduce<Record<string, SymbolInfo>>(
187
+ // (acc, prop) => {
188
+ // try {
189
+ // const propType = checker.getTypeOfSymbol(prop);
190
+ // if (propType) {
191
+ // const propAnalysis = analyzeType({
192
+ // type: propType,
193
+ // checker,
194
+ // // eslint-disable-next-line no-bitwise
195
+ // isOptional: !!(prop.flags & ts.SymbolFlags.Optional),
196
+ // visitedTypes,
197
+ // depth: depth + 1,
198
+ // });
199
+ // acc[prop.getName()] = {
200
+ // name: prop.getName(),
201
+ // typeInfo: propAnalysis,
202
+ // tsMetadata: {
203
+ // symbol: prop,
204
+ // type: propType,
205
+ // symbolFlags: getSetFlags({
206
+ // flags: prop.flags,
207
+ // enumObject: ts.SymbolFlags,
208
+ // }),
209
+ // },
210
+ // };
211
+ // }
212
+ // } catch (error) {
213
+ // console.debug(
214
+ // `Error analyzing property ${prop.getName()}: ${error}`,
215
+ // );
216
+ // }
217
+ // return acc;
218
+ // },
219
+ // {},
220
+ // );
221
+
222
+ // if (Object.keys(analyzedProperties).length > 0) {
223
+ // return {
224
+ // type: 'object',
225
+ // properties: analyzedProperties,
226
+ // ...typeInfoCommon,
227
+ // };
228
+ // }
229
+ // }
230
+ // }
231
+
170
232
  // Default to misc type for anything we can't properly analyze
171
233
  return {
172
234
  type: 'misc',