@apollo-deploy/schemas 0.7.0 → 0.9.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.
Files changed (129) hide show
  1. package/README.md +13 -0
  2. package/dist/definitions/analytics/domain.schema.js +4 -0
  3. package/dist/definitions/analytics/domain.schema.js.map +1 -1
  4. package/dist/definitions/approvals/domain.schema.d.ts +9 -0
  5. package/dist/definitions/approvals/domain.schema.d.ts.map +1 -1
  6. package/dist/definitions/approvals/index.d.ts +1 -1
  7. package/dist/definitions/approvals/index.d.ts.map +1 -1
  8. package/dist/definitions/approvals/index.js.map +1 -1
  9. package/dist/definitions/apps/domain.schema.js +3 -0
  10. package/dist/definitions/apps/domain.schema.js.map +1 -1
  11. package/dist/definitions/artifacts/domain.schema.d.ts +2 -2
  12. package/dist/definitions/artifacts/domain.schema.js +3 -0
  13. package/dist/definitions/artifacts/domain.schema.js.map +1 -1
  14. package/dist/definitions/artifacts/index.d.ts +1 -1
  15. package/dist/definitions/artifacts/index.d.ts.map +1 -1
  16. package/dist/definitions/artifacts/index.js +1 -1
  17. package/dist/definitions/artifacts/index.js.map +1 -1
  18. package/dist/definitions/artifacts/request.schema.d.ts +4 -4
  19. package/dist/definitions/artifacts/response.schema.d.ts +13 -9
  20. package/dist/definitions/artifacts/response.schema.d.ts.map +1 -1
  21. package/dist/definitions/artifacts/response.schema.js.map +1 -1
  22. package/dist/definitions/audit-log/domain.schema.d.ts +65 -65
  23. package/dist/definitions/audit-log/domain.schema.js +3 -0
  24. package/dist/definitions/audit-log/domain.schema.js.map +1 -1
  25. package/dist/definitions/audit-log/request.schema.d.ts +120 -120
  26. package/dist/definitions/audit-log/response.schema.d.ts +12 -12
  27. package/dist/definitions/auth/domain.schema.d.ts +3 -3
  28. package/dist/definitions/auth/domain.schema.js +5 -1
  29. package/dist/definitions/auth/domain.schema.js.map +1 -1
  30. package/dist/definitions/auth/request.schema.d.ts +1 -0
  31. package/dist/definitions/auth/request.schema.d.ts.map +1 -1
  32. package/dist/definitions/billing/domain.schema.d.ts +5 -5
  33. package/dist/definitions/billing/domain.schema.js +4 -0
  34. package/dist/definitions/billing/domain.schema.js.map +1 -1
  35. package/dist/definitions/billing/request.schema.d.ts +3 -3
  36. package/dist/definitions/billing/response.schema.d.ts +4 -4
  37. package/dist/definitions/credentials/domain.schema.js +4 -0
  38. package/dist/definitions/credentials/domain.schema.js.map +1 -1
  39. package/dist/definitions/cve-scanner/domain.schema.js +4 -0
  40. package/dist/definitions/cve-scanner/domain.schema.js.map +1 -1
  41. package/dist/definitions/deployments/domain.schema.d.ts +12 -12
  42. package/dist/definitions/deployments/request.schema.d.ts +12 -12
  43. package/dist/definitions/deployments/response.schema.d.ts +8 -8
  44. package/dist/definitions/index.d.ts +7 -7
  45. package/dist/definitions/index.d.ts.map +1 -1
  46. package/dist/definitions/index.js +9 -9
  47. package/dist/definitions/index.js.map +1 -1
  48. package/dist/definitions/integrations/api.schema.d.ts +95 -10
  49. package/dist/definitions/integrations/api.schema.d.ts.map +1 -1
  50. package/dist/definitions/integrations/api.schema.js +39 -4
  51. package/dist/definitions/integrations/api.schema.js.map +1 -1
  52. package/dist/definitions/integrations/domain.schema.d.ts +122 -0
  53. package/dist/definitions/integrations/domain.schema.d.ts.map +1 -0
  54. package/dist/definitions/integrations/domain.schema.js +85 -0
  55. package/dist/definitions/integrations/domain.schema.js.map +1 -0
  56. package/dist/definitions/integrations/index.d.ts +1 -1
  57. package/dist/definitions/integrations/index.d.ts.map +1 -1
  58. package/dist/definitions/integrations/index.js +3 -1
  59. package/dist/definitions/integrations/index.js.map +1 -1
  60. package/dist/definitions/integrations/marketplace-request.schema.d.ts +2 -2
  61. package/dist/definitions/integrations/marketplace-request.schema.js +1 -0
  62. package/dist/definitions/integrations/marketplace-request.schema.js.map +1 -1
  63. package/dist/definitions/integrations/marketplace-response.schema.d.ts +6 -6
  64. package/dist/definitions/integrations/marketplace-response.schema.js +1 -0
  65. package/dist/definitions/integrations/marketplace-response.schema.js.map +1 -1
  66. package/dist/definitions/integrations/marketplace.schema.d.ts +9 -8
  67. package/dist/definitions/integrations/marketplace.schema.d.ts.map +1 -1
  68. package/dist/definitions/integrations/request.schema.d.ts +141 -0
  69. package/dist/definitions/integrations/request.schema.d.ts.map +1 -0
  70. package/dist/definitions/integrations/request.schema.js +136 -0
  71. package/dist/definitions/integrations/request.schema.js.map +1 -0
  72. package/dist/definitions/integrations/response.schema.d.ts +142 -0
  73. package/dist/definitions/integrations/response.schema.d.ts.map +1 -0
  74. package/dist/definitions/integrations/response.schema.js +55 -0
  75. package/dist/definitions/integrations/response.schema.js.map +1 -0
  76. package/dist/definitions/orgs/domain.schema.d.ts +2 -2
  77. package/dist/definitions/orgs/domain.schema.js +4 -0
  78. package/dist/definitions/orgs/domain.schema.js.map +1 -1
  79. package/dist/definitions/policies/domain.schema.js +4 -0
  80. package/dist/definitions/policies/domain.schema.js.map +1 -1
  81. package/dist/definitions/release-risk/domain.schema.js +4 -0
  82. package/dist/definitions/release-risk/domain.schema.js.map +1 -1
  83. package/dist/definitions/release-risk/request.schema.js +1 -0
  84. package/dist/definitions/release-risk/request.schema.js.map +1 -1
  85. package/dist/definitions/releases/domain.schema.d.ts +27 -18
  86. package/dist/definitions/releases/domain.schema.d.ts.map +1 -1
  87. package/dist/definitions/releases/domain.schema.js +7 -6
  88. package/dist/definitions/releases/domain.schema.js.map +1 -1
  89. package/dist/definitions/releases/index.d.ts +1 -1
  90. package/dist/definitions/releases/index.d.ts.map +1 -1
  91. package/dist/definitions/releases/index.js +1 -1
  92. package/dist/definitions/releases/index.js.map +1 -1
  93. package/dist/definitions/releases/request.schema.d.ts +8 -3
  94. package/dist/definitions/releases/request.schema.d.ts.map +1 -1
  95. package/dist/definitions/releases/request.schema.js +1 -1
  96. package/dist/definitions/releases/request.schema.js.map +1 -1
  97. package/dist/definitions/releases/response.schema.d.ts +26 -18
  98. package/dist/definitions/releases/response.schema.d.ts.map +1 -1
  99. package/dist/definitions/service-accounts/domain.schema.d.ts +2 -2
  100. package/dist/definitions/service-accounts/domain.schema.js +3 -0
  101. package/dist/definitions/service-accounts/domain.schema.js.map +1 -1
  102. package/dist/definitions/service-accounts/response.schema.d.ts +2 -2
  103. package/dist/definitions/sessions/domain.schema.js +3 -0
  104. package/dist/definitions/sessions/domain.schema.js.map +1 -1
  105. package/dist/definitions/settings/domain.schema.js +3 -0
  106. package/dist/definitions/settings/domain.schema.js.map +1 -1
  107. package/dist/definitions/share-links/domain.schema.js +4 -0
  108. package/dist/definitions/share-links/domain.schema.js.map +1 -1
  109. package/dist/definitions/share-links/request.schema.d.ts +1 -1
  110. package/dist/definitions/share-links/request.schema.js +1 -0
  111. package/dist/definitions/share-links/request.schema.js.map +1 -1
  112. package/dist/definitions/stores/domain.schema.js +3 -0
  113. package/dist/definitions/stores/domain.schema.js.map +1 -1
  114. package/dist/definitions/teams/domain.schema.js +3 -0
  115. package/dist/definitions/teams/domain.schema.js.map +1 -1
  116. package/dist/definitions/teams/request.schema.d.ts +1 -1
  117. package/dist/definitions/webhooks/domain.schema.js +4 -0
  118. package/dist/definitions/webhooks/domain.schema.js.map +1 -1
  119. package/dist/definitions/webhooks/index.d.ts +2 -2
  120. package/dist/definitions/webhooks/index.d.ts.map +1 -1
  121. package/dist/definitions/webhooks/index.js +2 -2
  122. package/dist/definitions/webhooks/index.js.map +1 -1
  123. package/dist/definitions/workflows/domain.schema.js +4 -0
  124. package/dist/definitions/workflows/domain.schema.js.map +1 -1
  125. package/dist/generators/register-global-registry.d.ts +14 -0
  126. package/dist/generators/register-global-registry.d.ts.map +1 -0
  127. package/dist/generators/register-global-registry.js +498 -0
  128. package/dist/generators/register-global-registry.js.map +1 -0
  129. package/package.json +8 -3
