wrekenfile-converter 2.0.7 → 2.1.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 +45 -26
- package/dist/example-usage.d.ts +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +53 -20
- package/dist/v1/index.d.ts +3 -0
- package/dist/v1/index.js +21 -0
- package/dist/{wrekenfile-validator.js → v1/wrekenfile-validator.js} +30 -8
- package/dist/v2/cli/cli-mini-wrekenfile-generator.d.ts +2 -0
- package/dist/v2/cli/cli-mini-wrekenfile-generator.js +107 -0
- package/dist/v2/cli/cli-openapi-to-wrekenfile.d.ts +2 -0
- package/dist/v2/cli/cli-openapi-to-wrekenfile.js +115 -0
- package/dist/v2/cli/cli-openapi-v2-to-wrekenfile.d.ts +2 -0
- package/dist/v2/cli/cli-openapi-v2-to-wrekenfile.js +115 -0
- package/dist/v2/cli/cli-postman-to-wrekenfile.d.ts +2 -0
- package/dist/v2/cli/cli-postman-to-wrekenfile.js +54 -0
- package/dist/v2/index.d.ts +4 -0
- package/dist/v2/index.js +25 -0
- package/dist/v2/mini-wrekenfile-generator.d.ts +13 -0
- package/dist/v2/mini-wrekenfile-generator.js +289 -0
- package/dist/v2/openapi-to-wreken.d.ts +2 -0
- package/dist/v2/openapi-to-wreken.js +829 -0
- package/dist/v2/openapi-v2-to-wrekenfile.d.ts +2 -0
- package/dist/v2/openapi-v2-to-wrekenfile.js +806 -0
- package/dist/v2/postman-to-wrekenfile.d.ts +11 -0
- package/dist/v2/postman-to-wrekenfile.js +742 -0
- package/dist/v2/utils/constants.d.ts +80 -0
- package/dist/v2/utils/constants.js +104 -0
- package/dist/v2/utils/response-utils.d.ts +11 -0
- package/dist/v2/utils/response-utils.js +39 -0
- package/dist/v2/utils/yaml-utils.d.ts +4 -0
- package/dist/v2/utils/yaml-utils.js +96 -0
- package/dist/versions.d.ts +9 -0
- package/dist/versions.js +12 -0
- package/package.json +12 -14
- package/dist/openapi-to-wrekenfile.d.ts +0 -0
- package/dist/openapi-to-wrekenfile.js +0 -10
- package/wrekenfile.md +0 -726
- /package/dist/{cli → v1/cli}/cli-mini-wrekenfile-generator.d.ts +0 -0
- /package/dist/{cli → v1/cli}/cli-mini-wrekenfile-generator.js +0 -0
- /package/dist/{cli → v1/cli}/cli-openapi-to-wrekenfile.d.ts +0 -0
- /package/dist/{cli → v1/cli}/cli-openapi-to-wrekenfile.js +0 -0
- /package/dist/{cli → v1/cli}/cli-postman-to-wrekenfile.d.ts +0 -0
- /package/dist/{cli → v1/cli}/cli-postman-to-wrekenfile.js +0 -0
- /package/dist/{mini-wrekenfile-generator.d.ts → v1/mini-wrekenfile-generator.d.ts} +0 -0
- /package/dist/{mini-wrekenfile-generator.js → v1/mini-wrekenfile-generator.js} +0 -0
- /package/dist/{openapi-to-wreken.d.ts → v1/openapi-to-wreken.d.ts} +0 -0
- /package/dist/{openapi-to-wreken.js → v1/openapi-to-wreken.js} +0 -0
- /package/dist/{openapi-v2-to-wrekenfile.d.ts → v1/openapi-v2-to-wrekenfile.d.ts} +0 -0
- /package/dist/{openapi-v2-to-wrekenfile.js → v1/openapi-v2-to-wrekenfile.js} +0 -0
- /package/dist/{postman-to-wrekenfile.d.ts → v1/postman-to-wrekenfile.d.ts} +0 -0
- /package/dist/{postman-to-wrekenfile.js → v1/postman-to-wrekenfile.js} +0 -0
- /package/dist/{wrekenfile-validator.d.ts → v1/wrekenfile-validator.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# Wrekenfile Converter (Library)
|
|
2
|
+
## Version 2.1.0
|
|
2
3
|
|
|
3
|
-
A comprehensive TypeScript/JavaScript library for converting OpenAPI specifications (v2 and v3) and Postman collections into [Wrekenfile](
|
|
4
|
+
A comprehensive TypeScript/JavaScript library for converting OpenAPI specifications (v2 and v3) and Postman collections into [Wrekenfile](.src/v2/wrekenfile_v_2_0_1.md) YAML format, with advanced mini-chunking capabilities for vector database storage and AI context management.
|
|
4
5
|
|
|
5
6
|
## Features
|
|
6
7
|
|
|
@@ -28,8 +29,15 @@ yarn add wrekenfile-converter
|
|
|
28
29
|
|
|
29
30
|
## Usage
|
|
30
31
|
|
|
32
|
+
### Version Support
|
|
33
|
+
|
|
34
|
+
This library supports two Wrekenfile spec versions:
|
|
35
|
+
- **v1** (Wrekenfile spec 1.2) - Default/legacy
|
|
36
|
+
- **v2** (Wrekenfile spec 2.1.0) - Latest
|
|
37
|
+
|
|
31
38
|
### Importing the Library
|
|
32
39
|
|
|
40
|
+
**Default import (currently v1, backward compatible):**
|
|
33
41
|
```typescript
|
|
34
42
|
import {
|
|
35
43
|
generateWrekenfile, // OpenAPI v3
|
|
@@ -42,6 +50,15 @@ import {
|
|
|
42
50
|
} from 'wrekenfile-converter';
|
|
43
51
|
```
|
|
44
52
|
|
|
53
|
+
**Explicit version imports:**
|
|
54
|
+
```typescript
|
|
55
|
+
// Import v1 (Wrekenfile spec 1.2)
|
|
56
|
+
import { generateWrekenfile } from 'wrekenfile-converter/v1';
|
|
57
|
+
|
|
58
|
+
// Import v2 (Wrekenfile spec 2.1.0)
|
|
59
|
+
import { generateWrekenfile } from 'wrekenfile-converter/v2';
|
|
60
|
+
```
|
|
61
|
+
|
|
45
62
|
### Convert OpenAPI v3 to Wrekenfile
|
|
46
63
|
|
|
47
64
|
```typescript
|
|
@@ -83,7 +100,7 @@ const wrekenfileYaml = generateWrekenfileFromPostman(collection, variables);
|
|
|
83
100
|
import { validateWrekenfile } from 'wrekenfile-converter';
|
|
84
101
|
|
|
85
102
|
const result = validateWrekenfile('./Wrekenfile.yaml');
|
|
86
|
-
console.log(result.isValid ? '
|
|
103
|
+
console.log(result.isValid ? 'Valid' : 'Invalid');
|
|
87
104
|
console.log(result.errors, result.warnings);
|
|
88
105
|
```
|
|
89
106
|
|
|
@@ -103,7 +120,7 @@ const miniFiles: MiniWrekenfile[] = generateMiniWrekenfiles('./Wrekenfile.yaml')
|
|
|
103
120
|
Generate a Wrekenfile YAML from an OpenAPI (YAML or JSON) spec:
|
|
104
121
|
|
|
105
122
|
```bash
|
|
106
|
-
npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--output <wrekenfile.yaml>] [--cwd <dir>]
|
|
123
|
+
npx ts-node src/cli/rest/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--output <wrekenfile.yaml>] [--cwd <dir>]
|
|
107
124
|
```
|
|
108
125
|
|
|
109
126
|
**Options:**
|
|
@@ -113,7 +130,7 @@ npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--
|
|
|
113
130
|
|
|
114
131
|
**Example:**
|
|
115
132
|
```bash
|
|
116
|
-
npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input examples/p3id_swagger.json --output wrekenfile.yaml --cwd .
|
|
133
|
+
npx ts-node src/cli/rest/cli-openapi-to-wrekenfile.ts --input examples/p3id_swagger.json --output wrekenfile.yaml --cwd .
|
|
117
134
|
```
|
|
118
135
|
|
|
119
136
|
### Convert Postman Collection to Wrekenfile
|
|
@@ -121,12 +138,12 @@ npx ts-node src/cli/cli-openapi-to-wrekenfile.ts --input examples/p3id_swagger.j
|
|
|
121
138
|
Convert a Postman collection JSON to a Wrekenfile YAML file:
|
|
122
139
|
|
|
123
140
|
```bash
|
|
124
|
-
npx ts-node src/cli/cli-postman-to-wrekenfile.ts <postman_collection.json> <output_wrekenfile.yaml> [postman_environment.json]
|
|
141
|
+
npx ts-node src/cli/rest/cli-postman-to-wrekenfile.ts <postman_collection.json> <output_wrekenfile.yaml> [postman_environment.json]
|
|
125
142
|
```
|
|
126
143
|
|
|
127
144
|
**Example:**
|
|
128
145
|
```bash
|
|
129
|
-
npx ts-node src/cli/cli-postman-to-wrekenfile.ts examples/transact_bridge_postman.json wrekenfile.yaml
|
|
146
|
+
npx ts-node src/cli/rest/cli-postman-to-wrekenfile.ts examples/transact_bridge_postman.json wrekenfile.yaml
|
|
130
147
|
```
|
|
131
148
|
|
|
132
149
|
**Note:** The third argument (environment file) is optional.
|
|
@@ -215,27 +232,29 @@ npm run example
|
|
|
215
232
|
|
|
216
233
|
```
|
|
217
234
|
src/
|
|
218
|
-
├── index.ts
|
|
219
|
-
├──
|
|
220
|
-
├──
|
|
221
|
-
├──
|
|
222
|
-
├──
|
|
223
|
-
├──
|
|
224
|
-
├──
|
|
225
|
-
│ ├──
|
|
226
|
-
│ ├──
|
|
227
|
-
│
|
|
228
|
-
└──
|
|
229
|
-
|
|
230
|
-
|
|
235
|
+
├── index.ts # Main exports (defaults to v1)
|
|
236
|
+
├── example-usage.ts # Usage examples
|
|
237
|
+
├── versions.ts # Version constants
|
|
238
|
+
├── v1/ # Wrekenfile spec v1.2
|
|
239
|
+
│ ├── index.ts
|
|
240
|
+
│ ├── openapi-to-wreken.ts
|
|
241
|
+
│ ├── openapi-v2-to-wrekenfile.ts
|
|
242
|
+
│ ├── postman-to-wrekenfile.ts
|
|
243
|
+
│ ├── mini-wrekenfile-generator.ts
|
|
244
|
+
│ ├── wrekenfile-validator.ts
|
|
245
|
+
│ └── cli/ # CLI tools for v1
|
|
246
|
+
└── v2/ # Wrekenfile spec v2.1.0
|
|
247
|
+
├── index.ts
|
|
248
|
+
├── openapi-to-wreken.ts
|
|
249
|
+
├── openapi-v2-to-wrekenfile.ts
|
|
250
|
+
├── postman-to-wrekenfile.ts
|
|
251
|
+
├── mini-wrekenfile-generator.ts
|
|
252
|
+
└── cli/ # CLI tools for v2
|
|
253
|
+
|
|
254
|
+
dist/ # Compiled JavaScript + types
|
|
231
255
|
├── index.js
|
|
232
|
-
├──
|
|
233
|
-
└──
|
|
234
|
-
|
|
235
|
-
mini-wrekenfiles/ # Generated mini chunks (if you save them)
|
|
236
|
-
├── mini-v2-app-projects.yaml
|
|
237
|
-
├── mini-v2-app-authenticate.yaml
|
|
238
|
-
└── ...
|
|
256
|
+
├── v1/
|
|
257
|
+
└── v2/
|
|
239
258
|
```
|
|
240
259
|
|
|
241
260
|
## License
|
package/dist/example-usage.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MiniWrekenfile } from './mini-wrekenfile-generator';
|
|
1
|
+
import { MiniWrekenfile } from './v1/mini-wrekenfile-generator';
|
|
2
2
|
export declare function getMiniWrekenfilesForEndpoints(wrekenfileContent: string, targetEndpoints: string[]): MiniWrekenfile[];
|
|
3
3
|
export declare function getMiniWrekenfilesForMethods(wrekenfileContent: string, targetMethods: string[]): MiniWrekenfile[];
|
|
4
4
|
export declare function getMiniWrekenfileContent(wrekenfileContent: string, endpoint: string): string | null;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export { validateWrekenfile, fixWrekenfile, ValidationResult, WrekenfileStructure, printValidationResult } from './wrekenfile-validator';
|
|
5
|
-
export { generateMiniWrekenfiles, saveMiniWrekenfiles, MiniWrekenfile } from './mini-wrekenfile-generator';
|
|
1
|
+
export * from './v1';
|
|
2
|
+
export * as v1 from './v1';
|
|
3
|
+
export * as v2 from './v2';
|
|
4
|
+
export { validateWrekenfile, fixWrekenfile, ValidationResult, WrekenfileStructure, printValidationResult } from './v1/wrekenfile-validator';
|
|
5
|
+
export { generateMiniWrekenfiles, saveMiniWrekenfiles, MiniWrekenfile } from './v1/mini-wrekenfile-generator';
|
|
6
6
|
export { getMiniWrekenfilesForEndpoints, getMiniWrekenfilesForMethods, getMiniWrekenfileContent } from './example-usage';
|
|
7
|
+
export { WREKENFILE_V1_VERSION, WREKENFILE_V2_VERSION, DEFAULT_WREKENFILE_VERSION } from './versions';
|
package/dist/index.js
CHANGED
|
@@ -1,29 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// Main entry point for the wrekenfile-converter library (no CLI)
|
|
3
|
+
// Default exports use v2 (latest), v1 available via explicit imports
|
|
4
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
5
|
+
if (k2 === undefined) k2 = k;
|
|
6
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
7
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
8
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
9
|
+
}
|
|
10
|
+
Object.defineProperty(o, k2, desc);
|
|
11
|
+
}) : (function(o, m, k, k2) {
|
|
12
|
+
if (k2 === undefined) k2 = k;
|
|
13
|
+
o[k2] = m[k];
|
|
14
|
+
}));
|
|
15
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
16
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
17
|
+
}) : function(o, v) {
|
|
18
|
+
o["default"] = v;
|
|
19
|
+
});
|
|
20
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
21
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
22
|
+
};
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
3
40
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
5
|
-
//
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
Object.defineProperty(exports, "extractOperations", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractOperations; } });
|
|
14
|
-
Object.defineProperty(exports, "mapType", { enumerable: true, get: function () { return postman_to_wrekenfile_1.mapType; } });
|
|
15
|
-
Object.defineProperty(exports, "parseJsonExample", { enumerable: true, get: function () { return postman_to_wrekenfile_1.parseJsonExample; } });
|
|
16
|
-
Object.defineProperty(exports, "extractFieldsFromObject", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractFieldsFromObject; } });
|
|
17
|
-
Object.defineProperty(exports, "loadEnvironmentFile", { enumerable: true, get: function () { return postman_to_wrekenfile_1.loadEnvironmentFile; } });
|
|
18
|
-
Object.defineProperty(exports, "extractCollectionVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractCollectionVariables; } });
|
|
19
|
-
Object.defineProperty(exports, "resolveVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.resolveVariables; } });
|
|
20
|
-
// Export validation function
|
|
21
|
-
var wrekenfile_validator_1 = require("./wrekenfile-validator");
|
|
41
|
+
exports.DEFAULT_WREKENFILE_VERSION = exports.WREKENFILE_V2_VERSION = exports.WREKENFILE_V1_VERSION = exports.getMiniWrekenfileContent = exports.getMiniWrekenfilesForMethods = exports.getMiniWrekenfilesForEndpoints = exports.saveMiniWrekenfiles = exports.generateMiniWrekenfiles = exports.printValidationResult = exports.fixWrekenfile = exports.validateWrekenfile = exports.v2 = exports.v1 = void 0;
|
|
42
|
+
// Re-export v2 as default (when v2 is ready)
|
|
43
|
+
// For now, re-export v1 as default to maintain backward compatibility
|
|
44
|
+
__exportStar(require("./v1"), exports);
|
|
45
|
+
// Explicit version exports
|
|
46
|
+
exports.v1 = __importStar(require("./v1"));
|
|
47
|
+
exports.v2 = __importStar(require("./v2"));
|
|
48
|
+
// Export validation function (version-aware)
|
|
49
|
+
var wrekenfile_validator_1 = require("./v1/wrekenfile-validator");
|
|
22
50
|
Object.defineProperty(exports, "validateWrekenfile", { enumerable: true, get: function () { return wrekenfile_validator_1.validateWrekenfile; } });
|
|
23
51
|
Object.defineProperty(exports, "fixWrekenfile", { enumerable: true, get: function () { return wrekenfile_validator_1.fixWrekenfile; } });
|
|
24
52
|
Object.defineProperty(exports, "printValidationResult", { enumerable: true, get: function () { return wrekenfile_validator_1.printValidationResult; } });
|
|
25
|
-
// Export mini Wrekenfile generator
|
|
26
|
-
var mini_wrekenfile_generator_1 = require("./mini-wrekenfile-generator");
|
|
53
|
+
// Export mini Wrekenfile generator (version-aware)
|
|
54
|
+
var mini_wrekenfile_generator_1 = require("./v1/mini-wrekenfile-generator");
|
|
27
55
|
Object.defineProperty(exports, "generateMiniWrekenfiles", { enumerable: true, get: function () { return mini_wrekenfile_generator_1.generateMiniWrekenfiles; } });
|
|
28
56
|
Object.defineProperty(exports, "saveMiniWrekenfiles", { enumerable: true, get: function () { return mini_wrekenfile_generator_1.saveMiniWrekenfiles; } });
|
|
29
57
|
// Export utility functions
|
|
@@ -31,3 +59,8 @@ var example_usage_1 = require("./example-usage");
|
|
|
31
59
|
Object.defineProperty(exports, "getMiniWrekenfilesForEndpoints", { enumerable: true, get: function () { return example_usage_1.getMiniWrekenfilesForEndpoints; } });
|
|
32
60
|
Object.defineProperty(exports, "getMiniWrekenfilesForMethods", { enumerable: true, get: function () { return example_usage_1.getMiniWrekenfilesForMethods; } });
|
|
33
61
|
Object.defineProperty(exports, "getMiniWrekenfileContent", { enumerable: true, get: function () { return example_usage_1.getMiniWrekenfileContent; } });
|
|
62
|
+
// Export version constants
|
|
63
|
+
var versions_1 = require("./versions");
|
|
64
|
+
Object.defineProperty(exports, "WREKENFILE_V1_VERSION", { enumerable: true, get: function () { return versions_1.WREKENFILE_V1_VERSION; } });
|
|
65
|
+
Object.defineProperty(exports, "WREKENFILE_V2_VERSION", { enumerable: true, get: function () { return versions_1.WREKENFILE_V2_VERSION; } });
|
|
66
|
+
Object.defineProperty(exports, "DEFAULT_WREKENFILE_VERSION", { enumerable: true, get: function () { return versions_1.DEFAULT_WREKENFILE_VERSION; } });
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { generateWrekenfile } from './openapi-to-wreken';
|
|
2
|
+
export { generateWrekenfile as generateWrekenfileV2 } from './openapi-v2-to-wrekenfile';
|
|
3
|
+
export { generateWrekenfile as generateWrekenfileFromPostman, extractStructs, extractOperations, mapType, parseJsonExample, extractFieldsFromObject, loadEnvironmentFile, extractCollectionVariables, resolveVariables } from './postman-to-wrekenfile';
|
package/dist/v1/index.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// v1 entry point - Wrekenfile spec version 1.2
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.resolveVariables = exports.extractCollectionVariables = exports.loadEnvironmentFile = exports.extractFieldsFromObject = exports.parseJsonExample = exports.mapType = exports.extractOperations = exports.extractStructs = exports.generateWrekenfileFromPostman = exports.generateWrekenfileV2 = exports.generateWrekenfile = void 0;
|
|
5
|
+
// Export OpenAPI v3 converter
|
|
6
|
+
var openapi_to_wreken_1 = require("./openapi-to-wreken");
|
|
7
|
+
Object.defineProperty(exports, "generateWrekenfile", { enumerable: true, get: function () { return openapi_to_wreken_1.generateWrekenfile; } });
|
|
8
|
+
// Export OpenAPI v2 (Swagger) converter
|
|
9
|
+
var openapi_v2_to_wrekenfile_1 = require("./openapi-v2-to-wrekenfile");
|
|
10
|
+
Object.defineProperty(exports, "generateWrekenfileV2", { enumerable: true, get: function () { return openapi_v2_to_wrekenfile_1.generateWrekenfile; } });
|
|
11
|
+
// Export Postman converter
|
|
12
|
+
var postman_to_wrekenfile_1 = require("./postman-to-wrekenfile");
|
|
13
|
+
Object.defineProperty(exports, "generateWrekenfileFromPostman", { enumerable: true, get: function () { return postman_to_wrekenfile_1.generateWrekenfile; } });
|
|
14
|
+
Object.defineProperty(exports, "extractStructs", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractStructs; } });
|
|
15
|
+
Object.defineProperty(exports, "extractOperations", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractOperations; } });
|
|
16
|
+
Object.defineProperty(exports, "mapType", { enumerable: true, get: function () { return postman_to_wrekenfile_1.mapType; } });
|
|
17
|
+
Object.defineProperty(exports, "parseJsonExample", { enumerable: true, get: function () { return postman_to_wrekenfile_1.parseJsonExample; } });
|
|
18
|
+
Object.defineProperty(exports, "extractFieldsFromObject", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractFieldsFromObject; } });
|
|
19
|
+
Object.defineProperty(exports, "loadEnvironmentFile", { enumerable: true, get: function () { return postman_to_wrekenfile_1.loadEnvironmentFile; } });
|
|
20
|
+
Object.defineProperty(exports, "extractCollectionVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.extractCollectionVariables; } });
|
|
21
|
+
Object.defineProperty(exports, "resolveVariables", { enumerable: true, get: function () { return postman_to_wrekenfile_1.resolveVariables; } });
|
|
@@ -157,7 +157,7 @@ function parseYamlRobust(fileContent) {
|
|
|
157
157
|
}
|
|
158
158
|
}
|
|
159
159
|
function validateWrekenfile(filePath) {
|
|
160
|
-
var _a;
|
|
160
|
+
var _a, _b, _c;
|
|
161
161
|
if (!filePath || typeof filePath !== 'string') {
|
|
162
162
|
throw new Error("Argument 'filePath' is required and must be a string");
|
|
163
163
|
}
|
|
@@ -167,13 +167,35 @@ function validateWrekenfile(filePath) {
|
|
|
167
167
|
warnings: []
|
|
168
168
|
};
|
|
169
169
|
try {
|
|
170
|
-
//
|
|
170
|
+
// Check if file exists
|
|
171
|
+
if (!fs.existsSync(filePath)) {
|
|
172
|
+
result.isValid = false;
|
|
173
|
+
result.errors.push(`File not found: ${filePath}`);
|
|
174
|
+
return result;
|
|
175
|
+
}
|
|
176
|
+
// Read the YAML file
|
|
171
177
|
const fileContent = fs.readFileSync(filePath, 'utf8');
|
|
172
|
-
//
|
|
178
|
+
// First, validate that it's valid YAML
|
|
179
|
+
try {
|
|
180
|
+
yaml.load(fileContent);
|
|
181
|
+
}
|
|
182
|
+
catch (yamlError) {
|
|
183
|
+
result.isValid = false;
|
|
184
|
+
if (yamlError.name === 'YAMLException') {
|
|
185
|
+
const line = ((_a = yamlError.mark) === null || _a === void 0 ? void 0 : _a.line) !== undefined ? yamlError.mark.line + 1 : 'unknown';
|
|
186
|
+
const column = ((_b = yamlError.mark) === null || _b === void 0 ? void 0 : _b.column) !== undefined ? yamlError.mark.column + 1 : 'unknown';
|
|
187
|
+
result.errors.push(`Invalid YAML syntax at line ${line}, column ${column}: ${yamlError.message}`);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
result.errors.push(`Invalid YAML file: ${yamlError.message}`);
|
|
191
|
+
}
|
|
192
|
+
return result;
|
|
193
|
+
}
|
|
194
|
+
// Use robust parsing (which may try to fix minor issues)
|
|
173
195
|
const data = parseYamlRobust(fileContent);
|
|
174
196
|
if (!data) {
|
|
175
197
|
result.isValid = false;
|
|
176
|
-
result.errors.push('File is empty or could not be parsed');
|
|
198
|
+
result.errors.push('File is empty or could not be parsed as YAML');
|
|
177
199
|
return result;
|
|
178
200
|
}
|
|
179
201
|
// Validate VERSION
|
|
@@ -190,7 +212,7 @@ function validateWrekenfile(filePath) {
|
|
|
190
212
|
catch (error) {
|
|
191
213
|
result.isValid = false;
|
|
192
214
|
if (error.name === 'YAMLException') {
|
|
193
|
-
result.errors.push(`YAML parsing error at line ${((
|
|
215
|
+
result.errors.push(`YAML parsing error at line ${((_c = error.mark) === null || _c === void 0 ? void 0 : _c.line) || 'unknown'}: ${error.message}`);
|
|
194
216
|
}
|
|
195
217
|
else {
|
|
196
218
|
result.errors.push(`Failed to parse YAML file: ${error.message}`);
|
|
@@ -209,9 +231,9 @@ function validateVersion(data, result) {
|
|
|
209
231
|
result.errors.push('VERSION must be a string');
|
|
210
232
|
return;
|
|
211
233
|
}
|
|
212
|
-
// Check if version is in expected format (e.g., '1.2')
|
|
213
|
-
if (!/^\d+\.\d
|
|
214
|
-
result.warnings.push(`VERSION format '${data.VERSION}' may not be standard`);
|
|
234
|
+
// Check if version is in expected format (e.g., '1.2' or '2.1.0')
|
|
235
|
+
if (!/^\d+\.\d+(\.\d+)?$/.test(data.VERSION)) {
|
|
236
|
+
result.warnings.push(`VERSION format '${data.VERSION}' may not be standard (expected format: X.Y or X.Y.Z)`);
|
|
215
237
|
}
|
|
216
238
|
}
|
|
217
239
|
function validateInitSection(data, result) {
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const mini_wrekenfile_generator_1 = require("../mini-wrekenfile-generator");
|
|
49
|
+
function printUsage() {
|
|
50
|
+
console.log('Usage: npx ts-node src/cli/cli-mini-wrekenfile-generator.ts --input <wrekenfile.yaml> [--output <dir>]');
|
|
51
|
+
}
|
|
52
|
+
function parseArgs() {
|
|
53
|
+
const args = process.argv.slice(2);
|
|
54
|
+
const opts = {};
|
|
55
|
+
for (let i = 0; i < args.length; i++) {
|
|
56
|
+
if (args[i] === '--input' || args[i] === '-i') {
|
|
57
|
+
opts.input = args[++i];
|
|
58
|
+
}
|
|
59
|
+
else if (args[i] === '--output' || args[i] === '-o') {
|
|
60
|
+
opts.output = args[++i];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return opts;
|
|
64
|
+
}
|
|
65
|
+
function main() {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
const opts = parseArgs();
|
|
68
|
+
if (!opts.input) {
|
|
69
|
+
printUsage();
|
|
70
|
+
process.exit(1);
|
|
71
|
+
}
|
|
72
|
+
const inputPath = path.resolve(opts.input);
|
|
73
|
+
const outputDir = opts.output ? path.resolve(opts.output) : path.resolve('./mini-wrekenfiles');
|
|
74
|
+
if (!fs.existsSync(inputPath)) {
|
|
75
|
+
console.error(`Input file not found: ${inputPath}`);
|
|
76
|
+
process.exit(1);
|
|
77
|
+
}
|
|
78
|
+
let wrekenfileContent;
|
|
79
|
+
try {
|
|
80
|
+
wrekenfileContent = fs.readFileSync(inputPath, 'utf8');
|
|
81
|
+
}
|
|
82
|
+
catch (err) {
|
|
83
|
+
console.error('Failed to read input file:', err);
|
|
84
|
+
process.exit(1);
|
|
85
|
+
}
|
|
86
|
+
let miniWrekenfiles;
|
|
87
|
+
try {
|
|
88
|
+
miniWrekenfiles = (0, mini_wrekenfile_generator_1.generateMiniWrekenfiles)(wrekenfileContent);
|
|
89
|
+
}
|
|
90
|
+
catch (err) {
|
|
91
|
+
console.error('Failed to generate mini Wrekenfiles:', err);
|
|
92
|
+
process.exit(1);
|
|
93
|
+
}
|
|
94
|
+
try {
|
|
95
|
+
(0, mini_wrekenfile_generator_1.saveMiniWrekenfiles)(miniWrekenfiles, outputDir);
|
|
96
|
+
console.log(`✅ Generated ${miniWrekenfiles.length} mini Wrekenfiles in ${outputDir}`);
|
|
97
|
+
for (const mini of miniWrekenfiles) {
|
|
98
|
+
console.log(` - ${mini.metadata.filename}`);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
console.error('Failed to save mini Wrekenfiles:', err);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
main();
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
37
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
38
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
39
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
40
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
41
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
42
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
const fs = __importStar(require("fs"));
|
|
47
|
+
const path = __importStar(require("path"));
|
|
48
|
+
const js_yaml_1 = require("js-yaml");
|
|
49
|
+
const openapi_to_wreken_1 = require("../openapi-to-wreken");
|
|
50
|
+
function printUsage() {
|
|
51
|
+
console.log(`Usage: npx ts-node src/cli/rest/cli-openapi-to-wrekenfile.ts --input <openapi.yaml|json> [--output <wrekenfile.yaml>] [--cwd <dir>]`);
|
|
52
|
+
}
|
|
53
|
+
function parseArgs() {
|
|
54
|
+
const args = process.argv.slice(2);
|
|
55
|
+
const opts = {};
|
|
56
|
+
for (let i = 0; i < args.length; i++) {
|
|
57
|
+
if (args[i] === '--input' || args[i] === '-i') {
|
|
58
|
+
opts.input = args[++i];
|
|
59
|
+
}
|
|
60
|
+
else if (args[i] === '--output' || args[i] === '-o') {
|
|
61
|
+
opts.output = args[++i];
|
|
62
|
+
}
|
|
63
|
+
else if (args[i] === '--cwd') {
|
|
64
|
+
opts.cwd = args[++i];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return opts;
|
|
68
|
+
}
|
|
69
|
+
function main() {
|
|
70
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
71
|
+
const opts = parseArgs();
|
|
72
|
+
if (!opts.input) {
|
|
73
|
+
printUsage();
|
|
74
|
+
process.exit(1);
|
|
75
|
+
}
|
|
76
|
+
const inputPath = path.resolve(opts.input);
|
|
77
|
+
const outputPath = path.resolve(opts.output || 'output_wrekenfile.yaml');
|
|
78
|
+
const baseDir = opts.cwd ? path.resolve(opts.cwd) : path.dirname(inputPath);
|
|
79
|
+
if (!fs.existsSync(inputPath)) {
|
|
80
|
+
console.error(`Input file not found: ${inputPath}`);
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
let openapiSpec;
|
|
84
|
+
try {
|
|
85
|
+
const raw = fs.readFileSync(inputPath, 'utf8');
|
|
86
|
+
if (inputPath.endsWith('.json')) {
|
|
87
|
+
openapiSpec = JSON.parse(raw);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
openapiSpec = (0, js_yaml_1.load)(raw);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (err) {
|
|
94
|
+
console.error('Failed to load OpenAPI file:', err);
|
|
95
|
+
process.exit(1);
|
|
96
|
+
}
|
|
97
|
+
let wrekenfileYaml;
|
|
98
|
+
try {
|
|
99
|
+
wrekenfileYaml = (0, openapi_to_wreken_1.generateWrekenfile)(openapiSpec, baseDir);
|
|
100
|
+
}
|
|
101
|
+
catch (err) {
|
|
102
|
+
console.error('Failed to generate Wrekenfile:', err);
|
|
103
|
+
process.exit(1);
|
|
104
|
+
}
|
|
105
|
+
try {
|
|
106
|
+
fs.writeFileSync(outputPath, wrekenfileYaml, 'utf8');
|
|
107
|
+
console.log(`✅ Wrekenfile v2.0.1 written to ${outputPath}`);
|
|
108
|
+
}
|
|
109
|
+
catch (err) {
|
|
110
|
+
console.error('Failed to write output file:', err);
|
|
111
|
+
process.exit(1);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
main();
|