usedesign 1.7.3 → 1.7.5

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/scaffold.js CHANGED
@@ -20,9 +20,20 @@
20
20
  */
21
21
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
22
22
  import { join } from "node:path";
23
- import { Finding, globMatches, loadCardFiles } from "./core.js";
23
+ import { Finding, globMatches, isMap, loadCardFiles } from "./core.js";
24
24
  import { normalise } from "./checks.js";
25
25
  const VERBS = ["get", "post", "put", "patch", "delete", "head", "options"];
26
+ /**
27
+ * Operations OpenAPI allows on a path item that the route inventory does not — `trace` (3.0, 3.1
28
+ * and 3.2) and `query` (3.2): the inventory, the config's `exclude.method` and `check` take the
29
+ * seven `VERBS` and call any other method unknown. A card's own `method` is any string, but a card
30
+ * for such a route could never be checked against an inventory, so it is not drafted — yet it is a
31
+ * route the server answers, and up to 1.7.3 a `trace` (up to 1.7.4 a `query`) fell out of the count
32
+ * with nothing said. Now `openapi_method_unknown` names it.
33
+ */
34
+ const UNKNOWN_TO_THE_INVENTORY = ["trace", "query"];
35
+ /** The nine methods OpenAPI 3.2 gives a field of its own on a path item. */
36
+ const FIELD_METHODS = [...VERBS, ...UNKNOWN_TO_THE_INVENTORY];
26
37
  /**
27
38
  * A provisional id built from the route shape. It is deliberately not a guess at the operation's
28
39
  * name: `TODO` is upper-case, so the id fails its own pattern and the card says out loud that a
@@ -74,15 +85,17 @@ function statusesAreDegenerate(routes) {
74
85
  return sets.size === 1;
75
86
  }
76
87
  /**
77
- * Path parameters a route takes: the inline `in: path` entries declared on the path item, for every
78
- * operation under it, then the operation's own, then the names of the path's `{…}` segments not
79
- * declared inline, as `gen` writes them — each once. Up to 1.7.1 only the operation's inline entries
80
- * were read, and a draft named nothing for a parameter declared on the path item, given by `$ref`,
81
- * or not declared at all. `parameters` that is not a list is not read; `parametersNotList` says so.
88
+ * Path parameters a route takes: the `in: path` entries declared on the path item, for every
89
+ * operation under it, then the operation's own, in the order declared, then the names of the path's
90
+ * `{…}` segments not declared, as `gen` writes them — each once. `shared` and `own` come from
91
+ * `readParameters`, so an entry given by `$ref` inside the document stands where it was declared. Up
92
+ * to 1.7.1 only the operation's inline entries were read; up to 1.7.3 an entry given by `$ref` had no
93
+ * `in`, and its name came from the path — at the end, in the path's order — so one API written two
94
+ * ways gave two drafts.
82
95
  */
