@zuplo/cli 6.70.70 → 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-MJPI3GFA.js → chunk-E7U425SB.js} +72 -72
- 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 +61 -0
- 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 +145 -188
- 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 +33 -76
- 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 +165 -208
- 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/util/minimal.js +0 -3
- 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-MJPI3GFA.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-MJPI3GFA.js.LEGAL.txt → chunk-E7U425SB.js.LEGAL.txt} +0 -0
|
@@ -22,5 +22,5 @@
|
|
|
22
22
|
* DEALINGS IN THE SOFTWARE.
|
|
23
23
|
*--------------------------------------------------------------------------------------------*/
|
|
24
24
|
|
|
25
|
-
import{b as l}from"../chunk-
|
|
25
|
+
import{b as l}from"../chunk-AZIRK6TC.js";import{a as o,da as n}from"../chunk-ZIKV2LUM.js";function g(u={request:new Request("https://api.example.com")}){let e=[];function t(i){e.push(Promise.resolve(i))}return o(t,"waitUntil"),{context:new s({event:{waitUntil:t},route:u.route}),invokeResponse:o(async()=>{await Promise.all(e)},"invokeResponse")}}o(g,"createMockContext");var p={path:"/",methods:["GET"],handler:{module:{},export:"default"},raw:o(()=>({}),"raw")},s=class extends EventTarget{static{o(this,"MockZuploContext")}#e;contextId;requestId;log;route;custom;incomingRequestProperties;parentContext;analyticsContext;constructor({event:e,route:t=p,parentContext:r}){super(),this.requestId=crypto.randomUUID(),this.contextId=crypto.randomUUID(),this.log={info:n.console.info,log:n.console.log,debug:n.console.debug,warn:n.console.warn,error:n.console.error,setLogProperties:o(()=>{},"setLogProperties")},this.custom={},this.route=t,this.incomingRequestProperties={asn:1234,asOrganization:"ORGANIZATION",city:"Seattle",region:"Washington",regionCode:"WA",colo:"SEA",continent:"NA",country:"US",postalCode:"98004",metroCode:"SEA",latitude:void 0,longitude:void 0,timezone:void 0,httpProtocol:void 0,clientCert:void 0,clientMtlsVerificationStatus:void 0,clientMtlsVerificationReason:void 0,clientCertFingerprintSha256:void 0,clientCertNotBefore:void 0,clientCertNotAfter:void 0,clientCertIssuerDn:void 0,clientCertSubjectDn:void 0},this.parentContext=r,this.#e=e,this.analyticsContext=new l(this.requestId)}waitUntil(e){this.#e.waitUntil(e)}invokeInboundPolicy(e,t){throw new Error("Not implemented")}invokeOutboundPolicy(e,t,r){throw new Error("Not implemented")}invokeRoute(e,t){throw new Error("Not implemented")}addResponseSendingHook(e){throw new Error("Not implemented")}addResponseSendingFinalHook(e){throw new Error("Not implemented")}addEventListener(e,t,r){let d=o(i=>{try{typeof t=="function"?t(i):t.handleEvent(i)}catch(a){throw this.log.error(`Error invoking event ${e}. See following logs for details.`),a}},"wrapped");super.addEventListener(e,d,r)}};export{s as MockZuploContext,g as createMockContext};
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -3582,6 +3582,67 @@ export declare class GoogleCloudLoggingPlugin extends LogPlugin {
|
|
|
3582
3582
|
/* Excluded from this release type: getTransport */
|
|
3583
3583
|
}
|
|
3584
3584
|
|
|
3585
|
+
/**
|
|
3586
|
+
* Reports GraphQL errors returned in response bodies to Zuplo's GraphQL
|
|
3587
|
+
* analytics. GraphQL servers following the standard Apollo / graphql-yoga
|
|
3588
|
+
* pattern return `200 OK` with an `errors[]` array in the body when an
|
|
3589
|
+
* operation fails, which HTTP-level analytics alone report as a success —
|
|
3590
|
+
* add this policy to a GraphQL route and failed operations show up as
|
|
3591
|
+
* failures on the GraphQL dashboard, classified by error type.
|
|
3592
|
+
*
|
|
3593
|
+
* Each error in `errors[]` is classified from its `extensions.code`
|
|
3594
|
+
* following the Apollo Server conventions (`GRAPHQL_PARSE_FAILED` →
|
|
3595
|
+
* `syntax`, `GRAPHQL_VALIDATION_FAILED` → `validation`, `UNAUTHENTICATED` /
|
|
3596
|
+
* `FORBIDDEN` → `auth`, timeout codes → `timeout`); custom codes can be
|
|
3597
|
+
* mapped with `errorCodeClassification`, and anything unrecognized falls
|
|
3598
|
+
* back to `defaultErrorClass` (`resolver`). Optionally set `logErrors` to
|
|
3599
|
+
* also write a structured warning per errored response. Bodies larger
|
|
3600
|
+
* than `maxResponseBytes` (default 5 MiB) are not inspected.
|
|
3601
|
+
*
|
|
3602
|
+
* The response always passes through unchanged — the body is read from a
|
|
3603
|
+
* clone, and any internal failure is swallowed so reporting can never
|
|
3604
|
+
* break the request. The route must be marked `x-graphql: true` in
|
|
3605
|
+
* `routes.oas.json` (which enables GraphQL analytics for the route);
|
|
3606
|
+
* without the marker the policy logs a warning and does nothing.
|
|
3607
|
+
*
|
|
3608
|
+
* @title GraphQL Analytics
|
|
3609
|
+
* @product api-gateway
|
|
3610
|
+
* @beta
|
|
3611
|
+
* @public
|
|
3612
|
+
* @param response - The outgoing Response from the handler
|
|
3613
|
+
* @param request - The original incoming Request
|
|
3614
|
+
* @param context - The current context of the Request
|
|
3615
|
+
* @param options - The configuration options for the policy
|
|
3616
|
+
* @param policyName - The name of the policy as set in policies.json
|
|
3617
|
+
* @returns A Response
|
|
3618
|
+
*/
|
|
3619
|
+
export declare const GraphqlAnalyticsOutboundPolicy: OutboundPolicyHandler<GraphqlAnalyticsOutboundPolicyOptions>;
|
|
3620
|
+
|
|
3621
|
+
/**
|
|
3622
|
+
* The options for the GraphQL Analytics outbound policy. Reads GraphQL `errors[]` from the response body and reports them to Zuplo's GraphQL analytics.
|
|
3623
|
+
* @public
|
|
3624
|
+
*/
|
|
3625
|
+
export declare interface GraphqlAnalyticsOutboundPolicyOptions {
|
|
3626
|
+
/**
|
|
3627
|
+
* Additional `extensions.code` → error-class mappings for codes your GraphQL server emits. Entries are merged over (and win against) the built-in Apollo-convention map (`GRAPHQL_PARSE_FAILED` → `syntax`, `GRAPHQL_VALIDATION_FAILED` / `BAD_USER_INPUT` → `validation`, `UNAUTHENTICATED` / `FORBIDDEN` → `auth`, timeout codes → `timeout`, `INTERNAL_SERVER_ERROR` → `resolver`). Keys are matched case-sensitively; built-in codes are matched case-insensitively.
|
|
3628
|
+
*/
|
|
3629
|
+
errorCodeClassification?: {
|
|
3630
|
+
[k: string]: "syntax" | "validation" | "auth" | "timeout" | "resolver";
|
|
3631
|
+
};
|
|
3632
|
+
/**
|
|
3633
|
+
* The error class reported for a GraphQL error whose `extensions.code` is missing or not in the classification map.
|
|
3634
|
+
*/
|
|
3635
|
+
defaultErrorClass?: "syntax" | "validation" | "auth" | "timeout" | "resolver";
|
|
3636
|
+
/**
|
|
3637
|
+
* When `true`, also write a structured warning to the request log (message, `extensions.code`, and path of each error — capped at the first 10) whenever a response contains GraphQL errors.
|
|
3638
|
+
*/
|
|
3639
|
+
logErrors?: boolean;
|
|
3640
|
+
/**
|
|
3641
|
+
* Maximum response body size in bytes the policy will inspect. Larger bodies — by `Content-Length`, or measured while reading when the header is absent — pass through without being scanned, so their GraphQL errors (if any) go unreported. The default is 5 MiB.
|
|
3642
|
+
*/
|
|
3643
|
+
maxResponseBytes?: number;
|
|
3644
|
+
}
|
|
3645
|
+
|
|
3585
3646
|
/**
|
|
3586
3647
|
* The main request handler for the Zuplo runtime. This class initializes the gateway
|
|
3587
3648
|
* and handles all incoming HTTP requests through the configured pipeline.
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
## 8.17.0 (2026-06-11)
|
|
2
|
+
|
|
3
|
+
### New features
|
|
4
|
+
|
|
5
|
+
The new `strict` option can be used to start script sources in strict mode.
|
|
6
|
+
|
|
7
|
+
### Bug fixes
|
|
8
|
+
|
|
9
|
+
Fix a number of corner case bugs when `using` or `await using` appear in `for` loop specs.
|
|
10
|
+
|
|
11
|
+
Disallow `new super()` expressions.
|
|
12
|
+
|
|
13
|
+
Don't allow the conditional in a ternary expression to be a (naked) arrow function.
|
|
14
|
+
|
|
1
15
|
## 8.16.0 (2026-02-19)
|
|
2
16
|
|
|
3
17
|
### New features
|
|
@@ -86,6 +86,9 @@ required):
|
|
|
86
86
|
will be valid, even if `ecmaVersion` is less than 6. If set to `"commonjs"`,
|
|
87
87
|
it is the same as `"script"` except that the top-level scope behaves like a function.
|
|
88
88
|
|
|
89
|
+
- **strict**: When set to true, enable strict parsing mode even if
|
|
90
|
+
`sourceType` is `"script"`.
|
|
91
|
+
|
|
89
92
|
- **onInsertedSemicolon**: If given a callback, that callback will be
|
|
90
93
|
called whenever a missing semicolon is inserted by the parser. The
|
|
91
94
|
callback will be given the character offset of the point where the
|
|
@@ -619,6 +619,12 @@ export interface Options {
|
|
|
619
619
|
*/
|
|
620
620
|
sourceType?: "script" | "module" | "commonjs"
|
|
621
621
|
|
|
622
|
+
/**
|
|
623
|
+
* When set to true, enable strict parsing mode even if `sourceType`
|
|
624
|
+
* is `"script"`.
|
|
625
|
+
*/
|
|
626
|
+
strict?: boolean
|
|
627
|
+
|
|
622
628
|
/**
|
|
623
629
|
* a callback that will be called when a semicolon is automatically inserted.
|
|
624
630
|
* @param lastTokEnd the position of the comma as an offset
|
|
@@ -619,6 +619,12 @@ export interface Options {
|
|
|
619
619
|
*/
|
|
620
620
|
sourceType?: "script" | "module" | "commonjs"
|
|
621
621
|
|
|
622
|
+
/**
|
|
623
|
+
* When set to true, enable strict parsing mode even if `sourceType`
|
|
624
|
+
* is `"script"`.
|
|
625
|
+
*/
|
|
626
|
+
strict?: boolean
|
|
627
|
+
|
|
622
628
|
/**
|
|
623
629
|
* a callback that will be called when a semicolon is automatically inserted.
|
|
624
630
|
* @param lastTokEnd the position of the comma as an offset
|
|
@@ -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,
|