usedesign 1.7.4 → 1.8.1

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/cli.js CHANGED
@@ -338,7 +338,7 @@ function main(argv) {
338
338
  return args.length === 0 ? 2 : 0;
339
339
  }
340
340
  if (args.includes("--version") || args.includes("-v")) {
341
- console.log(`usedesign ${version()} (SPEC v1.7)`);
341
+ console.log(`usedesign ${version()} (SPEC v1.8)`);
342
342
  return 0;
343
343
  }
344
344
  const [command, ...rest] = args;
package/dist/scaffold.js CHANGED
@@ -20,17 +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
26
  /**
27
- * Operations OpenAPI 3.0 and 3.1 allow on a path item that the route inventory does not: the
28
- * inventory, the config's `exclude.method` and `check` take the seven `VERBS` and call any other
29
- * method unknown. A card's own `method` is any string, but a card for such a route could never be
30
- * checked against an inventory, so it is not drafted — yet it is a route the server answers, and up
31
- * to 1.7.3 it fell out of the count with nothing said. Now `openapi_method_unknown` names it.
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.
32
33
  */
33
- const UNKNOWN_TO_THE_INVENTORY = ["trace"];
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];
34
37
  /**
35
38
  * A provisional id built from the route shape. It is deliberately not a guess at the operation's
36
39
  * name: `TODO` is upper-case, so the id fails its own pattern and the card says out loud that a
@@ -129,9 +132,15 @@ function followLocalRef(doc, ref) {
129
132
  catch {
130
133
  return { why: "not a valid address" };
131
134
  }
132
- if (target === null || typeof target !== "object" || !Object.prototype.hasOwnProperty.call(target, key)) {
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)
133
143
  return { why: "nothing at that address" };
134
- }
135
144
  target = target[key];
136
145
  }
137
146
  return { target };
@@ -140,18 +149,28 @@ function followLocalRef(doc, ref) {
140
149
  * The entries of a `parameters` list, each one given by `$ref` inside this document followed one
141
150
  * level, the way a path item is (1.7.3), so that it keeps its place in the declared order. A `$ref`
142
151
  * to another document, to an address with nothing at it, to another `$ref`, or to something that is
143
- * not a parameter — no `name` or no `in`, such as a schema or the document itself — is not read, and
152
+ * not a parameter — no `in`, such as a schema or the document itself — is not read, and
144
153
  * `openapi_parameter_ref_not_read` names where it stands; if it was a path parameter, the draft
145
- * still names it from the path, after the declared ones. `parameters` that is not a list gives no
146
- * entries; `parametersNotList` says so.
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.
147
158
  */
148
159
  function readParameters(doc, where, parameters, findings) {
149
160
  if (!Array.isArray(parameters))
150
161
  return [];
151
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
+ };
152
171
  for (const entry of parameters) {
153
172
  if (entry?.$ref === undefined) {
154
- read.push(entry);
173
+ keep(entry);
155
174
  continue;
156
175
  }
157
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"));
@@ -165,14 +184,36 @@ function readParameters(doc, where, parameters, findings) {
165
184
  notRead("what stands there is another `$ref`, and only one level is followed");
166
185
  continue;
167
186
  }
168
- if (target === null || typeof target !== "object" || Array.isArray(target) || !target.name || !target.in) {
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) {
169
191
  notRead("what stands there is not a parameter");
170
192
  continue;
171
193
  }
172
- read.push(target);
194
+ keep(target);
173
195
  }
174
196
  return read;