@@ -0,0 +1,498 @@
1
+ #!/usr/bin/env bun
2
+ /**
3
+ * Global Registry Auto-Registration
4
+ *
5
+ * Scans all `*.schema.ts` files and ensures every exported `*Schema` constant
6
+ * has a corresponding `z.globalRegistry.add(...)` entry.
7
+ *
8
+ * Usage:
9
+ * bun run src/generators/register-global-registry.ts --check
10
+ * bun run src/generators/register-global-registry.ts --write
11
+ * bun run src/generators/register-global-registry.ts --check --root ./src
12
+ */
13
+ import { readdirSync, readFileSync, renameSync, statSync, writeFileSync, } from 'node:fs';
14
+ import { basename, dirname, join, relative, sep } from 'node:path';
15
+ import { fileURLToPath } from 'node:url';
16
+ import * as ts from 'typescript';
17
+ const __filename = fileURLToPath(import.meta.url);
18
+ const __dirname = dirname(__filename);
19
+ const DEFAULT_SRC_ROOT = join(__dirname, '..');
20
+ const REGISTRY_HEADER = '// Schema registry — promotes types to OpenAPI components/schemas';
21
+ const IGNORED_DIRS = new Set([
22
+ '.git',
23
+ '.idea',
24
+ '.next',
25
+ '.turbo',
26
+ 'build',
27
+ 'coverage',
28
+ 'dist',
29
+ 'node_modules',
30
+ ]);
31
+ function printHelp() {
32
+ console.log(`
33
+ Global Registry Auto-Registration
34
+
35
+ Usage:
36
+ bun run src/generators/register-global-registry.ts --check
37
+ bun run src/generators/register-global-registry.ts --write
38
+ bun run src/generators/register-global-registry.ts --remove-all
39
+ bun run src/generators/register-global-registry.ts --check --root ./src
40
+
41
+ Options:
42
+ --check Validate only. Exits with code 1 if registrations are missing.
43
+ --write Apply missing registrations in-place.
44
+ --remove-all Remove all existing z.globalRegistry.add(...) registrations.
45
+ --root <dir> Override the source root directory to scan.
46
+ --help Show this help.
47
+ `.trim());
48
+ }
49
+ function parseArgs(argv = process.argv.slice(2)) {
50
+ let mode = 'check';
51
+ let rootDir = DEFAULT_SRC_ROOT;
52
+ let modeExplicitlySet = false;
53
+ for (let i = 0; i < argv.length; i += 1) {
54
+ const arg = argv[i];
55
+ if (!arg)
56
+ continue;
57
+ if (arg === '--help' || arg === '-h') {
58
+ printHelp();
59
+ process.exit(0);
60
+ }
61
+ if (arg === '--check') {
62
+ if (modeExplicitlySet && mode !== 'check') {
63
+ throw new Error('Choose either --check or --write, not both.');
64
+ }
65
+ mode = 'check';
66
+ modeExplicitlySet = true;
67
+ continue;
68
+ }
69
+ if (arg === '--write') {
70
+ if (modeExplicitlySet && mode !== 'write') {
71
+ throw new Error('Choose exactly one mode: --check, --write, or --remove-all.');
72
+ }
73
+ mode = 'write';
74
+ modeExplicitlySet = true;
75
+ continue;
76
+ }
77
+ if (arg === '--remove-all') {
78
+ if (modeExplicitlySet && mode !== 'remove-all') {
79
+ throw new Error('Choose exactly one mode: --check, --write, or --remove-all.');
80
+ }
81
+ mode = 'remove-all';
82
+ modeExplicitlySet = true;
83
+ continue;
84
+ }
85
+ if (arg === '--root') {
86
+ const value = argv[i + 1];
87
+ if (!value) {
88
+ throw new Error('Missing value for --root.');
89
+ }
90
+ rootDir = value;
91
+ i += 1;
92
+ continue;
93
+ }
94
+ if (arg.startsWith('--root=')) {
95
+ const value = arg.slice('--root='.length);
96
+ if (!value) {
97
+ throw new Error('Missing value for --root.');
98
+ }
99
+ rootDir = value;
100
+ continue;
101
+ }
102
+ throw new Error(`Unknown argument: ${arg}`);
103
+ }
104
+ return { mode, rootDir };
105
+ }
106
+ function ensureDirectoryExists(dirPath) {
107
+ let stats;
108
+ try {
109
+ stats = statSync(dirPath);
110
+ }
111
+ catch (error) {
112
+ throw new Error(`Cannot access directory "${dirPath}": ${error instanceof Error ? error.message : String(error)}`);
113
+ }
114
+ if (!stats.isDirectory()) {
115
+ throw new Error(`Path is not a directory: "${dirPath}"`);
116
+ }
117
+ }
118
+ function listSchemaFiles(rootDir) {
119
+ const files = [];
120
+ const stack = [rootDir];
121
+ while (stack.length > 0) {
122
+ const currentDir = stack.pop();
123
+ if (!currentDir)
124
+ continue;
125
+ let entries;
126
+ try {
127
+ entries = readdirSync(currentDir, {
128
+ withFileTypes: true,
129
+ encoding: 'utf8',
130
+ });
131
+ }
132
+ catch (error) {
133
+ throw new Error(`Failed to read directory "${currentDir}": ${error instanceof Error ? error.message : String(error)}`);
134
+ }
135
+ for (const entry of entries) {
136
+ if (entry.name.startsWith('.'))
137
+ continue;
138
+ if (IGNORED_DIRS.has(entry.name))
139
+ continue;
140
+ if (entry.isSymbolicLink())
141
+ continue;
142
+ const fullPath = join(currentDir, entry.name);
143
+ if (entry.isDirectory()) {
144
+ stack.push(fullPath);
145
+ continue;
146
+ }
147
+ if (entry.isFile() && entry.name.endsWith('.schema.ts')) {
148
+ files.push(fullPath);
149
+ }
150
+ }
151
+ }
152
+ return files;
153
+ }
154
+ function readTextFile(filePath) {
155
+ try {
156
+ return readFileSync(filePath, 'utf8');
157
+ }
158
+ catch (error) {
159
+ throw new Error(`Failed to read file "${filePath}": ${error instanceof Error ? error.message : String(error)}`);
160
+ }
161
+ }
162
+ function writeTextFileAtomic(filePath, content) {
163
+ const dir = dirname(filePath);
164
+ const tempPath = join(dir, `.${basename(filePath)}.${process.pid}.${Date.now()}.tmp`);
165
+ try {
166
+ writeFileSync(tempPath, content, 'utf8');
167
+ renameSync(tempPath, filePath);
168
+ }
169
+ catch (error) {
170
+ throw new Error(`Failed to write file "${filePath}": ${error instanceof Error ? error.message : String(error)}`);
171
+ }
172
+ }
173
+ function detectEol(content) {
174
+ return content.includes('\r\n') ? '\r\n' : '\n';
175
+ }
176
+ function createSourceFile(filePath, content) {
177
+ const sourceFile = ts.createSourceFile(filePath, content, ts.ScriptTarget.Latest, true, ts.ScriptKind.TS);
178
+ const parseErrors = sourceFile.parseDiagnostics?.filter((diag) => diag.category === ts.DiagnosticCategory.Error) ?? [];
179
+ if (parseErrors.length > 0) {
180
+ const first = parseErrors[0];
181
+ if (!first) {
182
+ throw new Error(`Parse error in "${filePath}".`);
183
+ }
184
+ const message = ts.flattenDiagnosticMessageText(first.messageText, '\n');
185
+ if (typeof first.start === 'number') {
186
+ const { line, character } = sourceFile.getLineAndCharacterOfPosition(first.start);
187
+ throw new Error(`Parse error in "${filePath}" at ${line + 1}:${character + 1}: ${message}`);
188
+ }
189
+ throw new Error(`Parse error in "${filePath}": ${message}`);
190
+ }
191
+ return sourceFile;
192
+ }
193
+ function hasModifier(node, kind) {
194
+ if (!ts.canHaveModifiers(node)) {
195
+ return false;
196
+ }
197
+ return ts.getModifiers(node)?.some((modifier) => modifier.kind === kind) ?? false;
198
+ }
199
+ function isConstVariableStatement(statement) {
200
+ return (ts.isVariableStatement(statement) &&
201
+ (ts.getCombinedNodeFlags(statement.declarationList) & ts.NodeFlags.Const) !== 0);
202
+ }
203
+ function getSchemaIdentifiersFromVariableStatement(statement) {
204
+ const result = [];
205
+ for (const declaration of statement.declarationList.declarations) {
206
+ if (!ts.isIdentifier(declaration.name))
207
+ continue;
208
+ const name = declaration.name.text;
209
+ if (name.endsWith('Schema')) {
210
+ result.push(name);
211
+ }
212
+ }
213
+ return result;
214
+ }
215
+ function extractExportedSchemas(sourceFile) {
216
+ const constSchemasInOrder = [];
217
+ const seenConstSchemas = new Set();
218
+ const exportedLocalNames = new Set();
219
+ for (const statement of sourceFile.statements) {
220
+ if (isConstVariableStatement(statement)) {
221
+ const schemaNames = getSchemaIdentifiersFromVariableStatement(statement);
222
+ for (const schemaName of schemaNames) {
223
+ if (!seenConstSchemas.has(schemaName)) {
224
+ seenConstSchemas.add(schemaName);
225
+ constSchemasInOrder.push(schemaName);
226
+ }
227
+ }
228
+ if (hasModifier(statement, ts.SyntaxKind.ExportKeyword)) {
229
+ for (const schemaName of schemaNames) {
230
+ exportedLocalNames.add(schemaName);
231
+ }
232
+ }
233
+ }
234
+ if (ts.isExportDeclaration(statement) &&
235
+ !statement.moduleSpecifier &&
236
+ statement.exportClause &&
237
+ ts.isNamedExports(statement.exportClause)) {
238
+ for (const specifier of statement.exportClause.elements) {
239
+ const localName = specifier.propertyName?.text ?? specifier.name.text;
240
+ if (localName.endsWith('Schema')) {
241
+ exportedLocalNames.add(localName);
242
+ }
243
+ }
244
+ }
245
+ }
246
+ return constSchemasInOrder.filter((name) => exportedLocalNames.has(name));
247
+ }
248
+ function isZInferLikeTypeReference(node) {
249
+ if (!ts.isQualifiedName(node.typeName))
250
+ return false;
251
+ if (!ts.isIdentifier(node.typeName.left))
252
+ return false;
253
+ const namespace = node.typeName.left.text;
254
+ const typeName = node.typeName.right.text;
255
+ return (namespace === 'z' &&
256
+ (typeName === 'infer' || typeName === 'input' || typeName === 'output'));
257
+ }
258
+ function getSchemaNameFromTypeAlias(statement) {
259
+ if (!ts.isTypeReferenceNode(statement.type)) {
260
+ return null;
261
+ }
262
+ if (!isZInferLikeTypeReference(statement.type)) {
263
+ return null;
264
+ }
265
+ const [firstTypeArg] = statement.type.typeArguments ?? [];
266
+ if (!firstTypeArg || !ts.isTypeQueryNode(firstTypeArg)) {
267
+ return null;
268
+ }
269
+ if (!ts.isIdentifier(firstTypeArg.exprName)) {
270
+ return null;
271
+ }
272
+ const schemaName = firstTypeArg.exprName.text;
273
+ return schemaName.endsWith('Schema') ? schemaName : null;
274
+ }
275
+ function extractSchemaToTypeMap(sourceFile) {
276
+ const mapping = new Map();
277
+ for (const statement of sourceFile.statements) {
278
+ if (!ts.isTypeAliasDeclaration(statement))
279
+ continue;
280
+ const schemaName = getSchemaNameFromTypeAlias(statement);
281
+ if (!schemaName)
282
+ continue;
283
+ const typeName = statement.name.text;
284
+ const existing = mapping.get(schemaName);
285
+ if (existing) {
286
+ existing.push(typeName);
287
+ }
288
+ else {
289
+ mapping.set(schemaName, [typeName]);
290
+ }
291
+ }
292
+ return mapping;
293
+ }
294
+ function isZGlobalRegistryAddCallExpression(node) {
295
+ if (!ts.isCallExpression(node))
296
+ return false;
297
+ if (!ts.isPropertyAccessExpression(node.expression))
298
+ return false;
299
+ if (node.expression.name.text !== 'add')
300
+ return false;
301
+ const registryExpr = node.expression.expression;
302
+ if (!ts.isPropertyAccessExpression(registryExpr))
303
+ return false;
304
+ if (registryExpr.name.text !== 'globalRegistry')
305
+ return false;
306
+ return ts.isIdentifier(registryExpr.expression) && registryExpr.expression.text === 'z';
307
+ }
308
+ function extractRegisteredSchemas(sourceFile) {
309
+ const registeredSchemas = new Set();
310
+ const registryStatementEnds = [];
311
+ const registryStatementRanges = [];
312
+ for (const statement of sourceFile.statements) {
313
+ if (!ts.isExpressionStatement(statement))
314
+ continue;
315
+ if (!isZGlobalRegistryAddCallExpression(statement.expression))
316
+ continue;
317
+ registryStatementEnds.push(statement.end);
318
+ registryStatementRanges.push({
319
+ start: statement.getStart(sourceFile),
320
+ end: statement.end,
321
+ });
322
+ const [firstArg] = statement.expression.arguments;
323
+ if (firstArg && ts.isIdentifier(firstArg) && firstArg.text.endsWith('Schema')) {
324
+ registeredSchemas.add(firstArg.text);
325
+ }
326
+ }
327
+ return { registeredSchemas, registryStatementEnds, registryStatementRanges };
328
+ }
329
+ function removeRegistryHeaderIfUnused(content) {
330
+ if (content.includes('z.globalRegistry.add(')) {
331
+ return content;
332
+ }
333
+ const eol = detectEol(content);
334
+ const lines = content.split(eol);
335
+ const filtered = lines.filter((line) => line.trim() !== REGISTRY_HEADER);
336
+ while (filtered.length > 0 && filtered[filtered.length - 1]?.trim() === '') {
337
+ filtered.pop();
338
+ }
339
+ return `${filtered.join(eol)}${eol}`;
340
+ }
341
+ function removeRegistrationStatements(content, ranges) {
342
+ if (ranges.length === 0) {
343
+ return content;
344
+ }
345
+ const sorted = [...ranges].sort((a, b) => b.start - a.start);
346
+ let updated = content;
347
+ for (const range of sorted) {
348
+ let start = range.start;
349
+ let end = range.end;
350
+ // Remove a trailing newline as part of the statement to avoid empty lines.
351
+ if (end < updated.length && updated[end] === '\r' && updated[end + 1] === '\n') {
352
+ end += 2;
353
+ }
354
+ else if (end < updated.length && (updated[end] === '\n' || updated[end] === '\r')) {
355
+ end += 1;
356
+ }
357
+ while (start > 0 && (updated[start - 1] === ' ' || updated[start - 1] === '\t')) {
358
+ start -= 1;
359
+ }
360
+ updated = `${updated.slice(0, start)}${updated.slice(end)}`;
361
+ }
362
+ return removeRegistryHeaderIfUnused(updated);
363
+ }
364
+ function inferRegistryId(schemaName, schemaToTypes) {
365
+ const fallback = schemaName.replace(/Schema$/, '');
366
+ const candidateTypes = schemaToTypes.get(schemaName) ?? [];
367
+ if (candidateTypes.length === 0) {
368
+ return fallback;
369
+ }
370
+ const exactMatch = candidateTypes.find((typeName) => typeName === fallback);
371
+ return exactMatch ?? candidateTypes[0] ?? fallback;
372
+ }
373
+ function buildRegistryLine(schemaName, schemaToTypes) {
374
+ const id = inferRegistryId(schemaName, schemaToTypes);
375
+ return `z.globalRegistry.add(${schemaName}, { id: '${id}' });`;
376
+ }
377
+ function insertMissingRegistrations(content, registryStatementEnds, linesToAdd) {
378
+ if (linesToAdd.length === 0) {
379
+ return content;
380
+ }
381
+ const eol = detectEol(content);
382
+ const block = linesToAdd.join(eol);
383
+ if (registryStatementEnds.length > 0) {
384
+ const insertAt = registryStatementEnds[registryStatementEnds.length - 1];
385
+ const before = content.slice(0, insertAt);
386
+ const after = content.slice(insertAt);
387
+ const needsLeadingEol = !before.endsWith(eol);
388
+ const needsTrailingEol = after.length > 0 && !after.startsWith(eol) && !after.startsWith('\n') && !after.startsWith('\r');
389
+ return `${before}${needsLeadingEol ? eol : ''}${block}${needsTrailingEol ? eol : ''}${after}`;
390
+ }
391
+ const trimmed = content.trimEnd();
392
+ const hasHeader = trimmed.includes(REGISTRY_HEADER);
393
+ if (trimmed.length === 0) {
394
+ return `${REGISTRY_HEADER}${eol}${block}${eol}`;
395
+ }
396
+ if (hasHeader) {
397
+ return `${trimmed}${eol}${block}${eol}`;
398
+ }
399
+ return `${trimmed}${eol}${eol}${REGISTRY_HEADER}${eol}${block}${eol}`;
400
+ }
401
+ function processFile(filePath, mode) {
402
+ const original = readTextFile(filePath);
403
+ const sourceFile = createSourceFile(filePath, original);
404
+ const exportedSchemas = extractExportedSchemas(sourceFile);
405
+ const schemaToTypes = extractSchemaToTypeMap(sourceFile);
406
+ const { registeredSchemas, registryStatementEnds, registryStatementRanges, } = extractRegisteredSchemas(sourceFile);
407
+ if (mode === 'remove-all') {
408
+ const updatedContent = removeRegistrationStatements(original, registryStatementRanges);
409
+ const updated = updatedContent !== original;
410
+ if (updated) {
411
+ writeTextFileAtomic(filePath, updatedContent);
412
+ }
413
+ return {
414
+ filePath,
415
+ missingSchemas: [],
416
+ removedRegistrations: registryStatementRanges.length,
417
+ updated,
418
+ };
419
+ }
420
+ const missingSchemas = exportedSchemas.filter((schemaName) => !registeredSchemas.has(schemaName));
421
+ if (missingSchemas.length === 0) {
422
+ return {
423
+ filePath,
424
+ missingSchemas: [],
425
+ removedRegistrations: 0,
426
+ updated: false,
427
+ };
428
+ }
429
+ const registryLines = missingSchemas.map((schemaName) => buildRegistryLine(schemaName, schemaToTypes));
430
+ const updatedContent = insertMissingRegistrations(original, registryStatementEnds, registryLines);
431
+ if (mode === 'write' && updatedContent !== original) {
432
+ writeTextFileAtomic(filePath, updatedContent);
433
+ }
434
+ return {
435
+ filePath,
436
+ missingSchemas,
437
+ removedRegistrations: 0,
438
+ updated: mode === 'write' && updatedContent !== original,
439
+ };
440
+ }
441
+ function relativeToPackageRoot(filePath, scanRoot) {
442
+ const packageRoot = join(scanRoot, '..');
443
+ return relative(packageRoot, filePath).split(sep).join('/');
444
+ }
445
+ function main() {
446
+ const { mode, rootDir } = parseArgs();
447
+ ensureDirectoryExists(rootDir);
448
+ const files = listSchemaFiles(rootDir).sort();
449
+ if (files.length === 0) {
450
+ console.log(`No .schema.ts files found under ${rootDir}`);
451
+ return 0;
452
+ }
453
+ if (mode === 'remove-all') {
454
+ const results = files.map((filePath) => processFile(filePath, mode));
455
+ const updatedFiles = results.filter((result) => result.updated);
456
+ const removedCount = results.reduce((sum, result) => sum + result.removedRegistrations, 0);
457
+ if (removedCount === 0) {
458
+ console.log('No z.globalRegistry.add(...) registrations found to remove.');
459
+ return 0;
460
+ }
461
+ for (const result of updatedFiles) {
462
+ if (result.removedRegistrations === 0)
463
+ continue;
464
+ console.log(`${relativeToPackageRoot(result.filePath, rootDir)}: removed ${result.removedRegistrations} registration${result.removedRegistrations === 1 ? '' : 's'}`);
465
+ }
466
+ console.log(`\nRemoved ${removedCount} registration${removedCount === 1 ? '' : 's'} across ${updatedFiles.length} file${updatedFiles.length === 1 ? '' : 's'}.`);
467
+ return 0;
468
+ }
469
+ const results = files.map((filePath) => processFile(filePath, mode));
470
+ const withMissing = results.filter((result) => result.missingSchemas.length > 0);
471
+ const missingCount = withMissing.reduce((sum, result) => sum + result.missingSchemas.length, 0);
472
+ if (withMissing.length === 0) {
473
+ console.log('All exported schemas are already registered in z.globalRegistry.');
474
+ return 0;
475
+ }
476
+ for (const result of withMissing) {
477
+ console.log(`\n${relativeToPackageRoot(result.filePath, rootDir)}`);
478
+ for (const schemaName of result.missingSchemas) {
479
+ console.log(` - missing registration: ${schemaName}`);
480
+ }
481
+ }
482
+ if (mode === 'write') {
483
+ console.log(`\nAdded ${missingCount} missing registration${missingCount === 1 ? '' : 's'} across ${withMissing.length} file${withMissing.length === 1 ? '' : 's'}.`);
484
+ return 0;
485
+ }
486
+ console.log(`\nFound ${missingCount} missing registration${missingCount === 1 ? '' : 's'} across ${withMissing.length} file${withMissing.length === 1 ? '' : 's'}.`);
487
+ console.log('Run with --write to apply fixes.');
488
+ return 1;
489
+ }
490
+ try {
491
+ process.exitCode = main();
492
+ }
493
+ catch (error) {
494
+ const message = error instanceof Error ? error.message : String(error);
495
+ console.error(`Error: ${message}`);
496
+ process.exitCode = 2;
497
+ }
498
+ //# sourceMappingURL=register-global-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register-global-registry.js","sourceRoot":"","sources":["../../src/generators/register-global-registry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo-deploy/schemas",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "private": false,
5
5
  "description": "Cross-language type definitions using JSON Schema for Apollo Deploy monorepo",
6
6
  "type": "module",
@@ -128,16 +128,21 @@
128
128
  "scripts": {
129
129
  "build": "tsc --build",
130
130
  "generate": "bun run src/generators/generate-schemas.ts",
131
+ "registry:check": "bun run src/generators/register-global-registry.ts --check",
132
+ "registry:fix": "bun run src/generators/register-global-registry.ts --write",
131
133
  "test": "bun test",
132
134
  "test:watch": "bun test --watch",
133
135
  "typecheck": "tsc --noEmit"
134
136
  },
135
137
  "dependencies": {
136
- "zod": "^4.0.0",
137
138
  "zod-to-json-schema": "^3.25.0"
138
139
  },
140
+ "peerDependencies": {
141
+ "zod": ">=4.0.0"
142
+ },
139
143
  "devDependencies": {
140
144
  "bun-types": "^1.1.42",
141
- "typescript": "^5.6.3"
145
+ "typescript": "^5.6.3",
146
+ "zod": "^4.0.0"
142
147
  }
143
148
  }