@zuplo/cli 6.70.69 → 6.70.71
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/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/http2.d.ts +1 -0
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-GEVKFSKR.js → chunk-AZIRK6TC.js} +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-GEVKFSKR.js.map → chunk-AZIRK6TC.js.map} +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-YLRLRHUN.js → chunk-E7U425SB.js} +93 -92
- package/node_modules/@zuplo/runtime/out/esm/chunk-E7U425SB.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +7 -7
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/types/index.d.ts +384 -0
- package/node_modules/@zuplo/runtime/out/types/mcp-gateway/index.d.ts +3 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/node_modules/acorn/CHANGELOG.md +14 -0
- package/node_modules/acorn/README.md +3 -0
- package/node_modules/acorn/dist/acorn.d.mts +6 -0
- package/node_modules/acorn/dist/acorn.d.ts +6 -0
- package/node_modules/acorn/dist/acorn.js +87 -49
- package/node_modules/acorn/dist/acorn.mjs +87 -49
- package/node_modules/acorn/package.json +2 -2
- package/node_modules/protobufjs/dist/light/protobuf.js +161 -203
- package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.js +34 -77
- package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.js +181 -223
- package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
- package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
- package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
- package/node_modules/protobufjs/index.d.ts +0 -8
- package/node_modules/protobufjs/package.json +2 -3
- package/node_modules/protobufjs/src/converter.js +5 -4
- package/node_modules/protobufjs/src/decoder.js +1 -1
- package/node_modules/protobufjs/src/service.js +5 -7
- package/node_modules/protobufjs/src/type.js +3 -1
- package/node_modules/protobufjs/src/util/minimal.js +1 -4
- package/node_modules/protobufjs/src/verifier.js +1 -1
- package/package.json +6 -6
- package/node_modules/@protobufjs/inquire/CHANGELOG.md +0 -8
- package/node_modules/@protobufjs/inquire/LICENSE +0 -26
- package/node_modules/@protobufjs/inquire/README.md +0 -13
- package/node_modules/@protobufjs/inquire/index.d.ts +0 -10
- package/node_modules/@protobufjs/inquire/index.js +0 -38
- package/node_modules/@protobufjs/inquire/package.json +0 -21
- package/node_modules/@protobufjs/inquire/tests/data/array.js +0 -1
- package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +0 -1
- package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +0 -1
- package/node_modules/@protobufjs/inquire/tests/data/object.js +0 -1
- package/node_modules/@protobufjs/inquire/tests/index.js +0 -20
- package/node_modules/@zuplo/runtime/out/esm/chunk-YLRLRHUN.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-YLRLRHUN.js.LEGAL.txt → chunk-E7U425SB.js.LEGAL.txt} +0 -0
|
@@ -342,6 +342,9 @@
|
|
|
342
342
|
// Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
|
|
343
343
|
// strict mode and parsing of `import` and `export` declarations.
|
|
344
344
|
sourceType: "script",
|
|
345
|
+
// When set to true, enable strict parsing mode even if `sourceType`
|
|
346
|
+
// is `"script"`.
|
|
347
|
+
strict: false,
|
|
345
348
|
// `onInsertedSemicolon` can be a callback that will be called when
|
|
346
349
|
// a semicolon is automatically inserted. It will be passed the
|
|
347
350
|
// position of the inserted semicolon as an offset, and if
|
|
@@ -568,7 +571,7 @@
|
|
|
568
571
|
|
|
569
572
|
// Figure out if it's a module code.
|
|
570
573
|
this.inModule = options.sourceType === "module";
|
|
571
|
-
this.strict = this.inModule || this.strictDirective(this.pos);
|
|
574
|
+
this.strict = this.inModule || options.strict === true || this.strictDirective(this.pos);
|
|
572
575
|
|
|
573
576
|
// Used to signify the start of a potential arrow function
|
|
574
577
|
this.potentialArrowAt = -1;
|
|
@@ -606,9 +609,11 @@
|
|
|
606
609
|
var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowReturn: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },allowUsing: { configurable: true },inClassStaticBlock: { configurable: true } };
|
|
607
610
|
|
|
608
611
|
Parser.prototype.parse = function parse () {
|
|
612
|
+
var this$1$1 = this;
|
|
613
|
+
|
|
609
614
|
var node = this.options.program || this.startNode();
|
|
610
615
|
this.nextToken();
|
|
611
|
-
return this.parseTopLevel(node)
|
|
616
|
+
return this.catchStackOverflow(function () { return this$1$1.parseTopLevel(node); })
|
|
612
617
|
};
|
|
613
618
|
|
|
614
619
|
prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
|
|
@@ -747,6 +752,17 @@
|
|
|
747
752
|
return true
|
|
748
753
|
};
|
|
749
754
|
|
|
755
|
+
pp$9.catchStackOverflow = function(f) {
|
|
756
|
+
try {
|
|
757
|
+
return f()
|
|
758
|
+
} catch (e) {
|
|
759
|
+
if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message)))
|
|
760
|
+
{ this.raise(this.start, "Not enough stack space to parse input"); }
|
|
761
|
+
else
|
|
762
|
+
{ throw e }
|
|
763
|
+
}
|
|
764
|
+
};
|
|
765
|
+
|
|
750
766
|
// Asserts that following token is given contextual keyword.
|
|
751
767
|
|
|
752
768
|
pp$9.expectContextual = function(name) {
|
|
@@ -850,10 +866,10 @@
|
|
|
850
866
|
// to its body instead of creating a new node.
|
|
851
867
|
|
|
852
868
|
pp$8.parseTopLevel = function(node) {
|
|
853
|
-
var exports = Object.create(null);
|
|
869
|
+
var exports$1 = Object.create(null);
|
|
854
870
|
if (!node.body) { node.body = []; }
|
|
855
871
|
while (this.type !== types$1.eof) {
|
|
856
|
-
var stmt = this.parseStatement(null, true, exports);
|
|
872
|
+
var stmt = this.parseStatement(null, true, exports$1);
|
|
857
873
|
node.body.push(stmt);
|
|
858
874
|
}
|
|
859
875
|
if (this.inModule)
|
|
@@ -942,7 +958,18 @@
|
|
|
942
958
|
while (isIdentifierChar(ch = this.fullCharCodeAt(next)))
|
|
943
959
|
if (ch === 92) { return true }
|
|
944
960
|
var id = this.input.slice(idStart, next);
|
|
945
|
-
if (keywordRelationalOperator.test(id)
|
|
961
|
+
if (keywordRelationalOperator.test(id)) { return false }
|
|
962
|
+
if (isFor && !isAwaitUsing && id === "of") {
|
|
963
|
+
// Look ahead for using declaration with initializer, i.e., `for (using of = ...)`
|
|
964
|
+
skipWhiteSpace.lastIndex = next;
|
|
965
|
+
var skipAfterOf = skipWhiteSpace.exec(this.input);
|
|
966
|
+
next = next + skipAfterOf[0].length;
|
|
967
|
+
if (this.input.charCodeAt(next) !== 61 /* '=' */ ||
|
|
968
|
+
// Check for ==, === and => operators
|
|
969
|
+
(ch = this.input.charCodeAt(next + 1)) === 61 /* '=' */ || ch === 62 /* '>' */) {
|
|
970
|
+
return false
|
|
971
|
+
}
|
|
972
|
+
}
|
|
946
973
|
return true
|
|
947
974
|
};
|
|
948
975
|
|
|
@@ -961,7 +988,7 @@
|
|
|
961
988
|
// `if (foo) /blah/.exec(foo)`, where looking at the previous token
|
|
962
989
|
// does not help.
|
|
963
990
|
|
|
964
|
-
pp$8.parseStatement = function(context, topLevel, exports) {
|
|
991
|
+
pp$8.parseStatement = function(context, topLevel, exports$1) {
|
|
965
992
|
var starttype = this.type, node = this.startNode(), kind;
|
|
966
993
|
|
|
967
994
|
if (this.isLet(context)) {
|
|
@@ -1016,7 +1043,7 @@
|
|
|
1016
1043
|
if (!this.inModule)
|
|
1017
1044
|
{ this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
|
|
1018
1045
|
}
|
|
1019
|
-
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
|
|
1046
|
+
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
|
|
1020
1047
|
|
|
1021
1048
|
// If the statement does not start with a statement keyword or a
|
|
1022
1049
|
// brace, it's an ExpressionStatement or LabeledStatement. We
|
|
@@ -1035,6 +1062,10 @@
|
|
|
1035
1062
|
if (!this.allowUsing) {
|
|
1036
1063
|
this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement");
|
|
1037
1064
|
}
|
|
1065
|
+
if (context) {
|
|
1066
|
+
// Cases like `for (;;) using x = ...;`, `if (true) await using x = ...;`, etc. are not allowed.
|
|
1067
|
+
this.raise(this.start, "Using declaration is not allowed in single-statement positions");
|
|
1068
|
+
}
|
|
1038
1069
|
if (usingKind === "await using") {
|
|
1039
1070
|
if (!this.canAwait) {
|
|
1040
1071
|
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
@@ -1168,11 +1199,12 @@
|
|
|
1168
1199
|
// Helper method to parse for loop after variable initialization
|
|
1169
1200
|
pp$8.parseForAfterInit = function(node, init, awaitAt) {
|
|
1170
1201
|
if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
|
|
1171
|
-
if (this.
|
|
1172
|
-
if (
|
|
1173
|
-
|
|
1174
|
-
}
|
|
1175
|
-
|
|
1202
|
+
if (this.type === types$1._in) {
|
|
1203
|
+
if ((init.kind === "using" || init.kind === "await using") && !init.declarations[0].init) {
|
|
1204
|
+
this.raise(this.start, "Using declaration is not allowed in for-in loops");
|
|
1205
|
+
}
|
|
1206
|
+
if (this.options.ecmaVersion >= 9 && awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1207
|
+
} else if (this.options.ecmaVersion >= 9) { node.await = awaitAt > -1; }
|
|
1176
1208
|
return this.parseForIn(node, init)
|
|
1177
1209
|
}
|
|
1178
1210
|
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
@@ -1777,11 +1809,11 @@
|
|
|
1777
1809
|
|
|
1778
1810
|
// Parses module export declaration.
|
|
1779
1811
|
|
|
1780
|
-
pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
1812
|
+
pp$8.parseExportAllDeclaration = function(node, exports$1) {
|
|
1781
1813
|
if (this.options.ecmaVersion >= 11) {
|
|
1782
1814
|
if (this.eatContextual("as")) {
|
|
1783
1815
|
node.exported = this.parseModuleExportName();
|
|
1784
|
-
this.checkExport(exports, node.exported, this.lastTokStart);
|
|
1816
|
+
this.checkExport(exports$1, node.exported, this.lastTokStart);
|
|
1785
1817
|
} else {
|
|
1786
1818
|
node.exported = null;
|
|
1787
1819
|
}
|
|
@@ -1795,14 +1827,14 @@
|
|
|
1795
1827
|
return this.finishNode(node, "ExportAllDeclaration")
|
|
1796
1828
|
};
|
|
1797
1829
|
|
|
1798
|
-
pp$8.parseExport = function(node, exports) {
|
|
1830
|
+
pp$8.parseExport = function(node, exports$1) {
|
|
1799
1831
|
this.next();
|
|
1800
1832
|
// export * from '...'
|
|
1801
1833
|
if (this.eat(types$1.star)) {
|
|
1802
|
-
return this.parseExportAllDeclaration(node, exports)
|
|
1834
|
+
return this.parseExportAllDeclaration(node, exports$1)
|
|
1803
1835
|
}
|
|
1804
1836
|
if (this.eat(types$1._default)) { // export default ...
|
|
1805
|
-
this.checkExport(exports, "default", this.lastTokStart);
|
|
1837
|
+
this.checkExport(exports$1, "default", this.lastTokStart);
|
|
1806
1838
|
node.declaration = this.parseExportDefaultDeclaration();
|
|
1807
1839
|
return this.finishNode(node, "ExportDefaultDeclaration")
|
|
1808
1840
|
}
|
|
@@ -1810,16 +1842,16 @@
|
|
|
1810
1842
|
if (this.shouldParseExportStatement()) {
|
|
1811
1843
|
node.declaration = this.parseExportDeclaration(node);
|
|
1812
1844
|
if (node.declaration.type === "VariableDeclaration")
|
|
1813
|
-
{ this.checkVariableExport(exports, node.declaration.declarations); }
|
|
1845
|
+
{ this.checkVariableExport(exports$1, node.declaration.declarations); }
|
|
1814
1846
|
else
|
|
1815
|
-
{ this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
|
|
1847
|
+
{ this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
|
|
1816
1848
|
node.specifiers = [];
|
|
1817
1849
|
node.source = null;
|
|
1818
1850
|
if (this.options.ecmaVersion >= 16)
|
|
1819
1851
|
{ node.attributes = []; }
|
|
1820
1852
|
} else { // export { x, y as z } [from '...']
|
|
1821
1853
|
node.declaration = null;
|
|
1822
|
-
node.specifiers = this.parseExportSpecifiers(exports);
|
|
1854
|
+
node.specifiers = this.parseExportSpecifiers(exports$1);
|
|
1823
1855
|
if (this.eatContextual("from")) {
|
|
1824
1856
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1825
1857
|
node.source = this.parseExprAtom();
|
|
@@ -1869,47 +1901,47 @@
|
|
|
1869
1901
|
}
|
|
1870
1902
|
};
|
|
1871
1903
|
|
|
1872
|
-
pp$8.checkExport = function(exports, name, pos) {
|
|
1873
|
-
if (!exports) { return }
|
|
1904
|
+
pp$8.checkExport = function(exports$1, name, pos) {
|
|
1905
|
+
if (!exports$1) { return }
|
|
1874
1906
|
if (typeof name !== "string")
|
|
1875
1907
|
{ name = name.type === "Identifier" ? name.name : name.value; }
|
|
1876
|
-
if (hasOwn(exports, name))
|
|
1908
|
+
if (hasOwn(exports$1, name))
|
|
1877
1909
|
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
|
|
1878
|
-
exports[name] = true;
|
|
1910
|
+
exports$1[name] = true;
|
|
1879
1911
|
};
|
|
1880
1912
|
|
|
1881
|
-
pp$8.checkPatternExport = function(exports, pat) {
|
|
1913
|
+
pp$8.checkPatternExport = function(exports$1, pat) {
|
|
1882
1914
|
var type = pat.type;
|
|
1883
1915
|
if (type === "Identifier")
|
|
1884
|
-
{ this.checkExport(exports, pat, pat.start); }
|
|
1916
|
+
{ this.checkExport(exports$1, pat, pat.start); }
|
|
1885
1917
|
else if (type === "ObjectPattern")
|
|
1886
1918
|
{ for (var i = 0, list = pat.properties; i < list.length; i += 1)
|
|
1887
1919
|
{
|
|
1888
1920
|
var prop = list[i];
|
|
1889
1921
|
|
|
1890
|
-
this.checkPatternExport(exports, prop);
|
|
1922
|
+
this.checkPatternExport(exports$1, prop);
|
|
1891
1923
|
} }
|
|
1892
1924
|
else if (type === "ArrayPattern")
|
|
1893
1925
|
{ for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
|
|
1894
1926
|
var elt = list$1[i$1];
|
|
1895
1927
|
|
|
1896
|
-
if (elt) { this.checkPatternExport(exports, elt); }
|
|
1928
|
+
if (elt) { this.checkPatternExport(exports$1, elt); }
|
|
1897
1929
|
} }
|
|
1898
1930
|
else if (type === "Property")
|
|
1899
|
-
{ this.checkPatternExport(exports, pat.value); }
|
|
1931
|
+
{ this.checkPatternExport(exports$1, pat.value); }
|
|
1900
1932
|
else if (type === "AssignmentPattern")
|
|
1901
|
-
{ this.checkPatternExport(exports, pat.left); }
|
|
1933
|
+
{ this.checkPatternExport(exports$1, pat.left); }
|
|
1902
1934
|
else if (type === "RestElement")
|
|
1903
|
-
{ this.checkPatternExport(exports, pat.argument); }
|
|
1935
|
+
{ this.checkPatternExport(exports$1, pat.argument); }
|
|
1904
1936
|
};
|
|
1905
1937
|
|
|
1906
|
-
pp$8.checkVariableExport = function(exports, decls) {
|
|
1907
|
-
if (!exports) { return }
|
|
1938
|
+
pp$8.checkVariableExport = function(exports$1, decls) {
|
|
1939
|
+
if (!exports$1) { return }
|
|
1908
1940
|
for (var i = 0, list = decls; i < list.length; i += 1)
|
|
1909
1941
|
{
|
|
1910
1942
|
var decl = list[i];
|
|
1911
1943
|
|
|
1912
|
-
this.checkPatternExport(exports, decl.id);
|
|
1944
|
+
this.checkPatternExport(exports$1, decl.id);
|
|
1913
1945
|
}
|
|
1914
1946
|
};
|
|
1915
1947
|
|
|
@@ -1924,13 +1956,13 @@
|
|
|
1924
1956
|
|
|
1925
1957
|
// Parses a comma-separated list of module exports.
|
|
1926
1958
|
|
|
1927
|
-
pp$8.parseExportSpecifier = function(exports) {
|
|
1959
|
+
pp$8.parseExportSpecifier = function(exports$1) {
|
|
1928
1960
|
var node = this.startNode();
|
|
1929
1961
|
node.local = this.parseModuleExportName();
|
|
1930
1962
|
|
|
1931
1963
|
node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
|
|
1932
1964
|
this.checkExport(
|
|
1933
|
-
exports,
|
|
1965
|
+
exports$1,
|
|
1934
1966
|
node.exported,
|
|
1935
1967
|
node.exported.start
|
|
1936
1968
|
);
|
|
@@ -1938,7 +1970,7 @@
|
|
|
1938
1970
|
return this.finishNode(node, "ExportSpecifier")
|
|
1939
1971
|
};
|
|
1940
1972
|
|
|
1941
|
-
pp$8.parseExportSpecifiers = function(exports) {
|
|
1973
|
+
pp$8.parseExportSpecifiers = function(exports$1) {
|
|
1942
1974
|
var nodes = [], first = true;
|
|
1943
1975
|
// export { x, y as z } [from '...']
|
|
1944
1976
|
this.expect(types$1.braceL);
|
|
@@ -1948,7 +1980,7 @@
|
|
|
1948
1980
|
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
1949
1981
|
} else { first = false; }
|
|
1950
1982
|
|
|
1951
|
-
nodes.push(this.parseExportSpecifier(exports));
|
|
1983
|
+
nodes.push(this.parseExportSpecifier(exports$1));
|
|
1952
1984
|
}
|
|
1953
1985
|
return nodes
|
|
1954
1986
|
};
|
|
@@ -2679,15 +2711,19 @@
|
|
|
2679
2711
|
// delayed syntax error at correct position).
|
|
2680
2712
|
|
|
2681
2713
|
pp$5.parseExpression = function(forInit, refDestructuringErrors) {
|
|
2682
|
-
var
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
var
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
|
|
2690
|
-
|
|
2714
|
+
var this$1$1 = this;
|
|
2715
|
+
|
|
2716
|
+
return this.catchStackOverflow(function () {
|
|
2717
|
+
var startPos = this$1$1.start, startLoc = this$1$1.startLoc;
|
|
2718
|
+
var expr = this$1$1.parseMaybeAssign(forInit, refDestructuringErrors);
|
|
2719
|
+
if (this$1$1.type === types$1.comma) {
|
|
2720
|
+
var node = this$1$1.startNodeAt(startPos, startLoc);
|
|
2721
|
+
node.expressions = [expr];
|
|
2722
|
+
while (this$1$1.eat(types$1.comma)) { node.expressions.push(this$1$1.parseMaybeAssign(forInit, refDestructuringErrors)); }
|
|
2723
|
+
return this$1$1.finishNode(node, "SequenceExpression")
|
|
2724
|
+
}
|
|
2725
|
+
return expr
|
|
2726
|
+
})
|
|
2691
2727
|
};
|
|
2692
2728
|
|
|
2693
2729
|
// Parse an assignment expression. This includes applications of
|
|
@@ -2752,7 +2788,7 @@
|
|
|
2752
2788
|
var startPos = this.start, startLoc = this.startLoc;
|
|
2753
2789
|
var expr = this.parseExprOps(forInit, refDestructuringErrors);
|
|
2754
2790
|
if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
|
|
2755
|
-
if (this.eat(types$1.question)) {
|
|
2791
|
+
if (!(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.question)) {
|
|
2756
2792
|
var node = this.startNodeAt(startPos, startLoc);
|
|
2757
2793
|
node.test = expr;
|
|
2758
2794
|
node.consequent = this.parseMaybeAssign();
|
|
@@ -3304,6 +3340,8 @@
|
|
|
3304
3340
|
}
|
|
3305
3341
|
var startPos = this.start, startLoc = this.startLoc;
|
|
3306
3342
|
node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
|
|
3343
|
+
if (node.callee.type === "Super")
|
|
3344
|
+
{ this.raiseRecoverable(startPos, "Invalid use of 'super'"); }
|
|
3307
3345
|
if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
|
|
3308
3346
|
else { node.arguments = empty; }
|
|
3309
3347
|
return this.finishNode(node, "NewExpression")
|
|
@@ -6220,7 +6258,7 @@
|
|
|
6220
6258
|
// [ghbt]: https://github.com/acornjs/acorn/issues
|
|
6221
6259
|
|
|
6222
6260
|
|
|
6223
|
-
var version = "8.
|
|
6261
|
+
var version = "8.17.0";
|
|
6224
6262
|
|
|
6225
6263
|
Parser.acorn = {
|
|
6226
6264
|
Parser: Parser,
|
|
@@ -336,6 +336,9 @@ var defaultOptions = {
|
|
|
336
336
|
// Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
|
|
337
337
|
// strict mode and parsing of `import` and `export` declarations.
|
|
338
338
|
sourceType: "script",
|
|
339
|
+
// When set to true, enable strict parsing mode even if `sourceType`
|
|
340
|
+
// is `"script"`.
|
|
341
|
+
strict: false,
|
|
339
342
|
// `onInsertedSemicolon` can be a callback that will be called when
|
|
340
343
|
// a semicolon is automatically inserted. It will be passed the
|
|
341
344
|
// position of the inserted semicolon as an offset, and if
|
|
@@ -562,7 +565,7 @@ var Parser = function Parser(options, input, startPos) {
|
|
|
562
565
|
|
|
563
566
|
// Figure out if it's a module code.
|
|
564
567
|
this.inModule = options.sourceType === "module";
|
|
565
|
-
this.strict = this.inModule || this.strictDirective(this.pos);
|
|
568
|
+
this.strict = this.inModule || options.strict === true || this.strictDirective(this.pos);
|
|
566
569
|
|
|
567
570
|
// Used to signify the start of a potential arrow function
|
|
568
571
|
this.potentialArrowAt = -1;
|
|
@@ -600,9 +603,11 @@ var Parser = function Parser(options, input, startPos) {
|
|
|
600
603
|
var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowReturn: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },allowUsing: { configurable: true },inClassStaticBlock: { configurable: true } };
|
|
601
604
|
|
|
602
605
|
Parser.prototype.parse = function parse () {
|
|
606
|
+
var this$1$1 = this;
|
|
607
|
+
|
|
603
608
|
var node = this.options.program || this.startNode();
|
|
604
609
|
this.nextToken();
|
|
605
|
-
return this.parseTopLevel(node)
|
|
610
|
+
return this.catchStackOverflow(function () { return this$1$1.parseTopLevel(node); })
|
|
606
611
|
};
|
|
607
612
|
|
|
608
613
|
prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
|
|
@@ -741,6 +746,17 @@ pp$9.eatContextual = function(name) {
|
|
|
741
746
|
return true
|
|
742
747
|
};
|
|
743
748
|
|
|
749
|
+
pp$9.catchStackOverflow = function(f) {
|
|
750
|
+
try {
|
|
751
|
+
return f()
|
|
752
|
+
} catch (e) {
|
|
753
|
+
if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message)))
|
|
754
|
+
{ this.raise(this.start, "Not enough stack space to parse input"); }
|
|
755
|
+
else
|
|
756
|
+
{ throw e }
|
|
757
|
+
}
|
|
758
|
+
};
|
|
759
|
+
|
|
744
760
|
// Asserts that following token is given contextual keyword.
|
|
745
761
|
|
|
746
762
|
pp$9.expectContextual = function(name) {
|
|
@@ -844,10 +860,10 @@ var pp$8 = Parser.prototype;
|
|
|
844
860
|
// to its body instead of creating a new node.
|
|
845
861
|
|
|
846
862
|
pp$8.parseTopLevel = function(node) {
|
|
847
|
-
var exports = Object.create(null);
|
|
863
|
+
var exports$1 = Object.create(null);
|
|
848
864
|
if (!node.body) { node.body = []; }
|
|
849
865
|
while (this.type !== types$1.eof) {
|
|
850
|
-
var stmt = this.parseStatement(null, true, exports);
|
|
866
|
+
var stmt = this.parseStatement(null, true, exports$1);
|
|
851
867
|
node.body.push(stmt);
|
|
852
868
|
}
|
|
853
869
|
if (this.inModule)
|
|
@@ -936,7 +952,18 @@ pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
|
|
|
936
952
|
while (isIdentifierChar(ch = this.fullCharCodeAt(next)))
|
|
937
953
|
if (ch === 92) { return true }
|
|
938
954
|
var id = this.input.slice(idStart, next);
|
|
939
|
-
if (keywordRelationalOperator.test(id)
|
|
955
|
+
if (keywordRelationalOperator.test(id)) { return false }
|
|
956
|
+
if (isFor && !isAwaitUsing && id === "of") {
|
|
957
|
+
// Look ahead for using declaration with initializer, i.e., `for (using of = ...)`
|
|
958
|
+
skipWhiteSpace.lastIndex = next;
|
|
959
|
+
var skipAfterOf = skipWhiteSpace.exec(this.input);
|
|
960
|
+
next = next + skipAfterOf[0].length;
|
|
961
|
+
if (this.input.charCodeAt(next) !== 61 /* '=' */ ||
|
|
962
|
+
// Check for ==, === and => operators
|
|
963
|
+
(ch = this.input.charCodeAt(next + 1)) === 61 /* '=' */ || ch === 62 /* '>' */) {
|
|
964
|
+
return false
|
|
965
|
+
}
|
|
966
|
+
}
|
|
940
967
|
return true
|
|
941
968
|
};
|
|
942
969
|
|
|
@@ -955,7 +982,7 @@ pp$8.isUsing = function(isFor) {
|
|
|
955
982
|
// `if (foo) /blah/.exec(foo)`, where looking at the previous token
|
|
956
983
|
// does not help.
|
|
957
984
|
|
|
958
|
-
pp$8.parseStatement = function(context, topLevel, exports) {
|
|
985
|
+
pp$8.parseStatement = function(context, topLevel, exports$1) {
|
|
959
986
|
var starttype = this.type, node = this.startNode(), kind;
|
|
960
987
|
|
|
961
988
|
if (this.isLet(context)) {
|
|
@@ -1010,7 +1037,7 @@ pp$8.parseStatement = function(context, topLevel, exports) {
|
|
|
1010
1037
|
if (!this.inModule)
|
|
1011
1038
|
{ this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
|
|
1012
1039
|
}
|
|
1013
|
-
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
|
|
1040
|
+
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
|
|
1014
1041
|
|
|
1015
1042
|
// If the statement does not start with a statement keyword or a
|
|
1016
1043
|
// brace, it's an ExpressionStatement or LabeledStatement. We
|
|
@@ -1029,6 +1056,10 @@ pp$8.parseStatement = function(context, topLevel, exports) {
|
|
|
1029
1056
|
if (!this.allowUsing) {
|
|
1030
1057
|
this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement");
|
|
1031
1058
|
}
|
|
1059
|
+
if (context) {
|
|
1060
|
+
// Cases like `for (;;) using x = ...;`, `if (true) await using x = ...;`, etc. are not allowed.
|
|
1061
|
+
this.raise(this.start, "Using declaration is not allowed in single-statement positions");
|
|
1062
|
+
}
|
|
1032
1063
|
if (usingKind === "await using") {
|
|
1033
1064
|
if (!this.canAwait) {
|
|
1034
1065
|
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
@@ -1162,11 +1193,12 @@ pp$8.parseForStatement = function(node) {
|
|
|
1162
1193
|
// Helper method to parse for loop after variable initialization
|
|
1163
1194
|
pp$8.parseForAfterInit = function(node, init, awaitAt) {
|
|
1164
1195
|
if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
|
|
1165
|
-
if (this.
|
|
1166
|
-
if (
|
|
1167
|
-
|
|
1168
|
-
}
|
|
1169
|
-
|
|
1196
|
+
if (this.type === types$1._in) {
|
|
1197
|
+
if ((init.kind === "using" || init.kind === "await using") && !init.declarations[0].init) {
|
|
1198
|
+
this.raise(this.start, "Using declaration is not allowed in for-in loops");
|
|
1199
|
+
}
|
|
1200
|
+
if (this.options.ecmaVersion >= 9 && awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1201
|
+
} else if (this.options.ecmaVersion >= 9) { node.await = awaitAt > -1; }
|
|
1170
1202
|
return this.parseForIn(node, init)
|
|
1171
1203
|
}
|
|
1172
1204
|
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
@@ -1771,11 +1803,11 @@ function checkKeyName(node, name) {
|
|
|
1771
1803
|
|
|
1772
1804
|
// Parses module export declaration.
|
|
1773
1805
|
|
|
1774
|
-
pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
1806
|
+
pp$8.parseExportAllDeclaration = function(node, exports$1) {
|
|
1775
1807
|
if (this.options.ecmaVersion >= 11) {
|
|
1776
1808
|
if (this.eatContextual("as")) {
|
|
1777
1809
|
node.exported = this.parseModuleExportName();
|
|
1778
|
-
this.checkExport(exports, node.exported, this.lastTokStart);
|
|
1810
|
+
this.checkExport(exports$1, node.exported, this.lastTokStart);
|
|
1779
1811
|
} else {
|
|
1780
1812
|
node.exported = null;
|
|
1781
1813
|
}
|
|
@@ -1789,14 +1821,14 @@ pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
|
1789
1821
|
return this.finishNode(node, "ExportAllDeclaration")
|
|
1790
1822
|
};
|
|
1791
1823
|
|
|
1792
|
-
pp$8.parseExport = function(node, exports) {
|
|
1824
|
+
pp$8.parseExport = function(node, exports$1) {
|
|
1793
1825
|
this.next();
|
|
1794
1826
|
// export * from '...'
|
|
1795
1827
|
if (this.eat(types$1.star)) {
|
|
1796
|
-
return this.parseExportAllDeclaration(node, exports)
|
|
1828
|
+
return this.parseExportAllDeclaration(node, exports$1)
|
|
1797
1829
|
}
|
|
1798
1830
|
if (this.eat(types$1._default)) { // export default ...
|
|
1799
|
-
this.checkExport(exports, "default", this.lastTokStart);
|
|
1831
|
+
this.checkExport(exports$1, "default", this.lastTokStart);
|
|
1800
1832
|
node.declaration = this.parseExportDefaultDeclaration();
|
|
1801
1833
|
return this.finishNode(node, "ExportDefaultDeclaration")
|
|
1802
1834
|
}
|
|
@@ -1804,16 +1836,16 @@ pp$8.parseExport = function(node, exports) {
|
|
|
1804
1836
|
if (this.shouldParseExportStatement()) {
|
|
1805
1837
|
node.declaration = this.parseExportDeclaration(node);
|
|
1806
1838
|
if (node.declaration.type === "VariableDeclaration")
|
|
1807
|
-
{ this.checkVariableExport(exports, node.declaration.declarations); }
|
|
1839
|
+
{ this.checkVariableExport(exports$1, node.declaration.declarations); }
|
|
1808
1840
|
else
|
|
1809
|
-
{ this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
|
|
1841
|
+
{ this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
|
|
1810
1842
|
node.specifiers = [];
|
|
1811
1843
|
node.source = null;
|
|
1812
1844
|
if (this.options.ecmaVersion >= 16)
|
|
1813
1845
|
{ node.attributes = []; }
|
|
1814
1846
|
} else { // export { x, y as z } [from '...']
|
|
1815
1847
|
node.declaration = null;
|
|
1816
|
-
node.specifiers = this.parseExportSpecifiers(exports);
|
|
1848
|
+
node.specifiers = this.parseExportSpecifiers(exports$1);
|
|
1817
1849
|
if (this.eatContextual("from")) {
|
|
1818
1850
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1819
1851
|
node.source = this.parseExprAtom();
|
|
@@ -1863,47 +1895,47 @@ pp$8.parseExportDefaultDeclaration = function() {
|
|
|
1863
1895
|
}
|
|
1864
1896
|
};
|
|
1865
1897
|
|
|
1866
|
-
pp$8.checkExport = function(exports, name, pos) {
|
|
1867
|
-
if (!exports) { return }
|
|
1898
|
+
pp$8.checkExport = function(exports$1, name, pos) {
|
|
1899
|
+
if (!exports$1) { return }
|
|
1868
1900
|
if (typeof name !== "string")
|
|
1869
1901
|
{ name = name.type === "Identifier" ? name.name : name.value; }
|
|
1870
|
-
if (hasOwn(exports, name))
|
|
1902
|
+
if (hasOwn(exports$1, name))
|
|
1871
1903
|
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
|
|
1872
|
-
exports[name] = true;
|
|
1904
|
+
exports$1[name] = true;
|
|
1873
1905
|
};
|
|
1874
1906
|
|
|
1875
|
-
pp$8.checkPatternExport = function(exports, pat) {
|
|
1907
|
+
pp$8.checkPatternExport = function(exports$1, pat) {
|
|
1876
1908
|
var type = pat.type;
|
|
1877
1909
|
if (type === "Identifier")
|
|
1878
|
-
{ this.checkExport(exports, pat, pat.start); }
|
|
1910
|
+
{ this.checkExport(exports$1, pat, pat.start); }
|
|
1879
1911
|
else if (type === "ObjectPattern")
|
|
1880
1912
|
{ for (var i = 0, list = pat.properties; i < list.length; i += 1)
|
|
1881
1913
|
{
|
|
1882
1914
|
var prop = list[i];
|
|
1883
1915
|
|
|
1884
|
-
this.checkPatternExport(exports, prop);
|
|
1916
|
+
this.checkPatternExport(exports$1, prop);
|
|
1885
1917
|
} }
|
|
1886
1918
|
else if (type === "ArrayPattern")
|
|
1887
1919
|
{ for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
|
|
1888
1920
|
var elt = list$1[i$1];
|
|
1889
1921
|
|
|
1890
|
-
if (elt) { this.checkPatternExport(exports, elt); }
|
|
1922
|
+
if (elt) { this.checkPatternExport(exports$1, elt); }
|
|
1891
1923
|
} }
|
|
1892
1924
|
else if (type === "Property")
|
|
1893
|
-
{ this.checkPatternExport(exports, pat.value); }
|
|
1925
|
+
{ this.checkPatternExport(exports$1, pat.value); }
|
|
1894
1926
|
else if (type === "AssignmentPattern")
|
|
1895
|
-
{ this.checkPatternExport(exports, pat.left); }
|
|
1927
|
+
{ this.checkPatternExport(exports$1, pat.left); }
|
|
1896
1928
|
else if (type === "RestElement")
|
|
1897
|
-
{ this.checkPatternExport(exports, pat.argument); }
|
|
1929
|
+
{ this.checkPatternExport(exports$1, pat.argument); }
|
|
1898
1930
|
};
|
|
1899
1931
|
|
|
1900
|
-
pp$8.checkVariableExport = function(exports, decls) {
|
|
1901
|
-
if (!exports) { return }
|
|
1932
|
+
pp$8.checkVariableExport = function(exports$1, decls) {
|
|
1933
|
+
if (!exports$1) { return }
|
|
1902
1934
|
for (var i = 0, list = decls; i < list.length; i += 1)
|
|
1903
1935
|
{
|
|
1904
1936
|
var decl = list[i];
|
|
1905
1937
|
|
|
1906
|
-
this.checkPatternExport(exports, decl.id);
|
|
1938
|
+
this.checkPatternExport(exports$1, decl.id);
|
|
1907
1939
|
}
|
|
1908
1940
|
};
|
|
1909
1941
|
|
|
@@ -1918,13 +1950,13 @@ pp$8.shouldParseExportStatement = function() {
|
|
|
1918
1950
|
|
|
1919
1951
|
// Parses a comma-separated list of module exports.
|
|
1920
1952
|
|
|
1921
|
-
pp$8.parseExportSpecifier = function(exports) {
|
|
1953
|
+
pp$8.parseExportSpecifier = function(exports$1) {
|
|
1922
1954
|
var node = this.startNode();
|
|
1923
1955
|
node.local = this.parseModuleExportName();
|
|
1924
1956
|
|
|
1925
1957
|
node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
|
|
1926
1958
|
this.checkExport(
|
|
1927
|
-
exports,
|
|
1959
|
+
exports$1,
|
|
1928
1960
|
node.exported,
|
|
1929
1961
|
node.exported.start
|
|
1930
1962
|
);
|
|
@@ -1932,7 +1964,7 @@ pp$8.parseExportSpecifier = function(exports) {
|
|
|
1932
1964
|
return this.finishNode(node, "ExportSpecifier")
|
|
1933
1965
|
};
|
|
1934
1966
|
|
|
1935
|
-
pp$8.parseExportSpecifiers = function(exports) {
|
|
1967
|
+
pp$8.parseExportSpecifiers = function(exports$1) {
|
|
1936
1968
|
var nodes = [], first = true;
|
|
1937
1969
|
// export { x, y as z } [from '...']
|
|
1938
1970
|
this.expect(types$1.braceL);
|
|
@@ -1942,7 +1974,7 @@ pp$8.parseExportSpecifiers = function(exports) {
|
|
|
1942
1974
|
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
1943
1975
|
} else { first = false; }
|
|
1944
1976
|
|
|
1945
|
-
nodes.push(this.parseExportSpecifier(exports));
|
|
1977
|
+
nodes.push(this.parseExportSpecifier(exports$1));
|
|
1946
1978
|
}
|
|
1947
1979
|
return nodes
|
|
1948
1980
|
};
|
|
@@ -2673,15 +2705,19 @@ pp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) {
|
|
|
2673
2705
|
// delayed syntax error at correct position).
|
|
2674
2706
|
|
|
2675
2707
|
pp$5.parseExpression = function(forInit, refDestructuringErrors) {
|
|
2676
|
-
var
|
|
2677
|
-
|
|
2678
|
-
|
|
2679
|
-
var
|
|
2680
|
-
|
|
2681
|
-
|
|
2682
|
-
|
|
2683
|
-
|
|
2684
|
-
|
|
2708
|
+
var this$1$1 = this;
|
|
2709
|
+
|
|
2710
|
+
return this.catchStackOverflow(function () {
|
|
2711
|
+
var startPos = this$1$1.start, startLoc = this$1$1.startLoc;
|
|
2712
|
+
var expr = this$1$1.parseMaybeAssign(forInit, refDestructuringErrors);
|
|
2713
|
+
if (this$1$1.type === types$1.comma) {
|
|
2714
|
+
var node = this$1$1.startNodeAt(startPos, startLoc);
|
|
2715
|
+
node.expressions = [expr];
|
|
2716
|
+
while (this$1$1.eat(types$1.comma)) { node.expressions.push(this$1$1.parseMaybeAssign(forInit, refDestructuringErrors)); }
|
|
2717
|
+
return this$1$1.finishNode(node, "SequenceExpression")
|
|
2718
|
+
}
|
|
2719
|
+
return expr
|
|
2720
|
+
})
|
|
2685
2721
|
};
|
|
2686
2722
|
|
|
2687
2723
|
// Parse an assignment expression. This includes applications of
|
|
@@ -2746,7 +2782,7 @@ pp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) {
|
|
|
2746
2782
|
var startPos = this.start, startLoc = this.startLoc;
|
|
2747
2783
|
var expr = this.parseExprOps(forInit, refDestructuringErrors);
|
|
2748
2784
|
if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
|
|
2749
|
-
if (this.eat(types$1.question)) {
|
|
2785
|
+
if (!(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.question)) {
|
|
2750
2786
|
var node = this.startNodeAt(startPos, startLoc);
|
|
2751
2787
|
node.test = expr;
|
|
2752
2788
|
node.consequent = this.parseMaybeAssign();
|
|
@@ -3298,6 +3334,8 @@ pp$5.parseNew = function() {
|
|
|
3298
3334
|
}
|
|
3299
3335
|
var startPos = this.start, startLoc = this.startLoc;
|
|
3300
3336
|
node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
|
|
3337
|
+
if (node.callee.type === "Super")
|
|
3338
|
+
{ this.raiseRecoverable(startPos, "Invalid use of 'super'"); }
|
|
3301
3339
|
if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
|
|
3302
3340
|
else { node.arguments = empty; }
|
|
3303
3341
|
return this.finishNode(node, "NewExpression")
|
|
@@ -6214,7 +6252,7 @@ pp.readWord = function() {
|
|
|
6214
6252
|
// [ghbt]: https://github.com/acornjs/acorn/issues
|
|
6215
6253
|
|
|
6216
6254
|
|
|
6217
|
-
var version = "8.
|
|
6255
|
+
var version = "8.17.0";
|
|
6218
6256
|
|
|
6219
6257
|
Parser.acorn = {
|
|
6220
6258
|
Parser: Parser,
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
],
|
|
17
17
|
"./package.json": "./package.json"
|
|
18
18
|
},
|
|
19
|
-
"version": "8.
|
|
19
|
+
"version": "8.17.0",
|
|
20
20
|
"engines": {
|
|
21
21
|
"node": ">=0.4.0"
|
|
22
22
|
},
|
|
23
23
|
"maintainers": [
|
|
24
24
|
{
|
|
25
25
|
"name": "Marijn Haverbeke",
|
|
26
|
-
"email": "
|
|
26
|
+
"email": "marijn@haverbeke.berlin",
|
|
27
27
|
"web": "https://marijnhaverbeke.nl"
|
|
28
28
|
},
|
|
29
29
|
{
|