175
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
+ }
176
217
  /**
177
218
  * A path item given whole by `$ref` — `"/v1/x/{id}": { "$ref": "#/components/pathItems/X" }`, as
178
219
  * OpenAPI 3.1 allows. Up to 1.7.2 its one key, `$ref`, was not a verb, so the route was neither
@@ -204,12 +245,48 @@ function resolvePathItem(doc, path, item) {
204
245
  // would drop its route as silently as 1.7.2 did. A path item written in place with no operation
205
246
  // is lawful and stays as it was; one given by `$ref` names an address that holds no route. A
206
247
  // `trace` is an operation, though not one the inventory takes: up to 1.7.3 a path item with only a
207
- // `trace` was said to have none.
208
- const operationKeys = [...VERBS, ...UNKNOWN_TO_THE_INVENTORY];
209
- if (!Object.keys(target).some((key) => operationKeys.includes(key.toLowerCase())))
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))
210
252
  return notRead("what stands there has no operation");
211
253
  return { item: { ...target, ...own }, notRead: null };
212
254
  }
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
+ }
213
290
  function draftBody(id, method, path, operation, shared, own, source, degenerate) {
214
291
  const responses = responsesOf(operation);
215
292
  const parameters = pathParameterNames(path, shared, own);
@@ -315,9 +392,13 @@ export function planScaffold(openapiPath, outDir, config, base) {
315
392
  findings.push(onPathItem);
316
393
  const shared = readParameters(doc, `${path} (the path item)`, operations?.parameters, findings);
317
394
  for (const [verb, operation] of Object.entries(operations ?? {})) {
395
+ if (verb === "additionalOperations") {
396
+ findings.push(...additionalOperations(path, operations, operation));
397
+ continue;
398
+ }
318
399
  const method = verb.toUpperCase();
319
400
  if (UNKNOWN_TO_THE_INVENTORY.includes(verb.toLowerCase())) {
320
- findings.push(new Finding("openapi_method_unknown", `${method} ${path}: \`${verb}\` is an operation OpenAPI allows, 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"));
401
+ findings.push(methodUnknown(`${method} ${path}`, `\`${verb}\` is an operation OpenAPI allows`));
321
402
  continue;
322
403
  }
323
404
  if (!VERBS.includes(verb.toLowerCase()))
@@ -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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"}
@@ -295,6 +295,58 @@
295
295
  "description": "Where the code this step asserts about lives: a path, optionally `:line` or `#Symbol` — `src/a.ts`, `src/a.ts:12`, `src/a.ts#Checkout`. A human aid that no checker relies on (SPEC 5.7); the symbol form is preferred, because a line number drifts silently. Until 1.3 this field demanded a line number that SPEC 5.7 advised against (issue #12); any non-empty string is accepted, a strict superset of what 1.2 accepted.",
296
296
  "type": "string",
297
297
  "minLength": 1
298
+ },
299
+ "short_circuit": {
300
+ "description": "The call can end at this step (SPEC 5.3, round 32): on the short path only the later steps named in runs_again run; every other later step does not.",
301
+ "type": "object",
302
+ "required": [
303
+ "when",
304
+ "returns"
305
+ ],
306
+ "properties": {
307
+ "when": {
308
+ "description": "When the short path is taken.",
309
+ "type": "string",
310
+ "minLength": 1
311
+ },
312
+ "returns": {
313
+ "description": "What the call answers on the short path.",
314
+ "type": "string",
315
+ "minLength": 1
316
+ },
317
+ "runs_again": {
318
+ "description": "Ids of the later steps that still run on the short path.",
319
+ "type": "array",
320
+ "uniqueItems": true,
321
+ "items": {
322
+ "type": "string"
323
+ }
324
+ },
325
+ "binds": {
326
+ "description": "The request parts the short path is keyed on: the sender, the method, the path.",
327
+ "type": "array",
328
+ "uniqueItems": true,
329
+ "items": {
330
+ "type": "string",
331
+ "minLength": 1
332
+ }
333
+ },
334
+ "unbound": {
335
+ "description": "The request parts it is not keyed on — body, header:<name>, query — which may differ from the call whose answer is sent.",
336
+ "type": "array",
337
+ "uniqueItems": true,
338
+ "items": {
339
+ "type": "string",
340
+ "minLength": 1
341
+ }
342
+ },
343
+ "on_unbound": {
344
+ "description": "What a call that differs in an unbound part receives. Without it, a non-empty unbound is the warning guard_bypassable.",
345
+ "type": "string",
346
+ "minLength": 1
347
+ }
348
+ },
349
+ "additionalProperties": false
298
350
  }
299
351
  },
300
352
  "additionalProperties": false
package/dist/validate.js CHANGED
@@ -724,6 +724,48 @@ export function validate(fm, filename = "", knownIds = null) {
724
724
  }
725
725
  }
726
726
  }
727
+ // ── a step where the call can end early (§5.3, round 32) ────────────────────────────────────
728
+ //
729
+ // The list of steps is the order of the usual path. A step with `short_circuit` says the call
730
+ // may end there: on that path only the later steps named in `runs_again` run, every other later
731
+ // step does not. The card cannot show which steps the code skips — only that what it says is
732
+ // about its own later steps, and that a request part the short path does not bind is answered for.
733
+ for (const [index, step] of steps.entries()) {
734
+ const fields = map(step);
735
+ if (!("short_circuit" in fields))
736
+ continue;
737
+ const sid = text(fields.id) ?? "";
738
+ const short = fields.short_circuit;
739
+ if (!isMap(short)) {
740
+ err("short_circuit_malformed", `step \`${sid}\`: \`short_circuit\` is not a map of \`when\`, \`returns\` and the later steps that still run`);
741
+ continue;
742
+ }
743
+ for (const key of ["when", "returns"]) {
744
+ if (!text(short[key])) {
745
+ err("short_circuit_malformed", `step \`${sid}\`: \`short_circuit.${key}\` is absent — a short path says when it is taken and what it answers`);
746
+ }
747
+ }
748
+ for (const key of ["runs_again", "binds", "unbound"]) {
749
+ if (key in short && !Array.isArray(short[key])) {
750
+ err("short_circuit_malformed", `step \`${sid}\`: \`short_circuit.${key}\` is not a list`);
751
+ }
752
+ }
753
+ const later = new Set(steps.slice(index + 1).map((next) => text(map(next).id) ?? ""));
754
+ for (const again of list(short.runs_again)) {
755
+ if (typeof again !== "string")
756
+ continue;
757
+ if (!stepIds.has(again)) {
758
+ err("short_circuit_unknown_step", `step \`${sid}\`: \`short_circuit.runs_again\` names \`${again}\`, which is not one of this card's steps`);
759
+ }
760
+ else if (!later.has(again)) {
761
+ err("short_circuit_step_not_after", `step \`${sid}\`: \`short_circuit.runs_again\` names \`${again}\`, which does not stand after it — on the short path only later steps can run`);
762
+ }
763
+ }
764
+ const unbound = list(short.unbound).filter((part) => typeof part === "string");
765
+ if (unbound.length > 0 && !text(short.on_unbound)) {
766
+ warn("guard_bypassable", `step \`${sid}\`: the short path does not bind ${unbound.map((part) => `\`${part}\``).join(", ")}, and \`on_unbound\` does not say what a call that differs there receives — a guard that reads it is answered with another call's response`);
767
+ }
768
+ }
727
769
  for (const sid of stepIds) {
728
770
  if (!covered.has(sid) && !gaps.has(sid) && !inheritedSteps.has(sid)) {
729
771
  warn("step_unproven", `step \`${sid}\` has no test and no declared gap`);
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../src/validate.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.4",
3
+ "version": "1.8.1",
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": {