@apollo-deploy/schemas 0.8.0 → 1.0.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 (145) 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.js +3 -0
  12. package/dist/definitions/artifacts/domain.schema.js.map +1 -1
  13. package/dist/definitions/artifacts/index.d.ts +1 -1
  14. package/dist/definitions/artifacts/index.d.ts.map +1 -1
  15. package/dist/definitions/artifacts/index.js +1 -1
  16. package/dist/definitions/artifacts/index.js.map +1 -1
  17. package/dist/definitions/artifacts/response.schema.d.ts +4 -0
  18. package/dist/definitions/artifacts/response.schema.d.ts.map +1 -1
  19. package/dist/definitions/artifacts/response.schema.js.map +1 -1
  20. package/dist/definitions/audit-log/domain.schema.js +3 -0
  21. package/dist/definitions/audit-log/domain.schema.js.map +1 -1
  22. package/dist/definitions/auth/domain.schema.d.ts +1 -1
  23. package/dist/definitions/auth/domain.schema.js +5 -1
  24. package/dist/definitions/auth/domain.schema.js.map +1 -1
  25. package/dist/definitions/auth/request.schema.d.ts +1 -0
  26. package/dist/definitions/auth/request.schema.d.ts.map +1 -1
  27. package/dist/definitions/billing/domain.schema.js +4 -0
  28. package/dist/definitions/billing/domain.schema.js.map +1 -1
  29. package/dist/definitions/credentials/domain.schema.js +4 -0
  30. package/dist/definitions/credentials/domain.schema.js.map +1 -1
  31. package/dist/definitions/cve-scanner/domain.schema.js +4 -0
  32. package/dist/definitions/cve-scanner/domain.schema.js.map +1 -1
  33. package/dist/definitions/index.d.ts +16 -9
  34. package/dist/definitions/index.d.ts.map +1 -1
  35. package/dist/definitions/index.js +28 -13
  36. package/dist/definitions/index.js.map +1 -1
  37. package/dist/definitions/integrations/api.schema.d.ts +78 -68
  38. package/dist/definitions/integrations/api.schema.d.ts.map +1 -1
  39. package/dist/definitions/integrations/api.schema.js +38 -37
  40. package/dist/definitions/integrations/api.schema.js.map +1 -1
  41. package/dist/definitions/integrations/domain.schema.d.ts +88 -111
  42. package/dist/definitions/integrations/domain.schema.d.ts.map +1 -1
  43. package/dist/definitions/integrations/domain.schema.js +55 -78
  44. package/dist/definitions/integrations/domain.schema.js.map +1 -1
  45. package/dist/definitions/integrations/index.d.ts +5 -8
  46. package/dist/definitions/integrations/index.d.ts.map +1 -1
  47. package/dist/definitions/integrations/index.js +5 -31
  48. package/dist/definitions/integrations/index.js.map +1 -1
  49. package/dist/definitions/integrations/integrations-request.schema.d.ts +86 -0
  50. package/dist/definitions/integrations/integrations-request.schema.d.ts.map +1 -0
  51. package/dist/definitions/integrations/integrations-request.schema.js +82 -0
  52. package/dist/definitions/integrations/integrations-request.schema.js.map +1 -0
  53. package/dist/definitions/integrations/integrations-response.schema.d.ts +212 -0
  54. package/dist/definitions/integrations/integrations-response.schema.d.ts.map +1 -0
  55. package/dist/definitions/integrations/integrations-response.schema.js +139 -0
  56. package/dist/definitions/integrations/integrations-response.schema.js.map +1 -0
  57. package/dist/definitions/integrations/integrations.schema.d.ts +99 -0
  58. package/dist/definitions/integrations/integrations.schema.d.ts.map +1 -0
  59. package/dist/definitions/integrations/integrations.schema.js +62 -0
  60. package/dist/definitions/integrations/integrations.schema.js.map +1 -0
  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.js +1 -0
  64. package/dist/definitions/integrations/marketplace-response.schema.js.map +1 -1
  65. package/dist/definitions/integrations/marketplace.schema.d.ts +1 -0
  66. package/dist/definitions/integrations/marketplace.schema.d.ts.map +1 -1
  67. package/dist/definitions/integrations/request.schema.d.ts +74 -129
  68. package/dist/definitions/integrations/request.schema.d.ts.map +1 -1
  69. package/dist/definitions/integrations/request.schema.js +71 -125
  70. package/dist/definitions/integrations/request.schema.js.map +1 -1
  71. package/dist/definitions/integrations/response.schema.d.ts +191 -121
  72. package/dist/definitions/integrations/response.schema.d.ts.map +1 -1
  73. package/dist/definitions/integrations/response.schema.js +132 -48
  74. package/dist/definitions/integrations/response.schema.js.map +1 -1
  75. package/dist/definitions/marketplace/domain.schema.d.ts +285 -0
  76. package/dist/definitions/marketplace/domain.schema.d.ts.map +1 -0
  77. package/dist/definitions/marketplace/domain.schema.js +123 -0
  78. package/dist/definitions/marketplace/domain.schema.js.map +1 -0
  79. package/dist/definitions/marketplace/index.d.ts +9 -0
  80. package/dist/definitions/marketplace/index.d.ts.map +1 -0
  81. package/dist/definitions/marketplace/index.js +9 -0
  82. package/dist/definitions/marketplace/index.js.map +1 -0
  83. package/dist/definitions/marketplace/marketplace-request.schema.d.ts +107 -0
  84. package/dist/definitions/marketplace/marketplace-request.schema.d.ts.map +1 -0
  85. package/dist/definitions/marketplace/marketplace-request.schema.js +86 -0
  86. package/dist/definitions/marketplace/marketplace-request.schema.js.map +1 -0
  87. package/dist/definitions/marketplace/marketplace-response.schema.d.ts +378 -0
  88. package/dist/definitions/marketplace/marketplace-response.schema.d.ts.map +1 -0
  89. package/dist/definitions/marketplace/marketplace-response.schema.js +81 -0
  90. package/dist/definitions/marketplace/marketplace-response.schema.js.map +1 -0
  91. package/dist/definitions/marketplace/marketplace.schema.d.ts +285 -0
  92. package/dist/definitions/marketplace/marketplace.schema.d.ts.map +1 -0
  93. package/dist/definitions/marketplace/marketplace.schema.js +123 -0
  94. package/dist/definitions/marketplace/marketplace.schema.js.map +1 -0
  95. package/dist/definitions/marketplace/request.schema.d.ts +107 -0
  96. package/dist/definitions/marketplace/request.schema.d.ts.map +1 -0
  97. package/dist/definitions/marketplace/request.schema.js +86 -0
  98. package/dist/definitions/marketplace/request.schema.js.map +1 -0
  99. package/dist/definitions/marketplace/response.schema.d.ts +378 -0
  100. package/dist/definitions/marketplace/response.schema.d.ts.map +1 -0
  101. package/dist/definitions/marketplace/response.schema.js +81 -0
  102. package/dist/definitions/marketplace/response.schema.js.map +1 -0
  103. package/dist/definitions/orgs/domain.schema.js +4 -0
  104. package/dist/definitions/orgs/domain.schema.js.map +1 -1
  105. package/dist/definitions/policies/domain.schema.js +4 -0
  106. package/dist/definitions/policies/domain.schema.js.map +1 -1
  107. package/dist/definitions/release-risk/domain.schema.js +4 -0
  108. package/dist/definitions/release-risk/domain.schema.js.map +1 -1
  109. package/dist/definitions/release-risk/request.schema.js +1 -0
  110. package/dist/definitions/release-risk/request.schema.js.map +1 -1
  111. package/dist/definitions/releases/domain.schema.d.ts +1 -0
  112. package/dist/definitions/releases/domain.schema.d.ts.map +1 -1
  113. package/dist/definitions/releases/index.d.ts +1 -1
  114. package/dist/definitions/releases/index.d.ts.map +1 -1
  115. package/dist/definitions/releases/index.js +1 -1
  116. package/dist/definitions/releases/index.js.map +1 -1
  117. package/dist/definitions/releases/request.schema.d.ts +3 -0
  118. package/dist/definitions/releases/request.schema.d.ts.map +1 -1
  119. package/dist/definitions/service-accounts/domain.schema.js +3 -0
  120. package/dist/definitions/service-accounts/domain.schema.js.map +1 -1
  121. package/dist/definitions/sessions/domain.schema.js +3 -0
  122. package/dist/definitions/sessions/domain.schema.js.map +1 -1
  123. package/dist/definitions/settings/domain.schema.js +3 -0
  124. package/dist/definitions/settings/domain.schema.js.map +1 -1
  125. package/dist/definitions/share-links/domain.schema.js +4 -0
  126. package/dist/definitions/share-links/domain.schema.js.map +1 -1
  127. package/dist/definitions/share-links/request.schema.js +1 -0
  128. package/dist/definitions/share-links/request.schema.js.map +1 -1
  129. package/dist/definitions/stores/domain.schema.js +3 -0
  130. package/dist/definitions/stores/domain.schema.js.map +1 -1
  131. package/dist/definitions/teams/domain.schema.js +3 -0
  132. package/dist/definitions/teams/domain.schema.js.map +1 -1
  133. package/dist/definitions/webhooks/domain.schema.js +4 -0
  134. package/dist/definitions/webhooks/domain.schema.js.map +1 -1
  135. package/dist/definitions/webhooks/index.d.ts +2 -2
  136. package/dist/definitions/webhooks/index.d.ts.map +1 -1
  137. package/dist/definitions/webhooks/index.js +2 -2
  138. package/dist/definitions/webhooks/index.js.map +1 -1
  139. package/dist/definitions/workflows/domain.schema.js +4 -0
  140. package/dist/definitions/workflows/domain.schema.js.map +1 -1
  141. package/dist/generators/register-global-registry.d.ts +14 -0
  142. package/dist/generators/register-global-registry.d.ts.map +1 -0
  143. package/dist/generators/register-global-registry.js +498 -0
  144. package/dist/generators/register-global-registry.js.map +1 -0
  145. package/package.json +12 -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.8.0",