83
96
  function pathParameterNames(path, shared, own) {
84
97
  const names = [];
85
- for (const p of [...(Array.isArray(shared) ? shared : []), ...(Array.isArray(own) ? own : [])]) {
98
+ for (const p of [...shared, ...own]) {
86
99
  if (p?.in === "path" && p?.name && !names.includes(String(p.name)))
87
100
  names.push(String(p.name));
88
101
  }
@@ -102,6 +115,105 @@ function parametersNotList(where, parameters) {
102
115
  return null;
103
116
  return new Finding("openapi_parameters_not_list", `${where}: \`parameters\` is not a list — not read; the draft names the path parameters from the path itself`, "warning");
104
117
  }
118
+ /**
119
+ * What a `$ref` inside this document points at: `#` is the document, `#/a/b` a JSON Pointer in a URI
120
+ * fragment — percent-decoding first, then `~1` → `/` and `~0` → `~`. One level only: the caller
121
+ * decides what may stand there. Anything else is the reason it is not read.
122
+ */
123
+ function followLocalRef(doc, ref) {
124
+ if (typeof ref !== "string" || !(ref === "#" || ref.startsWith("#/")))
125
+ return { why: "not an address inside this document" };
126
+ let target = doc;
127
+ for (const token of ref === "#" ? [] : ref.slice(2).split("/")) {
128
+ let key;
129
+ try {
130
+ key = decodeURIComponent(token).replace(/~1/g, "/").replace(/~0/g, "~");
131
+ }
132
+ catch {
133
+ return { why: "not a valid address" };
134
+ }
135
+ // In a list only an index is an address — "0" or ASCII digits with no leading zero, as the
136
+ // starter kit's script reads it; `length` is the list's, not an entry (DOMES's remark in note #1222).
137
+ const here = target !== null &&
138
+ typeof target === "object" &&
139
+ (Array.isArray(target)
140
+ ? /^(0|[1-9][0-9]*)$/.test(key) && Number(key) < target.length
141
+ : Object.prototype.hasOwnProperty.call(target, key));
142
+ if (!here)
143
+ return { why: "nothing at that address" };
144
+ target = target[key];
145
+ }
146
+ return { target };
147
+ }
148
+ /**
149
+ * The entries of a `parameters` list, each one given by `$ref` inside this document followed one
150
+ * level, the way a path item is (1.7.3), so that it keeps its place in the declared order. A `$ref`
151
+ * to another document, to an address with nothing at it, to another `$ref`, or to something that is
152
+ * not a parameter — no `in`, such as a schema or the document itself — is not read, and
153
+ * `openapi_parameter_ref_not_read` names where it stands; if it was a path parameter, the draft
154
+ * still names it from the path, after the declared ones. An `in: path` entry, written in place or
155
+ * reached by `$ref`, whose `name` is missing, empty or not a string is not read either, and
156
+ * `openapi_path_parameter_unnamed` says so with the same consequence. `parameters` that is not a
157
+ * list gives no entries; `parametersNotList` says so.
158
+ */
159
+ function readParameters(doc, where, parameters, findings) {
160
+ if (!Array.isArray(parameters))
161
+ return [];
162
+ const read = [];
163
+ const keep = (p) => {
164
+ const unnamed = pathParameterUnnamed(p);
165
+ if (unnamed === null) {
166
+ read.push(p);
167
+ return;
168
+ }
169
+ findings.push(new Finding("openapi_path_parameter_unnamed", `${where}: a path parameter ${unnamed} — not read, so the draft names it from the path, after the declared ones`, "warning"));
170
+ };
171
+ for (const entry of parameters) {
172
+ if (entry?.$ref === undefined) {
173
+ keep(entry);
174
+ continue;
175
+ }
176
+ const notRead = (why) => findings.push(new Finding("openapi_parameter_ref_not_read", `${where}: a parameter is given by \`$ref\` ${JSON.stringify(entry.$ref)} — ${why}; not read, so if it is a path parameter the draft names it from the path, after the declared ones`, "warning"));
177
+ const found = followLocalRef(doc, entry.$ref);
178
+ if ("why" in found) {
179
+ notRead(found.why);
180
+ continue;
181
+ }
182
+ const target = found.target;
183
+ if (target !== null && typeof target === "object" && !Array.isArray(target) && target.$ref !== undefined) {
184
+ notRead("what stands there is another `$ref`, and only one level is followed");
185
+ continue;
186
+ }
187
+ // A parameter is what has an `in`. One with `in` and no usable `name` is still a parameter, and
188
+ // `keep` names it as it names the same entry written in place: up to 1.7.4 it was "not a
189
+ // parameter" (DOMES's finding 1 in note #1218).
190
+ if (target === null || typeof target !== "object" || Array.isArray(target) || !target.in) {
191
+ notRead("what stands there is not a parameter");
192
+ continue;
193
+ }
194
+ keep(target);
195
+ }
196
+ return read;
197
+ }
198
+ /**
199
+ * Why an `in: path` entry has no name the draft can use, or null. Up to 1.7.4 such an entry was
200
+ * passed over with nothing said — a missing `name` — or, a `name` that is not a string, written into
201
+ * the draft as it stood: `5` became a parameter `5`. Either way the path's own segment came after the
202
+ * declared ones, and the draft's order parted from the document's in silence. Only `in: path` is
203
+ * asked: a query, header or cookie parameter with no name does not touch the draft, and `scaffold`
204
+ * is not a check of the OpenAPI document.
205
+ */
206
+ function pathParameterUnnamed(p) {
207
+ if (p === null || typeof p !== "object" || Array.isArray(p) || p.in !== "path")
208
+ return null;
209
+ if (p.name === undefined)
210
+ return "has no `name`";
211
+ if (typeof p.name !== "string")
212
+ return `has \`name\` ${JSON.stringify(p.name)}, which is not a string`;
213
+ if (p.name === "")
214
+ return "has an empty `name`";
215
+ return null;
216
+ }
105
217
  /**
106
218
  * A path item given whole by `$ref` — `"/v1/x/{id}": { "$ref": "#/components/pathItems/X" }`, as
107
219
  * OpenAPI 3.1 allows. Up to 1.7.2 its one key, `$ref`, was not a verb, so the route was neither
@@ -121,37 +233,63 @@ function resolvePathItem(doc, path, item) {
121
233
  item: own,
122
234
  notRead: new Finding("openapi_path_item_ref_not_read", `${path}: the path item is given by \`$ref\` ${JSON.stringify(ref)} — ${why}; not read, so the routes at that address are neither drafted nor counted`, "warning"),
123
235
  });
124
- if (typeof ref !== "string" || !(ref === "#" || ref.startsWith("#/")))
125
- return notRead("not an address inside this document");
126
- let target = doc;
127
- for (const token of ref === "#" ? [] : ref.slice(2).split("/")) {
128
- let key;
129
- try {
130
- // A JSON Pointer in a URI fragment: percent-decoding first, then `~1` → `/` and `~0` → `~`.
131
- key = decodeURIComponent(token).replace(/~1/g, "/").replace(/~0/g, "~");
132
- }
133
- catch {
134
- return notRead("not a valid address");
135
- }
136
- if (target === null || typeof target !== "object" || !Object.prototype.hasOwnProperty.call(target, key)) {
137
- return notRead("nothing at that address");
138
- }
139
- target = target[key];
140
- }
236
+ const found = followLocalRef(doc, ref);
237
+ if ("why" in found)
238
+ return notRead(found.why);
239
+ const target = found.target;
141
240
  if (target === null || typeof target !== "object" || Array.isArray(target))
142
241
  return notRead("what stands there is not a path item");
143
242
  if (target.$ref !== undefined)
144
243
  return notRead("what stands there is another `$ref`, and only one level is followed");
145
244
  // An operation (`…/X/get`) or the document itself is an object too, and taken for a path item it
146
245
  // would drop its route as silently as 1.7.2 did. A path item written in place with no operation
147
- // is lawful and stays as it was; one given by `$ref` names an address that holds no route.
148
- if (!Object.keys(target).some((key) => VERBS.includes(key.toLowerCase())))
246
+ // is lawful and stays as it was; one given by `$ref` names an address that holds no route. A
247
+ // `trace` is an operation, though not one the inventory takes: up to 1.7.3 a path item with only a
248
+ // `trace` was said to have none. So is a `query`, and so is anything in `additionalOperations`
249
+ // (OpenAPI 3.2) — an empty map there holds none.
250
+ const holdsOperation = ([key, value]) => key === "additionalOperations" ? !isMap(value) || Object.keys(value).length > 0 : FIELD_METHODS.includes(key.toLowerCase());
251
+ if (!Object.entries(target).some(holdsOperation))
149
252
  return notRead("what stands there has no operation");
150
253
  return { item: { ...target, ...own }, notRead: null };
151
254
  }
152
- function draftBody(id, method, path, operation, shared, source, degenerate) {
255
+ /** A route at a method the route inventory and `check` do not take: named, not drafted, not counted. */
256
+ function methodUnknown(route, what) {
257
+ return new Finding("openapi_method_unknown", `${route}: ${what}, but an unknown method to the route inventory and to \`check\`, which take ${VERBS.map((v) => v.toUpperCase()).join(", ")} — not drafted, and not counted among the routes served`, "warning");
258
+ }
259
+ /**
260
+ * `additionalOperations` (OpenAPI 3.2): a map from a method, written as the request sends it, to
261
+ * an operation, for a method with no field of its own — `COPY`, `LINK`. None is a method the route
262
+ * inventory or `check` takes, so each is `openapi_method_unknown`, the route written with the key
263
+ * as the document gives it. A key that names one of the nine methods with a field of their own is
264
+ * not read: that route's place is the field. `POST` is one OpenAPI 3.2 says the map MUST NOT hold;
265
+ * `post` the text does not forbid — an HTTP method is case-sensitive — but it differs from `POST`
266
+ * only in case, and usedesign, which takes a method in any case, reads it as the same method, so it
267
+ * is not read here either, and the warning says which of the two it is (DOMES's finding 4 in note
268
+ * #1218). A value that is not a map is not read. Either way `openapi_additional_operation_not_read`
269
+ * names it. Up to 1.7.4 the field was not a verb, and every route in it fell out of the count with
270
+ * nothing said.
271
+ */
272
+ function additionalOperations(path, item, given) {
273
+ if (!isMap(given)) {
274
+ return [
275
+ new Finding("openapi_additional_operation_not_read", `${path}: \`additionalOperations\` is not a map from a method to an operation — not read, so the routes it holds are neither drafted nor counted`, "warning"),
276
+ ];
277
+ }
278
+ return Object.keys(given).map((key) => {
279
+ const field = key.toLowerCase();
280
+ if (!FIELD_METHODS.includes(field))
281
+ return methodUnknown(`${key} ${path}`, `\`${key}\` in \`additionalOperations\` is an operation OpenAPI 3.2 allows`);
282
+ const fieldHere = Object.keys(item).some((k) => k.toLowerCase() === field);
283
+ const method = field.toUpperCase();
284
+ const why = key === method
285
+ ? `\`${key}\` in \`additionalOperations\` names a method with a field of its own, which OpenAPI 3.2 says this map MUST NOT hold`
286
+ : `\`${key}\` in \`additionalOperations\` differs only in case from \`${method}\`, which OpenAPI 3.2 says this map MUST NOT hold, and usedesign takes a method in any case`;
287
+ return new Finding("openapi_additional_operation_not_read", `${key} ${path}: ${why} — not read; ${fieldHere ? `the route is read from the path item's \`${field}\`` : `the route is neither drafted nor counted, and its place is the path item's \`${field}\``}`, "warning");
288
+ });
289
+ }
290
+ function draftBody(id, method, path, operation, shared, own, source, degenerate) {
153
291
  const responses = responsesOf(operation);
154
- const parameters = pathParameterNames(path, shared, operation?.parameters);
292
+ const parameters = pathParameterNames(path, shared, own);
155
293
  // What the document says about itself goes in the prose, attributed, never into a field. A
156
294
  // summary copied into `title` would fill a human's field with a machine's guess, and the next
157
295
  // reader could not tell which of the two wrote it.
@@ -252,13 +390,24 @@ export function planScaffold(openapiPath, outDir, config, base) {
252
390
  const onPathItem = parametersNotList(`${path} (the path item)`, operations?.parameters);
253
391
  if (onPathItem)
254
392
  findings.push(onPathItem);
393
+ const shared = readParameters(doc, `${path} (the path item)`, operations?.parameters, findings);
255
394
  for (const [verb, operation] of Object.entries(operations ?? {})) {
395
+ if (verb === "additionalOperations") {
396
+ findings.push(...additionalOperations(path, operations, operation));
397
+ continue;
398
+ }
399
+ const method = verb.toUpperCase();
400
+ if (UNKNOWN_TO_THE_INVENTORY.includes(verb.toLowerCase())) {
401
+ findings.push(methodUnknown(`${method} ${path}`, `\`${verb}\` is an operation OpenAPI allows`));
402
+ continue;
403
+ }
256
404
  if (!VERBS.includes(verb.toLowerCase()))
257
405
  continue;
258
- const onOperation = parametersNotList(`${verb.toUpperCase()} ${path}`, operation?.parameters);
406
+ const onOperation = parametersNotList(`${method} ${path}`, operation?.parameters);
259
407
  if (onOperation)
260
408
  findings.push(onOperation);
261
- routes.push({ method: verb.toUpperCase(), path, operation, shared: operations?.parameters });
409
+ const own = readParameters(doc, `${method} ${path}`, operation?.parameters, findings);
410
+ routes.push({ method, path, operation, shared, own });
262
411
  }
263
412
  }
