@weconjs/core 1.2.12 → 1.2.14

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 (47) hide show
  1. package/dist/database/index.d.ts +19 -0
  2. package/dist/database/index.d.ts.map +1 -1
  3. package/dist/database/index.js +11 -10
  4. package/dist/database/index.js.map +1 -1
  5. package/dist/generators/PostmanGenerator.d.ts +137 -0
  6. package/dist/generators/PostmanGenerator.d.ts.map +1 -0
  7. package/dist/generators/PostmanGenerator.js +318 -0
  8. package/dist/generators/PostmanGenerator.js.map +1 -0
  9. package/dist/index.d.ts +6 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/routing/PostmanGroup.d.ts +56 -0
  14. package/dist/routing/PostmanGroup.d.ts.map +1 -0
  15. package/dist/routing/PostmanGroup.js +66 -0
  16. package/dist/routing/PostmanGroup.js.map +1 -0
  17. package/dist/routing/PostmanRoute.d.ts +145 -0
  18. package/dist/routing/PostmanRoute.d.ts.map +1 -0
  19. package/dist/routing/PostmanRoute.js +138 -0
  20. package/dist/routing/PostmanRoute.js.map +1 -0
  21. package/dist/routing/Route.d.ts +2 -0
  22. package/dist/routing/Route.d.ts.map +1 -1
  23. package/dist/routing/Route.js +2 -0
  24. package/dist/routing/Route.js.map +1 -1
  25. package/dist/routing/Routes.d.ts +2 -0
  26. package/dist/routing/Routes.d.ts.map +1 -1
  27. package/dist/routing/Routes.js +3 -0
  28. package/dist/routing/Routes.js.map +1 -1
  29. package/dist/routing/Wecon.d.ts +33 -0
  30. package/dist/routing/Wecon.d.ts.map +1 -1
  31. package/dist/routing/Wecon.js +52 -0
  32. package/dist/routing/Wecon.js.map +1 -1
  33. package/dist/routing/index.d.ts +5 -1
  34. package/dist/routing/index.d.ts.map +1 -1
  35. package/dist/routing/index.js +2 -0
  36. package/dist/routing/index.js.map +1 -1
  37. package/dist/server/index.d.ts +5 -0
  38. package/dist/server/index.d.ts.map +1 -1
  39. package/dist/server/index.js +1 -0
  40. package/dist/server/index.js.map +1 -1
  41. package/dist/types/postman.types.d.ts +241 -0
  42. package/dist/types/postman.types.d.ts.map +1 -0
  43. package/dist/types/postman.types.js +6 -0
  44. package/dist/types/postman.types.js.map +1 -0
  45. package/dist/types.d.ts +2 -0
  46. package/dist/types.d.ts.map +1 -1
  47. package/package.json +1 -1
@@ -59,6 +59,12 @@ export interface DatabaseOptions {
59
59
  * Database name (can override config.database)
60
60
  */
61
61
  name?: string;
62
+ /**
63
+ * Mongoose instance to use for the connection.
64
+ * If provided, this instance is used instead of dynamically importing mongoose.
65
+ * This ensures the same instance is shared between model definitions and the connection.
66
+ */
67
+ mongoose?: MongooseInstance;
62
68
  /**
63
69
  * Mongoose connection options
64
70
  */
@@ -83,6 +89,19 @@ export interface DatabaseOptions {
83
89
  backoffMultiplier?: number;
84
90
  };
85
91
  }
92
+ /**
93
+ * Minimal Mongoose instance interface.
94
+ * Accepts the default export of the mongoose package.
95
+ */
96
+ export interface MongooseInstance {
97
+ connect(uri: string, options?: Record<string, unknown>): Promise<unknown>;
98
+ disconnect(): Promise<void>;
99
+ plugin(fn: unknown, opts?: unknown): unknown;
100
+ set(key: string, value: unknown): unknown;
101
+ connection: {
102
+ readyState: number;
103
+ };
104
+ }
86
105
  /**
87
106
  * Database connection instance
88
107
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QACrD,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IAEH;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA4B1D;AASD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAqF7B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAYjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QACL,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IAEvB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElC;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC;QACd,MAAM,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;QACrD,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC,CAAC;IAEH;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,KAAK,CAAC,EAAE;QACN,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACH;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1E,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1C,UAAU,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7B;;OAEG;IACH,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC;;OAEG;IACH,WAAW,EAAE,MAAM,OAAO,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CA4B1D;AASD;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAsF7B;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAYjE"}
@@ -76,7 +76,7 @@ function sleep(ms) {
76
76
  */
