@stackwright-pro/openapi 0.2.0 → 0.2.2-alpha.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/dist/index.d.mts +19 -1
- package/dist/index.d.ts +19 -1
- package/dist/index.js +308 -306
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +207 -204
- package/dist/index.mjs.map +1 -0
- package/package.json +8 -4
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
import SwaggerParser from '@apidevtools/swagger-parser';
|
|
2
|
+
import { createAuxiliaryTypeStore, zodToTs, printNode } from 'zod-to-ts';
|
|
3
|
+
import fs, { realpathSync } from 'fs';
|
|
4
|
+
import path2 from 'path';
|
|
5
|
+
import crypto from 'crypto';
|
|
6
|
+
import https from 'https';
|
|
7
|
+
import http from 'http';
|
|
8
|
+
import { URL as URL$1 } from 'url';
|
|
9
|
+
import { isIP } from 'net';
|
|
10
|
+
|
|
1
11
|
var __create = Object.create;
|
|
2
12
|
var __defProp = Object.defineProperty;
|
|
3
13
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
@@ -20,14 +30,13 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
20
30
|
// file that has been converted to a CommonJS file using a Babel-
|
|
21
31
|
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
22
32
|
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
23
|
-
|
|
33
|
+
!mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
24
34
|
mod
|
|
25
35
|
));
|
|
26
36
|
|
|
27
37
|
// ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer.js
|
|
28
38
|
var require_analyzer = __commonJS({
|
|
29
|
-
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer.js"(exports, module) {
|
|
30
|
-
"use strict";
|
|
39
|
+
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer.js"(exports$1, module) {
|
|
31
40
|
var AnalyzerOptions = class {
|
|
32
41
|
constructor(heuristic_replimit) {
|
|
33
42
|
this.heuristic_replimit = heuristic_replimit;
|
|
@@ -91,8 +100,7 @@ var require_analyzer = __commonJS({
|
|
|
91
100
|
|
|
92
101
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-dotall-s-transform.js
|
|
93
102
|
var require_compat_dotall_s_transform = __commonJS({
|
|
94
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-dotall-s-transform.js"(exports, module) {
|
|
95
|
-
"use strict";
|
|
103
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-dotall-s-transform.js"(exports$1, module) {
|
|
96
104
|
module.exports = {
|
|
97
105
|
// Whether `u` flag present. In which case we transform to
|
|
98
106
|
// \u{10FFFF} instead of \uFFFF.
|
|
@@ -143,8 +151,7 @@ var require_compat_dotall_s_transform = __commonJS({
|
|
|
143
151
|
|
|
144
152
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-named-capturing-groups-transform.js
|
|
145
153
|
var require_compat_named_capturing_groups_transform = __commonJS({
|
|
146
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-named-capturing-groups-transform.js"(exports, module) {
|
|
147
|
-
"use strict";
|
|
154
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-named-capturing-groups-transform.js"(exports$1, module) {
|
|
148
155
|
module.exports = {
|
|
149
156
|
// To track the names of the groups, and return them
|
|
150
157
|
// in the transform result state.
|
|
@@ -187,8 +194,7 @@ var require_compat_named_capturing_groups_transform = __commonJS({
|
|
|
187
194
|
|
|
188
195
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-x-flag-transform.js
|
|
189
196
|
var require_compat_x_flag_transform = __commonJS({
|
|
190
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-x-flag-transform.js"(exports, module) {
|
|
191
|
-
"use strict";
|
|
197
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/compat-x-flag-transform.js"(exports$1, module) {
|
|
192
198
|
module.exports = {
|
|
193
199
|
RegExp: function RegExp2(_ref) {
|
|
194
200
|
var node = _ref.node;
|
|
@@ -202,8 +208,7 @@ var require_compat_x_flag_transform = __commonJS({
|
|
|
202
208
|
|
|
203
209
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/index.js
|
|
204
210
|
var require_transforms = __commonJS({
|
|
205
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/index.js"(exports, module) {
|
|
206
|
-
"use strict";
|
|
211
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/transforms/index.js"(exports$1, module) {
|
|
207
212
|
module.exports = {
|
|
208
213
|
// "dotAll" `s` flag
|
|
209
214
|
dotAll: require_compat_dotall_s_transform(),
|
|
@@ -217,8 +222,7 @@ var require_transforms = __commonJS({
|
|
|
217
222
|
|
|
218
223
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/generator/index.js
|
|
219
224
|
var require_generator = __commonJS({
|
|
220
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/generator/index.js"(exports, module) {
|
|
221
|
-
"use strict";
|
|
225
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/generator/index.js"(exports$1, module) {
|
|
222
226
|
function gen(node) {
|
|
223
227
|
return node ? generator[node.type](node) : "";
|
|
224
228
|
}
|
|
@@ -357,8 +361,7 @@ var require_generator = __commonJS({
|
|
|
357
361
|
|
|
358
362
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js
|
|
359
363
|
var require_parser_unicode_properties = __commonJS({
|
|
360
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js"(exports, module) {
|
|
361
|
-
"use strict";
|
|
364
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/unicode/parser-unicode-properties.js"(exports$1, module) {
|
|
362
365
|
var NON_BINARY_PROP_NAMES_TO_ALIASES = {
|
|
363
366
|
General_Category: "gc",
|
|
364
367
|
Script: "sc",
|
|
@@ -704,8 +707,7 @@ var require_parser_unicode_properties = __commonJS({
|
|
|
704
707
|
|
|
705
708
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/generated/regexp-tree.js
|
|
706
709
|
var require_regexp_tree = __commonJS({
|
|
707
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/generated/regexp-tree.js"(exports, module) {
|
|
708
|
-
"use strict";
|
|
710
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/generated/regexp-tree.js"(exports$1, module) {
|
|
709
711
|
var _slicedToArray = /* @__PURE__ */ (function() {
|
|
710
712
|
function sliceIterator(arr, i) {
|
|
711
713
|
var _arr = [];
|
|
@@ -750,7 +752,6 @@ var require_regexp_tree = __commonJS({
|
|
|
750
752
|
}
|
|
751
753
|
}
|
|
752
754
|
var yytext = void 0;
|
|
753
|
-
var yyleng = void 0;
|
|
754
755
|
var yy = {};
|
|
755
756
|
var __ = void 0;
|
|
756
757
|
var __loc = void 0;
|
|
@@ -805,7 +806,6 @@ var require_regexp_tree = __commonJS({
|
|
|
805
806
|
if (_2loc) {
|
|
806
807
|
_loc = loc(_1loc || _2loc, _3loc || _2loc);
|
|
807
808
|
}
|
|
808
|
-
;
|
|
809
809
|
__ = Node({
|
|
810
810
|
type: "Disjunction",
|
|
811
811
|
left: _1,
|
|
@@ -1274,7 +1274,7 @@ var require_regexp_tree = __commonJS({
|
|
|
1274
1274
|
}
|
|
1275
1275
|
if (matched !== null) {
|
|
1276
1276
|
yytext = matched;
|
|
1277
|
-
|
|
1277
|
+
yytext.length;
|
|
1278
1278
|
var token = lexRule[1].call(this);
|
|
1279
1279
|
if (!token) {
|
|
1280
1280
|
return this.getNextToken();
|
|
@@ -1456,7 +1456,7 @@ var require_regexp_tree = __commonJS({
|
|
|
1456
1456
|
var reduceStackEntry = { symbol: production[0] };
|
|
1457
1457
|
if (hasSemanticAction) {
|
|
1458
1458
|
yytext = shiftedToken ? shiftedToken.value : null;
|
|
1459
|
-
|
|
1459
|
+
shiftedToken ? shiftedToken.value.length : null;
|
|
1460
1460
|
var semanticActionArgs = locationArgs !== null ? semanticValueArgs.concat(locationArgs) : semanticValueArgs;
|
|
1461
1461
|
production[2].apply(production, _toConsumableArray(semanticActionArgs));
|
|
1462
1462
|
reduceStackEntry.semanticValue = __;
|
|
@@ -1851,8 +1851,7 @@ var require_regexp_tree = __commonJS({
|
|
|
1851
1851
|
|
|
1852
1852
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/index.js
|
|
1853
1853
|
var require_parser = __commonJS({
|
|
1854
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/index.js"(exports, module) {
|
|
1855
|
-
"use strict";
|
|
1854
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/parser/index.js"(exports$1, module) {
|
|
1856
1855
|
var regexpTreeParser = require_regexp_tree();
|
|
1857
1856
|
var generatedParseFn = regexpTreeParser.parse.bind(regexpTreeParser);
|
|
1858
1857
|
regexpTreeParser.parse = function(regexp, options) {
|
|
@@ -1865,8 +1864,7 @@ var require_parser = __commonJS({
|
|
|
1865
1864
|
|
|
1866
1865
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/node-path.js
|
|
1867
1866
|
var require_node_path = __commonJS({
|
|
1868
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/node-path.js"(exports, module) {
|
|
1869
|
-
"use strict";
|
|
1867
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/node-path.js"(exports$1, module) {
|
|
1870
1868
|
var _createClass = /* @__PURE__ */ (function() {
|
|
1871
1869
|
function defineProperties(target, props) {
|
|
1872
1870
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -2198,8 +2196,7 @@ var require_node_path = __commonJS({
|
|
|
2198
2196
|
|
|
2199
2197
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/index.js
|
|
2200
2198
|
var require_traverse = __commonJS({
|
|
2201
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/index.js"(exports, module) {
|
|
2202
|
-
"use strict";
|
|
2199
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/traverse/index.js"(exports$1, module) {
|
|
2203
2200
|
var NodePath = require_node_path();
|
|
2204
2201
|
function astTraverse(root) {
|
|
2205
2202
|
var options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
|
|
@@ -2433,8 +2430,7 @@ var require_traverse = __commonJS({
|
|
|
2433
2430
|
|
|
2434
2431
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/index.js
|
|
2435
2432
|
var require_transform = __commonJS({
|
|
2436
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/index.js"(exports, module) {
|
|
2437
|
-
"use strict";
|
|
2433
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/index.js"(exports$1, module) {
|
|
2438
2434
|
var _createClass = /* @__PURE__ */ (function() {
|
|
2439
2435
|
function defineProperties(target, props) {
|
|
2440
2436
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -2567,8 +2563,7 @@ var require_transform = __commonJS({
|
|
|
2567
2563
|
|
|
2568
2564
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/index.js
|
|
2569
2565
|
var require_compat_transpiler = __commonJS({
|
|
2570
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/index.js"(exports, module) {
|
|
2571
|
-
"use strict";
|
|
2566
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/index.js"(exports$1, module) {
|
|
2572
2567
|
var compatTransforms = require_transforms();
|
|
2573
2568
|
var _transform = require_transform();
|
|
2574
2569
|
module.exports = {
|
|
@@ -2603,8 +2598,7 @@ var require_compat_transpiler = __commonJS({
|
|
|
2603
2598
|
|
|
2604
2599
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/utils/clone.js
|
|
2605
2600
|
var require_clone = __commonJS({
|
|
2606
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/utils/clone.js"(exports, module) {
|
|
2607
|
-
"use strict";
|
|
2601
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/utils/clone.js"(exports$1, module) {
|
|
2608
2602
|
module.exports = function clone(obj) {
|
|
2609
2603
|
if (obj === null || typeof obj !== "object") {
|
|
2610
2604
|
return obj;
|
|
@@ -2625,8 +2619,7 @@ var require_clone = __commonJS({
|
|
|
2625
2619
|
|
|
2626
2620
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-surrogate-pair-to-single-unicode-transform.js
|
|
2627
2621
|
var require_char_surrogate_pair_to_single_unicode_transform = __commonJS({
|
|
2628
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-surrogate-pair-to-single-unicode-transform.js"(exports, module) {
|
|
2629
|
-
"use strict";
|
|
2622
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-surrogate-pair-to-single-unicode-transform.js"(exports$1, module) {
|
|
2630
2623
|
module.exports = {
|
|
2631
2624
|
shouldRun: function shouldRun(ast) {
|
|
2632
2625
|
return ast.flags.includes("u");
|
|
@@ -2645,8 +2638,7 @@ var require_char_surrogate_pair_to_single_unicode_transform = __commonJS({
|
|
|
2645
2638
|
|
|
2646
2639
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-code-to-simple-char-transform.js
|
|
2647
2640
|
var require_char_code_to_simple_char_transform = __commonJS({
|
|
2648
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-code-to-simple-char-transform.js"(exports, module) {
|
|
2649
|
-
"use strict";
|
|
2641
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-code-to-simple-char-transform.js"(exports$1, module) {
|
|
2650
2642
|
var UPPER_A_CP = "A".codePointAt(0);
|
|
2651
2643
|
var UPPER_Z_CP = "Z".codePointAt(0);
|
|
2652
2644
|
var LOWER_A_CP = "a".codePointAt(0);
|
|
@@ -2699,8 +2691,7 @@ var require_char_code_to_simple_char_transform = __commonJS({
|
|
|
2699
2691
|
|
|
2700
2692
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-case-insensitive-lowercase-transform.js
|
|
2701
2693
|
var require_char_case_insensitive_lowercase_transform = __commonJS({
|
|
2702
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-case-insensitive-lowercase-transform.js"(exports, module) {
|
|
2703
|
-
"use strict";
|
|
2694
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-case-insensitive-lowercase-transform.js"(exports$1, module) {
|
|
2704
2695
|
var UPPER_A_CP = "A".codePointAt(0);
|
|
2705
2696
|
var UPPER_Z_CP = "Z".codePointAt(0);
|
|
2706
2697
|
module.exports = {
|
|
@@ -2776,8 +2767,7 @@ var require_char_case_insensitive_lowercase_transform = __commonJS({
|
|
|
2776
2767
|
|
|
2777
2768
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-remove-duplicates-transform.js
|
|
2778
2769
|
var require_char_class_remove_duplicates_transform = __commonJS({
|
|
2779
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-remove-duplicates-transform.js"(exports, module) {
|
|
2780
|
-
"use strict";
|
|
2770
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-remove-duplicates-transform.js"(exports$1, module) {
|
|
2781
2771
|
module.exports = {
|
|
2782
2772
|
CharacterClass: function CharacterClass(path3) {
|
|
2783
2773
|
var node = path3.node;
|
|
@@ -2798,8 +2788,7 @@ var require_char_class_remove_duplicates_transform = __commonJS({
|
|
|
2798
2788
|
|
|
2799
2789
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/utils.js
|
|
2800
2790
|
var require_utils = __commonJS({
|
|
2801
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/utils.js"(exports, module) {
|
|
2802
|
-
"use strict";
|
|
2791
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/transform/utils.js"(exports$1, module) {
|
|
2803
2792
|
function _toConsumableArray(arr) {
|
|
2804
2793
|
if (Array.isArray(arr)) {
|
|
2805
2794
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
|
|
@@ -2859,8 +2848,7 @@ var require_utils = __commonJS({
|
|
|
2859
2848
|
|
|
2860
2849
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifiers-merge-transform.js
|
|
2861
2850
|
var require_quantifiers_merge_transform = __commonJS({
|
|
2862
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifiers-merge-transform.js"(exports, module) {
|
|
2863
|
-
"use strict";
|
|
2851
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifiers-merge-transform.js"(exports$1, module) {
|
|
2864
2852
|
var _require = require_utils();
|
|
2865
2853
|
var increaseQuantifierByOne = _require.increaseQuantifierByOne;
|
|
2866
2854
|
module.exports = {
|
|
@@ -2927,8 +2915,7 @@ var require_quantifiers_merge_transform = __commonJS({
|
|
|
2927
2915
|
|
|
2928
2916
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifier-range-to-symbol-transform.js
|
|
2929
2917
|
var require_quantifier_range_to_symbol_transform = __commonJS({
|
|
2930
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifier-range-to-symbol-transform.js"(exports, module) {
|
|
2931
|
-
"use strict";
|
|
2918
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/quantifier-range-to-symbol-transform.js"(exports$1, module) {
|
|
2932
2919
|
module.exports = {
|
|
2933
2920
|
Quantifier: function Quantifier(path3) {
|
|
2934
2921
|
var node = path3.node;
|
|
@@ -2968,8 +2955,7 @@ var require_quantifier_range_to_symbol_transform = __commonJS({
|
|
|
2968
2955
|
|
|
2969
2956
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-to-chars-transform.js
|
|
2970
2957
|
var require_char_class_classranges_to_chars_transform = __commonJS({
|
|
2971
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-to-chars-transform.js"(exports, module) {
|
|
2972
|
-
"use strict";
|
|
2958
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-to-chars-transform.js"(exports$1, module) {
|
|
2973
2959
|
module.exports = {
|
|
2974
2960
|
ClassRange: function ClassRange(path3) {
|
|
2975
2961
|
var node = path3.node;
|
|
@@ -2986,8 +2972,7 @@ var require_char_class_classranges_to_chars_transform = __commonJS({
|
|
|
2986
2972
|
|
|
2987
2973
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-meta-transform.js
|
|
2988
2974
|
var require_char_class_to_meta_transform = __commonJS({
|
|
2989
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-meta-transform.js"(exports, module) {
|
|
2990
|
-
"use strict";
|
|
2975
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-meta-transform.js"(exports$1, module) {
|
|
2991
2976
|
function _toConsumableArray(arr) {
|
|
2992
2977
|
if (Array.isArray(arr)) {
|
|
2993
2978
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
|
|
@@ -3130,8 +3115,7 @@ var require_char_class_to_meta_transform = __commonJS({
|
|
|
3130
3115
|
|
|
3131
3116
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-single-char-transform.js
|
|
3132
3117
|
var require_char_class_to_single_char_transform = __commonJS({
|
|
3133
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-single-char-transform.js"(exports, module) {
|
|
3134
|
-
"use strict";
|
|
3118
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-to-single-char-transform.js"(exports$1, module) {
|
|
3135
3119
|
module.exports = {
|
|
3136
3120
|
CharacterClass: function CharacterClass(path3) {
|
|
3137
3121
|
var node = path3.node;
|
|
@@ -3189,8 +3173,7 @@ var require_char_class_to_single_char_transform = __commonJS({
|
|
|
3189
3173
|
|
|
3190
3174
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-escape-unescape-transform.js
|
|
3191
3175
|
var require_char_escape_unescape_transform = __commonJS({
|
|
3192
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-escape-unescape-transform.js"(exports, module) {
|
|
3193
|
-
"use strict";
|
|
3176
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-escape-unescape-transform.js"(exports$1, module) {
|
|
3194
3177
|
module.exports = {
|
|
3195
3178
|
_hasXFlag: false,
|
|
3196
3179
|
init: function init(ast) {
|
|
@@ -3289,8 +3272,7 @@ var require_char_escape_unescape_transform = __commonJS({
|
|
|
3289
3272
|
|
|
3290
3273
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-merge-transform.js
|
|
3291
3274
|
var require_char_class_classranges_merge_transform = __commonJS({
|
|
3292
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-merge-transform.js"(exports, module) {
|
|
3293
|
-
"use strict";
|
|
3275
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/char-class-classranges-merge-transform.js"(exports$1, module) {
|
|
3294
3276
|
module.exports = {
|
|
3295
3277
|
_hasIUFlags: false,
|
|
3296
3278
|
init: function init(ast) {
|
|
@@ -3508,8 +3490,7 @@ var require_char_class_classranges_merge_transform = __commonJS({
|
|
|
3508
3490
|
|
|
3509
3491
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/disjunction-remove-duplicates-transform.js
|
|
3510
3492
|
var require_disjunction_remove_duplicates_transform = __commonJS({
|
|
3511
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/disjunction-remove-duplicates-transform.js"(exports, module) {
|
|
3512
|
-
"use strict";
|
|
3493
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/disjunction-remove-duplicates-transform.js"(exports$1, module) {
|
|
3513
3494
|
var NodePath = require_node_path();
|
|
3514
3495
|
var _require = require_utils();
|
|
3515
3496
|
var disjunctionToList = _require.disjunctionToList;
|
|
@@ -3534,8 +3515,7 @@ var require_disjunction_remove_duplicates_transform = __commonJS({
|
|
|
3534
3515
|
|
|
3535
3516
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/group-single-chars-to-char-class.js
|
|
3536
3517
|
var require_group_single_chars_to_char_class = __commonJS({
|
|
3537
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/group-single-chars-to-char-class.js"(exports, module) {
|
|
3538
|
-
"use strict";
|
|
3518
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/group-single-chars-to-char-class.js"(exports$1, module) {
|
|
3539
3519
|
module.exports = {
|
|
3540
3520
|
Disjunction: function Disjunction(path3) {
|
|
3541
3521
|
var node = path3.node, parent = path3.parent;
|
|
@@ -3596,8 +3576,7 @@ var require_group_single_chars_to_char_class = __commonJS({
|
|
|
3596
3576
|
|
|
3597
3577
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/remove-empty-group-transform.js
|
|
3598
3578
|
var require_remove_empty_group_transform = __commonJS({
|
|
3599
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/remove-empty-group-transform.js"(exports, module) {
|
|
3600
|
-
"use strict";
|
|
3579
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/remove-empty-group-transform.js"(exports$1, module) {
|
|
3601
3580
|
module.exports = {
|
|
3602
3581
|
Group: function Group(path3) {
|
|
3603
3582
|
var node = path3.node, parent = path3.parent;
|
|
@@ -3617,8 +3596,7 @@ var require_remove_empty_group_transform = __commonJS({
|
|
|
3617
3596
|
|
|
3618
3597
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/ungroup-transform.js
|
|
3619
3598
|
var require_ungroup_transform = __commonJS({
|
|
3620
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/ungroup-transform.js"(exports, module) {
|
|
3621
|
-
"use strict";
|
|
3599
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/ungroup-transform.js"(exports$1, module) {
|
|
3622
3600
|
function _toConsumableArray(arr) {
|
|
3623
3601
|
if (Array.isArray(arr)) {
|
|
3624
3602
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
|
|
@@ -3680,8 +3658,7 @@ var require_ungroup_transform = __commonJS({
|
|
|
3680
3658
|
|
|
3681
3659
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/combine-repeating-patterns-transform.js
|
|
3682
3660
|
var require_combine_repeating_patterns_transform = __commonJS({
|
|
3683
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/combine-repeating-patterns-transform.js"(exports, module) {
|
|
3684
|
-
"use strict";
|
|
3661
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/combine-repeating-patterns-transform.js"(exports$1, module) {
|
|
3685
3662
|
function _toConsumableArray(arr) {
|
|
3686
3663
|
if (Array.isArray(arr)) {
|
|
3687
3664
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
|
|
@@ -3832,8 +3809,7 @@ var require_combine_repeating_patterns_transform = __commonJS({
|
|
|
3832
3809
|
|
|
3833
3810
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/index.js
|
|
3834
3811
|
var require_transforms2 = __commonJS({
|
|
3835
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/index.js"(exports, module) {
|
|
3836
|
-
"use strict";
|
|
3812
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/transforms/index.js"(exports$1, module) {
|
|
3837
3813
|
module.exports = /* @__PURE__ */ new Map([
|
|
3838
3814
|
// \ud83d\ude80 -> \u{1f680}
|
|
3839
3815
|
["charSurrogatePairToSingleUnicode", require_char_surrogate_pair_to_single_unicode_transform()],
|
|
@@ -3873,8 +3849,7 @@ var require_transforms2 = __commonJS({
|
|
|
3873
3849
|
|
|
3874
3850
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/index.js
|
|
3875
3851
|
var require_optimizer = __commonJS({
|
|
3876
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/index.js"(exports, module) {
|
|
3877
|
-
"use strict";
|
|
3852
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/optimizer/index.js"(exports$1, module) {
|
|
3878
3853
|
var clone = require_clone();
|
|
3879
3854
|
var parser = require_parser();
|
|
3880
3855
|
var transform = require_transform();
|
|
@@ -3937,8 +3912,7 @@ var require_optimizer = __commonJS({
|
|
|
3937
3912
|
|
|
3938
3913
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/special-symbols.js
|
|
3939
3914
|
var require_special_symbols = __commonJS({
|
|
3940
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/special-symbols.js"(exports, module) {
|
|
3941
|
-
"use strict";
|
|
3915
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/special-symbols.js"(exports$1, module) {
|
|
3942
3916
|
var EPSILON = "\u03B5";
|
|
3943
3917
|
var EPSILON_CLOSURE = EPSILON + "*";
|
|
3944
3918
|
module.exports = {
|
|
@@ -3950,8 +3924,7 @@ var require_special_symbols = __commonJS({
|
|
|
3950
3924
|
|
|
3951
3925
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa.js
|
|
3952
3926
|
var require_nfa = __commonJS({
|
|
3953
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa.js"(exports, module) {
|
|
3954
|
-
"use strict";
|
|
3927
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa.js"(exports$1, module) {
|
|
3955
3928
|
var _slicedToArray = /* @__PURE__ */ (function() {
|
|
3956
3929
|
function sliceIterator(arr, i) {
|
|
3957
3930
|
var _arr = [];
|
|
@@ -4187,8 +4160,7 @@ var require_nfa = __commonJS({
|
|
|
4187
4160
|
|
|
4188
4161
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa-minimizer.js
|
|
4189
4162
|
var require_dfa_minimizer = __commonJS({
|
|
4190
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa-minimizer.js"(exports, module) {
|
|
4191
|
-
"use strict";
|
|
4163
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa-minimizer.js"(exports$1, module) {
|
|
4192
4164
|
var _slicedToArray = /* @__PURE__ */ (function() {
|
|
4193
4165
|
function sliceIterator(arr, i) {
|
|
4194
4166
|
var _arr = [];
|
|
@@ -4527,8 +4499,7 @@ var require_dfa_minimizer = __commonJS({
|
|
|
4527
4499
|
|
|
4528
4500
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa.js
|
|
4529
4501
|
var require_dfa = __commonJS({
|
|
4530
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa.js"(exports, module) {
|
|
4531
|
-
"use strict";
|
|
4502
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/dfa/dfa.js"(exports$1, module) {
|
|
4532
4503
|
var _createClass = /* @__PURE__ */ (function() {
|
|
4533
4504
|
function defineProperties(target, props) {
|
|
4534
4505
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -4844,8 +4815,7 @@ var require_dfa = __commonJS({
|
|
|
4844
4815
|
|
|
4845
4816
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/state.js
|
|
4846
4817
|
var require_state = __commonJS({
|
|
4847
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/state.js"(exports, module) {
|
|
4848
|
-
"use strict";
|
|
4818
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/state.js"(exports$1, module) {
|
|
4849
4819
|
var _createClass = /* @__PURE__ */ (function() {
|
|
4850
4820
|
function defineProperties(target, props) {
|
|
4851
4821
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -4910,8 +4880,7 @@ var require_state = __commonJS({
|
|
|
4910
4880
|
|
|
4911
4881
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-state.js
|
|
4912
4882
|
var require_nfa_state = __commonJS({
|
|
4913
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-state.js"(exports, module) {
|
|
4914
|
-
"use strict";
|
|
4883
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-state.js"(exports$1, module) {
|
|
4915
4884
|
var _createClass = /* @__PURE__ */ (function() {
|
|
4916
4885
|
function defineProperties(target, props) {
|
|
4917
4886
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -5109,8 +5078,7 @@ var require_nfa_state = __commonJS({
|
|
|
5109
5078
|
|
|
5110
5079
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/builders.js
|
|
5111
5080
|
var require_builders = __commonJS({
|
|
5112
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/builders.js"(exports, module) {
|
|
5113
|
-
"use strict";
|
|
5081
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/builders.js"(exports$1, module) {
|
|
5114
5082
|
var NFA = require_nfa();
|
|
5115
5083
|
var NFAState = require_nfa_state();
|
|
5116
5084
|
var _require = require_special_symbols();
|
|
@@ -5239,8 +5207,7 @@ var require_builders = __commonJS({
|
|
|
5239
5207
|
|
|
5240
5208
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-from-regexp.js
|
|
5241
5209
|
var require_nfa_from_regexp = __commonJS({
|
|
5242
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-from-regexp.js"(exports, module) {
|
|
5243
|
-
"use strict";
|
|
5210
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/nfa/nfa-from-regexp.js"(exports$1, module) {
|
|
5244
5211
|
function _toConsumableArray(arr) {
|
|
5245
5212
|
if (Array.isArray(arr)) {
|
|
5246
5213
|
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
|
|
@@ -5323,8 +5290,7 @@ var require_nfa_from_regexp = __commonJS({
|
|
|
5323
5290
|
|
|
5324
5291
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js
|
|
5325
5292
|
var require_finite_automaton = __commonJS({
|
|
5326
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js"(exports, module) {
|
|
5327
|
-
"use strict";
|
|
5293
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/interpreter/finite-automaton/index.js"(exports$1, module) {
|
|
5328
5294
|
var NFA = require_nfa();
|
|
5329
5295
|
var DFA = require_dfa();
|
|
5330
5296
|
var nfaFromRegExp = require_nfa_from_regexp();
|
|
@@ -5373,8 +5339,7 @@ var require_finite_automaton = __commonJS({
|
|
|
5373
5339
|
|
|
5374
5340
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/runtime/index.js
|
|
5375
5341
|
var require_runtime = __commonJS({
|
|
5376
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/runtime/index.js"(exports, module) {
|
|
5377
|
-
"use strict";
|
|
5342
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/compat-transpiler/runtime/index.js"(exports$1, module) {
|
|
5378
5343
|
var _createClass = /* @__PURE__ */ (function() {
|
|
5379
5344
|
function defineProperties(target, props) {
|
|
5380
5345
|
for (var i = 0; i < props.length; i++) {
|
|
@@ -5463,8 +5428,7 @@ var require_runtime = __commonJS({
|
|
|
5463
5428
|
|
|
5464
5429
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/regexp-tree.js
|
|
5465
5430
|
var require_regexp_tree2 = __commonJS({
|
|
5466
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/regexp-tree.js"(exports, module) {
|
|
5467
|
-
"use strict";
|
|
5431
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/dist/regexp-tree.js"(exports$1, module) {
|
|
5468
5432
|
var compatTranspiler = require_compat_transpiler();
|
|
5469
5433
|
var generator = require_generator();
|
|
5470
5434
|
var optimizer = require_optimizer();
|
|
@@ -5615,16 +5579,14 @@ var require_regexp_tree2 = __commonJS({
|
|
|
5615
5579
|
|
|
5616
5580
|
// ../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/index.js
|
|
5617
5581
|
var require_regexp_tree3 = __commonJS({
|
|
5618
|
-
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/index.js"(exports, module) {
|
|
5619
|
-
"use strict";
|
|
5582
|
+
"../../node_modules/.pnpm/regexp-tree@0.1.27/node_modules/regexp-tree/index.js"(exports$1, module) {
|
|
5620
5583
|
module.exports = require_regexp_tree2();
|
|
5621
5584
|
}
|
|
5622
5585
|
});
|
|
5623
5586
|
|
|
5624
5587
|
// ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/heuristic-analyzer.js
|
|
5625
5588
|
var require_heuristic_analyzer = __commonJS({
|
|
5626
|
-
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/heuristic-analyzer.js"(exports, module) {
|
|
5627
|
-
"use strict";
|
|
5589
|
+
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/heuristic-analyzer.js"(exports$1, module) {
|
|
5628
5590
|
var regexpTree2 = require_regexp_tree3();
|
|
5629
5591
|
var analyzer = require_analyzer();
|
|
5630
5592
|
var HeuristicAnalyzer = class extends analyzer.Analyzer {
|
|
@@ -5683,8 +5645,7 @@ var require_heuristic_analyzer = __commonJS({
|
|
|
5683
5645
|
|
|
5684
5646
|
// ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer-family.js
|
|
5685
5647
|
var require_analyzer_family = __commonJS({
|
|
5686
|
-
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer-family.js"(exports, module) {
|
|
5687
|
-
"use strict";
|
|
5648
|
+
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/lib/analyzer-family.js"(exports$1, module) {
|
|
5688
5649
|
var heuristicAnalyzer = require_heuristic_analyzer();
|
|
5689
5650
|
module.exports = [heuristicAnalyzer];
|
|
5690
5651
|
}
|
|
@@ -5692,8 +5653,7 @@ var require_analyzer_family = __commonJS({
|
|
|
5692
5653
|
|
|
5693
5654
|
// ../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/index.js
|
|
5694
5655
|
var require_safe_regex = __commonJS({
|
|
5695
|
-
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/index.js"(exports, module) {
|
|
5696
|
-
"use strict";
|
|
5656
|
+
"../../node_modules/.pnpm/safe-regex@2.1.1/node_modules/safe-regex/index.js"(exports$1, module) {
|
|
5697
5657
|
var analyzer = require_analyzer();
|
|
5698
5658
|
var analyzerFamily = require_analyzer_family();
|
|
5699
5659
|
var DEFAULT_SAFE_REP_LIMIT = 25;
|
|
@@ -5748,9 +5708,6 @@ var require_safe_regex = __commonJS({
|
|
|
5748
5708
|
module.exports = safeRegex;
|
|
5749
5709
|
}
|
|
5750
5710
|
});
|
|
5751
|
-
|
|
5752
|
-
// src/parser/OpenAPIParser.ts
|
|
5753
|
-
import SwaggerParser from "@apidevtools/swagger-parser";
|
|
5754
5711
|
var OpenAPIParser = class {
|
|
5755
5712
|
/**
|
|
5756
5713
|
* Parse an OpenAPI specification from URL or file path
|
|
@@ -5793,8 +5750,9 @@ var OpenAPIParser = class {
|
|
|
5793
5750
|
* Detect OpenAPI version from document
|
|
5794
5751
|
*/
|
|
5795
5752
|
detectVersion(document) {
|
|
5796
|
-
|
|
5797
|
-
|
|
5753
|
+
const openapiVersion = "openapi" in document ? document.openapi : void 0;
|
|
5754
|
+
if (openapiVersion !== void 0) {
|
|
5755
|
+
return openapiVersion;
|
|
5798
5756
|
}
|
|
5799
5757
|
throw new Error("Invalid OpenAPI document: missing openapi version field");
|
|
5800
5758
|
}
|
|
@@ -5805,7 +5763,9 @@ var OpenAPIParser = class {
|
|
|
5805
5763
|
if (error instanceof Error) {
|
|
5806
5764
|
const message = `Failed to parse OpenAPI spec from "${specPath}": ${error.message}`;
|
|
5807
5765
|
const enhancedError = new Error(message);
|
|
5808
|
-
|
|
5766
|
+
if (error.stack !== void 0) {
|
|
5767
|
+
enhancedError.stack = error.stack;
|
|
5768
|
+
}
|
|
5809
5769
|
return enhancedError;
|
|
5810
5770
|
}
|
|
5811
5771
|
return new Error(`Failed to parse OpenAPI spec from "${specPath}": ${String(error)}`);
|
|
@@ -5878,9 +5838,9 @@ var SchemaResolver = class {
|
|
|
5878
5838
|
endpoints.push({
|
|
5879
5839
|
path: path3,
|
|
5880
5840
|
method,
|
|
5881
|
-
operationId: operation.operationId,
|
|
5882
|
-
summary: operation.summary,
|
|
5883
|
-
description: operation.description
|
|
5841
|
+
...operation.operationId !== void 0 && { operationId: operation.operationId },
|
|
5842
|
+
...operation.summary !== void 0 && { summary: operation.summary },
|
|
5843
|
+
...operation.description !== void 0 && { description: operation.description }
|
|
5884
5844
|
});
|
|
5885
5845
|
}
|
|
5886
5846
|
}
|
|
@@ -6112,9 +6072,6 @@ ${fields}
|
|
|
6112
6072
|
}
|
|
6113
6073
|
}
|
|
6114
6074
|
};
|
|
6115
|
-
|
|
6116
|
-
// src/compiler/TypeGenerator.ts
|
|
6117
|
-
import { printNode, zodToTs, createAuxiliaryTypeStore } from "zod-to-ts";
|
|
6118
6075
|
var TypeGenerator = class {
|
|
6119
6076
|
/**
|
|
6120
6077
|
* Generate TypeScript type definition from a Zod schema
|
|
@@ -6225,18 +6182,21 @@ var CollectionProviderGenerator = class {
|
|
|
6225
6182
|
}
|
|
6226
6183
|
const isArray = schema.type === "array";
|
|
6227
6184
|
const schemaName = `${this.capitalize(collectionName)}Schema`;
|
|
6228
|
-
|
|
6185
|
+
const params = {
|
|
6229
6186
|
providerName,
|
|
6230
6187
|
collectionName,
|
|
6231
6188
|
endpoint,
|
|
6232
6189
|
slugField,
|
|
6233
6190
|
method,
|
|
6234
6191
|
baseUrl,
|
|
6235
|
-
auth,
|
|
6236
6192
|
schemaName,
|
|
6237
6193
|
isArray,
|
|
6238
6194
|
bare
|
|
6239
|
-
}
|
|
6195
|
+
};
|
|
6196
|
+
if (auth !== void 0) {
|
|
6197
|
+
params.auth = auth;
|
|
6198
|
+
}
|
|
6199
|
+
return this.generateProviderCode(params);
|
|
6240
6200
|
}
|
|
6241
6201
|
/**
|
|
6242
6202
|
* Generate the complete provider code
|
|
@@ -6258,12 +6218,12 @@ var CollectionProviderGenerator = class {
|
|
|
6258
6218
|
const arraySchemaName = `${schemaName.replace(/Schema$/, "")}ArraySchema`;
|
|
6259
6219
|
const validationSchema = isArray ? arraySchemaName : schemaName;
|
|
6260
6220
|
const imports = bare ? "" : `import type { CollectionProvider, CollectionItem } from '@stackwright/collections';
|
|
6261
|
-
import { ${isArray ? arraySchemaName : schemaName} } from './schemas';
|
|
6221
|
+
import { ${isArray ? arraySchemaName : schemaName}} } from './schemas';
|
|
6262
6222
|
|
|
6263
6223
|
`;
|
|
6264
6224
|
return `${imports}/**
|
|
6265
6225
|
* CollectionProvider for ${collectionName}
|
|
6266
|
-
*
|
|
6226
|
+
*
|
|
6267
6227
|
* Generated from OpenAPI endpoint: ${method.toUpperCase()} ${endpoint}
|
|
6268
6228
|
*/
|
|
6269
6229
|
export class ${providerName} implements CollectionProvider {
|
|
@@ -6409,7 +6369,10 @@ export class ${providerName} implements CollectionProvider {
|
|
|
6409
6369
|
*/
|
|
6410
6370
|
getBaseUrl() {
|
|
6411
6371
|
if ("servers" in this.document && this.document.servers && this.document.servers.length > 0) {
|
|
6412
|
-
|
|
6372
|
+
const firstServer = this.document.servers[0];
|
|
6373
|
+
if (firstServer !== void 0) {
|
|
6374
|
+
return firstServer.url;
|
|
6375
|
+
}
|
|
6413
6376
|
}
|
|
6414
6377
|
return "http://localhost:3000";
|
|
6415
6378
|
}
|
|
@@ -6437,7 +6400,8 @@ export class ${providerName} implements CollectionProvider {
|
|
|
6437
6400
|
*/
|
|
6438
6401
|
guessTitle(slugField) {
|
|
6439
6402
|
const titleFields = ["title", "name", "label", "displayName"];
|
|
6440
|
-
|
|
6403
|
+
const firstField = titleFields[0];
|
|
6404
|
+
return firstField !== void 0 ? firstField : `item.${slugField}`;
|
|
6441
6405
|
}
|
|
6442
6406
|
};
|
|
6443
6407
|
|
|
@@ -6447,7 +6411,9 @@ var ClientGenerator = class {
|
|
|
6447
6411
|
constructor(document, schemaMapping) {
|
|
6448
6412
|
this.document = document;
|
|
6449
6413
|
this.resolver = new SchemaResolver(document);
|
|
6450
|
-
|
|
6414
|
+
if (schemaMapping !== void 0) {
|
|
6415
|
+
this.schemaMapping = schemaMapping;
|
|
6416
|
+
}
|
|
6451
6417
|
this.requiredSchemas = /* @__PURE__ */ new Set();
|
|
6452
6418
|
this.generatedRequestSchemas = /* @__PURE__ */ new Set();
|
|
6453
6419
|
}
|
|
@@ -6539,7 +6505,7 @@ var ClientGenerator = class {
|
|
|
6539
6505
|
code += "// Request Schemas (Zod Validation)\n";
|
|
6540
6506
|
code += "// ============================================================================\n\n";
|
|
6541
6507
|
for (const endpoint of endpoints) {
|
|
6542
|
-
|
|
6508
|
+
endpoint.operationId || this.getMethodName(endpoint);
|
|
6543
6509
|
const typeName = this.getOperationTypeName(endpoint);
|
|
6544
6510
|
const schemaName = `${typeName}RequestSchema`;
|
|
6545
6511
|
const schemaCode = this.generateRequestSchemaForEndpoint(endpoint);
|
|
@@ -6805,7 +6771,8 @@ ${paramSchemas.join(",\n")}
|
|
|
6805
6771
|
*/
|
|
6806
6772
|
extractComponentName(ref) {
|
|
6807
6773
|
const parts = ref.split("/");
|
|
6808
|
-
|
|
6774
|
+
const lastPart = parts[parts.length - 1];
|
|
6775
|
+
return lastPart ?? ref;
|
|
6809
6776
|
}
|
|
6810
6777
|
/**
|
|
6811
6778
|
* Escape string for use in Zod .describe()
|
|
@@ -7552,9 +7519,9 @@ ${paramSchemas.join(",\n")}
|
|
|
7552
7519
|
endpoints.push({
|
|
7553
7520
|
path: path3,
|
|
7554
7521
|
method,
|
|
7555
|
-
operationId: operation.operationId,
|
|
7556
|
-
summary: operation.summary,
|
|
7557
|
-
description: operation.description,
|
|
7522
|
+
...operation.operationId !== void 0 && { operationId: operation.operationId },
|
|
7523
|
+
...operation.summary !== void 0 && { summary: operation.summary },
|
|
7524
|
+
...operation.description !== void 0 && { description: operation.description },
|
|
7558
7525
|
operation
|
|
7559
7526
|
});
|
|
7560
7527
|
}
|
|
@@ -7642,7 +7609,8 @@ ${paramSchemas.join(",\n")}
|
|
|
7642
7609
|
*/
|
|
7643
7610
|
getDefaultBaseUrl() {
|
|
7644
7611
|
if ("servers" in this.document && this.document.servers && this.document.servers.length > 0) {
|
|
7645
|
-
|
|
7612
|
+
const firstServer = this.document.servers[0];
|
|
7613
|
+
return firstServer ? firstServer.url : "http://localhost:3000";
|
|
7646
7614
|
}
|
|
7647
7615
|
return "http://localhost:3000";
|
|
7648
7616
|
}
|
|
@@ -7680,10 +7648,6 @@ var OpenAPICollectionProvider = class {
|
|
|
7680
7648
|
}
|
|
7681
7649
|
};
|
|
7682
7650
|
|
|
7683
|
-
// src/prebuild/OpenAPIPlugin.ts
|
|
7684
|
-
import fs2 from "fs";
|
|
7685
|
-
import path2 from "path";
|
|
7686
|
-
|
|
7687
7651
|
// src/utils/EndpointFilter.ts
|
|
7688
7652
|
var EndpointFilter = class {
|
|
7689
7653
|
include;
|
|
@@ -7737,13 +7701,18 @@ var EndpointFilter = class {
|
|
|
7737
7701
|
let matches = true;
|
|
7738
7702
|
for (let i = 0; i < patternSegments.length; i++) {
|
|
7739
7703
|
const pSeg = patternSegments[i];
|
|
7704
|
+
if (pSeg === void 0) {
|
|
7705
|
+
matches = false;
|
|
7706
|
+
break;
|
|
7707
|
+
}
|
|
7740
7708
|
if (pSeg === "*" || pSeg === "**") {
|
|
7741
7709
|
continue;
|
|
7742
7710
|
}
|
|
7743
7711
|
if (pSeg.startsWith("{") && pSeg.endsWith("}")) {
|
|
7744
7712
|
continue;
|
|
7745
7713
|
}
|
|
7746
|
-
|
|
7714
|
+
const pathSeg = pathSegments[i];
|
|
7715
|
+
if (pSeg !== pathSeg) {
|
|
7747
7716
|
matches = false;
|
|
7748
7717
|
break;
|
|
7749
7718
|
}
|
|
@@ -7780,16 +7749,6 @@ var EndpointFilter = class {
|
|
|
7780
7749
|
return new RegExp(`^${result}$`);
|
|
7781
7750
|
}
|
|
7782
7751
|
};
|
|
7783
|
-
|
|
7784
|
-
// src/utils/ApprovedSpecsValidator.ts
|
|
7785
|
-
import crypto from "crypto";
|
|
7786
|
-
import fs from "fs";
|
|
7787
|
-
import https from "https";
|
|
7788
|
-
import http from "http";
|
|
7789
|
-
import { URL as URL2 } from "url";
|
|
7790
|
-
import path from "path";
|
|
7791
|
-
import { realpathSync } from "fs";
|
|
7792
|
-
import { isIP } from "net";
|
|
7793
7752
|
var ApprovedSpecsValidator = class {
|
|
7794
7753
|
allowlist;
|
|
7795
7754
|
cache = /* @__PURE__ */ new Map();
|
|
@@ -7814,7 +7773,7 @@ var ApprovedSpecsValidator = class {
|
|
|
7814
7773
|
*/
|
|
7815
7774
|
buildAllowedDirs() {
|
|
7816
7775
|
const cwd = process.cwd();
|
|
7817
|
-
return [cwd,
|
|
7776
|
+
return [cwd, path2.join(cwd, "specs"), path2.join(cwd, ".stackwright")];
|
|
7818
7777
|
}
|
|
7819
7778
|
/**
|
|
7820
7779
|
* Validate that a file path is within allowed directories (path traversal prevention).
|
|
@@ -7828,7 +7787,7 @@ var ApprovedSpecsValidator = class {
|
|
|
7828
7787
|
const realPath = realpathSync(filePath);
|
|
7829
7788
|
return this.ALLOWED_DIRS.some((dir) => {
|
|
7830
7789
|
const realDir = realpathSync(dir);
|
|
7831
|
-
return realPath.startsWith(realDir +
|
|
7790
|
+
return realPath.startsWith(realDir + path2.sep) || realPath === realDir;
|
|
7832
7791
|
});
|
|
7833
7792
|
} catch {
|
|
7834
7793
|
return false;
|
|
@@ -7879,7 +7838,7 @@ var ApprovedSpecsValidator = class {
|
|
|
7879
7838
|
*/
|
|
7880
7839
|
isRedirectSafe(location, originalProtocol) {
|
|
7881
7840
|
try {
|
|
7882
|
-
const redirectUrl = new
|
|
7841
|
+
const redirectUrl = new URL$1(location);
|
|
7883
7842
|
if (redirectUrl.protocol === "http:" && originalProtocol === "https:") {
|
|
7884
7843
|
return false;
|
|
7885
7844
|
}
|
|
@@ -7901,19 +7860,20 @@ var ApprovedSpecsValidator = class {
|
|
|
7901
7860
|
}
|
|
7902
7861
|
}
|
|
7903
7862
|
const ipv4Match = redirectUrl.hostname.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
|
|
7904
|
-
if (ipv4Match) {
|
|
7863
|
+
if (ipv4Match && ipv4Match.length >= 5) {
|
|
7905
7864
|
const octets = ipv4Match.slice(1, 5).map(Number);
|
|
7906
|
-
const
|
|
7907
|
-
|
|
7865
|
+
const first = octets[0];
|
|
7866
|
+
const second = octets[1];
|
|
7867
|
+
if (first !== void 0 && first === 10) {
|
|
7908
7868
|
return false;
|
|
7909
7869
|
}
|
|
7910
|
-
if (first === 172 && second >= 16 && second <= 31) {
|
|
7870
|
+
if (first !== void 0 && second !== void 0 && first === 172 && second >= 16 && second <= 31) {
|
|
7911
7871
|
return false;
|
|
7912
7872
|
}
|
|
7913
|
-
if (first === 192 && second === 168) {
|
|
7873
|
+
if (first !== void 0 && second !== void 0 && first === 192 && second === 168) {
|
|
7914
7874
|
return false;
|
|
7915
7875
|
}
|
|
7916
|
-
if (first === 127) {
|
|
7876
|
+
if (first !== void 0 && first === 127) {
|
|
7917
7877
|
return false;
|
|
7918
7878
|
}
|
|
7919
7879
|
}
|
|
@@ -8101,7 +8061,7 @@ var ApprovedSpecsValidator = class {
|
|
|
8101
8061
|
if (!url.startsWith("http://") && !url.startsWith("https://")) {
|
|
8102
8062
|
return { error: `Invalid URL protocol. Expected http:// or https://, got: ${url}` };
|
|
8103
8063
|
}
|
|
8104
|
-
const parsed = new
|
|
8064
|
+
const parsed = new URL$1(url);
|
|
8105
8065
|
const requestProtocol = originalProtocol || parsed.protocol;
|
|
8106
8066
|
return new Promise((resolve) => {
|
|
8107
8067
|
const client = url.startsWith("https") ? https : http;
|
|
@@ -8147,7 +8107,7 @@ var ApprovedSpecsValidator = class {
|
|
|
8147
8107
|
urlsMatch(url1, url2) {
|
|
8148
8108
|
const normalize = (u) => {
|
|
8149
8109
|
try {
|
|
8150
|
-
const parsed = new
|
|
8110
|
+
const parsed = new URL$1(u);
|
|
8151
8111
|
const normalized = `${parsed.protocol}//${parsed.hostname}${parsed.pathname}`;
|
|
8152
8112
|
return normalized.replace(/\/$/, "").toLowerCase();
|
|
8153
8113
|
} catch {
|
|
@@ -8313,7 +8273,7 @@ var OpenAPIPlugin = class {
|
|
|
8313
8273
|
console.log(` > Filter: include [${includeStr}]${excludeStr}`);
|
|
8314
8274
|
}
|
|
8315
8275
|
const outputDir = path2.join(projectRoot, "src", "generated", name);
|
|
8316
|
-
|
|
8276
|
+
fs.mkdirSync(outputDir, { recursive: true });
|
|
8317
8277
|
const schemaMapping = await this.generateSchemas(
|
|
8318
8278
|
document,
|
|
8319
8279
|
collections || [],
|
|
@@ -8436,7 +8396,7 @@ import { z } from 'zod';
|
|
|
8436
8396
|
};
|
|
8437
8397
|
}
|
|
8438
8398
|
}
|
|
8439
|
-
|
|
8399
|
+
fs.writeFileSync(path2.join(outputDir, "schemas.ts"), schemasCode);
|
|
8440
8400
|
return schemaMapping;
|
|
8441
8401
|
}
|
|
8442
8402
|
async generateTypes(document, collections, outputDir, integrationName) {
|
|
@@ -8461,7 +8421,7 @@ import type * as schemas from './schemas';
|
|
|
8461
8421
|
`;
|
|
8462
8422
|
}
|
|
8463
8423
|
}
|
|
8464
|
-
|
|
8424
|
+
fs.writeFileSync(path2.join(outputDir, "types.ts"), typesCode);
|
|
8465
8425
|
}
|
|
8466
8426
|
async generateProvider(document, config, outputDir, integrationName) {
|
|
8467
8427
|
const generator = new CollectionProviderGenerator(document);
|
|
@@ -8477,12 +8437,12 @@ import type * as schemas from './schemas';
|
|
|
8477
8437
|
slugField: collection.slug_field,
|
|
8478
8438
|
filters: collection.filters
|
|
8479
8439
|
};
|
|
8480
|
-
|
|
8440
|
+
const providerOptions = { bare: true };
|
|
8481
8441
|
if (auth) {
|
|
8482
8442
|
if (auth.type === "bearer" || auth.type === "apiKey") {
|
|
8483
8443
|
providerOptions.auth = {
|
|
8484
8444
|
type: auth.type,
|
|
8485
|
-
|
|
8445
|
+
...auth.type === "apiKey" && { headerName: "X-API-Key" }
|
|
8486
8446
|
};
|
|
8487
8447
|
} else if (auth.type === "oauth2") {
|
|
8488
8448
|
console.warn(
|
|
@@ -8515,7 +8475,7 @@ import { ${Array.from(schemaImports).join(", ")} } from './schemas';
|
|
|
8515
8475
|
|
|
8516
8476
|
`;
|
|
8517
8477
|
providerCode += classBlocks.join("\n");
|
|
8518
|
-
|
|
8478
|
+
fs.writeFileSync(path2.join(outputDir, "provider.ts"), providerCode);
|
|
8519
8479
|
}
|
|
8520
8480
|
async generateClient(document, outputDir, integrationName, schemaMapping, endpointFilter) {
|
|
8521
8481
|
const paths = document.paths || {};
|
|
@@ -8539,11 +8499,12 @@ import { ${Array.from(schemaImports).join(", ")} } from './schemas';
|
|
|
8539
8499
|
validateResponses: true,
|
|
8540
8500
|
strictValidation: false
|
|
8541
8501
|
});
|
|
8542
|
-
|
|
8502
|
+
fs.writeFileSync(path2.join(outputDir, "client.ts"), clientCode);
|
|
8543
8503
|
}
|
|
8544
8504
|
extractComponentName(ref) {
|
|
8545
8505
|
const parts = ref.split("/");
|
|
8546
|
-
|
|
8506
|
+
const lastPart = parts[parts.length - 1];
|
|
8507
|
+
return lastPart ?? ref;
|
|
8547
8508
|
}
|
|
8548
8509
|
getOperationTypeName(operationId) {
|
|
8549
8510
|
return operationId.charAt(0).toUpperCase() + operationId.slice(1);
|
|
@@ -8570,8 +8531,6 @@ import { ${Array.from(schemaImports).join(", ")} } from './schemas';
|
|
|
8570
8531
|
function createOpenAPIPlugin() {
|
|
8571
8532
|
return new OpenAPIPlugin();
|
|
8572
8533
|
}
|
|
8573
|
-
|
|
8574
|
-
// src/sources/openapi.ts
|
|
8575
8534
|
var BLOCKED_HOST_PATTERNS = [
|
|
8576
8535
|
/^localhost$/i,
|
|
8577
8536
|
/^127\./,
|
|
@@ -8596,63 +8555,115 @@ var BLOCKED_HOST_PATTERNS = [
|
|
|
8596
8555
|
// AWS metadata endpoint
|
|
8597
8556
|
/^metadata\.googleapis\.com$/i,
|
|
8598
8557
|
// GCP metadata endpoint
|
|
8558
|
+
/^metadata\.azure\.com$/i,
|
|
8559
|
+
// Azure metadata endpoint
|
|
8560
|
+
/^imds\.azure\.com$/i,
|
|
8561
|
+
// Azure IMDS endpoint
|
|
8599
8562
|
/^100\.100\.100\.200$/
|
|
8600
8563
|
// Alibaba Cloud metadata
|
|
8601
8564
|
];
|
|
8565
|
+
var BLOCKED_IPV6_PREFIXES = [
|
|
8566
|
+
"::1",
|
|
8567
|
+
// Loopback
|
|
8568
|
+
"fe80:",
|
|
8569
|
+
// Link-local
|
|
8570
|
+
"fc",
|
|
8571
|
+
// Unique local (fc00::/7 — covers fc00:: through fcff::)
|
|
8572
|
+
"fd"
|
|
8573
|
+
// Unique local (short form)
|
|
8574
|
+
];
|
|
8602
8575
|
var ALLOWED_PROTOCOLS = ["http:", "https:"];
|
|
8603
|
-
function
|
|
8576
|
+
function validateUrlSafe(baseUrl) {
|
|
8604
8577
|
let url;
|
|
8605
8578
|
try {
|
|
8606
8579
|
url = new URL(baseUrl);
|
|
8607
8580
|
} catch {
|
|
8608
|
-
throw new Error("
|
|
8581
|
+
throw new Error("SECURITY: baseUrl must be a valid absolute URL");
|
|
8609
8582
|
}
|
|
8610
8583
|
if (!ALLOWED_PROTOCOLS.includes(url.protocol)) {
|
|
8611
|
-
throw new Error(
|
|
8612
|
-
"SSRF Prevention: Only HTTP and HTTPS protocols are allowed, got " + url.protocol
|
|
8613
|
-
);
|
|
8584
|
+
throw new Error("SECURITY: Only HTTP and HTTPS protocols are allowed, got " + url.protocol);
|
|
8614
8585
|
}
|
|
8615
8586
|
const hostname = url.hostname.toLowerCase();
|
|
8616
8587
|
for (const pattern of BLOCKED_HOST_PATTERNS) {
|
|
8617
8588
|
if (pattern.test(hostname)) {
|
|
8618
|
-
throw new Error("
|
|
8589
|
+
throw new Error("SECURITY: Blocked internal network address: " + hostname);
|
|
8619
8590
|
}
|
|
8620
8591
|
}
|
|
8621
8592
|
const ip = url.hostname;
|
|
8622
8593
|
if (/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(ip)) {
|
|
8623
8594
|
const octets = ip.split(".").map(Number);
|
|
8624
|
-
|
|
8625
|
-
|
|
8626
|
-
|
|
8627
|
-
|
|
8628
|
-
|
|
8629
|
-
|
|
8630
|
-
|
|
8631
|
-
|
|
8632
|
-
|
|
8633
|
-
|
|
8634
|
-
|
|
8635
|
-
|
|
8636
|
-
|
|
8637
|
-
|
|
8638
|
-
|
|
8639
|
-
|
|
8640
|
-
|
|
8595
|
+
const first = octets[0];
|
|
8596
|
+
const second = octets[1];
|
|
8597
|
+
if (first !== void 0 && first === 127) {
|
|
8598
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8599
|
+
}
|
|
8600
|
+
if (first !== void 0 && first === 10) {
|
|
8601
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8602
|
+
}
|
|
8603
|
+
if (first !== void 0 && second !== void 0 && first === 172 && second >= 16 && second <= 31) {
|
|
8604
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8605
|
+
}
|
|
8606
|
+
if (first !== void 0 && second !== void 0 && first === 192 && second === 168) {
|
|
8607
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8608
|
+
}
|
|
8609
|
+
if (first !== void 0 && second !== void 0 && first === 169 && second === 254) {
|
|
8610
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8611
|
+
}
|
|
8612
|
+
if (first !== void 0 && first === 0) {
|
|
8613
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8614
|
+
}
|
|
8615
|
+
}
|
|
8616
|
+
const cleanHostname = hostname.replace(/^\[|\]$/g, "");
|
|
8617
|
+
const ipVersion = isIP(cleanHostname);
|
|
8618
|
+
if (ipVersion === 6) {
|
|
8619
|
+
for (const prefix of BLOCKED_IPV6_PREFIXES) {
|
|
8620
|
+
if (cleanHostname.startsWith(prefix)) {
|
|
8621
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8622
|
+
}
|
|
8623
|
+
}
|
|
8624
|
+
if (cleanHostname.startsWith("::ffff:")) {
|
|
8625
|
+
const mapped = cleanHostname.slice("::ffff:".length);
|
|
8626
|
+
let octets = null;
|
|
8627
|
+
const decMatch = mapped.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
|
|
8628
|
+
if (decMatch) {
|
|
8629
|
+
octets = decMatch.slice(1, 5).map(Number);
|
|
8630
|
+
}
|
|
8631
|
+
const hexMatch = mapped.match(/^([0-9a-f]{1,4}):([0-9a-f]{1,4})$/i);
|
|
8632
|
+
if (!octets && hexMatch && hexMatch[1] !== void 0 && hexMatch[2] !== void 0) {
|
|
8633
|
+
const high = parseInt(hexMatch[1], 16);
|
|
8634
|
+
const low = parseInt(hexMatch[2], 16);
|
|
8635
|
+
octets = [high >> 8 & 255, high & 255, low >> 8 & 255, low & 255];
|
|
8636
|
+
}
|
|
8637
|
+
if (octets !== null) {
|
|
8638
|
+
const o0 = octets[0];
|
|
8639
|
+
const o1 = octets[1];
|
|
8640
|
+
if (o0 === 127 || // 127.0.0.0/8 loopback
|
|
8641
|
+
o0 === 10 || // 10.0.0.0/8 private
|
|
8642
|
+
o0 === 0 || // 0.0.0.0/8 current network
|
|
8643
|
+
o0 === 172 && o1 !== void 0 && o1 >= 16 && o1 <= 31 || // 172.16/12 private
|
|
8644
|
+
o0 === 192 && o1 === 168 || // 192.168/16 private
|
|
8645
|
+
o0 === 169 && o1 === 254) {
|
|
8646
|
+
throw new Error("SECURITY: Base URL resolves to private IP");
|
|
8647
|
+
}
|
|
8648
|
+
} else {
|
|
8649
|
+
throw new Error("SECURITY: Base URL resolves to unrecognisable IPv4-mapped address");
|
|
8650
|
+
}
|
|
8641
8651
|
}
|
|
8642
8652
|
}
|
|
8643
8653
|
return url;
|
|
8644
8654
|
}
|
|
8655
|
+
var isUrlSafe = validateUrlSafe;
|
|
8645
8656
|
function validateEndpoint(endpoint) {
|
|
8646
8657
|
if (endpoint.includes("..")) {
|
|
8647
|
-
throw new Error("
|
|
8658
|
+
throw new Error("SECURITY: Path traversal detected in endpoint");
|
|
8648
8659
|
}
|
|
8649
8660
|
if (endpoint.includes("\\")) {
|
|
8650
|
-
throw new Error("
|
|
8661
|
+
throw new Error("SECURITY: Backslash detected in endpoint");
|
|
8651
8662
|
}
|
|
8652
8663
|
}
|
|
8653
8664
|
function createOpenAPIFetcher(config) {
|
|
8654
8665
|
const { baseUrl, endpoint, method = "get", params, body, headers = {}, auth, schema } = config;
|
|
8655
|
-
const validatedBaseUrl =
|
|
8666
|
+
const validatedBaseUrl = validateUrlSafe(baseUrl);
|
|
8656
8667
|
validateEndpoint(endpoint);
|
|
8657
8668
|
return async () => {
|
|
8658
8669
|
const url = new URL(endpoint, validatedBaseUrl.toString());
|
|
@@ -8677,7 +8688,9 @@ function createOpenAPIFetcher(config) {
|
|
|
8677
8688
|
const response = await fetch(url.toString(), {
|
|
8678
8689
|
method: method.toUpperCase(),
|
|
8679
8690
|
headers: requestHeaders,
|
|
8680
|
-
body: supportsBody && body ? JSON.stringify(body) :
|
|
8691
|
+
body: supportsBody && body ? JSON.stringify(body) : null,
|
|
8692
|
+
redirect: "error"
|
|
8693
|
+
// Prevent SSRF via 301/302 redirect to internal addresses
|
|
8681
8694
|
});
|
|
8682
8695
|
if (!response.ok) {
|
|
8683
8696
|
const safeStatus = response.status;
|
|
@@ -8690,17 +8703,7 @@ function createOpenAPIFetcher(config) {
|
|
|
8690
8703
|
return result;
|
|
8691
8704
|
};
|
|
8692
8705
|
}
|
|
8693
|
-
|
|
8694
|
-
|
|
8695
|
-
|
|
8696
|
-
|
|
8697
|
-
EndpointFilter,
|
|
8698
|
-
OpenAPICollectionProvider,
|
|
8699
|
-
OpenAPIParser,
|
|
8700
|
-
OpenAPIPlugin,
|
|
8701
|
-
SchemaResolver,
|
|
8702
|
-
TypeGenerator,
|
|
8703
|
-
ZodSchemaGenerator,
|
|
8704
|
-
createOpenAPIFetcher,
|
|
8705
|
-
createOpenAPIPlugin
|
|
8706
|
-
};
|
|
8706
|
+
|
|
8707
|
+
export { ApprovedSpecsValidator, ClientGenerator, CollectionProviderGenerator, EndpointFilter, OpenAPICollectionProvider, OpenAPIParser, OpenAPIPlugin, SchemaResolver, TypeGenerator, ZodSchemaGenerator, createOpenAPIFetcher, createOpenAPIPlugin, isUrlSafe, validateUrlSafe };
|
|
8708
|
+
//# sourceMappingURL=index.mjs.map
|
|
8709
|
+
//# sourceMappingURL=index.mjs.map
|