3
+ "version": "1.0.0",
4
4
  "private": false,
5
5
  "description": "Cross-language type definitions using JSON Schema for Apollo Deploy monorepo",
6
6
  "type": "module",
@@ -67,6 +67,10 @@
67
67
  "import": "./dist/definitions/integrations/index.js",
68
68
  "types": "./dist/definitions/integrations/index.d.ts"
69
69
  },
70
+ "./marketplace": {
71
+ "import": "./dist/definitions/marketplace/index.js",
72
+ "types": "./dist/definitions/marketplace/index.d.ts"
73
+ },
70
74
  "./stores": {
71
75
  "import": "./dist/definitions/stores/index.js",
72
76
  "types": "./dist/definitions/stores/index.d.ts"
@@ -128,16 +132,21 @@
128
132
  "scripts": {
129
133
  "build": "tsc --build",
130
134
  "generate": "bun run src/generators/generate-schemas.ts",
135
+ "registry:check": "bun run src/generators/register-global-registry.ts --check",
136
+ "registry:fix": "bun run src/generators/register-global-registry.ts --write",
131
137
  "test": "bun test",
132
138
  "test:watch": "bun test --watch",
133
139
  "typecheck": "tsc --noEmit"
134
140
  },
135
141
  "dependencies": {
136
- "zod": "^4.0.0",
137
142
  "zod-to-json-schema": "^3.25.0"
138
143
  },
144
+ "peerDependencies": {
145
+ "zod": ">=4.0.0"
146
+ },
139
147
  "devDependencies": {
140
148
  "bun-types": "^1.1.42",
141
- "typescript": "^5.6.3"
149
+ "typescript": "^5.6.3",
150
+ "zod": "^4.0.0"
142
151
  }
143
152
  }