@tulipes/spec 0.1.0 → 0.2.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.
- package/README.md +29 -7
- package/dist/extract.d.ts +3 -0
- package/dist/extract.js +3 -1
- package/dist/extract.js.map +1 -1
- package/dist/openapi.js +6 -2
- package/dist/openapi.js.map +1 -1
- package/dist/postman.js +6 -2
- package/dist/postman.js.map +1 -1
- package/package.json +9 -4
package/README.md
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="https://cdn.jsdelivr.net/npm/@tulipes/core@0.7.1/assets/tulipesjs-logo.png" alt="TulipesJs" width="340">
|
|
4
|
+
|
|
5
|
+
</div>
|
|
6
|
+
|
|
1
7
|
# @tulipes/spec
|
|
2
8
|
|
|
3
9
|
Generates an **OpenAPI 3.1 document** and a **Postman collection** from a
|
|
4
10
|
[Tulipes](https://www.npmjs.com/package/@tulipes/core) app's declared
|
|
5
11
|
routes.
|
|
6
12
|
|
|
13
|
+
Version 0.2 requires `@tulipes/core@^0.8.0`. See the core
|
|
14
|
+
[migration guide](https://github.com/kemora13conf/bp-backend-express/blob/v0.8.0/packages/core/MIGRATING.md#reliability-contracts-08)
|
|
15
|
+
when upgrading from an earlier release.
|
|
16
|
+
|
|
7
17
|
The source is the RAI registry of a *booted* app — not parsed source — so a
|
|
8
18
|
generated document describes exactly the router that is mounted. It cannot
|
|
9
19
|
invent an endpoint, and it cannot miss one.
|
|
@@ -31,6 +41,7 @@ Everything except the request shapes is already declared:
|
|
|
31
41
|
| tag / folder | `rai({ folder })`, defaulting to the declaring module |
|
|
32
42
|
| security, `x-tulipes-roles` | the ACL — which roles hold that permission |
|
|
33
43
|
| response envelope | the framework's one response shape |
|
|
44
|
+
| success status | `rai({ status })`, defaulting to 200; 204 has no JSON body |
|
|
34
45
|
| request/response schemas | `rai({ params, query, body, returns })` |
|
|
35
46
|
|
|
36
47
|
Schemas are zod, declared on the route and **validated at runtime by the
|
|
@@ -81,15 +92,26 @@ The CLI is a thin wrapper; the pieces are exported:
|
|
|
81
92
|
import { extract, toOpenApi, toPostman } from "@tulipes/spec";
|
|
82
93
|
import { boot } from "@tulipes/core/boot";
|
|
83
94
|
|
|
84
|
-
const handle = await boot({ rootDir, mode: "backend",
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
const { document, warnings } = await toOpenApi(source, {
|
|
88
|
-
|
|
89
|
-
});
|
|
95
|
+
const handle = await boot({ rootDir, mode: "backend", inspect: true, handleSignals: false });
|
|
96
|
+
try {
|
|
97
|
+
const source = extract(handle.ctx);
|
|
98
|
+
const { document, warnings } = await toOpenApi(source, {
|
|
99
|
+
servers: ["https://api.example.com"],
|
|
100
|
+
});
|
|
101
|
+
// Write the document and report warnings here.
|
|
102
|
+
} finally {
|
|
103
|
+
await handle.shutdown();
|
|
104
|
+
}
|
|
90
105
|
```
|
|
91
106
|
|
|
92
|
-
|
|
107
|
+
Inspection skips bootstrap, sockets, listening and readiness hooks, so it can run
|
|
108
|
+
while the app is serving. Imports, config/route factories and applicable database
|
|
109
|
+
and queue connections still run. Always release them with `shutdown()`.
|
|
110
|
+
|
|
111
|
+
Custom access checkers produce dynamic authorization metadata and warnings;
|
|
112
|
+
the generator cannot infer their roles or credentials. Configure authorization
|
|
113
|
+
manually for these Postman requests; they do not inherit the collection's bearer
|
|
114
|
+
token. OpenAPI omits a static security requirement for these operations.
|
|
93
115
|
|
|
94
116
|
## Options
|
|
95
117
|
|
package/dist/extract.d.ts
CHANGED
|
@@ -6,6 +6,9 @@ import type { ValidatableSchema } from "@tulipes/core/http";
|
|
|
6
6
|
* describe a route that is not actually mounted, nor miss one that is.
|
|
7
7
|
*/
|
|
8
8
|
export interface SpecRoute {
|
|
9
|
+
status?: number;
|
|
10
|
+
/** Static ACL grants cannot describe a custom checker. */
|
|
11
|
+
authorization?: "acl" | "dynamic";
|
|
9
12
|
id: string;
|
|
10
13
|
method: string;
|
|
11
14
|
/** As express declared it: `/users/:email`. */
|
package/dist/extract.js
CHANGED
|
@@ -15,9 +15,11 @@ export function extract(ctx) {
|
|
|
15
15
|
const routes = [...ctx.routes.all()]
|
|
16
16
|
.map((record) => {
|
|
17
17
|
const { info } = record;
|
|
18
|
-
const roles = rolesFor(info.id);
|
|
18
|
+
const roles = ctx.routes.checker ? [] : rolesFor(info.id);
|
|
19
19
|
return {
|
|
20
20
|
id: info.id,
|
|
21
|
+
authorization: ctx.routes.checker ? "dynamic" : "acl",
|
|
22
|
+
...(info.status !== undefined && { status: info.status }),
|
|
21
23
|
method: record.method.toUpperCase(),
|
|
22
24
|
path: record.path,
|
|
23
25
|
module: record.module,
|
package/dist/extract.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../src/extract.ts"],"names":[],"mappings":"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"}
|
package/dist/openapi.js
CHANGED
|
@@ -31,6 +31,9 @@ export async function toOpenApi(source, options = {}) {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
async function operation(route, warnings) {
|
|
34
|
+
if (route.authorization === "dynamic") {
|
|
35
|
+
warnings.push(`${route.id}: custom access checker; authorization cannot be described statically`);
|
|
36
|
+
}
|
|
34
37
|
const collect = (warning) => {
|
|
35
38
|
if (warning)
|
|
36
39
|
warnings.push(warning);
|
|
@@ -55,6 +58,7 @@ async function operation(route, warnings) {
|
|
|
55
58
|
// reader of the document genuinely needs.
|
|
56
59
|
"x-tulipes-permission": route.id,
|
|
57
60
|
"x-tulipes-roles": route.roles,
|
|
61
|
+
"x-tulipes-authorization": route.authorization ?? "acl",
|
|
58
62
|
...(parameters.length > 0 && { parameters }),
|
|
59
63
|
...(body.schema && {
|
|
60
64
|
requestBody: {
|
|
@@ -64,7 +68,7 @@ async function operation(route, warnings) {
|
|
|
64
68
|
}),
|
|
65
69
|
// A public route needs no credential; every other one does. An empty
|
|
66
70
|
// array on `security` is OpenAPI's way of saying "optional".
|
|
67
|
-
security: route.public ? [] : [{ bearerAuth: [] }],
|
|
71
|
+
...(route.authorization !== "dynamic" && { security: route.public ? [] : [{ bearerAuth: [] }] }),
|
|
68
72
|
responses: responses(route, returns.schema),
|
|
69
73
|
};
|
|
70
74
|
}
|
|
@@ -131,7 +135,7 @@ function responses(route, returns) {
|
|
|
131
135
|
},
|
|
132
136
|
});
|
|
133
137
|
return {
|
|
134
|
-
|
|
138
|
+
[String(route.status ?? 200)]: route.status === 204 ? { description: "Success" } : success,
|
|
135
139
|
...(hasValidation(route) && { "422": failure("Validation failed") }),
|
|
136
140
|
...(!route.public && {
|
|
137
141
|
"401": failure("Authentication required"),
|
package/dist/openapi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
|
package/dist/postman.js
CHANGED
|
@@ -47,12 +47,16 @@ async function request(route, isLogin, warnings) {
|
|
|
47
47
|
toJsonSchema(route.params, `${route.id} params`),
|
|
48
48
|
]);
|
|
49
49
|
[query, body, params].forEach((r) => r.warning && warnings.push(r.warning));
|
|
50
|
+
const dynamic = route.authorization === "dynamic";
|
|
51
|
+
if (dynamic)
|
|
52
|
+
warnings.push(`${route.id}: custom access checker; configure authorization manually`);
|
|
53
|
+
const description = [route.description, dynamic ? "Authorization uses a custom checker. Configure credentials manually." : undefined].filter(Boolean).join("\n\n");
|
|
50
54
|
const path = toPostmanPath(route.path).replace(/^\//, "").split("/");
|
|
51
55
|
return {
|
|
52
56
|
name: route.name ?? route.id,
|
|
53
57
|
request: {
|
|
54
58
|
method: route.method,
|
|
55
|
-
...(
|
|
59
|
+
...(description && { description }),
|
|
56
60
|
header: [
|
|
57
61
|
...(body.schema ? [{ key: "Content-Type", value: "application/json" }] : []),
|
|
58
62
|
// Present but disabled: a reviewer can flip it on to check a
|
|
@@ -77,7 +81,7 @@ async function request(route, isLogin, warnings) {
|
|
|
77
81
|
}),
|
|
78
82
|
// A public route must not send the collection's bearer token: it
|
|
79
83
|
// would mask the very thing a reviewer is checking.
|
|
80
|
-
...(route.public && { auth: { type: "noauth" } }),
|
|
84
|
+
...((route.public || dynamic) && { auth: { type: "noauth" } }),
|
|
81
85
|
},
|
|
82
86
|
event: isLogin ? [captureTokens()] : [],
|
|
83
87
|
};
|
package/dist/postman.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postman.js","sourceRoot":"","sources":["../src/postman.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"postman.js","sourceRoot":"","sources":["../src/postman.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tulipes/spec",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Generate OpenAPI documents and Postman collections from a Tulipes app's declared routes",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -22,11 +22,11 @@
|
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
24
|
"peerDependencies": {
|
|
25
|
-
"@tulipes/core": "^0.
|
|
25
|
+
"@tulipes/core": "^0.8.0",
|
|
26
26
|
"zod": "^3.25 || ^4"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@tulipes/core": "0.
|
|
29
|
+
"@tulipes/core": "0.8.0",
|
|
30
30
|
"@types/node": "^24.2.0",
|
|
31
31
|
"typescript": "^7.0.2",
|
|
32
32
|
"zod": "^3.25"
|
|
@@ -44,5 +44,10 @@
|
|
|
44
44
|
"express",
|
|
45
45
|
"zod"
|
|
46
46
|
],
|
|
47
|
-
"license": "MIT"
|
|
47
|
+
"license": "MIT",
|
|
48
|
+
"peerDependenciesMeta": {
|
|
49
|
+
"zod": {
|
|
50
|
+
"optional": true
|
|
51
|
+
}
|
|
52
|
+
}
|
|
48
53
|
}
|