77
77
  export async function createDatabaseConnection(options) {
78
78
  let connected = false;
79
- let mongooseInstance = null;
79
+ let mongooseRef = null;
80
80
  // Resolve URI
81
81
  const uri = options.uri ?? (options.config ? buildMongoUri(options.config) : null);
82
82
  if (!uri) {
@@ -87,26 +87,27 @@ export async function createDatabaseConnection(options) {
87
87
  const { maxAttempts = 3, delayMs = 1000, backoffMultiplier = 2, } = options.retry ?? {};
88
88
  return {
89
89
  async connect() {
90
- // Dynamic import mongoose
91
- const mongoose = await import("mongoose");
92
- mongooseInstance = mongoose;
90
+ // Use provided mongoose instance, or dynamically import as fallback
91
+ const mongoose = options.mongoose
92
+ ?? (await import("mongoose")).default;
93
+ mongooseRef = mongoose;
93
94
  // Register global plugins
94
95
  if (options.plugins?.length) {
95
96
  for (const { plugin, options: pluginOpts } of options.plugins) {
96
- mongoose.default.plugin(plugin, pluginOpts);
97
+ mongoose.plugin(plugin, pluginOpts);
97
98
  }
98
99
  console.log(`[Wecon] Registered ${options.plugins.length} Mongoose plugin(s)`);
99
100
  }
100
101
  // Enable debug mode if requested
101
102
  if (options.debug) {
102
- mongoose.default.set("debug", true);
103
+ mongoose.set("debug", true);
103
104
  }
104
105
  // Connect with retry logic
105
106
  let lastError = null;
106
107
  let currentDelay = delayMs;
107
108
  for (let attempt = 1; attempt <= maxAttempts; attempt++) {
108
109
  try {
109
- await mongoose.default.connect(uri, options.options);
110
+ await mongoose.connect(uri, options.options);
110
111
  connected = true;
111
112
  return;
112
113
  }
@@ -123,8 +124,8 @@ export async function createDatabaseConnection(options) {
123
124
  throw new Error(`[Wecon] Database connection failed after ${maxAttempts} attempts: ${lastError?.message}`);
124
125
  },
125
126
  async disconnect() {
126
- if (connected && mongooseInstance) {
127
- await mongooseInstance.default.disconnect();
127
+ if (connected && mongooseRef) {
128
+ await mongooseRef.disconnect();
128
129
  connected = false;
129
130
  console.log("[Wecon] Database disconnected");
130
131
  }
@@ -133,7 +134,7 @@ export async function createDatabaseConnection(options) {
133
134
  return connected;
134
135
  },
135
136
  get mongoose() {
136
- return mongooseInstance?.default;
137
+ return mongooseRef;
137
138
  },
138
139
  };
139
140
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * PostmanGenerator - Intelligent Postman Collection & Environment Generator
3
+ *
4
+ * This utility class generates:
5
+ * 1. Postman Collection v2.1.0 JSON files
6
+ * 2. Postman Environment JSON files with auto-extracted variables
7
+ *
8
+ * Features:
9
+ * - Automatic variable extraction from route paths (e.g., :userId -> {{userId}})
10
+ * - Collection of custom variables from PostmanRoute and PostmanGroup configs
11
+ * - Hierarchical folder structure matching Routes organization
12
+ * - Smart defaults for missing configurations
13
+ */
14
+ import Routes from "../routing/Routes.js";
15
+ import type { PostmanInfo, PostmanVariableList, PostmanAuth, PostmanEventList, PostmanProtocolProfileBehavior } from "../types/postman.types.js";
16
+ import type { PostmanItem } from "../routing/PostmanRoute.js";
17
+ import type { PostmanItemGroup } from "../routing/PostmanGroup.js";
18
+ /**
19
+ * Configuration for PostmanGenerator
20
+ */
21
+ export interface PostmanGeneratorConfig {
22
+ /** Name of the Postman collection */
23
+ name: string;
24
+ /** Description of the API */
25
+ description?: string;
26
+ /** Base URL for all requests (will be added as {{baseUrl}} variable) */
27
+ baseUrl?: string;
28
+ /** API version */
29
+ version?: string;
30
+ /** Output file paths */
31
+ output?: {
32
+ /** Path to save the collection JSON file */
33
+ collection?: string;
34
+ /** Path to save the environment JSON file */
35
+ environment?: string;
36
+ };
37
+ }
38
+ /**
39
+ * Postman Collection v2.1.0 structure
40
+ */
41
+ interface PostmanCollection {
42
+ info: PostmanInfo;
43
+ item: (PostmanItemGroup | PostmanItem)[];
44
+ auth?: PostmanAuth | null;
45
+ event?: PostmanEventList;
46
+ variable?: PostmanVariableList;
47
+ protocolProfileBehavior?: PostmanProtocolProfileBehavior;
48
+ }
49
+ /**
50
+ * Postman Environment structure
51
+ */
52
+ interface PostmanEnvironment {
53
+ id?: string;
54
+ name: string;
55
+ values: Array<{
56
+ key: string;
57
+ value: string;
58
+ type?: "default" | "secret";
59
+ enabled?: boolean;
60
+ description?: string;
61
+ }>;
62
+ _postman_variable_scope?: string;
63
+ _postman_exported_at?: string;
64
+ _postman_exported_using?: string;
65
+ }
66
+ /**
67
+ * PostmanGenerator class
68
+ */
69
+ declare class PostmanGenerator {
70
+ private config;
71
+ private routes;
72
+ private collectedVariables;
73
+ private pathVariables;
74
+ constructor(config: PostmanGeneratorConfig, routes: Routes);
75
+ /**
76
+ * Generate both collection and environment files
77
+ */
78
+ generate(): Promise<{
79
+ collection: PostmanCollection;
80
+ environment: PostmanEnvironment;
81
+ }>;
82
+ /**
83
+ * Extract variables from all routes and their configurations
84
+ */
85
+ private extractVariables;
86
+ /**
87
+ * Recursively extract variables from Routes instances
88
+ */
89
+ private extractVariablesFromRoutes;
90
+ /**
91
+ * Recursively scan an object for string values containing {{variable}}
92
+ */
93
+ private recursivelyScanForVariables;
94
+ /**
95
+ * Extract path parameters from Express-style path
96
+ * Example: /users/:userId/posts/:postId -> ['userId', 'postId']
97
+ */
98
+ private extractPathParams;
99
+ /**
100
+ * Extract variable references from strings (e.g., {{authToken}})
101
+ */
102
+ private extractVariablesFromString;
103
+ /**
104
+ * Generate the Postman Collection
105
+ */
106
+ private generateCollection;
107
+ /**
108
+ * Convert Routes/Route instances to Postman items/folders
109
+ */
110
+ private convertRoutesToItems;
111
+ /**
112
+ * Convert a single Route to a PostmanItem
113
+ */
114
+ private convertRouteToItem;
115
+ /**
116
+ * Convert Express-style path to Postman-style path
117
+ * Example: /users/:userId -> /users/{{userId}}
118
+ */
119
+ private convertPathToPostman;
120
+ /**
121
+ * Generate the Postman Environment
122
+ */
123
+ private generateEnvironment;
124
+ /**
125
+ * Write JSON to file with pretty formatting
126
+ */
127
+ private writeJsonFile;
128
+ /**
129
+ * Static helper to generate from Wecon configuration
130
+ */
131
+ static generateFromWecon(config: PostmanGeneratorConfig, routes: Routes): Promise<{
132
+ collection: PostmanCollection;
133
+ environment: PostmanEnvironment;
134
+ }>;
135
+ }
136
+ export default PostmanGenerator;
137
+ //# sourceMappingURL=PostmanGenerator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostmanGenerator.d.ts","sourceRoot":"","sources":["../../src/generators/PostmanGenerator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,318 @@
1
+ /**
2
+ * PostmanGenerator - Intelligent Postman Collection & Environment Generator
3
+ *
4
+ * This utility class generates:
5
+ * 1. Postman Collection v2.1.0 JSON files
6
+ * 2. Postman Environment JSON files with auto-extracted variables
7
+ *
8
+ * Features:
9
+ * - Automatic variable extraction from route paths (e.g., :userId -> {{userId}})
10
+ * - Collection of custom variables from PostmanRoute and PostmanGroup configs
11
+ * - Hierarchical folder structure matching Routes organization
12
+ * - Smart defaults for missing configurations
13
+ */
14
+ import { writeFileSync } from "fs";
15
+ import { dirname } from "path";
16
+ import { mkdirSync } from "fs";
17
+ import Route from "../routing/Route.js";
18
+ import Routes from "../routing/Routes.js";
19
+ // so we can easily change schema version in the future
20
+ const SCHEMA_URL = "https://schema.getpostman.com/json/collection/v2.1.0/collection.json";
21
+ /**
22
+ * PostmanGenerator class
23
+ */
24
+ class PostmanGenerator {
25
+ config;
26
+ routes;
27
+ collectedVariables = new Map();
28
+ pathVariables = new Set();
29
+ constructor(config, routes) {
30
+ this.config = config;
31
+ this.routes = routes;
32
+ }
33
+ /**
34
+ * Generate both collection and environment files
35
+ */
36
+ async generate() {
37
+ // Extract all variables from routes
38
+ this.extractVariables();
39
+ // Generate collection
40
+ const collection = this.generateCollection();
41
+ // Generate environment
42
+ const environment = this.generateEnvironment();
43
+ // Write files if output paths specified
44
+ if (this.config.output?.collection) {
45
+ this.writeJsonFile(this.config.output.collection, collection);
46
+ }
47
+ if (this.config.output?.environment) {
48
+ this.writeJsonFile(this.config.output.environment, environment);
49
+ }
50
+ return { collection, environment };
51
+ }
52
+ /**
53
+ * Extract variables from all routes and their configurations
54
+ */
55
+ extractVariables() {
56
+ // Add baseUrl as a variable
57
+ if (this.config.baseUrl) {
58
+ this.collectedVariables.set("baseUrl", {
59
+ key: "baseUrl",
60
+ value: this.config.baseUrl,
61
+ type: "string",
62
+ description: "Base URL for all API requests",
63
+ });
64
+ }
65
+ // Recursively extract variables from routes
66
+ this.extractVariablesFromRoutes(this.routes);
67
+ }
68
+ /**
69
+ * Recursively extract variables from Routes instances
70
+ */
71
+ extractVariablesFromRoutes(routes, parentPath = "") {
72
+ if (routes instanceof Route) {
73
+ // Extract path parameters (e.g., :userId)
74
+ const pathParams = this.extractPathParams(routes.path);
75
+ pathParams.forEach((param) => this.pathVariables.add(param));
76
+ // Extract variables from PostmanRoute config
77
+ if (routes.postman) {
78
+ // Deep scan the entire PostmanRoute configuration object
79
+ this.recursivelyScanForVariables(routes.postman);
80
+ }
81
+ }
82
+ else if (routes instanceof Routes) {
83
+ const currentPath = parentPath + routes.prefix;
84
+ // Extract variables from PostmanGroup config
85
+ if (routes.postman) {
86
+ // Deep scan the entire PostmanGroup configuration object
87
+ this.recursivelyScanForVariables(routes.postman);
88
+ }
89
+ // Recursively process child routes
90
+ routes.routes.forEach((childRoute) => {
91
+ this.extractVariablesFromRoutes(childRoute, currentPath);
92
+ });
93
+ }
94
+ }
95
+ /**
96
+ * Recursively scan an object for string values containing {{variable}}
97
+ */
98
+ recursivelyScanForVariables(obj) {
99
+ if (!obj)
100
+ return;
101
+ if (typeof obj === "string") {
102
+ const variables = this.extractVariablesFromString(obj);
103
+ variables.forEach((varName) => {
104
+ if (!this.collectedVariables.has(varName)) {
105
+ this.collectedVariables.set(varName, {
106
+ key: varName,
107
+ value: "",
108
+ type: "string",
109
+ description: "Extracted from configuration",
110
+ });
111
+ }
112
+ });
113
+ return;
114
+ }
115
+ if (Array.isArray(obj)) {
116
+ obj.forEach((item) => this.recursivelyScanForVariables(item));
117
+ return;
118
+ }
119
+ if (typeof obj === "object") {
120
+ // Special handling for PostmanVariable objects to preserve their metadata
121
+ // Check if it looks like a PostmanVariable (has key/id and value)
122
+ const potentialVar = obj;
123
+ if ((potentialVar.key || potentialVar.id) &&
124
+ potentialVar.value !== undefined) {
125
+ const key = potentialVar.key || potentialVar.id;
126
+ if (key && !this.collectedVariables.has(key)) {
127
+ this.collectedVariables.set(key, potentialVar);
128
+ }
129
+ // Continue scanning value just in case it has nested vars (unlikely but possible)
130
+ this.recursivelyScanForVariables(potentialVar.value);
131
+ return;
132
+ }
133
+ // Standard object traversal
134
+ Object.values(obj).forEach((value) => this.recursivelyScanForVariables(value));
135
+ }
136
+ }
137
+ /**
138
+ * Extract path parameters from Express-style path
139
+ * Example: /users/:userId/posts/:postId -> ['userId', 'postId']
140
+ */
141
+ extractPathParams(path) {
142
+ const matches = path.match(/:([a-zA-Z_][a-zA-Z0-9_]*)/g);
143
+ if (!matches)
144
+ return [];
145
+ return matches.map((match) => match.slice(1)); // Remove the ':' prefix
146
+ }
147
+ /**
148
+ * Extract variable references from strings (e.g., {{authToken}})
149
+ */
150
+ extractVariablesFromString(str) {
151
+ const matches = str.match(/\{\{([a-zA-Z_][a-zA-Z0-9_]*)\}\}/g);
152
+ if (!matches)
153
+ return [];
154
+ return matches.map((match) => match.slice(2, -2)); // Remove {{ and }}
155
+ }
156
+ /**
157
+ * Generate the Postman Collection
158
+ */
159
+ generateCollection() {
160
+ const collection = {
161
+ info: {
162
+ name: this.config.name,
163
+ description: this.config.description || "",
164
+ version: this.config.version || "1.0.0",
165
+ schema: SCHEMA_URL,
166
+ },
167
+ item: [],
168
+ };
169
+ // Convert Routes to Postman items
170
+ collection.item = this.convertRoutesToItems(this.routes);
171
+ // Add collection-level variables
172
+ const collectionVars = Array.from(this.collectedVariables.values());
173
+ if (collectionVars.length > 0) {
174
+ collection.variable = collectionVars;
175
+ }
176
+ return collection;
177
+ }
178
+ /**
179
+ * Convert Routes/Route instances to Postman items/folders
180
+ */
181
+ convertRoutesToItems(routes, parentPrefix = "") {
182
+ const items = [];
183
+ if (routes instanceof Route) {
184
+ routes.path = `${parentPrefix}${routes.path}`;
185
+ // Convert single Route to PostmanItem
186
+ const item = this.convertRouteToItem(routes);
187
+ items.push(item);
188
+ }
189
+ else if (routes instanceof Routes) {
190
+ // Check if this Routes instance should be a folder
191
+ const shouldBeFolder = routes.postman?.folderName || routes.prefix;
192
+ // Process child routes first
193
+ const childItems = [];
194
+ routes.routes.forEach((childRoute) => {
195
+ const children = this.convertRoutesToItems(childRoute, parentPrefix + routes.prefix);
196
+ childItems.push(...children);
197
+ });
198
+ if (shouldBeFolder) {
199
+ // Use PostmanGroup to generate the folder
200
+ if (routes.postman) {
201
+ const folder = routes.postman.toPostmanItemGroup(childItems);
202
+ items.push(folder);
203
+ }
204
+ else {
205
+ // Fallback if no PostmanGroup config but has prefix (shouldn't happen with default init)
206
+ items.push({
207
+ name: routes.prefix || "Routes",
208
+ item: childItems,
209
+ });
210
+ }
211
+ }
212
+ else {
213
+ // No folder, just flatten the children
214
+ items.push(...childItems);
215
+ }
216
+ }
217
+ return items;
218
+ }
219
+ /**
220
+ * Convert a single Route to a PostmanItem
221
+ */
222
+ convertRouteToItem(route) {
223
+ const baseUrl = this.config.baseUrl || "{{baseUrl}}";
224
+ // Use PostmanRoute's toPostmanItem if configured
225
+ if (route.postman) {
226
+ return route.postman.toPostmanItem(route, baseUrl);
227
+ }
228
+ // Otherwise, generate a basic item (Fallback)
229
+ const postmanPath = this.convertPathToPostman(route.path);
230
+ const item = {
231
+ name: route.name || `[${route.method}] ${route.path}`,
232
+ request: {
233
+ method: route.method.toUpperCase(),
234
+ header: [],
235
+ url: {
236
+ raw: `${baseUrl}${postmanPath}`,
237
+ host: baseUrl.includes("://") ? [baseUrl] : [baseUrl],
238
+ path: postmanPath.split("/").filter((segment) => segment !== ""),
239
+ },
240
+ },
241
+ };
242
+ // Add description if available
243
+ if (route.description) {
244
+ item.description = route.description;
245
+ }
246
+ return item;
247
+ }
248
+ /**
249
+ * Convert Express-style path to Postman-style path
250
+ * Example: /users/:userId -> /users/{{userId}}
251
+ */
252
+ convertPathToPostman(path) {
253
+ return path.replace(/:([a-zA-Z_][a-zA-Z0-9_]*)/g, "{{$1}}");
254
+ }
255
+ /**
256
+ * Generate the Postman Environment
257
+ */
258
+ generateEnvironment() {
259
+ const environment = {
260
+ name: `${this.config.name} - Environment`,
261
+ values: [],
262
+ _postman_variable_scope: "environment",
263
+ _postman_exported_at: new Date().toISOString(),
264
+ _postman_exported_using: "Wecon PostmanGenerator",
265
+ };
266
+ // Add collected variables
267
+ this.collectedVariables.forEach((variable) => {
268
+ environment.values.push({
269
+ key: variable.key || variable.id || "",
270
+ value: String(variable.value || ""),
271
+ type: "default",
272
+ enabled: !variable.disabled,
273
+ description: typeof variable.description === "string"
274
+ ? variable.description
275
+ : variable.description?.content,
276
+ });
277
+ });
278
+ // Add path variables (from :param) with empty values
279
+ this.pathVariables.forEach((paramName) => {
280
+ if (!this.collectedVariables.has(paramName)) {
281
+ environment.values.push({
282
+ key: paramName,
283
+ value: "",
284
+ type: "default",
285
+ enabled: true,
286
+ description: `Path parameter extracted from route`,
287
+ });
288
+ }
289
+ });
290
+ return environment;
291
+ }
292
+ /**
293
+ * Write JSON to file with pretty formatting
294
+ */
295
+ writeJsonFile(filePath, data) {
296
+ try {
297
+ // Ensure directory exists
298
+ const dir = dirname(filePath);
299
+ mkdirSync(dir, { recursive: true });
300
+ // Write file
301
+ writeFileSync(filePath, JSON.stringify(data, null, 2), "utf-8");
302
+ console.log(`✓ Generated Postman file: ${filePath}`);
303
+ }
304
+ catch (error) {
305
+ console.error(`✗ Failed to write Postman file: ${filePath}`, error);
306
+ throw error;
307
+ }
308
+ }
309
+ /**
310
+ * Static helper to generate from Wecon configuration
311
+ */
312
+ static async generateFromWecon(config, routes) {
313
+ const generator = new PostmanGenerator(config, routes);
314
+ return generator.generate();
315
+ }
316
+ }
317
+ export default PostmanGenerator;
318
+ //# sourceMappingURL=PostmanGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PostmanGenerator.js","sourceRoot":"","sources":["../../src/generators/PostmanGenerator.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,13 +13,16 @@ export { createWinstonLogger, createConsoleLogger, } from "./logger/index.js";
13
13
  export type { LoggerOptions, WinstonBasedLogger } from "./logger/index.js";
14
14
  export { createWecon } from "./server/index.js";
15
15
  export type { CreateWeconOptions, WeconApp, ApiError, ApiResponse, RespondOptions, } from "./server/index.js";
16
- export { Wecon, Route, Routes, RoutesParam, RaiMatcher, ErrorCatcher, } from "./routing/index.js";
17
- export type { WeconDevConfig, RaiRoutesList } from "./routing/index.js";
16
+ export { Wecon, Route, Routes, RoutesParam, PostmanRoute, PostmanGroup, RaiMatcher, ErrorCatcher, } from "./routing/index.js";
17
+ export type { WeconDevConfig, WeconPostmanConfig, PostmanItem, PostmanItemGroup, RaiRoutesList, } from "./routing/index.js";
18
+ export { default as PostmanGenerator } from "./generators/PostmanGenerator.js";
19
+ export type { PostmanGeneratorConfig } from "./generators/PostmanGenerator.js";
20
+ export type { PostmanDescription, PostmanVersion, PostmanInfo, PostmanAuthAttribute, PostmanAuthType, PostmanAuth, PostmanVariableType, PostmanVariable, PostmanVariableList, PostmanScript, PostmanEvent, PostmanEventList, PostmanProtocolProfileBehavior, PostmanGroupConfig, PostmanRouteConfig, PostmanCollectionConfig, } from "./types/postman.types.js";
18
21
  export { ConfigError, RequestError } from "./errors/index.js";
19
22
  export { initializeI18n, initI18n, i18nNamespaceMiddleware, getI18n, i18next, I18nLoader, translate, getCurrentLanguage, changeLanguage, } from "./i18n/index.js";
20
23
  export type { I18nResources } from "./i18n/index.js";
21
24
  export { createDatabaseConnection, buildMongoUri, buildUriFromConfig, } from "./database/index.js";
22
- export type { DatabaseOptions, DatabaseConnection, MongoUriParts, } from "./database/index.js";
25
+ export type { DatabaseOptions, DatabaseConnection, MongooseInstance, MongoUriParts, } from "./database/index.js";
23
26
  export { createSocketServer, discoverSocketHandlers as discoverSocketHandlersFromModules, discoverSocketMiddleware as discoverSocketMiddlewareFromModules, initializeSocket, setupSocketIO, } from "./socket/index.js";
24
27
  export type { SocketServer, SocketInstance, SocketHandler as SocketHandlerFn, SocketMiddleware as SocketMiddlewareFn, DiscoveredSocketHandler, SocketOptions, } from "./socket/index.js";
25
28
  export { createDevToolsRouter } from "./devtools/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGtE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,sBAAsB,EACtB,wBAAwB,EACxB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG5E,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG3D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAG3E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EACV,kBAAkB,EAClB,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,cAAc,GACf,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,EACL,KAAK,EACL,MAAM,EACN,WAAW,EACX,UAAU,EACV,YAAY,GACb,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGxE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EACL,cAAc,EACd,QAAQ,EACR,uBAAuB,EACvB,OAAO,EACP,OAAO,EACP,UAAU,EACV,SAAS,EACT,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,aAAa,GACd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,kBAAkB,EAClB,sBAAsB,IAAI,iCAAiC,EAC3D,wBAAwB,IAAI,mCAAmC,EAC/D,gBAAgB,EAChB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACV,YAAY,EACZ,cAAc,EACd,aAAa,IAAI,eAAe,EAChC,gBAAgB,IAAI,kBAAkB,EACtC,uBAAuB,EACvB,aAAa,GACd,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAG3D,OAAO,oBAAoB,CAAC;AAC5B,OAAO,oBAAoB,CAAC;AAG5B,YAAY,EAEV,WAAW,EACX,YAAY,EACZ,GAAG,EACH,WAAW,EACX,aAAa,EACb,cAAc,EACd,iBAAiB,EAGjB,WAAW,EACX,cAAc,EACd,SAAS,EACT,cAAc,EACd,aAAa,EACb,WAAW,EACX,YAAY,EACZ,cAAc,EACd,UAAU,EAGV,gBAAgB,EAChB,sBAAsB,EACtB,WAAW,EAGX,aAAa,EACb,gBAAgB,EAGhB,YAAY,EACZ,WAAW,EACX,aAAa,EAGb,aAAa,EACb,UAAU,EAGV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,eAAe,GAChB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,7 +17,9 @@ export { createWinstonLogger, createConsoleLogger, } from "./logger/index.js";
17
17
  // Server
18
18
  export { createWecon } from "./server/index.js";
19
19
  // Routing
20
- export { Wecon, Route, Routes, RoutesParam, RaiMatcher, ErrorCatcher, } from "./routing/index.js";
20
+ export { Wecon, Route, Routes, RoutesParam, PostmanRoute, PostmanGroup, RaiMatcher, ErrorCatcher, } from "./routing/index.js";
21
+ // Postman Generator
22
+ export { default as PostmanGenerator } from "./generators/PostmanGenerator.js";
21
23
  // Errors
22
24
  export { ConfigError, RequestError } from "./errors/index.js";
23
25
  // i18n