swaggerizer 0.0.0-stage → 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 (74) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +359 -2
  3. package/dist/admin.d.ts +35 -0
  4. package/dist/admin.d.ts.map +1 -0
  5. package/dist/catalogue.d.ts +22 -0
  6. package/dist/catalogue.d.ts.map +1 -0
  7. package/dist/chunks/scenario-5a1VnDmg.mjs +345 -0
  8. package/dist/chunks/scenario-5a1VnDmg.mjs.map +1 -0
  9. package/dist/chunks/scenario-BeXAfctR.mjs +347 -0
  10. package/dist/chunks/scenario-BeXAfctR.mjs.map +1 -0
  11. package/dist/chunks/scenario-CGR-NuEy.mjs +371 -0
  12. package/dist/chunks/scenario-CGR-NuEy.mjs.map +1 -0
  13. package/dist/chunks/scenario-DKCQMD5-.js +364 -0
  14. package/dist/chunks/scenario-DKCQMD5-.js.map +1 -0
  15. package/dist/chunks/scenario-DXI-TbMN.mjs +371 -0
  16. package/dist/chunks/scenario-DXI-TbMN.mjs.map +1 -0
  17. package/dist/chunks/scenario-_ZBu5fJX.js +391 -0
  18. package/dist/chunks/scenario-_ZBu5fJX.js.map +1 -0
  19. package/dist/chunks/scenario-yqSnVp0L.js +362 -0
  20. package/dist/chunks/scenario-yqSnVp0L.js.map +1 -0
  21. package/dist/cli.d.ts +2 -0
  22. package/dist/cli.d.ts.map +1 -0
  23. package/dist/cli.js +2977 -0
  24. package/dist/cli.js.map +1 -0
  25. package/dist/config.d.ts +100 -0
  26. package/dist/config.d.ts.map +1 -0
  27. package/dist/config.js +129 -0
  28. package/dist/config.js.map +1 -0
  29. package/dist/config.mjs +120 -0
  30. package/dist/config.mjs.map +1 -0
  31. package/dist/contract.d.ts +60 -0
  32. package/dist/contract.d.ts.map +1 -0
  33. package/dist/debug-menu.d.ts +20 -0
  34. package/dist/debug-menu.d.ts.map +1 -0
  35. package/dist/debug-menu.js +238 -0
  36. package/dist/debug-menu.js.map +1 -0
  37. package/dist/debug-menu.mjs +236 -0
  38. package/dist/debug-menu.mjs.map +1 -0
  39. package/dist/generate.d.ts +74 -0
  40. package/dist/generate.d.ts.map +1 -0
  41. package/dist/index.d.ts +14 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +2397 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/index.mjs +2343 -0
  46. package/dist/index.mjs.map +1 -0
  47. package/dist/load-config.d.ts +15 -0
  48. package/dist/load-config.d.ts.map +1 -0
  49. package/dist/msw.d.ts +48 -0
  50. package/dist/msw.d.ts.map +1 -0
  51. package/dist/msw.js +324 -0
  52. package/dist/msw.js.map +1 -0
  53. package/dist/msw.mjs +317 -0
  54. package/dist/msw.mjs.map +1 -0
  55. package/dist/paths.d.ts +14 -0
  56. package/dist/paths.d.ts.map +1 -0
  57. package/dist/pull.d.ts +31 -0
  58. package/dist/pull.d.ts.map +1 -0
  59. package/dist/scenario.d.ts +86 -0
  60. package/dist/scenario.d.ts.map +1 -0
  61. package/dist/schema.d.ts +13 -0
  62. package/dist/schema.d.ts.map +1 -0
  63. package/dist/server.d.ts +83 -0
  64. package/dist/server.d.ts.map +1 -0
  65. package/dist/spec.d.ts +36 -0
  66. package/dist/spec.d.ts.map +1 -0
  67. package/dist/types.d.ts +175 -0
  68. package/dist/types.d.ts.map +1 -0
  69. package/dist/ui/app.css +1119 -0
  70. package/dist/ui/app.js +806 -0
  71. package/dist/ui/index.html +77 -0
  72. package/dist/ui-assets.d.ts +9 -0
  73. package/dist/ui-assets.d.ts.map +1 -0
  74. package/package.json +99 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msw.js","sources":["../src/msw.ts"],"sourcesContent":[null],"names":["buildOperationStates","bypass","operationKey","applySelection","scenarioFromState","routeSpecificity","toMswPath","encodeBody","HttpResponse","http","parseScenarioHeader","SCENARIO_HEADER","lookupByOperation","createHandlerContext","isHandlerResult","mswDelay","resolveResponse","passthrough","GENERATED","applyAliases","getResponse"],"mappings":"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"}