264
413
  routes.sort((a, b) => (a.path === b.path ? a.method.localeCompare(b.method) : a.path.localeCompare(b.path)));
@@ -279,7 +428,7 @@ export function planScaffold(openapiPath, outDir, config, base) {
279
428
  if (degenerate) {
280
429
  findings.push(new Finding("statuses_uniform", `every one of the ${routes.length} routes declares the same statuses (${responsesOf(routes[0].operation).join(", ") || "none"}) — a framework default rather than a description; each draft says so`, "warning"));
281
430
  }
282
- for (const { method, path, operation, shared } of routes) {
431
+ for (const { method, path, operation, shared, own } of routes) {
283
432
  const key = normalise(method, path);
284
433
  const shape = key.slice(key.indexOf(" ") + 1);
285
434
  // The glob `check` matches an exclusion with (1.5.1), so the two never disagree on a route.
@@ -302,7 +451,7 @@ export function planScaffold(openapiPath, outDir, config, base) {
302
451
  const file = join(outDir, `${id}.op.md`);
303
452
  if (existsSync(file))
304
453
  plan.existing.push(file);
305
- plan.drafts.push({ id, file, method, path, body: draftBody(id, method, path, operation, shared, source, degenerate) });
454
+ plan.drafts.push({ id, file, method, path, body: draftBody(id, method, path, operation, shared, own, source, degenerate) });
306
455
  }
307
456
  return plan;
308
457
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "usedesign",
3
- "version": "1.7.3",
3
+ "version": "1.7.5",
4
4
  "description": "Validate and check Operation Cards and form contracts: no wild endpoints, no unproven steps, no maturity beyond its evidence, no imagined storage, no screen that strays from its contract.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {