@weconjs/core 1.2.13 → 1.2.15
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/devtools/controllers/modules.controller.d.ts.map +1 -1
- package/dist/devtools/controllers/modules.controller.js +2 -4
- package/dist/devtools/controllers/modules.controller.js.map +1 -1
- package/dist/devtools/types.d.ts +1 -2
- package/dist/devtools/types.d.ts.map +1 -1
- package/dist/generators/PostmanGenerator.d.ts +149 -0
- package/dist/generators/PostmanGenerator.d.ts.map +1 -0
- package/dist/generators/PostmanGenerator.js +345 -0
- package/dist/generators/PostmanGenerator.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/module.d.ts +3 -4
- package/dist/module.d.ts.map +1 -1
- package/dist/module.js +5 -32
- package/dist/module.js.map +1 -1
- package/dist/routing/PostmanGroup.d.ts +56 -0
- package/dist/routing/PostmanGroup.d.ts.map +1 -0
- package/dist/routing/PostmanGroup.js +66 -0
- package/dist/routing/PostmanGroup.js.map +1 -0
- package/dist/routing/PostmanRoute.d.ts +145 -0
- package/dist/routing/PostmanRoute.d.ts.map +1 -0
- package/dist/routing/PostmanRoute.js +138 -0
- package/dist/routing/PostmanRoute.js.map +1 -0
- package/dist/routing/Route.d.ts +2 -0
- package/dist/routing/Route.d.ts.map +1 -1
- package/dist/routing/Route.js +2 -0
- package/dist/routing/Route.js.map +1 -1
- package/dist/routing/Routes.d.ts +2 -0
- package/dist/routing/Routes.d.ts.map +1 -1
- package/dist/routing/Routes.js +3 -0
- package/dist/routing/Routes.js.map +1 -1
- package/dist/routing/Wecon.d.ts +35 -0
- package/dist/routing/Wecon.d.ts.map +1 -1
- package/dist/routing/Wecon.js +53 -0
- package/dist/routing/Wecon.js.map +1 -1
- package/dist/routing/index.d.ts +5 -1
- package/dist/routing/index.d.ts.map +1 -1
- package/dist/routing/index.js +2 -0
- package/dist/routing/index.js.map +1 -1
- package/dist/types/postman.types.d.ts +241 -0
- package/dist/types/postman.types.d.ts.map +1 -0
- package/dist/types/postman.types.js +6 -0
- package/dist/types/postman.types.js.map +1 -0
- package/dist/types.d.ts +4 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/module.js
CHANGED
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
* name: 'auth',
|
|
15
15
|
* config: authConfig,
|
|
16
16
|
* routes: authRoutes,
|
|
17
|
-
*
|
|
18
|
-
* exports: ['AuthService', 'JwtService'],
|
|
17
|
+
* priority: 1,
|
|
19
18
|
* onInit: async (ctx) => {
|
|
20
19
|
* ctx.logger.info('Auth module initialized');
|
|
21
20
|
* },
|
|
@@ -72,8 +71,7 @@ export function defineModule(definition) {
|
|
|
72
71
|
description: definition.description ?? "",
|
|
73
72
|
config: definition.config,
|
|
74
73
|
routes: definition.routes,
|
|
75
|
-
|
|
76
|
-
exports: definition.exports ?? [],
|
|
74
|
+
priority: definition.priority ?? 0,
|
|
77
75
|
onInit: definition.onInit,
|
|
78
76
|
onDestroy: definition.onDestroy,
|
|
79
77
|
socketHandlers: [],
|
|
@@ -201,38 +199,13 @@ export async function loadModule(modulePath, baseDir) {
|
|
|
201
199
|
};
|
|
202
200
|
}
|
|
203
201
|
/**
|
|
204
|
-
* Resolve module
|
|
202
|
+
* Resolve module load order by priority (lower numbers load first)
|
|
205
203
|
*
|
|
206
204
|
* @param modules - Map of module name to module
|
|
207
|
-
* @returns Ordered array of modules
|
|
205
|
+
* @returns Ordered array of modules sorted by priority ascending
|
|
208
206
|
*/
|
|
209
207
|
export function resolveModuleDependencies(modules) {
|
|
210
|
-
|
|
211
|
-
const seen = new Set();
|
|
212
|
-
const visiting = new Set();
|
|
213
|
-
function visit(name) {
|
|
214
|
-
if (seen.has(name))
|
|
215
|
-
return;
|
|
216
|
-
if (visiting.has(name)) {
|
|
217
|
-
throw new Error(`[Wecon] Circular module dependency detected: ${name}`);
|
|
218
|
-
}
|
|
219
|
-
const module = modules.get(name);
|
|
220
|
-
if (!module) {
|
|
221
|
-
throw new Error(`[Wecon] Module "${name}" not found`);
|
|
222
|
-
}
|
|
223
|
-
visiting.add(name);
|
|
224
|
-
// Visit dependencies first
|
|
225
|
-
for (const dep of module.imports ?? []) {
|
|
226
|
-
visit(dep);
|
|
227
|
-
}
|
|
228
|
-
visiting.delete(name);
|
|
229
|
-
seen.add(name);
|
|
230
|
-
resolved.push(module);
|
|
231
|
-
}
|
|
232
|
-
for (const name of modules.keys()) {
|
|
233
|
-
visit(name);
|
|
234
|
-
}
|
|
235
|
-
return resolved;
|
|
208
|
+
return Array.from(modules.values()).sort((a, b) => (a.priority ?? 0) - (b.priority ?? 0));
|
|
236
209
|
}
|
|
237
210
|
/**
|
|
238
211
|
* Resolve module configs by calling each module's load() function
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { PostmanDescription, PostmanAuth, PostmanVariableList, PostmanEventList, PostmanProtocolProfileBehavior, PostmanGroupConfig } from "../types/postman.types.js";
|
|
2
|
+
import type { PostmanItem } from "./PostmanRoute.js";
|
|
3
|
+
/**
|
|
4
|
+
* Postman Item Group (Folder) structure
|
|
5
|
+
*/
|
|
6
|
+
export interface PostmanItemGroup {
|
|
7
|
+
name: string;
|
|
8
|
+
description?: PostmanDescription;
|
|
9
|
+
item: (PostmanItem | PostmanItemGroup)[];
|
|
10
|
+
auth?: PostmanAuth | null;
|
|
11
|
+
event?: PostmanEventList;
|
|
12
|
+
variable?: PostmanVariableList;
|
|
13
|
+
protocolProfileBehavior?: PostmanProtocolProfileBehavior;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* PostmanGroup
|
|
17
|
+
*
|
|
18
|
+
* Configures how a group of Routes (a folder) is represented in the generated Postman collection.
|
|
19
|
+
* This class handles the creation of Postman Folders (Item Groups).
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* new Routes({
|
|
24
|
+
* prefix: '/users',
|
|
25
|
+
* postman: new PostmanGroup({
|
|
26
|
+
* folderName: 'User Management',
|
|
27
|
+
* description: 'Endpoints for managing users',
|
|
28
|
+
* auth: { type: 'bearer', ... }
|
|
29
|
+
* })
|
|
30
|
+
* })
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
declare class PostmanGroup {
|
|
34
|
+
/** Folder name - the display name for this folder in Postman */
|
|
35
|
+
folderName: string;
|
|
36
|
+
/** Description of the folder/route group */
|
|
37
|
+
description?: PostmanDescription;
|
|
38
|
+
/** Authentication configuration (inherited by child items unless overridden) */
|
|
39
|
+
auth?: PostmanAuth | null;
|
|
40
|
+
/** Variables scoped to this folder */
|
|
41
|
+
variable?: PostmanVariableList;
|
|
42
|
+
/** Pre-request and test scripts for this folder */
|
|
43
|
+
event?: PostmanEventList;
|
|
44
|
+
/** Protocol profile behavior configuration */
|
|
45
|
+
protocolProfileBehavior?: PostmanProtocolProfileBehavior;
|
|
46
|
+
constructor(config: PostmanGroupConfig);
|
|
47
|
+
/**
|
|
48
|
+
* Converts this configuration and a list of child items into a Postman Folder.
|
|
49
|
+
*
|
|
50
|
+
* @param items - The list of child requests (Items) or sub-folders (ItemGroups)
|
|
51
|
+
* @returns A formatted Postman ItemGroup object
|
|
52
|
+
*/
|
|
53
|
+
toPostmanItemGroup(items: (PostmanItem | PostmanItemGroup)[]): PostmanItemGroup;
|
|
54
|
+
}
|
|
55
|
+
export default PostmanGroup;
|
|
56
|
+
//# sourceMappingURL=PostmanGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostmanGroup.d.ts","sourceRoot":"","sources":["../../src/routing/PostmanGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,8BAA8B,EAC9B,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,IAAI,EAAE,CAAC,WAAW,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACzC,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;CAC1D;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,cAAM,YAAY;IAChB,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC;IAEnB,4CAA4C;IAC5C,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAEjC,gFAAgF;IAChF,IAAI,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAE1B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAE/B,mDAAmD;IACnD,KAAK,CAAC,EAAE,gBAAgB,CAAC;IAEzB,8CAA8C;IAC9C,uBAAuB,CAAC,EAAE,8BAA8B,CAAC;gBAE7C,MAAM,EAAE,kBAAkB;IAStC;;;;;OAKG;IACI,kBAAkB,CACvB,KAAK,EAAE,CAAC,WAAW,GAAG,gBAAgB,CAAC,EAAE,GACxC,gBAAgB;CAgBpB;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostmanGroup
|
|
3
|
+
*
|
|
4
|
+
* Configures how a group of Routes (a folder) is represented in the generated Postman collection.
|
|
5
|
+
* This class handles the creation of Postman Folders (Item Groups).
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* new Routes({
|
|
10
|
+
* prefix: '/users',
|
|
11
|
+
* postman: new PostmanGroup({
|
|
12
|
+
* folderName: 'User Management',
|
|
13
|
+
* description: 'Endpoints for managing users',
|
|
14
|
+
* auth: { type: 'bearer', ... }
|
|
15
|
+
* })
|
|
16
|
+
* })
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
class PostmanGroup {
|
|
20
|
+
/** Folder name - the display name for this folder in Postman */
|
|
21
|
+
folderName;
|
|
22
|
+
/** Description of the folder/route group */
|
|
23
|
+
description;
|
|
24
|
+
/** Authentication configuration (inherited by child items unless overridden) */
|
|
25
|
+
auth;
|
|
26
|
+
/** Variables scoped to this folder */
|
|
27
|
+
variable;
|
|
28
|
+
/** Pre-request and test scripts for this folder */
|
|
29
|
+
event;
|
|
30
|
+
/** Protocol profile behavior configuration */
|
|
31
|
+
protocolProfileBehavior;
|
|
32
|
+
constructor(config) {
|
|
33
|
+
this.folderName = config.folderName;
|
|
34
|
+
this.description = config.description;
|
|
35
|
+
this.auth = config.auth;
|
|
36
|
+
this.variable = config.variable;
|
|
37
|
+
this.event = config.event;
|
|
38
|
+
this.protocolProfileBehavior = config.protocolProfileBehavior;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Converts this configuration and a list of child items into a Postman Folder.
|
|
42
|
+
*
|
|
43
|
+
* @param items - The list of child requests (Items) or sub-folders (ItemGroups)
|
|
44
|
+
* @returns A formatted Postman ItemGroup object
|
|
45
|
+
*/
|
|
46
|
+
toPostmanItemGroup(items) {
|
|
47
|
+
const folder = {
|
|
48
|
+
name: this.folderName,
|
|
49
|
+
item: items,
|
|
50
|
+
};
|
|
51
|
+
if (this.description)
|
|
52
|
+
folder.description = this.description;
|
|
53
|
+
if (this.auth !== undefined)
|
|
54
|
+
folder.auth = this.auth;
|
|
55
|
+
if (this.variable)
|
|
56
|
+
folder.variable = this.variable;
|
|
57
|
+
if (this.event)
|
|
58
|
+
folder.event = this.event;
|
|
59
|
+
if (this.protocolProfileBehavior) {
|
|
60
|
+
folder.protocolProfileBehavior = this.protocolProfileBehavior;
|
|
61
|
+
}
|
|
62
|
+
return folder;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export default PostmanGroup;
|
|
66
|
+
//# sourceMappingURL=PostmanGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostmanGroup.js","sourceRoot":"","sources":["../../src/routing/PostmanGroup.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,YAAY;IAChB,gEAAgE;IAChE,UAAU,CAAS;IAEnB,4CAA4C;IAC5C,WAAW,CAAsB;IAEjC,gFAAgF;IAChF,IAAI,CAAsB;IAE1B,sCAAsC;IACtC,QAAQ,CAAuB;IAE/B,mDAAmD;IACnD,KAAK,CAAoB;IAEzB,8CAA8C;IAC9C,uBAAuB,CAAkC;IAEzD,YAAY,MAA0B;QACpC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CACvB,KAAyC;QAEzC,MAAM,MAAM,GAAqB;YAC/B,IAAI,EAAE,IAAI,CAAC,UAAU;YACrB,IAAI,EAAE,KAAK;SACZ,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW;YAAE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrD,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnD,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1C,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjC,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC;QAChE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import type { PostmanDescription, PostmanAuth, PostmanVariableList, PostmanEventList, PostmanProtocolProfileBehavior, PostmanRouteConfig } from "../types/postman.types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Postman URL structure
|
|
4
|
+
*/
|
|
5
|
+
interface PostmanUrl {
|
|
6
|
+
raw: string;
|
|
7
|
+
protocol?: string;
|
|
8
|
+
host?: string | string[];
|
|
9
|
+
port?: string;
|
|
10
|
+
path?: string | string[];
|
|
11
|
+
query?: Array<{
|
|
12
|
+
key: string;
|
|
13
|
+
value: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
description?: PostmanDescription;
|
|
16
|
+
}>;
|
|
17
|
+
hash?: string;
|
|
18
|
+
variable?: PostmanVariableList;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Postman Request structure
|
|
22
|
+
*/
|
|
23
|
+
interface PostmanRequest {
|
|
24
|
+
method: string;
|
|
25
|
+
header?: Array<{
|
|
26
|
+
key: string;
|
|
27
|
+
value: string;
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
description?: PostmanDescription;
|
|
30
|
+
}>;
|
|
31
|
+
body?: {
|
|
32
|
+
mode: string;
|
|
33
|
+
raw?: string;
|
|
34
|
+
urlencoded?: Array<{
|
|
35
|
+
key: string;
|
|
36
|
+
value: string;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
}>;
|
|
39
|
+
formdata?: Array<{
|
|
40
|
+
key: string;
|
|
41
|
+
value: string;
|
|
42
|
+
type?: string;
|
|
43
|
+
disabled?: boolean;
|
|
44
|
+
}>;
|
|
45
|
+
file?: {
|
|
46
|
+
src: string;
|
|
47
|
+
};
|
|
48
|
+
graphql?: {
|
|
49
|
+
query: string;
|
|
50
|
+
variables?: string;
|
|
51
|
+
};
|
|
52
|
+
options?: {
|
|
53
|
+
raw?: {
|
|
54
|
+
language?: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
url: PostmanUrl | string;
|
|
59
|
+
auth?: PostmanAuth | null;
|
|
60
|
+
description?: PostmanDescription;
|
|
61
|
+
proxy?: unknown;
|
|
62
|
+
certificate?: unknown;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Postman Item structure (represents a single request)
|
|
66
|
+
*/
|
|
67
|
+
export interface PostmanItem {
|
|
68
|
+
id?: string;
|
|
69
|
+
name: string;
|
|
70
|
+
description?: PostmanDescription;
|
|
71
|
+
variable?: PostmanVariableList;
|
|
72
|
+
event?: PostmanEventList;
|
|
73
|
+
request: PostmanRequest | string;
|
|
74
|
+
response?: Array<{
|
|
75
|
+
name: string;
|
|
76
|
+
originalRequest?: unknown;
|
|
77
|
+
status?: string;
|
|
78
|
+
code?: number;
|
|
79
|
+
header?: Array<{
|
|
80
|
+
key: string;
|
|
81
|
+
value: string;
|
|
82
|
+
}>;
|
|
83
|
+
body?: string;
|
|
84
|
+
_postman_previewlanguage?: string;
|
|
85
|
+
}>;
|
|
86
|
+
protocolProfileBehavior?: PostmanProtocolProfileBehavior;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* PostmanRoute
|
|
90
|
+
*
|
|
91
|
+
* Configures how a single API Route is represented in the generated Postman collection.
|
|
92
|
+
* This class handles the transformation of route metadata into a Postman Request Item.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* new Route({
|
|
97
|
+
* method: 'POST',
|
|
98
|
+
* path: '/users',
|
|
99
|
+
* postman: new PostmanRoute({
|
|
100
|
+
* name: 'Create New User',
|
|
101
|
+
* body: {
|
|
102
|
+
* mode: 'raw',
|
|
103
|
+
* raw: JSON.stringify({ name: 'John' })
|
|
104
|
+
* }
|
|
105
|
+
* })
|
|
106
|
+
* })
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
declare class PostmanRoute {
|
|
110
|
+
name?: string;
|
|
111
|
+
description?: PostmanDescription;
|
|
112
|
+
auth?: PostmanAuth | null;
|
|
113
|
+
variable?: PostmanVariableList;
|
|
114
|
+
event?: PostmanEventList;
|
|
115
|
+
protocolProfileBehavior?: PostmanProtocolProfileBehavior;
|
|
116
|
+
headers?: Record<string, string>;
|
|
117
|
+
query?: Record<string, string>;
|
|
118
|
+
body?: PostmanRouteConfig["body"];
|
|
119
|
+
response?: PostmanRouteConfig["response"];
|
|
120
|
+
constructor(config: PostmanRouteConfig);
|
|
121
|
+
/**
|
|
122
|
+
* Converts this configuration into a Postman Collection Item.
|
|
123
|
+
*
|
|
124
|
+
* @param route - The route definition containing method, path, etc.
|
|
125
|
+
* @param baseUrl - The base URL variable (default: "{{baseUrl}}")
|
|
126
|
+
* @returns A formatted Postman Item object
|
|
127
|
+
*/
|
|
128
|
+
toPostmanItem(route: {
|
|
129
|
+
method: string;
|
|
130
|
+
path: string;
|
|
131
|
+
name: string;
|
|
132
|
+
description: string;
|
|
133
|
+
rai: string;
|
|
134
|
+
params?: Array<{
|
|
135
|
+
path: string;
|
|
136
|
+
description?: string;
|
|
137
|
+
}>;
|
|
138
|
+
}, baseUrl?: string): PostmanItem;
|
|
139
|
+
/**
|
|
140
|
+
* Helper: Converts Express path params (:id) to Postman syntax ({{id}})
|
|
141
|
+
*/
|
|
142
|
+
private convertPathToPostman;
|
|
143
|
+
}
|
|
144
|
+
export default PostmanRoute;
|
|
145
|
+
//# sourceMappingURL=PostmanRoute.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostmanRoute.d.ts","sourceRoot":"","sources":["../../src/routing/PostmanRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* PostmanRoute
|
|
3
|
+
*
|
|
4
|
+
* Configures how a single API Route is represented in the generated Postman collection.
|
|
5
|
+
* This class handles the transformation of route metadata into a Postman Request Item.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* new Route({
|
|
10
|
+
* method: 'POST',
|
|
11
|
+
* path: '/users',
|
|
12
|
+
* postman: new PostmanRoute({
|
|
13
|
+
* name: 'Create New User',
|
|
14
|
+
* body: {
|
|
15
|
+
* mode: 'raw',
|
|
16
|
+
* raw: JSON.stringify({ name: 'John' })
|
|
17
|
+
* }
|
|
18
|
+
* })
|
|
19
|
+
* })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
class PostmanRoute {
|
|
23
|
+
name;
|
|
24
|
+
description;
|
|
25
|
+
auth;
|
|
26
|
+
variable;
|
|
27
|
+
event;
|
|
28
|
+
protocolProfileBehavior;
|
|
29
|
+
headers;
|
|
30
|
+
query;
|
|
31
|
+
body;
|
|
32
|
+
response;
|
|
33
|
+
constructor(config) {
|
|
34
|
+
this.name = config.name;
|
|
35
|
+
this.description = config.description;
|
|
36
|
+
this.auth = config.auth;
|
|
37
|
+
this.variable = config.variable;
|
|
38
|
+
this.event = config.event;
|
|
39
|
+
this.protocolProfileBehavior = config.protocolProfileBehavior;
|
|
40
|
+
this.headers = config.headers;
|
|
41
|
+
this.query = config.query;
|
|
42
|
+
this.body = config.body;
|
|
43
|
+
this.response = config.response;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Converts this configuration into a Postman Collection Item.
|
|
47
|
+
*
|
|
48
|
+
* @param route - The route definition containing method, path, etc.
|
|
49
|
+
* @param baseUrl - The base URL variable (default: "{{baseUrl}}")
|
|
50
|
+
* @returns A formatted Postman Item object
|
|
51
|
+
*/
|
|
52
|
+
toPostmanItem(route, baseUrl = "{{baseUrl}}") {
|
|
53
|
+
// 1. Prepare Path (Convert :param to {{param}})
|
|
54
|
+
const postmanPath = this.convertPathToPostman(route.path);
|
|
55
|
+
// 2. Build URL Object
|
|
56
|
+
const url = {
|
|
57
|
+
raw: `${baseUrl}${postmanPath}`,
|
|
58
|
+
host: [baseUrl],
|
|
59
|
+
path: postmanPath.split("/").filter((segment) => segment !== ""),
|
|
60
|
+
};
|
|
61
|
+
// 3. Add Query Parameters
|
|
62
|
+
if (this.query) {
|
|
63
|
+
url.query = Object.entries(this.query).map(([key, value]) => ({
|
|
64
|
+
key,
|
|
65
|
+
value,
|
|
66
|
+
disabled: false,
|
|
67
|
+
}));
|
|
68
|
+
}
|
|
69
|
+
// 4. Build Headers
|
|
70
|
+
const headers = [];
|
|
71
|
+
if (this.headers) {
|
|
72
|
+
Object.entries(this.headers).forEach(([key, value]) => {
|
|
73
|
+
headers.push({ key, value, disabled: false });
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
// 5. Construct Request Object
|
|
77
|
+
const request = {
|
|
78
|
+
method: route.method.toUpperCase(),
|
|
79
|
+
header: headers,
|
|
80
|
+
url,
|
|
81
|
+
};
|
|
82
|
+
// 6. Add Body (if applicable)
|
|
83
|
+
if (this.body) {
|
|
84
|
+
request.body = {
|
|
85
|
+
mode: this.body.mode,
|
|
86
|
+
...(this.body.mode === "raw" && this.body.raw !== undefined
|
|
87
|
+
? { raw: this.body.raw }
|
|
88
|
+
: {}),
|
|
89
|
+
...(this.body.mode === "urlencoded" && this.body.urlencoded
|
|
90
|
+
? { urlencoded: this.body.urlencoded }
|
|
91
|
+
: {}),
|
|
92
|
+
...(this.body.mode === "formdata" && this.body.formdata
|
|
93
|
+
? { formdata: this.body.formdata }
|
|
94
|
+
: {}),
|
|
95
|
+
...(this.body.mode === "file" && this.body.file
|
|
96
|
+
? { file: this.body.file }
|
|
97
|
+
: {}),
|
|
98
|
+
...(this.body.mode === "graphql" && this.body.graphql
|
|
99
|
+
? { graphql: this.body.graphql }
|
|
100
|
+
: {}),
|
|
101
|
+
...(this.body.options ? { options: this.body.options } : {}),
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
// 7. Add Authentication (if explicitly set)
|
|
105
|
+
if (this.auth !== undefined) {
|
|
106
|
+
request.auth = this.auth;
|
|
107
|
+
}
|
|
108
|
+
// 8. Assemble Final Item
|
|
109
|
+
const item = {
|
|
110
|
+
name: this.name || route.name,
|
|
111
|
+
request,
|
|
112
|
+
};
|
|
113
|
+
// 9. Add Optional Metadata
|
|
114
|
+
if (this.description !== undefined) {
|
|
115
|
+
item.description = this.description;
|
|
116
|
+
}
|
|
117
|
+
else if (route.description) {
|
|
118
|
+
item.description = route.description;
|
|
119
|
+
}
|
|
120
|
+
if (this.variable)
|
|
121
|
+
item.variable = this.variable;
|
|
122
|
+
if (this.event)
|
|
123
|
+
item.event = this.event;
|
|
124
|
+
if (this.protocolProfileBehavior)
|
|
125
|
+
item.protocolProfileBehavior = this.protocolProfileBehavior;
|
|
126
|
+
if (this.response)
|
|
127
|
+
item.response = this.response;
|
|
128
|
+
return item;
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Helper: Converts Express path params (:id) to Postman syntax ({{id}})
|
|
132
|
+
*/
|
|
133
|
+
convertPathToPostman(path) {
|
|
134
|
+
return path.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, "{{$1}}");
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
export default PostmanRoute;
|
|
138
|
+
//# sourceMappingURL=PostmanRoute.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PostmanRoute.js","sourceRoot":"","sources":["../../src/routing/PostmanRoute.ts"],"names":[],"mappings":"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"}
|
package/dist/routing/Route.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { Handler, RequestHandler } from "express";
|
|
|
2
2
|
import type { RouteConfig, ErrorTraceType, RAI, DefaultRole } from "../types.js";
|
|
3
3
|
import ErrorCatcher from "./ErrorCatcher.js";
|
|
4
4
|
import type RoutesParam from "./RoutesParam.js";
|
|
5
|
+
import type PostmanRoute from "./PostmanRoute.js";
|
|
5
6
|
/**
|
|
6
7
|
* Single API endpoint definition.
|
|
7
8
|
* Carries method, path, RAI, roles, middlewares, and metadata.
|
|
@@ -16,6 +17,7 @@ declare class Route<TRole extends string = DefaultRole> extends ErrorCatcher {
|
|
|
16
17
|
description: string;
|
|
17
18
|
rai: RAI;
|
|
18
19
|
roles: TRole[];
|
|
20
|
+
postman?: PostmanRoute;
|
|
19
21
|
meta?: Record<string, unknown>;
|
|
20
22
|
debugInfo: ErrorTraceType;
|
|
21
23
|
constructor(r: RouteConfig<TRole>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/routing/Route.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAEd,GAAG,EACH,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../../src/routing/Route.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACvD,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EAEd,GAAG,EACH,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAElD;;;GAGG;AACH,cAAM,KAAK,CAAC,KAAK,SAAS,MAAM,GAAG,WAAW,CAAE,SAAQ,YAAY;IAClE,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,CAAM;IACjC,WAAW,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,GAAG,GAAG,EAAE,CAAC;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,GAAG,CAAC;IACT,KAAK,EAAE,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxB,SAAS,EAAE,cAAc,CAAC;gBAErB,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC;IAsBjC,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,iBAAiB;IAqDzB,8DAA8D;IAC9D,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO;CAS3C;AAED,eAAe,KAAK,CAAC"}
|
package/dist/routing/Route.js
CHANGED
|
@@ -16,6 +16,7 @@ class Route extends ErrorCatcher {
|
|
|
16
16
|
description;
|
|
17
17
|
rai;
|
|
18
18
|
roles;
|
|
19
|
+
postman;
|
|
19
20
|
meta;
|
|
20
21
|
debugInfo;
|
|
21
22
|
constructor(r) {
|
|
@@ -28,6 +29,7 @@ class Route extends ErrorCatcher {
|
|
|
28
29
|
this.description = r.description ? r.description : "";
|
|
29
30
|
this.rai = r.rai;
|
|
30
31
|
this.roles = r.roles;
|
|
32
|
+
this.postman = r.postman;
|
|
31
33
|
this.meta = r.meta;
|
|
32
34
|
this.debugInfo = Route.getCallerInfo();
|
|
33
35
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/routing/Route.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AASpC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,MAAM,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Route.js","sourceRoot":"","sources":["../../src/routing/Route.ts"],"names":[],"mappings":"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"}
|
package/dist/routing/Routes.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import Route from "./Route.js";
|
|
|
3
3
|
import type { RoutesConfig, DefaultRole } from "../types.js";
|
|
4
4
|
import RoutesParam from "./RoutesParam.js";
|
|
5
5
|
import ErrorCatcher from "./ErrorCatcher.js";
|
|
6
|
+
import PostmanGroup from "./PostmanGroup.js";
|
|
6
7
|
/**
|
|
7
8
|
* Hierarchical route group with shared prefix, middleware, and params.
|
|
8
9
|
* Contains Route (endpoints) and/or nested Routes (sub-groups).
|
|
@@ -13,6 +14,7 @@ declare class Routes<TRole extends string = DefaultRole> extends ErrorCatcher {
|
|
|
13
14
|
params?: RoutesParam[];
|
|
14
15
|
middlewares?: Handler[];
|
|
15
16
|
mergeParams?: boolean;
|
|
17
|
+
postman?: PostmanGroup;
|
|
16
18
|
meta?: Record<string, unknown>;
|
|
17
19
|
constructor(r: RoutesConfig<TRole>);
|
|
18
20
|
private validateRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Routes.d.ts","sourceRoot":"","sources":["../../src/routing/Routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,EAGV,YAAY,EACZ,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Routes.d.ts","sourceRoot":"","sources":["../../src/routing/Routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,KAAK,EAGV,YAAY,EACZ,WAAW,EACZ,MAAM,aAAa,CAAC;AACrB,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAC3C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C;;;GAGG;AACH,cAAM,MAAM,CAAC,KAAK,SAAS,MAAM,GAAG,WAAW,CAAE,SAAQ,YAAY;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5C,MAAM,CAAC,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAS;IAC9B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEnB,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC;IAmBlC,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,iBAAiB;IA0CzB;;;OAGG;IACI,gBAAgB,IAAI,GAAG,CAC5B,MAAM,EACN,KAAK,CAAC,KAAK,CAAC,GAAG;QAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QAAC,WAAW,EAAE,OAAO,EAAE,CAAA;KAAE,CACjE;IA6ED,OAAO,CAAC,iBAAiB;CAK1B;AAED,eAAe,MAAM,CAAC"}
|
package/dist/routing/Routes.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import Route from "./Route.js";
|
|
2
2
|
import ErrorCatcher from "./ErrorCatcher.js";
|
|
3
3
|
import errors from "../errors/index.js";
|
|
4
|
+
import PostmanGroup from "./PostmanGroup.js";
|
|
4
5
|
/**
|
|
5
6
|
* Hierarchical route group with shared prefix, middleware, and params.
|
|
6
7
|
* Contains Route (endpoints) and/or nested Routes (sub-groups).
|
|
@@ -11,6 +12,7 @@ class Routes extends ErrorCatcher {
|
|
|
11
12
|
params;
|
|
12
13
|
middlewares;
|
|
13
14
|
mergeParams = false;
|
|
15
|
+
postman;
|
|
14
16
|
meta;
|
|
15
17
|
constructor(r) {
|
|
16
18
|
super();
|
|
@@ -19,6 +21,7 @@ class Routes extends ErrorCatcher {
|
|
|
19
21
|
this.params = r.params ? r.params : [];
|
|
20
22
|
this.middlewares = r.middlewares ? r.middlewares : [];
|
|
21
23
|
this.mergeParams = r.mergeParams ? r.mergeParams : false;
|
|
24
|
+
this.postman = r.postman ? r.postman : new PostmanGroup({ folderName: "" });
|
|
22
25
|
this.meta = r.meta;
|
|
23
26
|
try {
|
|
24
27
|
this.validateRoutes();
|