@apollo-deploy/tesseract 1.7.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/collector.d.ts +18 -0
- package/dist/collector.d.ts.map +1 -1
- package/dist/collector.js +76 -1
- package/dist/collector.js.map +1 -1
- package/package.json +1 -1
package/dist/collector.d.ts
CHANGED
|
@@ -88,6 +88,24 @@ export interface CollectorOptions {
|
|
|
88
88
|
packageVersion?: string;
|
|
89
89
|
clientType?: 'internal' | 'public';
|
|
90
90
|
sdkStyle?: 'functional' | 'class';
|
|
91
|
+
/**
|
|
92
|
+
* Override the schema package for this target.
|
|
93
|
+
*
|
|
94
|
+
* Set to `null` to disable external type imports for this target, causing
|
|
95
|
+
* all types to be generated inline. Useful when the primary output imports
|
|
96
|
+
* from a shared TypeScript package but an additional target (e.g. Kotlin)
|
|
97
|
+
* needs self-contained inline types.
|
|
98
|
+
*
|
|
99
|
+
* Omit to inherit the primary `schemaPackage`.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* additionalTargets: [
|
|
104
|
+
* { language: 'kotlin', output: './sdk/java', schemaPackage: null },
|
|
105
|
+
* ]
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
schemaPackage?: CollectorOptions['schemaPackage'] | null;
|
|
91
109
|
}>;
|
|
92
110
|
}
|
|
93
111
|
export interface CollectorRouteConfig {
|
package/dist/collector.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAiB,mBAAmB,
|
|
1
|
+
{"version":3,"file":"collector.d.ts","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"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"}
|
package/dist/collector.js
CHANGED
|
@@ -89,8 +89,15 @@ export class SDKCollector {
|
|
|
89
89
|
sdkStyle: this.opts.sdkStyle,
|
|
90
90
|
});
|
|
91
91
|
for (const target of this.opts.additionalTargets ?? []) {
|
|
92
|
+
// If the target overrides schemaPackage (including null to disable it),
|
|
93
|
+
// rebuild the manifest with the target-specific schemaPackage so that
|
|
94
|
+
// intake resolves types correctly for this language.
|
|
95
|
+
const hasSchemaPackageOverride = Object.prototype.hasOwnProperty.call(target, 'schemaPackage');
|
|
96
|
+
const targetManifest = hasSchemaPackageOverride
|
|
97
|
+
? buildManifestFromRoutes(this._routes, this._registry, this.opts.info, target.schemaPackage ?? undefined)
|
|
98
|
+
: manifest;
|
|
92
99
|
const extra = await generate({
|
|
93
|
-
manifest,
|
|
100
|
+
manifest: targetManifest,
|
|
94
101
|
output: target.output,
|
|
95
102
|
language: target.language,
|
|
96
103
|
clientType: target.clientType ?? this.opts.clientType,
|
|
@@ -169,6 +176,7 @@ export function buildManifestFromRoutes(routes, registry, info, schemaPackage) {
|
|
|
169
176
|
},
|
|
170
177
|
...(schemaPackage && { schemaPackage }),
|
|
171
178
|
domains: [...domainMap.values()].map(({ config, routes }) => ({ ...config, routes })),
|
|
179
|
+
...buildDefinitionsFromDefs(routes),
|
|
172
180
|
};
|
|
173
181
|
}
|
|
174
182
|
/** Derives a domain prefix from the first non-parameter URL segment. */
|
|
@@ -176,4 +184,71 @@ function derivePrefix(url) {
|
|
|
176
184
|
const first = url.split('/').find((s) => s.length > 0 && !s.startsWith(':'));
|
|
177
185
|
return first ? '/' + first : '/';
|
|
178
186
|
}
|
|
187
|
+
// ── $defs extraction ──────────────────────────────────────────────────────────
|
|
188
|
+
/**
|
|
189
|
+
* Walk every schema value in every route and collect all `$defs` blocks.
|
|
190
|
+
* When `toJSONSchema` (e.g. Zod v4) produces a schema with `$defs`, those
|
|
191
|
+
* named definitions are lifted into `manifest.definitions` so that intake
|
|
192
|
+
* can generate named data classes (e.g. Kotlin `data class`) rather than
|
|
193
|
+
* expanding every reference inline.
|
|
194
|
+
*
|
|
195
|
+
* Returns `{ definitions }` only when at least one def is found, so the
|
|
196
|
+
* spread into the manifest is a no-op for manifests that have none.
|
|
197
|
+
*/
|
|
198
|
+
function buildDefinitionsFromDefs(routes) {
|
|
199
|
+
const defs = {};
|
|
200
|
+
for (const route of routes) {
|
|
201
|
+
const s = route.schema;
|
|
202
|
+
if (!s)
|
|
203
|
+
continue;
|
|
204
|
+
const fields = [
|
|
205
|
+
s.params,
|
|
206
|
+
s.querystring,
|
|
207
|
+
s.query,
|
|
208
|
+
s.body,
|
|
209
|
+
s.headers,
|
|
210
|
+
...(s.response ? Object.values(s.response) : []),
|
|
211
|
+
];
|
|
212
|
+
for (const field of fields) {
|
|
213
|
+
if (field)
|
|
214
|
+
collectDefs(field, defs);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return Object.keys(defs).length > 0 ? { definitions: defs } : {};
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Recursively collect all `$defs` entries found anywhere in a JSON Schema
|
|
221
|
+
* object into the `out` accumulator. Entries already present are not
|
|
222
|
+
* overwritten (first-write wins, matching JSON Schema semantics).
|
|
223
|
+
*/
|
|
224
|
+
function collectDefs(schema, out) {
|
|
225
|
+
if (!schema || typeof schema !== 'object')
|
|
226
|
+
return;
|
|
227
|
+
if (schema.$defs && typeof schema.$defs === 'object' && !Array.isArray(schema.$defs)) {
|
|
228
|
+
for (const [key, val] of Object.entries(schema.$defs)) {
|
|
229
|
+
if (!(key in out))
|
|
230
|
+
out[key] = val;
|
|
231
|
+
// Recurse into the def itself — it may contain nested $defs
|
|
232
|
+
if (val && typeof val === 'object')
|
|
233
|
+
collectDefs(val, out);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// Recurse into all schema fields that may contain nested schemas
|
|
237
|
+
for (const key of Object.keys(schema)) {
|
|
238
|
+
if (key === '$defs')
|
|
239
|
+
continue;
|
|
240
|
+
const val = schema[key];
|
|
241
|
+
if (!val || typeof val !== 'object')
|
|
242
|
+
continue;
|
|
243
|
+
if (Array.isArray(val)) {
|
|
244
|
+
for (const item of val) {
|
|
245
|
+
if (item && typeof item === 'object')
|
|
246
|
+
collectDefs(item, out);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
collectDefs(val, out);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
}
|
|
179
254
|
//# sourceMappingURL=collector.js.map
|
package/dist/collector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collector.js","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;
|
|
1
|
+
{"version":3,"file":"collector.js","sourceRoot":"","sources":["../src/collector.ts"],"names":[],"mappings":"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"}
|