@zuplo/cli 6.70.70 → 6.71.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.
Files changed (86) hide show
  1. package/node_modules/@types/node/README.md +1 -1
  2. package/node_modules/@types/node/http2.d.ts +1 -0
  3. package/node_modules/@types/node/package.json +2 -2
  4. package/node_modules/@zuplo/core/package.json +1 -1
  5. package/node_modules/@zuplo/graphql/package.json +1 -1
  6. package/node_modules/@zuplo/openapi-tools/package.json +1 -1
  7. package/node_modules/@zuplo/otel/package.json +1 -1
  8. package/node_modules/@zuplo/runtime/out/esm/{chunk-GEVKFSKR.js → chunk-AZIRK6TC.js} +1 -1
  9. package/node_modules/@zuplo/runtime/out/esm/{chunk-GEVKFSKR.js.map → chunk-AZIRK6TC.js.map} +1 -1
  10. package/node_modules/@zuplo/runtime/out/esm/{chunk-MJPI3GFA.js → chunk-E7U425SB.js} +72 -72
  11. package/node_modules/@zuplo/runtime/out/esm/chunk-E7U425SB.js.map +1 -0
  12. package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
  13. package/node_modules/@zuplo/runtime/out/esm/index.js.map +1 -1
  14. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +7 -7
  15. package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js.map +1 -1
  16. package/node_modules/@zuplo/runtime/out/esm/mocks/index.js +1 -1
  17. package/node_modules/@zuplo/runtime/out/types/index.d.ts +61 -0
  18. package/node_modules/@zuplo/runtime/package.json +1 -1
  19. package/node_modules/acorn/CHANGELOG.md +14 -0
  20. package/node_modules/acorn/README.md +3 -0
  21. package/node_modules/acorn/dist/acorn.d.mts +6 -0
  22. package/node_modules/acorn/dist/acorn.d.ts +6 -0
  23. package/node_modules/acorn/dist/acorn.js +87 -49
  24. package/node_modules/acorn/dist/acorn.mjs +87 -49
  25. package/node_modules/acorn/package.json +2 -2
  26. package/node_modules/axios/CHANGELOG.md +52 -1
  27. package/node_modules/axios/README.md +30 -2
  28. package/node_modules/axios/dist/axios.js +350 -134
  29. package/node_modules/axios/dist/axios.min.js +3 -3
  30. package/node_modules/axios/dist/axios.min.js.map +1 -1
  31. package/node_modules/axios/dist/browser/axios.cjs +355 -90
  32. package/node_modules/axios/dist/esm/axios.js +355 -90
  33. package/node_modules/axios/dist/esm/axios.min.js +2 -2
  34. package/node_modules/axios/dist/esm/axios.min.js.map +1 -1
  35. package/node_modules/axios/dist/node/axios.cjs +399 -104
  36. package/node_modules/axios/index.d.cts +2 -0
  37. package/node_modules/axios/index.d.ts +2 -0
  38. package/node_modules/axios/lib/adapters/fetch.js +113 -37
  39. package/node_modules/axios/lib/adapters/http.js +132 -43
  40. package/node_modules/axios/lib/core/Axios.js +3 -2
  41. package/node_modules/axios/lib/core/AxiosHeaders.js +10 -7
  42. package/node_modules/axios/lib/core/buildFullPath.js +29 -1
  43. package/node_modules/axios/lib/core/mergeConfig.js +34 -0
  44. package/node_modules/axios/lib/defaults/transitional.js +1 -0
  45. package/node_modules/axios/lib/env/data.js +1 -1
  46. package/node_modules/axios/lib/helpers/buildURL.js +5 -3
  47. package/node_modules/axios/lib/helpers/estimateDataURLDecodedBytes.js +16 -11
  48. package/node_modules/axios/lib/helpers/formDataToJSON.js +25 -3
  49. package/node_modules/axios/lib/helpers/resolveConfig.js +5 -3
  50. package/node_modules/axios/lib/helpers/shouldBypassProxy.js +33 -1
  51. package/node_modules/axios/lib/helpers/toFormData.js +40 -10
  52. package/node_modules/axios/lib/utils.js +75 -11
  53. package/node_modules/axios/package.json +1 -1
  54. package/node_modules/form-data/CHANGELOG.md +29 -2
  55. package/node_modules/form-data/README.md +4 -4
  56. package/node_modules/form-data/lib/form_data.js +14 -2
  57. package/node_modules/form-data/package.json +7 -7
  58. package/node_modules/protobufjs/dist/light/protobuf.js +145 -188
  59. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  60. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  61. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  62. package/node_modules/protobufjs/dist/minimal/protobuf.js +33 -76
  63. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  64. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  65. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  66. package/node_modules/protobufjs/dist/protobuf.js +165 -208
  67. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  68. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  69. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  70. package/node_modules/protobufjs/index.d.ts +0 -8
  71. package/node_modules/protobufjs/package.json +2 -3
  72. package/node_modules/protobufjs/src/util/minimal.js +0 -3
  73. package/package.json +6 -6
  74. package/node_modules/@protobufjs/inquire/CHANGELOG.md +0 -8
  75. package/node_modules/@protobufjs/inquire/LICENSE +0 -26
  76. package/node_modules/@protobufjs/inquire/README.md +0 -13
  77. package/node_modules/@protobufjs/inquire/index.d.ts +0 -10
  78. package/node_modules/@protobufjs/inquire/index.js +0 -38
  79. package/node_modules/@protobufjs/inquire/package.json +0 -21
  80. package/node_modules/@protobufjs/inquire/tests/data/array.js +0 -1
  81. package/node_modules/@protobufjs/inquire/tests/data/emptyArray.js +0 -1
  82. package/node_modules/@protobufjs/inquire/tests/data/emptyObject.js +0 -1
  83. package/node_modules/@protobufjs/inquire/tests/data/object.js +0 -1
  84. package/node_modules/@protobufjs/inquire/tests/index.js +0 -20
  85. package/node_modules/@zuplo/runtime/out/esm/chunk-MJPI3GFA.js.map +0 -1
  86. /package/node_modules/@zuplo/runtime/out/esm/{chunk-MJPI3GFA.js.LEGAL.txt → chunk-E7U425SB.js.LEGAL.txt} +0 -0