package/dist/msw.mjs ADDED
@@ -0,0 +1,317 @@
1
+ import { http, delay, passthrough, getResponse, HttpResponse, bypass } from 'msw';
2
+ import { h as routeSpecificity, t as toMswPath, p as parseScenarioHeader, S as SCENARIO_HEADER, r as resolveResponse, G as GENERATED, f as applyAliases, e as encodeBody, o as operationKey, a as applySelection, s as scenarioFromState, b as buildOperationStates } from './chunks/scenario-DXI-TbMN.mjs';
3
+ export { E as EMPTY, H as HTTP_METHODS, v as variantsOf } from './chunks/scenario-DXI-TbMN.mjs';
4
+ import { lookupByOperation, createHandlerContext, isHandlerResult } from './config.mjs';
5
+
6
+ /*
7
+ * swaggerizer/msw — runtime for the MSW handlers Swaggerizer generates on top of orval.
8
+ *
9
+ * Every operation gets an MSW handler that answers with the scenario chosen for it: a named
10
+ * example, a custom response, or `passthrough()` to the real API. When a "generated" response is
11
+ * selected the request falls through to orval's faker-based handler. Choices come from:
12
+ * - a running Swaggerizer server (`server` option) — the admin page drives your browser mocks;
13
+ * - otherwise local state, persisted in localStorage and editable with the debug menu or API.
14
+ *
15
+ * Works with `setupWorker` (msw/browser) and `setupServer` (msw/node).
16
+ */
17
+ function hasStorage() {
18
+ try {
19
+ return typeof localStorage !== "undefined" && localStorage !== null;
20
+ }
21
+ catch {
22
+ return false;
23
+ }
24
+ }
25
+ function loadStored(key) {
26
+ if (!key || !hasStorage())
27
+ return {};
28
+ try {
29
+ return JSON.parse(localStorage.getItem(key) || "{}") || {};
30
+ }
31
+ catch {
32
+ return {};
33
+ }
34
+ }
35
+ function joinUrl(base, path) {
36
+ return base.replace(/\/+$/, "") + path;
37
+ }
38
+ function createSwaggerizerMocks(options = {}) {
39
+ const manifests = options.manifests ?? [];
40
+ const fallbackHandlers = options.fallbackHandlers ?? [];
41
+ const server = options.server?.replace(/\/+$/, "");
42
+ const storageKey = options.storageKey === undefined ? "swaggerizer:scenarios" : options.storageKey;
43
+ const syncInterval = options.syncInterval ?? 1000;
44
+ const report = options.reportRequests ?? Boolean(server);
45
+ const base = (options.baseUrl ?? "*").replace(/\/+$/, "");
46
+ const defaults = {};
47
+ for (const m of manifests)
48
+ Object.assign(defaults, m.scenarios || {});
49
+ let scenarios = { ...defaults, ...(options.scenarios || {}), ...(server ? {} : loadStored(storageKey)) };
50
+ const planner = manifests.map(m => ({ id: m.specId, enabled: true, operations: m.operations }));
51
+ const listeners = new Set();
52
+ let lastSync = 0;
53
+ let syncing = null;
54
+ let remoteStates = null;
55
+ const notify = () => listeners.forEach(fn => {
56
+ try {
57
+ fn();
58
+ }
59
+ catch {
60
+ // listeners must not break request handling
61
+ }
62
+ });
63
+ const persist = () => {
64
+ if (server || !storageKey || !hasStorage())
65
+ return;
66
+ try {
67
+ localStorage.setItem(storageKey, JSON.stringify(scenarios));
68
+ }
69
+ catch {
70
+ // storage full or blocked: choices stay in memory
71
+ }
72
+ };
73
+ function operations() {
74
+ const local = buildOperationStates(planner, scenarios, { defaultDelay: options.delay });
75
+ if (!remoteStates)
76
+ return local;
77
+ const byKey = new Map(remoteStates.filter(s => s.active).map(s => [s.key, s]));
78
+ return local.map(op => {
79
+ const remote = byKey.get(op.key);
80
+ return remote ? { ...op, ...pickScenario(remote), active: op.active } : op;
81
+ });
82
+ }
83
+ function pickScenario(s) {
84
+ return {
85
+ mode: s.mode,
86
+ selectedCode: s.selectedCode,
87
+ selectedExample: s.selectedExample,
88
+ delay: s.delay,
89
+ custom: s.custom,
90
+ modified: s.modified
91
+ };
92
+ }
93
+ async function serverFetch(path, init) {
94
+ const response = await fetch(bypass(joinUrl(server, path), init));
95
+ const json = await response.json().catch(() => ({}));
96
+ if (!response.ok)
97
+ throw new Error(json?.error || `Swaggerizer server answered ${response.status}`);
98
+ return json;
99
+ }
100
+ async function sync() {
101
+ if (!server)
102
+ return;
103
+ if (!syncing) {
104
+ syncing = serverFetch("/api/state")
105
+ .then((state) => {
106
+ const before = JSON.stringify(remoteStates);
107
+ remoteStates = state.operations;
108
+ lastSync = Date.now();
109
+ if (JSON.stringify(remoteStates) !== before)
110
+ notify();
111
+ })
112
+ .catch(() => {
113
+ // Server unreachable: keep serving the last known (or local default) choices.
114
+ lastSync = Date.now();
115
+ })
116
+ .finally(() => {
117
+ syncing = null;
118
+ });
119
+ }
120
+ return syncing;
121
+ }
122
+ async function freshOperations() {
123
+ if (server && Date.now() - lastSync > syncInterval)
124
+ await sync();
125
+ return operations();
126
+ }
127
+ function reportRequest(entry) {
128
+ if (!report || !server)
129
+ return;
130
+ serverFetch("/api/log", {
131
+ method: "POST",
132
+ headers: { "Content-Type": "application/json" },
133
+ body: JSON.stringify(entry)
134
+ }).catch(() => undefined);
135
+ }
136
+ async function select(selection) {
137
+ const list = Array.isArray(selection) ? selection : [selection];
138
+ if (server) {
139
+ const result = await serverFetch("/api/select", {
140
+ method: "POST",
141
+ headers: { "Content-Type": "application/json" },
142
+ body: JSON.stringify(list)
143
+ });
144
+ lastSync = 0;
145
+ await sync();
146
+ return result.operations;
147
+ }
148
+ const current = operations();
149
+ const next = { ...scenarios };
150
+ const keys = [];
151
+ for (const item of list) {
152
+ const key = operationKey(item.method, item.route);
153
+ const op = current.find(o => o.key === key && o.active) || current.find(o => o.key === key);
154
+ if (!op)
155
+ throw new Error(`No operation ${String(item.method).toUpperCase()} ${item.route} in the manifests.`);
156
+ next[key] = applySelection(op, item, scenarios[key] ?? scenarioFromState(op));
157
+ keys.push(key);
158
+ }
159
+ scenarios = next;
160
+ persist();
161
+ notify();
162
+ const after = operations();
163
+ return keys.map(k => after.find(o => o.key === k));
164
+ }
165
+ async function reset(filter = {}) {
166
+ if (server) {
167
+ await serverFetch("/api/reset", {
168
+ method: "POST",
169
+ headers: { "Content-Type": "application/json" },
170
+ body: JSON.stringify(filter)
171
+ });
172
+ lastSync = 0;
173
+ await sync();
174
+ return;
175
+ }
176
+ const next = {};
177
+ for (const [key, value] of Object.entries(scenarios)) {
178
+ const [method, ...rest] = key.split(":");
179
+ const matches = (!filter.method || method === String(filter.method).toLowerCase()) &&
180
+ (!filter.route || rest.join(":") === filter.route);
181
+ if (!matches)
182
+ next[key] = value;
183
+ }
184
+ // Reset means "spec default", not "generated-time default": drop manifest scenarios too.
185
+ scenarios = next;
186
+ if (!filter.method && !filter.route)
187
+ store.clear();
188
+ persist();
189
+ notify();
190
+ }
191
+ const allOps = manifests.flatMap(m => m.operations.map(op => ({ op, manifest: m })));
192
+ const seen = new Set();
193
+ const unique = allOps.filter(({ op }) => (seen.has(op.key) ? false : (seen.add(op.key), true)));
194
+ unique.sort((a, b) => routeSpecificity(a.op, b.op));
195
+ // orval's handler for each operation, so a "generated" response is produced by exactly that
196
+ // handler — not by whichever less specific route happens to match next in the chain.
197
+ const shapeOf = (p) => (typeof p === "string" ? p.replace(/^\*/, "").replace(/:[^/]+/g, ":") : undefined);
198
+ const fallbackFor = new Map();
199
+ for (const { op } of unique) {
200
+ const shape = toMswPath(op.route).replace(/:[^/]+/g, ":");
201
+ const candidates = fallbackHandlers.filter(h => String(h.info?.method ?? "").toLowerCase() === op.method);
202
+ const found = candidates.find(h => shapeOf(h.info?.path) === shape) ||
203
+ candidates.find(h => shapeOf(h.info?.path)?.endsWith(shape));
204
+ if (found)
205
+ fallbackFor.set(op.key, found);
206
+ }
207
+ const store = new Map();
208
+ /** Request paths an operation answers on: its route, and every alias spelling of it. */
209
+ function pathsFor(op, manifest) {
210
+ const canonical = [op.route, ...manifest.basePaths.map(b => b + op.route)];
211
+ const paths = new Set([op.route]);
212
+ for (const [from, to] of Object.entries(manifest.aliases || {})) {
213
+ for (const p of canonical)
214
+ if (to && p.startsWith(to))
215
+ paths.add(from + p.slice(to.length));
216
+ }
217
+ return [...paths];
218
+ }
219
+ function respondWith(result) {
220
+ const contentType = result.contentType ?? (result.body !== undefined ? (typeof result.body === "string" ? "text/plain" : "application/json") : undefined);
221
+ const headers = { ...(result.headers || {}), "X-Swaggerizer-Scenario": `${result.status}:handler` };
222
+ const payload = result.status === 204 || result.status === 304 ? undefined : encodeBody(result.body, contentType);
223
+ if (payload !== undefined && contentType)
224
+ headers["Content-Type"] = contentType;
225
+ return new HttpResponse(payload ?? null, { status: result.status, headers });
226
+ }
227
+ const ownHandlers = unique.flatMap(({ op, manifest }) => pathsFor(op, manifest).map(route => {
228
+ const path = `${base}${toMswPath(route)}`;
229
+ const factory = http[op.method];
230
+ return factory(path, async ({ request, params: mswParams }) => {
231
+ const started = Date.now();
232
+ const state = (await freshOperations()).find(o => o.key === op.key && o.active);
233
+ if (!state)
234
+ return undefined;
235
+ const override = parseScenarioHeader(request.headers.get(SCENARIO_HEADER));
236
+ const url = new URL(request.url);
237
+ const entry = { method: request.method, path: url.pathname + url.search, route: op.route, specId: op.specId };
238
+ const custom = lookupByOperation(options.handlers, op);
239
+ if (custom && !override && !state.modified) {
240
+ const text = request.method === "GET" || request.method === "HEAD" ? undefined : await request.clone().text();
241
+ let body = text;
242
+ if (text !== undefined) {
243
+ try {
244
+ body = text.trim() ? JSON.parse(text) : undefined;
245
+ }
246
+ catch {
247
+ body = text;
248
+ }
249
+ }
250
+ // MSW parsed the path parameters; map its sanitised names back to the spec's.
251
+ const params = {};
252
+ for (const [, name] of op.route.matchAll(/\{([^}]+)\}/g)) {
253
+ const value = mswParams[name.replace(/[^A-Za-z0-9_]/g, "_")];
254
+ if (value !== undefined)
255
+ params[name] = decodeURIComponent(String(Array.isArray(value) ? value[0] : value));
256
+ }
257
+ const headers = {};
258
+ request.headers.forEach((value, key) => (headers[key] = value));
259
+ const outcome = await custom(createHandlerContext({ operation: state, method: request.method, path: url.pathname, params, query: url.searchParams, headers, body, store }));
260
+ if (isHandlerResult(outcome)) {
261
+ if (state.delay > 0)
262
+ await delay(state.delay);
263
+ reportRequest({ ...entry, status: outcome.status, example: "handler", ms: Date.now() - started });
264
+ return respondWith(outcome);
265
+ }
266
+ }
267
+ const resolved = resolveResponse(state, override);
268
+ if (resolved.delay > 0)
269
+ await delay(resolved.delay);
270
+ if (resolved.kind === "proxy") {
271
+ reportRequest({ ...entry, status: 0, example: "proxy", ms: Date.now() - started });
272
+ return passthrough();
273
+ }
274
+ const fallback = fallbackFor.get(op.key);
275
+ if (fallback && resolved.variant === GENERATED && resolved.status >= 200 && resolved.status < 300) {
276
+ // Let orval's faker handler for this operation produce the body.
277
+ // orval only knows the canonical route, so hand it the de-aliased URL.
278
+ const canonical = applyAliases(url.pathname, manifest.aliases)[0];
279
+ const forFallback = canonical ? new Request(new URL(canonical + url.search, url.origin), request.clone()) : request.clone();
280
+ const response = await getResponse([fallback], forFallback);
281
+ if (response) {
282
+ reportRequest({ ...entry, status: response.status, example: "generated (orval)", ms: Date.now() - started });
283
+ return response;
284
+ }
285
+ }
286
+ const headers = { ...(resolved.headers || {}), "X-Swaggerizer-Scenario": `${resolved.code}:${resolved.variant}` };
287
+ const noBody = resolved.status === 204 || resolved.status === 304 || request.method === "HEAD";
288
+ const payload = noBody ? undefined : encodeBody(resolved.body, resolved.contentType);
289
+ if (payload !== undefined && resolved.contentType)
290
+ headers["Content-Type"] = resolved.contentType;
291
+ reportRequest({ ...entry, status: resolved.status, example: resolved.variant, ms: Date.now() - started });
292
+ return new HttpResponse(payload ?? null, { status: resolved.status, headers });
293
+ });
294
+ }));
295
+ if (server)
296
+ void sync();
297
+ return {
298
+ handlers: [...ownHandlers, ...fallbackHandlers],
299
+ manifests,
300
+ operations,
301
+ select,
302
+ reset,
303
+ scenarios: () => ({ ...scenarios }),
304
+ subscribe(listener) {
305
+ listeners.add(listener);
306
+ return () => listeners.delete(listener);
307
+ },
308
+ sync: async () => {
309
+ lastSync = 0;
310
+ await sync();
311
+ },
312
+ server
313
+ };
314
+ }
315
+
316
+ export { GENERATED, SCENARIO_HEADER, createSwaggerizerMocks, operationKey };
317
+ //# sourceMappingURL=msw.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"msw.mjs","sources":["../src/msw.ts"],"sourcesContent":[null],"names":["mswDelay"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /** File names Swaggerizer writes next to generated code. */
2
+ export declare const CONTRACT_FILE = "swaggerizer.contract.json";
3
+ export declare const WRAPPER_FILE = "swaggerizer.ts";
4
+ export declare const INDEX_FILE = "index.ts";
5
+ export declare const isUrl: (input: string) => boolean;
6
+ /** Folders a spec's generated code lives in: client/models/contract, and mocks. */
7
+ export declare function outputDirs(id: string, root: string | undefined, spec?: {
8
+ output?: string;
9
+ mocksOutput?: string;
10
+ }): {
11
+ dir: string;
12
+ mocksDir: string;
13
+ };
14
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../src/paths.ts"],"names":[],"mappings":"AAEA,4DAA4D;AAC5D,eAAO,MAAM,aAAa,8BAA8B,CAAC;AACzD,eAAO,MAAM,YAAY,mBAAmB,CAAC;AAC7C,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,eAAO,MAAM,KAAK,GAAI,OAAO,MAAM,YAAgC,CAAC;AAEpE,mFAAmF;AACnF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO;;;EAGpH"}
package/dist/pull.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ import type { SwaggerizerConfig } from "./config";
2
+ import type { ChangeReport } from "./types";
3
+ export interface PullOptions {
4
+ config: SwaggerizerConfig;
5
+ /** Only these spec ids (default: every spec with a `source`). */
6
+ only?: string[];
7
+ /** Extra request headers, e.g. an Authorization header for a private catalogue. */
8
+ headers?: Record<string, string>;
9
+ silent?: boolean;
10
+ color?: boolean;
11
+ verbose?: boolean;
12
+ }
13
+ export interface PullResult {
14
+ pulled: Array<{
15
+ id: string;
16
+ file: string;
17
+ changed: boolean;
18
+ report?: ChangeReport;
19
+ }>;
20
+ failed: Array<{
21
+ id: string;
22
+ error: string;
23
+ }>;
24
+ }
25
+ /** JSON is re-indented so diffs of committed specs stay readable; YAML is kept as served. */
26
+ export declare function normaliseSpecText(text: string): {
27
+ text: string;
28
+ ext: "json" | "yaml";
29
+ };
30
+ export declare function pull(options: PullOptions): Promise<PullResult>;
31
+ //# sourceMappingURL=pull.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../src/pull.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iEAAiE;IACjE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC,CAAC;IACrF,MAAM,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED,6FAA6F;AAC7F,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAMtF;AAED,wBAAsB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAkEpE"}
@@ -0,0 +1,86 @@
1
+ import { type CatalogueOperation, type CatalogueResponse, type OperationState, type PlannerSpec, type Scenario, type ScenarioMap, type ScenarioSelection } from "./types";
2
+ export declare const SCENARIO_HEADER = "x-swaggerizer-scenario";
3
+ export declare function operationKey(method: string, route: string): string;
4
+ export interface Variant {
5
+ code: string;
6
+ example: string;
7
+ /** "example" for a named example, "generated" for a synthesised body, "empty" for no body. */
8
+ kind: "example" | "generated" | "empty";
9
+ value: unknown;
10
+ response: CatalogueResponse;
11
+ contentType?: string;
12
+ headers?: Record<string, string>;
13
+ }
14
+ /** Every selectable (code, example) pair for an operation. */
15
+ export declare function variantsOf(op: CatalogueOperation): Variant[];
16
+ /** The variant that will actually be served for a code + requested example name. */
17
+ export declare function effectiveExample(op: CatalogueOperation, code: string, requested?: string): string;
18
+ /**
19
+ * Combines every loaded spec with the scenario map. Specs are evaluated in order, so when two
20
+ * enabled specs declare the same method + route the first one serves it and the others are
21
+ * reported as shadowed.
22
+ */
23
+ export interface PlannerOptions {
24
+ /** Latency applied to every operation that has no delay of its own, in ms. */
25
+ defaultDelay?: number;
26
+ }
27
+ export declare function buildOperationStates(specs: PlannerSpec[], scenarios: ScenarioMap, options?: PlannerOptions): OperationState[];
28
+ export declare function stateOf(op: CatalogueOperation, scenario?: Scenario, options?: PlannerOptions): OperationState;
29
+ /**
30
+ * Validates a selection against an operation and returns the complete scenario to store. Throws a
31
+ * readable error for unknown codes, examples or modes. Unset fields keep their current value.
32
+ */
33
+ export declare function applySelection(op: CatalogueOperation, selection: Partial<ScenarioSelection>, current?: Scenario): Scenario;
34
+ /** Parses the per-request override header: `404`, `404:notFound`, `notFound`, `proxy`, `custom`. */
35
+ export declare function parseScenarioHeader(value: string | null | undefined): Partial<Scenario> | undefined;
36
+ export type ResolvedResponse = {
37
+ kind: "proxy";
38
+ delay: number;
39
+ } | {
40
+ kind: "respond";
41
+ status: number;
42
+ contentType?: string;
43
+ headers?: Record<string, string>;
44
+ body: unknown;
45
+ /** Variant name served: an example name, "generated", "empty" or "custom". */
46
+ variant: string;
47
+ code: string;
48
+ delay: number;
49
+ };
50
+ /** Decides what to send for one request to an operation. */
51
+ export declare function resolveResponse(op: OperationState, override?: Partial<Scenario>): ResolvedResponse;
52
+ export declare function scenarioFromState(op: OperationState): Scenario;
53
+ /** Serialises a resolved body for the wire. */
54
+ export declare function encodeBody(body: unknown, contentType?: string): string | undefined;
55
+ interface CompiledRoute {
56
+ regex: RegExp;
57
+ statics: number;
58
+ params: number;
59
+ }
60
+ export declare function compileRoute(route: string): CompiledRoute;
61
+ /** Converts `/pets/{petId}` to the `/pets/:petId` syntax used by MSW. */
62
+ export declare function toMswPath(route: string): string;
63
+ /** Static segments beat templated ones, so `/pets/mine` wins over `/pets/{petId}`. */
64
+ export declare function routeSpecificity(a: {
65
+ route: string;
66
+ }, b: {
67
+ route: string;
68
+ }): number;
69
+ export interface Routable {
70
+ method: string;
71
+ route: string;
72
+ active: boolean;
73
+ }
74
+ /**
75
+ * Finds the active operation that serves `method` + `pathname`, trying the path as-is and with
76
+ * each known base path (from `servers`) stripped.
77
+ */
78
+ export declare function matchOperation<T extends Routable>(operations: T[], method: string, pathname: string, basePaths?: string[], aliases?: Record<string, string>): T | undefined;
79
+ /** Replaces a matching alias prefix: `/online-banking/bff/v4/x` with `{ "/online-banking/bff/v4/": "/v4/online-banking/" }` → `/v4/online-banking/x`. */
80
+ export declare function applyAliases(pathname: string, aliases?: Record<string, string>): string[];
81
+ /** Every spelling of a request path worth matching: as-is, de-aliased, and with base paths stripped. */
82
+ export declare function candidatePaths(pathname: string, basePaths?: string[], aliases?: Record<string, string>): string[];
83
+ /** The base path that prefixes `pathname` (after aliases), and the path relative to it. */
84
+ export declare function relativeToBase(pathname: string, basePaths?: string[], aliases?: Record<string, string>): string;
85
+ export {};
86
+ //# sourceMappingURL=scenario.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenario.d.ts","sourceRoot":"","sources":["../src/scenario.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export type Json = any;
2
+ export declare function decodePointerSegment(segment: string): string;
3
+ /** Resolves an internal `#/a/b` reference against `doc`. Returns undefined for anything else. */
4
+ export declare function resolvePointer(doc: Json, ref: string): Json;
5
+ /** Follows `$ref` chains on `node`, returning the target and the last ref name seen. */
6
+ export declare function deref(doc: Json, node: Json, seen?: Set<string>): {
7
+ node: Json;
8
+ ref?: string;
9
+ };
10
+ export declare function refName(ref?: string): string | undefined;
11
+ /** Builds a deterministic, schema-valid-ish example payload for `schema`. */
12
+ export declare function sampleFromSchema(schema: Json, doc?: Json): Json;
13
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,IAAI,GAAG,GAAG,CAAC;AAEvB,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,iGAAiG;AACjG,wBAAgB,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAS3D;AAED,wFAAwF;AACxF,wBAAgB,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,GAAG,CAAC,MAAM,CAAa,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAWxG;AAED,wBAAgB,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxD;AAuID,6EAA6E;AAC7E,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,GAAE,IAAS,GAAG,IAAI,CAGnE"}
@@ -0,0 +1,83 @@
1
+ import http from "node:http";
2
+ import { type SpecConfig, type SwaggerizerConfig } from "./config";
3
+ import type { OperationState, RequestLogEntry, ScenarioMap, ScenarioSelection, SpecSummary, SwaggerizerState } from "./types";
4
+ export interface SwaggerizerOptions {
5
+ /** Spec files, folders and/or URLs to load. */
6
+ specs?: string | string[];
7
+ /** Request headers for spec URLs (a spec config's own `headers` win). */
8
+ headers?: Record<string, string>;
9
+ /** Path of the admin API and page (default `swaggerizer`, served at `/swaggerizer`). */
10
+ endpoint?: string;
11
+ /** Serve the admin page (default true). The admin API is always available. */
12
+ ui?: boolean;
13
+ /** Upstream base URL for "proxy" mode. Defaults to each spec's first absolute `servers` URL. */
14
+ proxy?: string;
15
+ /** Persist scenario choices to this JSON file and restore them on start. */
16
+ stateFile?: string;
17
+ /** Folder of generated code: specs are compared against its contract snapshots. */
18
+ generated?: string;
19
+ /** Re-read specs automatically when files in the spec folders change. */
20
+ watch?: boolean;
21
+ /** Add permissive CORS headers (default true). */
22
+ cors?: boolean;
23
+ /** Per-spec settings (aliases, overlays, handlers, proxy) keyed by spec id. */
24
+ specConfigs?: Record<string, SpecConfig>;
25
+ /** Default latency for every operation, in ms. */
26
+ delay?: number;
27
+ /** Requests that match no operation are proxied here (e.g. a legacy mock server during migration). */
28
+ fallback?: string;
29
+ silent?: boolean;
30
+ }
31
+ export interface Swaggerizer {
32
+ /** Node `http` request listener; also works as Express/Connect middleware. */
33
+ handler: (req: http.IncomingMessage, res: http.ServerResponse, next?: () => void) => void;
34
+ load: (inputs: string | string[]) => Promise<SwaggerizerState>;
35
+ /** Load every spec declared in a swaggerizer.config.ts. */
36
+ loadConfig: (config: SwaggerizerConfig) => Promise<SwaggerizerState>;
37
+ reload: () => Promise<SwaggerizerState>;
38
+ getState: () => SwaggerizerState;
39
+ select: (selection: ScenarioSelection | ScenarioSelection[]) => OperationState[];
40
+ reset: (filter?: {
41
+ method?: string;
42
+ route?: string;
43
+ }) => number;
44
+ setSpecEnabled: (id: string, enabled: boolean) => SpecSummary;
45
+ getRequestLog: (sinceId?: number) => RequestLogEntry[];
46
+ recordRequest: (entry: Omit<RequestLogEntry, "id" | "time">) => RequestLogEntry;
47
+ getSpecDocument: (id: string) => any;
48
+ listen: (port?: number, host?: string) => Promise<http.Server>;
49
+ close: () => Promise<void>;
50
+ readonly endpoint: string;
51
+ readonly scenarios: ScenarioMap;
52
+ }
53
+ export declare function parseRequestBody(raw: Buffer, contentType: string | undefined): any;
54
+ export declare function createSwaggerizer(options?: SwaggerizerOptions): Swaggerizer;
55
+ /** CLI entry point: load specs and listen. */
56
+ export declare function startSwaggerizer(options: SwaggerizerOptions & {
57
+ port?: number;
58
+ host?: string;
59
+ config?: SwaggerizerConfig;
60
+ }): Promise<{
61
+ server: http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
62
+ /** Node `http` request listener; also works as Express/Connect middleware. */
63
+ handler: (req: http.IncomingMessage, res: http.ServerResponse, next?: () => void) => void;
64
+ load: (inputs: string | string[]) => Promise<SwaggerizerState>;
65
+ /** Load every spec declared in a swaggerizer.config.ts. */
66
+ loadConfig: (config: SwaggerizerConfig) => Promise<SwaggerizerState>;
67
+ reload: () => Promise<SwaggerizerState>;
68
+ getState: () => SwaggerizerState;
69
+ select: (selection: ScenarioSelection | ScenarioSelection[]) => OperationState[];
70
+ reset: (filter?: {
71
+ method?: string;
72
+ route?: string;
73
+ }) => number;
74
+ setSpecEnabled: (id: string, enabled: boolean) => SpecSummary;
75
+ getRequestLog: (sinceId?: number) => RequestLogEntry[];
76
+ recordRequest: (entry: Omit<RequestLogEntry, "id" | "time">) => RequestLogEntry;
77
+ getSpecDocument: (id: string) => any;
78
+ listen: (port?: number, host?: string) => Promise<http.Server>;
79
+ close: () => Promise<void>;
80
+ endpoint: string;
81
+ scenarios: ScenarioMap;
82
+ }>;
83
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}