@@ -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) || isFor && id === "of") { return false }
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.options.ecmaVersion >= 9) {
1166
- if (this.type === types$1._in) {
1167
- if (awaitAt > -1) { this.unexpected(awaitAt); }
1168
- } else { node.await = awaitAt > -1; }
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 startPos = this.start, startLoc = this.startLoc;
2677
- var expr = this.parseMaybeAssign(forInit, refDestructuringErrors);
2678
- if (this.type === types$1.comma) {
2679
- var node = this.startNodeAt(startPos, startLoc);
2680
- node.expressions = [expr];
2681
- while (this.eat(types$1.comma)) { node.expressions.push(this.parseMaybeAssign(forInit, refDestructuringErrors)); }
2682
- return this.finishNode(node, "SequenceExpression")
2683
- }
2684
- return expr
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.16.0";
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.16.0",
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": "marijnh@gmail.com",
26
+ "email": "marijn@haverbeke.berlin",
27
27
  "web": "https://marijnhaverbeke.nl"
28
28
  },
29
29
  {
@@ -1,5 +1,56 @@
1
1
  # Changelog
2
2
 
3
+ ## v1.17.0 — June 1, 2026
4
+
5
+ This release adds Node HTTP zstd decompression, hardens config and release workflows, and fixes authentication, header, proxy, and type-handling regressions.
6
+
7
+ ## 🔒 Security Fixes
8
+
9
+ * **Config Hardening:** Guarded `socketPath`, `params`, and `paramsSerializer` reads with own-property checks to prevent inherited prototype values from affecting request behavior, including SSRF-sensitive paths. (__#10901__, __#10922__)
10
+ * **Release Publishing:** Switched the publish workflow to npm staged publishing for safer, auditable package releases with provenance. (__#10926__)
11
+
12
+ ## 🚀 New Features
13
+
14
+ * **HTTP Compression:** Added Node HTTP adapter support for zstd response decompression, with `transitional.advertiseZstdAcceptEncoding` controlling whether `zstd` is advertised in `Accept-Encoding`. (__#6792__, __#10920__)
15
+
16
+ ## 🐛 Bug Fixes
17
+
18
+ * **Authentication Handling:** Restored Basic auth on same-origin Node redirects while continuing to strip credentials cross-origin, and aligned the fetch adapter with HTTP adapter behavior for URL-embedded Basic auth. (__#10929__, __#10896__)
19
+ * **Proxy TLS:** Preserved user `httpsAgent` TLS options when tunneling HTTPS requests through HTTP CONNECT proxies. (__#10957__)
20
+ * **React Native FormData:** Cleared default `Content-Type` for React Native `FormData` so multipart boundaries can be generated correctly. (__#10898__)
21
+ * **Headers:** Silently skipped empty or whitespace-only header names instead of throwing, matching parsed-header behavior and avoiding React Native response crashes. (__#10875__)
22
+ * **Request Data Merging:** Preserved enumerable symbol keys when cloning plain request data through axios merge logic. (__#10812__)
23
+ * **Bundler Compatibility:** Converted `resolveConfig` from an arrow default export to a named function export to avoid webpack and Babel transform interop failures. (__#10891__)
24
+ * **Types:** Corrected `AxiosHeaders.toJSON()` return types and updated CommonJS `isCancel` typings to narrow to `CanceledError<T>`. (__#10956__, __#10952__)
25
+ * **Build Tooling:** Avoided emitting a null `Authorization` header from the GitHub build helper when `GITHUB_TOKEN` is unset. (__#10931__)
26
+
27
+ ## 🔧 Maintenance & Chores
28
+
29
+ * **HTTP/2 Internals:** Extracted `Http2Sessions` into its own helper module and added direct unit coverage for session pooling, timeout, and cleanup behavior. (__#10861__)
30
+ * **Package Publishing:** Reduced published package size by switching to a `files` allowlist and dropping unneeded unminified bundle source maps. (__#10939__)
31
+ * **CI and Release Automation:** Added bundle-size reporting, moved reports to the job summary, fixed bundle-size comparison coverage, added Node 26 to the matrix, pinned npm for staged publishing, and prepared the 1.17.0 release. (__#10907__, __#10911__, __#10916__, __#10927__, __#10935__, __#10983__)
32
+ * **Developer Workflow:** Added a dev container and iterated on OpenSpec workflow files before removing them from the release branch. (__#10925__, __#10914__, __#10958__)
33
+ * **Documentation and Policy:** Updated disclosure, contributor, collaboration, threat-model, advanced docs, README badges, release notes, moderator configuration, and project metadata. (__#10890__, __#10889__, __#10921__, __#10945__, __#10905__, __#10933__, __#10915__, __#10887__, __#10955__)
34
+ * **Dependencies:** Bumped Babel tooling, Commitlint, ESLint, Rollup, Globals, Vitest, Playwright, `fs-extra`, `qs`, docs dependencies, and GitHub Actions dependencies including `actions/dependency-review-action` and `zizmorcore/zizmor-action`. (__#10871__, __#10879__, __#10918__, __#10919__, __#10934__, __#10947__, __#10954__, __#10960__)
35
+
36
+ ## 🌟 New Contributors
37
+
38
+ We are thrilled to welcome our new contributors. Thank you for helping improve axios:
39
+
40
+ * __@BasixKOR__ (__#6792__)
41
+ * __@carladams1299-lab__ (__#10861__)
42
+ * __@LaplaceYoung__ (__#10812__)
43
+ * __@JamieMagee__ (__#10939__)
44
+ * __@RonGamzu__ (__#10905__)
45
+ * __@sapirbaruch__ (__#10891__)
46
+ * __@nezukoagent__ (__#10901__)
47
+ * __@devareddy05__ (__#10929__)
48
+ * __@Mohammad-Faiz-Cloud-Engineer__ (__#10922__)
49
+ * __@azandabot__ (__#10931__)
50
+ * __@niksy__ (__#10896__)
51
+
52
+ [Full Changelog](https://github.com/axios/axios/compare/v1.16.1...v1.17.0)
53
+
3
54
  ## v1.16.1 — May 13, 2026
4
55
 
5
56
  This release ships a defence-in-depth fix for prototype pollution in `formDataToJSON`, hardens proxy and CI workflows, restores Webpack 4 compatibility for the fetch adapter, and includes several small bug fixes and maintenance improvements.
@@ -1432,7 +1483,7 @@ This functionality is considered as a fix.
1432
1483
 
1433
1484
  - fix: improve AxiosHeaders class [#5224](https://github.com/axios/axios/pull/5224)
1434
1485
  - fix: TypeScript type definitions for commonjs [#5196](https://github.com/axios/axios/pull/5196)
1435
- - fix: type definition of use method on AxiosInterceptorManager to match the the README [#5071](https://github.com/axios/axios/pull/5071)
1486
+ - fix: type definition of use method on AxiosInterceptorManager to match the README [#5071](https://github.com/axios/axios/pull/5071)
1436
1487
  - fix: \_\_dirname is not defined in the sandbox [#5269](https://github.com/axios/axios/pull/5269)
1437
1488
  - fix: AxiosError.toJSON method to avoid circular references [#5247](https://github.com/axios/axios/pull/5247)
1438
1489
  - fix: Z_BUF_ERROR when content-encoding is set but the response body is empty [#5250](https://github.com/axios/axios/pull/5250)
@@ -773,6 +773,7 @@ These config options are available for requests. Only `url` is required. Request
773
773
  // When no `transformRequest` is set, it must be of one of the following types:
774
774
  // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
775
775
  // - Browser only: FormData, File, Blob
776
+ // - React Native: FormData
776
777
  // - Node only: Stream, Buffer, FormData (form-data package)
777
778
  data: {
778
779
  firstName: 'Fred'
@@ -877,10 +878,12 @@ These config options are available for requests. Only `url` is required. Request
877
878
  // Do whatever you want with the Axios progress event
878
879
  },
879
880
 
880
- // `maxContentLength` defines the max size of the http response content in bytes allowed in node.js
881
+ // `maxContentLength` defines the max size of the response content in bytes.
882
+ // It is enforced by the Node.js HTTP adapter and the fetch adapter.
881
883
  maxContentLength: 2000,
882
884
 
883
- // `maxBodyLength` (Node only option) defines the max size of the http request content in bytes allowed
885
+ // `maxBodyLength` defines the max size of the request content in bytes.
886
+ // It is enforced by the Node.js HTTP adapter and the fetch adapter when the body length can be determined.
884
887
  maxBodyLength: 2000,
885
888
 
886
889
  // `redact` masks matching config keys when AxiosError#toJSON() is called.
@@ -898,6 +901,12 @@ These config options are available for requests. Only `url` is required. Request
898
901
  // If set to 0, Axios follows no redirects.
899
902
  maxRedirects: 21, // default
900
903
 
904
+ // `sensitiveHeaders` (Node only option) lists custom secret-bearing headers
905
+ // to remove from cross-origin redirects. Matching is case-insensitive.
906
+ // Same-origin redirects keep these headers. If `maxRedirects` is 0, this
907
+ // option is not used.
908
+ sensitiveHeaders: ['X-API-Key'],
909
+
901
910
  // `beforeRedirect` defines a function that Axios calls before redirect.
902
911
  // Use this to adjust the request options upon redirecting,
903
912
  // to inspect the latest response headers,
@@ -1640,6 +1649,7 @@ server = app.listen(3000);
1640
1649
 
1641
1650
  To send data as `multipart/form-data`, pass a FormData instance as the payload.
1642
1651
  You do not need to set the `Content-Type` header. Axios detects it from the payload type.
1652
+ For browser, web worker, and React Native `FormData`, leave `Content-Type` unset so the runtime can add the multipart boundary.
1643
1653
 
1644
1654
  ```js
1645
1655
  const formData = new FormData();
@@ -2068,6 +2078,8 @@ The `rewrite` argument controls the overwriting behavior:
2068
2078
 
2069
2079
  The option can also accept a user-defined function that determines whether to overwrite the value.
2070
2080
 
2081
+ Empty or whitespace-only header names are ignored.
2082
+
2071
2083
  Returns `this`.
2072
2084
 
2073
2085
  ### AxiosHeaders#get(header)
@@ -2243,6 +2255,8 @@ const { data } = fetchAxios.get(url);
2243
2255
  The adapter supports the same features as the `xhr` adapter, including upload and download progress capturing.
2244
2256
  It also supports response types such as `stream` and `formdata` when the environment supports them.
2245
2257
 
2258
+ When `auth` is omitted, the fetch adapter can read HTTP Basic auth credentials from the request URL, for example `https://user:pass@example.com`. Percent-encoded URL credentials are decoded before the `Authorization` header is generated, and `auth` takes precedence over URL-embedded credentials.
2259
+
2246
2260
  ### Custom fetch
2247
2261
 
2248
2262
  Since `v1.12.0`, you can configure the fetch adapter to use a custom fetch API instead of environment globals.
@@ -2365,6 +2379,20 @@ try {
2365
2379
  }
2366
2380
  ```
2367
2381
 
2382
+ Use `axios.isCancel<T>()` to narrow cancellation errors to `CanceledError<T>`:
2383
+
2384
+ ```typescript
2385
+ const controller = new AbortController();
2386
+
2387
+ try {
2388
+ await axios.get<User>('/user?ID=12345', { signal: controller.signal });
2389
+ } catch (error) {
2390
+ if (axios.isCancel<User>(error)) {
2391
+ handleCancellation(error);
2392
+ }
2393
+ }
2394
+ ```
2395
+
2368
2396
  Because axios publishes an ESM default export and a CJS `module.exports`, TypeScript has a few caveats.
2369
2397
  The recommended setting is `"moduleResolution": "node16"`, which is implied by `"module": "node16"`. This requires TypeScript 4.7 or greater.
2370
2398
  If you use ESM, your settings should be fine.