cdk-comprehend-s3olap 2.0.99 → 2.0.101
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/.jsii +4 -4
- package/lib/cdk-comprehend-s3olap.js +2 -2
- package/lib/comprehend-lambdas.js +2 -2
- package/lib/iam-roles.js +4 -4
- package/node_modules/aws-sdk/CHANGELOG.md +7 -1
- package/node_modules/aws-sdk/README.md +1 -1
- package/node_modules/aws-sdk/apis/cloudtrail-2013-11-01.min.json +247 -3
- package/node_modules/aws-sdk/apis/cloudtrail-2013-11-01.paginators.json +12 -0
- package/node_modules/aws-sdk/apis/ec2-2016-11-15.min.json +1075 -1058
- package/node_modules/aws-sdk/apis/mediaconnect-2018-11-14.min.json +21 -0
- package/node_modules/aws-sdk/clients/cloudtrail.d.ts +335 -6
- package/node_modules/aws-sdk/clients/ec2.d.ts +53 -37
- package/node_modules/aws-sdk/clients/mediaconnect.d.ts +25 -1
- package/node_modules/aws-sdk/clients/rds.d.ts +18 -18
- package/node_modules/aws-sdk/dist/aws-sdk-core-react-native.js +1 -1
- package/node_modules/aws-sdk/dist/aws-sdk-react-native.js +5 -5
- package/node_modules/aws-sdk/dist/aws-sdk.js +1337 -1064
- package/node_modules/aws-sdk/dist/aws-sdk.min.js +82 -82
- package/node_modules/aws-sdk/lib/core.js +1 -1
- package/node_modules/aws-sdk/package.json +1 -1
- package/node_modules/esbuild/bin/esbuild +2 -1
- package/node_modules/esbuild/install.js +5 -4
- package/node_modules/esbuild/lib/main.d.ts +2 -0
- package/node_modules/esbuild/lib/main.js +606 -663
- package/node_modules/esbuild/package.json +23 -22
- package/node_modules/esbuild-linux-64/bin/esbuild +0 -0
- package/node_modules/esbuild-linux-64/package.json +1 -1
- package/package.json +7 -7
@@ -206,6 +206,8 @@ function writeUInt32LE(buffer, value, offset) {
|
|
206
206
|
}
|
207
207
|
|
208
208
|
// lib/shared/common.ts
|
209
|
+
var buildLogLevelDefault = "warning";
|
210
|
+
var transformLogLevelDefault = "silent";
|
209
211
|
function validateTarget(target) {
|
210
212
|
target += "";
|
211
213
|
if (target.indexOf(",") >= 0)
|
@@ -306,6 +308,7 @@ function pushCommonFlags(flags, options, keys) {
|
|
306
308
|
let jsxFragment = getFlag(options, keys, "jsxFragment", mustBeString);
|
307
309
|
let jsxImportSource = getFlag(options, keys, "jsxImportSource", mustBeString);
|
308
310
|
let jsxDev = getFlag(options, keys, "jsxDev", mustBeBoolean);
|
311
|
+
let jsxSideEffects = getFlag(options, keys, "jsxSideEffects", mustBeBoolean);
|
309
312
|
let define = getFlag(options, keys, "define", mustBeObject);
|
310
313
|
let logOverride = getFlag(options, keys, "logOverride", mustBeObject);
|
311
314
|
let supported = getFlag(options, keys, "supported", mustBeObject);
|
@@ -363,6 +366,8 @@ function pushCommonFlags(flags, options, keys) {
|
|
363
366
|
flags.push(`--jsx-import-source=${jsxImportSource}`);
|
364
367
|
if (jsxDev)
|
365
368
|
flags.push(`--jsx-dev`);
|
369
|
+
if (jsxSideEffects)
|
370
|
+
flags.push(`--jsx-side-effects`);
|
366
371
|
if (define) {
|
367
372
|
for (let key in define) {
|
368
373
|
if (key.indexOf("=") >= 0)
|
@@ -616,11 +621,9 @@ function flagsForTransformOptions(callName, options, isTTY2, logLevelDefault) {
|
|
616
621
|
};
|
617
622
|
}
|
618
623
|
function createChannel(streamIn) {
|
619
|
-
|
620
|
-
|
621
|
-
let
|
622
|
-
let serveCallbacks = /* @__PURE__ */ new Map();
|
623
|
-
let closeData = null;
|
624
|
+
const requestCallbacksByKey = {};
|
625
|
+
const closeData = { didClose: false, reason: "" };
|
626
|
+
let responseCallbacks = {};
|
624
627
|
let nextRequestID = 0;
|
625
628
|
let nextBuildKey = 0;
|
626
629
|
let stdout = new Uint8Array(16 * 1024);
|
@@ -650,105 +653,53 @@ function createChannel(streamIn) {
|
|
650
653
|
}
|
651
654
|
};
|
652
655
|
let afterClose = (error) => {
|
653
|
-
closeData =
|
656
|
+
closeData.didClose = true;
|
657
|
+
if (error)
|
658
|
+
closeData.reason = ": " + (error.message || error);
|
654
659
|
const text = "The service was stopped" + closeData.reason;
|
655
|
-
for (let
|
656
|
-
|
660
|
+
for (let id in responseCallbacks) {
|
661
|
+
responseCallbacks[id](text, null);
|
657
662
|
}
|
658
|
-
responseCallbacks
|
659
|
-
for (let callbacks of serveCallbacks.values()) {
|
660
|
-
callbacks.onWait(text);
|
661
|
-
}
|
662
|
-
serveCallbacks.clear();
|
663
|
-
for (let callback of watchCallbacks.values()) {
|
664
|
-
try {
|
665
|
-
callback(new Error(text), null);
|
666
|
-
} catch (e) {
|
667
|
-
console.error(e);
|
668
|
-
}
|
669
|
-
}
|
670
|
-
watchCallbacks.clear();
|
663
|
+
responseCallbacks = {};
|
671
664
|
};
|
672
665
|
let sendRequest = (refs, value, callback) => {
|
673
|
-
if (closeData)
|
666
|
+
if (closeData.didClose)
|
674
667
|
return callback("The service is no longer running" + closeData.reason, null);
|
675
668
|
let id = nextRequestID++;
|
676
|
-
responseCallbacks
|
669
|
+
responseCallbacks[id] = (error, response) => {
|
677
670
|
try {
|
678
671
|
callback(error, response);
|
679
672
|
} finally {
|
680
673
|
if (refs)
|
681
674
|
refs.unref();
|
682
675
|
}
|
683
|
-
}
|
676
|
+
};
|
684
677
|
if (refs)
|
685
678
|
refs.ref();
|
686
679
|
streamIn.writeToStdin(encodePacket({ id, isRequest: true, value }));
|
687
680
|
};
|
688
681
|
let sendResponse = (id, value) => {
|
689
|
-
if (closeData)
|
682
|
+
if (closeData.didClose)
|
690
683
|
throw new Error("The service is no longer running" + closeData.reason);
|
691
684
|
streamIn.writeToStdin(encodePacket({ id, isRequest: false, value }));
|
692
685
|
};
|
693
686
|
let handleRequest = async (id, request) => {
|
694
687
|
try {
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
break;
|
707
|
-
}
|
708
|
-
case "on-resolve": {
|
709
|
-
let callback = pluginCallbacks.get(request.key);
|
710
|
-
if (!callback)
|
711
|
-
sendResponse(id, {});
|
712
|
-
else
|
713
|
-
sendResponse(id, await callback(request));
|
714
|
-
break;
|
715
|
-
}
|
716
|
-
case "on-load": {
|
717
|
-
let callback = pluginCallbacks.get(request.key);
|
718
|
-
if (!callback)
|
719
|
-
sendResponse(id, {});
|
720
|
-
else
|
721
|
-
sendResponse(id, await callback(request));
|
722
|
-
break;
|
723
|
-
}
|
724
|
-
case "serve-request": {
|
725
|
-
let callbacks = serveCallbacks.get(request.key);
|
726
|
-
if (callbacks && callbacks.onRequest)
|
727
|
-
callbacks.onRequest(request.args);
|
728
|
-
sendResponse(id, {});
|
729
|
-
break;
|
730
|
-
}
|
731
|
-
case "serve-wait": {
|
732
|
-
let callbacks = serveCallbacks.get(request.key);
|
733
|
-
if (callbacks)
|
734
|
-
callbacks.onWait(request.error);
|
735
|
-
sendResponse(id, {});
|
736
|
-
break;
|
737
|
-
}
|
738
|
-
case "watch-rebuild": {
|
739
|
-
let callback = watchCallbacks.get(request.key);
|
740
|
-
try {
|
741
|
-
if (callback)
|
742
|
-
callback(null, request.args);
|
743
|
-
} catch (err) {
|
744
|
-
console.error(err);
|
688
|
+
if (request.command === "ping") {
|
689
|
+
sendResponse(id, {});
|
690
|
+
return;
|
691
|
+
}
|
692
|
+
if (typeof request.key === "number") {
|
693
|
+
const requestCallbacks = requestCallbacksByKey[request.key];
|
694
|
+
if (requestCallbacks) {
|
695
|
+
const callback = requestCallbacks[request.command];
|
696
|
+
if (callback) {
|
697
|
+
await callback(id, request);
|
698
|
+
return;
|
745
699
|
}
|
746
|
-
sendResponse(id, {});
|
747
|
-
break;
|
748
700
|
}
|
749
|
-
default:
|
750
|
-
throw new Error(`Invalid command: ` + request.command);
|
751
701
|
}
|
702
|
+
throw new Error(`Invalid command: ` + request.command);
|
752
703
|
} catch (e) {
|
753
704
|
sendResponse(id, { errors: [extractErrorMessageV8(e, streamIn, null, void 0, "")] });
|
754
705
|
}
|
@@ -758,8 +709,8 @@ function createChannel(streamIn) {
|
|
758
709
|
if (isFirstPacket) {
|
759
710
|
isFirstPacket = false;
|
760
711
|
let binaryVersion = String.fromCharCode(...bytes);
|
761
|
-
if (binaryVersion !== "0.15.
|
762
|
-
throw new Error(`Cannot start service: Host version "${"0.15.
|
712
|
+
if (binaryVersion !== "0.15.8") {
|
713
|
+
throw new Error(`Cannot start service: Host version "${"0.15.8"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
|
763
714
|
}
|
764
715
|
return;
|
765
716
|
}
|
@@ -767,452 +718,259 @@ function createChannel(streamIn) {
|
|
767
718
|
if (packet.isRequest) {
|
768
719
|
handleRequest(packet.id, packet.value);
|
769
720
|
} else {
|
770
|
-
let callback = responseCallbacks
|
771
|
-
responseCallbacks
|
721
|
+
let callback = responseCallbacks[packet.id];
|
722
|
+
delete responseCallbacks[packet.id];
|
772
723
|
if (packet.value.error)
|
773
724
|
callback(packet.value.error, {});
|
774
725
|
else
|
775
726
|
callback(null, packet.value);
|
776
727
|
}
|
777
728
|
};
|
778
|
-
let
|
779
|
-
let
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
729
|
+
let buildOrServe = ({ callName, refs, serveOptions, options, isTTY: isTTY2, defaultWD: defaultWD2, callback }) => {
|
730
|
+
let refCount = 0;
|
731
|
+
const buildKey = nextBuildKey++;
|
732
|
+
const requestCallbacks = {};
|
733
|
+
const buildRefs = {
|
734
|
+
ref() {
|
735
|
+
if (++refCount === 1) {
|
736
|
+
if (refs)
|
737
|
+
refs.ref();
|
738
|
+
}
|
739
|
+
},
|
740
|
+
unref() {
|
741
|
+
if (--refCount === 0) {
|
742
|
+
delete requestCallbacksByKey[buildKey];
|
743
|
+
if (refs)
|
744
|
+
refs.unref();
|
745
|
+
}
|
746
|
+
}
|
747
|
+
};
|
748
|
+
requestCallbacksByKey[buildKey] = requestCallbacks;
|
749
|
+
buildRefs.ref();
|
750
|
+
buildOrServeImpl(
|
751
|
+
callName,
|
752
|
+
buildKey,
|
753
|
+
sendRequest,
|
754
|
+
sendResponse,
|
755
|
+
buildRefs,
|
756
|
+
streamIn,
|
757
|
+
requestCallbacks,
|
758
|
+
options,
|
759
|
+
serveOptions,
|
760
|
+
isTTY2,
|
761
|
+
defaultWD2,
|
762
|
+
closeData,
|
763
|
+
(err, res) => {
|
764
|
+
try {
|
765
|
+
callback(err, res);
|
766
|
+
} finally {
|
767
|
+
buildRefs.unref();
|
768
|
+
}
|
769
|
+
}
|
770
|
+
);
|
771
|
+
};
|
772
|
+
let transform2 = ({ callName, refs, input, options, isTTY: isTTY2, fs: fs3, callback }) => {
|
773
|
+
const details = createObjectStash();
|
774
|
+
let start = (inputPath) => {
|
795
775
|
try {
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
if (!isSetupDone)
|
808
|
-
throw new Error('Cannot call "resolve" before plugin setup has completed');
|
809
|
-
if (typeof path3 !== "string")
|
810
|
-
throw new Error(`The path to resolve must be a string`);
|
811
|
-
let keys2 = /* @__PURE__ */ Object.create(null);
|
812
|
-
let pluginName = getFlag(options, keys2, "pluginName", mustBeString);
|
813
|
-
let importer = getFlag(options, keys2, "importer", mustBeString);
|
814
|
-
let namespace = getFlag(options, keys2, "namespace", mustBeString);
|
815
|
-
let resolveDir = getFlag(options, keys2, "resolveDir", mustBeString);
|
816
|
-
let kind = getFlag(options, keys2, "kind", mustBeString);
|
817
|
-
let pluginData = getFlag(options, keys2, "pluginData", canBeAnything);
|
818
|
-
checkForInvalidFlags(options, keys2, "in resolve() call");
|
819
|
-
return new Promise((resolve2, reject) => {
|
820
|
-
const request = {
|
821
|
-
command: "resolve",
|
822
|
-
path: path3,
|
823
|
-
key: buildKey,
|
824
|
-
pluginName: name
|
825
|
-
};
|
826
|
-
if (pluginName != null)
|
827
|
-
request.pluginName = pluginName;
|
828
|
-
if (importer != null)
|
829
|
-
request.importer = importer;
|
830
|
-
if (namespace != null)
|
831
|
-
request.namespace = namespace;
|
832
|
-
if (resolveDir != null)
|
833
|
-
request.resolveDir = resolveDir;
|
834
|
-
if (kind != null)
|
835
|
-
request.kind = kind;
|
836
|
-
if (pluginData != null)
|
837
|
-
request.pluginData = stash.store(pluginData);
|
838
|
-
sendRequest(refs, request, (error, response) => {
|
839
|
-
if (error !== null)
|
840
|
-
reject(new Error(error));
|
841
|
-
else
|
842
|
-
resolve2({
|
843
|
-
errors: replaceDetailsInMessages(response.errors, stash),
|
844
|
-
warnings: replaceDetailsInMessages(response.warnings, stash),
|
845
|
-
path: response.path,
|
846
|
-
external: response.external,
|
847
|
-
sideEffects: response.sideEffects,
|
848
|
-
namespace: response.namespace,
|
849
|
-
suffix: response.suffix,
|
850
|
-
pluginData: stash.load(response.pluginData)
|
851
|
-
});
|
852
|
-
});
|
853
|
-
});
|
776
|
+
if (typeof input !== "string" && !(input instanceof Uint8Array))
|
777
|
+
throw new Error('The input to "transform" must be a string or a Uint8Array');
|
778
|
+
let {
|
779
|
+
flags,
|
780
|
+
mangleCache
|
781
|
+
} = flagsForTransformOptions(callName, options, isTTY2, transformLogLevelDefault);
|
782
|
+
let request = {
|
783
|
+
command: "transform",
|
784
|
+
flags,
|
785
|
+
inputFS: inputPath !== null,
|
786
|
+
input: inputPath !== null ? encodeUTF8(inputPath) : typeof input === "string" ? encodeUTF8(input) : input
|
854
787
|
};
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
let registeredText = `This error came from the "onResolve" callback registered here:`;
|
870
|
-
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onResolve");
|
871
|
-
let keys2 = {};
|
872
|
-
let filter = getFlag(options, keys2, "filter", mustBeRegExp);
|
873
|
-
let namespace = getFlag(options, keys2, "namespace", mustBeString);
|
874
|
-
checkForInvalidFlags(options, keys2, `in onResolve() call for plugin ${JSON.stringify(name)}`);
|
875
|
-
if (filter == null)
|
876
|
-
throw new Error(`onResolve() call is missing a filter`);
|
877
|
-
let id = nextCallbackID++;
|
878
|
-
onResolveCallbacks[id] = { name, callback: callback2, note: registeredNote };
|
879
|
-
plugin.onResolve.push({ id, filter: filter.source, namespace: namespace || "" });
|
880
|
-
},
|
881
|
-
onLoad(options, callback2) {
|
882
|
-
let registeredText = `This error came from the "onLoad" callback registered here:`;
|
883
|
-
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onLoad");
|
884
|
-
let keys2 = {};
|
885
|
-
let filter = getFlag(options, keys2, "filter", mustBeRegExp);
|
886
|
-
let namespace = getFlag(options, keys2, "namespace", mustBeString);
|
887
|
-
checkForInvalidFlags(options, keys2, `in onLoad() call for plugin ${JSON.stringify(name)}`);
|
888
|
-
if (filter == null)
|
889
|
-
throw new Error(`onLoad() call is missing a filter`);
|
890
|
-
let id = nextCallbackID++;
|
891
|
-
onLoadCallbacks[id] = { name, callback: callback2, note: registeredNote };
|
892
|
-
plugin.onLoad.push({ id, filter: filter.source, namespace: namespace || "" });
|
893
|
-
},
|
894
|
-
esbuild: streamIn.esbuild
|
895
|
-
});
|
896
|
-
if (promise)
|
897
|
-
await promise;
|
898
|
-
requestPlugins.push(plugin);
|
899
|
-
} catch (e) {
|
900
|
-
return { ok: false, error: e, pluginName: name };
|
901
|
-
}
|
902
|
-
}
|
903
|
-
const callback = async (request) => {
|
904
|
-
switch (request.command) {
|
905
|
-
case "on-start": {
|
906
|
-
let response = { errors: [], warnings: [] };
|
907
|
-
await Promise.all(onStartCallbacks.map(async ({ name, callback: callback2, note }) => {
|
908
|
-
try {
|
909
|
-
let result = await callback2();
|
910
|
-
if (result != null) {
|
911
|
-
if (typeof result !== "object")
|
912
|
-
throw new Error(`Expected onStart() callback in plugin ${JSON.stringify(name)} to return an object`);
|
913
|
-
let keys = {};
|
914
|
-
let errors = getFlag(result, keys, "errors", mustBeArray);
|
915
|
-
let warnings = getFlag(result, keys, "warnings", mustBeArray);
|
916
|
-
checkForInvalidFlags(result, keys, `from onStart() callback in plugin ${JSON.stringify(name)}`);
|
917
|
-
if (errors != null)
|
918
|
-
response.errors.push(...sanitizeMessages(errors, "errors", stash, name));
|
919
|
-
if (warnings != null)
|
920
|
-
response.warnings.push(...sanitizeMessages(warnings, "warnings", stash, name));
|
921
|
-
}
|
922
|
-
} catch (e) {
|
923
|
-
response.errors.push(extractErrorMessageV8(e, streamIn, stash, note && note(), name));
|
788
|
+
if (mangleCache)
|
789
|
+
request.mangleCache = mangleCache;
|
790
|
+
sendRequest(refs, request, (error, response) => {
|
791
|
+
if (error)
|
792
|
+
return callback(new Error(error), null);
|
793
|
+
let errors = replaceDetailsInMessages(response.errors, details);
|
794
|
+
let warnings = replaceDetailsInMessages(response.warnings, details);
|
795
|
+
let outstanding = 1;
|
796
|
+
let next = () => {
|
797
|
+
if (--outstanding === 0) {
|
798
|
+
let result = { warnings, code: response.code, map: response.map };
|
799
|
+
if (response.mangleCache)
|
800
|
+
result.mangleCache = response == null ? void 0 : response.mangleCache;
|
801
|
+
callback(null, result);
|
924
802
|
}
|
925
|
-
}
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
|
936
|
-
namespace: request.namespace,
|
937
|
-
resolveDir: request.resolveDir,
|
938
|
-
kind: request.kind,
|
939
|
-
pluginData: stash.load(request.pluginData)
|
940
|
-
});
|
941
|
-
if (result != null) {
|
942
|
-
if (typeof result !== "object")
|
943
|
-
throw new Error(`Expected onResolve() callback in plugin ${JSON.stringify(name)} to return an object`);
|
944
|
-
let keys = {};
|
945
|
-
let pluginName = getFlag(result, keys, "pluginName", mustBeString);
|
946
|
-
let path3 = getFlag(result, keys, "path", mustBeString);
|
947
|
-
let namespace = getFlag(result, keys, "namespace", mustBeString);
|
948
|
-
let suffix = getFlag(result, keys, "suffix", mustBeString);
|
949
|
-
let external = getFlag(result, keys, "external", mustBeBoolean);
|
950
|
-
let sideEffects = getFlag(result, keys, "sideEffects", mustBeBoolean);
|
951
|
-
let pluginData = getFlag(result, keys, "pluginData", canBeAnything);
|
952
|
-
let errors = getFlag(result, keys, "errors", mustBeArray);
|
953
|
-
let warnings = getFlag(result, keys, "warnings", mustBeArray);
|
954
|
-
let watchFiles = getFlag(result, keys, "watchFiles", mustBeArray);
|
955
|
-
let watchDirs = getFlag(result, keys, "watchDirs", mustBeArray);
|
956
|
-
checkForInvalidFlags(result, keys, `from onResolve() callback in plugin ${JSON.stringify(name)}`);
|
957
|
-
response.id = id;
|
958
|
-
if (pluginName != null)
|
959
|
-
response.pluginName = pluginName;
|
960
|
-
if (path3 != null)
|
961
|
-
response.path = path3;
|
962
|
-
if (namespace != null)
|
963
|
-
response.namespace = namespace;
|
964
|
-
if (suffix != null)
|
965
|
-
response.suffix = suffix;
|
966
|
-
if (external != null)
|
967
|
-
response.external = external;
|
968
|
-
if (sideEffects != null)
|
969
|
-
response.sideEffects = sideEffects;
|
970
|
-
if (pluginData != null)
|
971
|
-
response.pluginData = stash.store(pluginData);
|
972
|
-
if (errors != null)
|
973
|
-
response.errors = sanitizeMessages(errors, "errors", stash, name);
|
974
|
-
if (warnings != null)
|
975
|
-
response.warnings = sanitizeMessages(warnings, "warnings", stash, name);
|
976
|
-
if (watchFiles != null)
|
977
|
-
response.watchFiles = sanitizeStringArray(watchFiles, "watchFiles");
|
978
|
-
if (watchDirs != null)
|
979
|
-
response.watchDirs = sanitizeStringArray(watchDirs, "watchDirs");
|
980
|
-
break;
|
803
|
+
};
|
804
|
+
if (errors.length > 0)
|
805
|
+
return callback(failureErrorWithLog("Transform failed", errors, warnings), null);
|
806
|
+
if (response.codeFS) {
|
807
|
+
outstanding++;
|
808
|
+
fs3.readFile(response.code, (err, contents) => {
|
809
|
+
if (err !== null) {
|
810
|
+
callback(err, null);
|
811
|
+
} else {
|
812
|
+
response.code = contents;
|
813
|
+
next();
|
981
814
|
}
|
982
|
-
}
|
983
|
-
return { id, errors: [extractErrorMessageV8(e, streamIn, stash, note && note(), name)] };
|
984
|
-
}
|
815
|
+
});
|
985
816
|
}
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
path: request.path,
|
995
|
-
namespace: request.namespace,
|
996
|
-
suffix: request.suffix,
|
997
|
-
pluginData: stash.load(request.pluginData)
|
998
|
-
});
|
999
|
-
if (result != null) {
|
1000
|
-
if (typeof result !== "object")
|
1001
|
-
throw new Error(`Expected onLoad() callback in plugin ${JSON.stringify(name)} to return an object`);
|
1002
|
-
let keys = {};
|
1003
|
-
let pluginName = getFlag(result, keys, "pluginName", mustBeString);
|
1004
|
-
let contents = getFlag(result, keys, "contents", mustBeStringOrUint8Array);
|
1005
|
-
let resolveDir = getFlag(result, keys, "resolveDir", mustBeString);
|
1006
|
-
let pluginData = getFlag(result, keys, "pluginData", canBeAnything);
|
1007
|
-
let loader = getFlag(result, keys, "loader", mustBeString);
|
1008
|
-
let errors = getFlag(result, keys, "errors", mustBeArray);
|
1009
|
-
let warnings = getFlag(result, keys, "warnings", mustBeArray);
|
1010
|
-
let watchFiles = getFlag(result, keys, "watchFiles", mustBeArray);
|
1011
|
-
let watchDirs = getFlag(result, keys, "watchDirs", mustBeArray);
|
1012
|
-
checkForInvalidFlags(result, keys, `from onLoad() callback in plugin ${JSON.stringify(name)}`);
|
1013
|
-
response.id = id;
|
1014
|
-
if (pluginName != null)
|
1015
|
-
response.pluginName = pluginName;
|
1016
|
-
if (contents instanceof Uint8Array)
|
1017
|
-
response.contents = contents;
|
1018
|
-
else if (contents != null)
|
1019
|
-
response.contents = encodeUTF8(contents);
|
1020
|
-
if (resolveDir != null)
|
1021
|
-
response.resolveDir = resolveDir;
|
1022
|
-
if (pluginData != null)
|
1023
|
-
response.pluginData = stash.store(pluginData);
|
1024
|
-
if (loader != null)
|
1025
|
-
response.loader = loader;
|
1026
|
-
if (errors != null)
|
1027
|
-
response.errors = sanitizeMessages(errors, "errors", stash, name);
|
1028
|
-
if (warnings != null)
|
1029
|
-
response.warnings = sanitizeMessages(warnings, "warnings", stash, name);
|
1030
|
-
if (watchFiles != null)
|
1031
|
-
response.watchFiles = sanitizeStringArray(watchFiles, "watchFiles");
|
1032
|
-
if (watchDirs != null)
|
1033
|
-
response.watchDirs = sanitizeStringArray(watchDirs, "watchDirs");
|
1034
|
-
break;
|
817
|
+
if (response.mapFS) {
|
818
|
+
outstanding++;
|
819
|
+
fs3.readFile(response.map, (err, contents) => {
|
820
|
+
if (err !== null) {
|
821
|
+
callback(err, null);
|
822
|
+
} else {
|
823
|
+
response.map = contents;
|
824
|
+
next();
|
1035
825
|
}
|
1036
|
-
}
|
1037
|
-
return { id, errors: [extractErrorMessageV8(e, streamIn, stash, note && note(), name)] };
|
1038
|
-
}
|
826
|
+
});
|
1039
827
|
}
|
1040
|
-
|
828
|
+
next();
|
829
|
+
});
|
830
|
+
} catch (e) {
|
831
|
+
let flags = [];
|
832
|
+
try {
|
833
|
+
pushLogFlags(flags, options, {}, isTTY2, transformLogLevelDefault);
|
834
|
+
} catch {
|
1041
835
|
}
|
1042
|
-
|
1043
|
-
|
836
|
+
const error = extractErrorMessageV8(e, streamIn, details, void 0, "");
|
837
|
+
sendRequest(refs, { command: "error", flags, error }, () => {
|
838
|
+
error.detail = details.load(error.detail);
|
839
|
+
callback(failureErrorWithLog("Transform failed", [error], []), null);
|
840
|
+
});
|
1044
841
|
}
|
1045
842
|
};
|
1046
|
-
|
1047
|
-
|
1048
|
-
|
1049
|
-
(async () => {
|
1050
|
-
for (const { name, callback: callback2, note } of onEndCallbacks) {
|
1051
|
-
try {
|
1052
|
-
await callback2(result);
|
1053
|
-
} catch (e) {
|
1054
|
-
result.errors.push(await new Promise((resolve) => logPluginError(e, name, note && note(), resolve)));
|
1055
|
-
}
|
1056
|
-
}
|
1057
|
-
})().then(done);
|
1058
|
-
};
|
843
|
+
if ((typeof input === "string" || input instanceof Uint8Array) && input.length > 1024 * 1024) {
|
844
|
+
let next = start;
|
845
|
+
start = () => fs3.writeFile(input, next);
|
1059
846
|
}
|
1060
|
-
|
1061
|
-
let refCount = 0;
|
1062
|
-
return {
|
1063
|
-
ok: true,
|
1064
|
-
requestPlugins,
|
1065
|
-
runOnEndCallbacks,
|
1066
|
-
pluginRefs: {
|
1067
|
-
ref() {
|
1068
|
-
if (++refCount === 1)
|
1069
|
-
pluginCallbacks.set(buildKey, callback);
|
1070
|
-
},
|
1071
|
-
unref() {
|
1072
|
-
if (--refCount === 0)
|
1073
|
-
pluginCallbacks.delete(buildKey);
|
1074
|
-
}
|
1075
|
-
}
|
1076
|
-
};
|
847
|
+
start(null);
|
1077
848
|
};
|
1078
|
-
let
|
849
|
+
let formatMessages2 = ({ callName, refs, messages, options, callback }) => {
|
850
|
+
let result = sanitizeMessages(messages, "messages", null, "");
|
851
|
+
if (!options)
|
852
|
+
throw new Error(`Missing second argument in ${callName}() call`);
|
1079
853
|
let keys = {};
|
1080
|
-
let
|
1081
|
-
let
|
1082
|
-
let
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
request.serve.servedir = servedir;
|
1102
|
-
serveCallbacks.set(key, {
|
1103
|
-
onRequest,
|
1104
|
-
onWait
|
854
|
+
let kind = getFlag(options, keys, "kind", mustBeString);
|
855
|
+
let color = getFlag(options, keys, "color", mustBeBoolean);
|
856
|
+
let terminalWidth = getFlag(options, keys, "terminalWidth", mustBeInteger);
|
857
|
+
checkForInvalidFlags(options, keys, `in ${callName}() call`);
|
858
|
+
if (kind === void 0)
|
859
|
+
throw new Error(`Missing "kind" in ${callName}() call`);
|
860
|
+
if (kind !== "error" && kind !== "warning")
|
861
|
+
throw new Error(`Expected "kind" to be "error" or "warning" in ${callName}() call`);
|
862
|
+
let request = {
|
863
|
+
command: "format-msgs",
|
864
|
+
messages: result,
|
865
|
+
isWarning: kind === "warning"
|
866
|
+
};
|
867
|
+
if (color !== void 0)
|
868
|
+
request.color = color;
|
869
|
+
if (terminalWidth !== void 0)
|
870
|
+
request.terminalWidth = terminalWidth;
|
871
|
+
sendRequest(refs, request, (error, response) => {
|
872
|
+
if (error)
|
873
|
+
return callback(new Error(error), null);
|
874
|
+
callback(null, response.messages);
|
1105
875
|
});
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
876
|
+
};
|
877
|
+
let analyzeMetafile2 = ({ callName, refs, metafile, options, callback }) => {
|
878
|
+
if (options === void 0)
|
879
|
+
options = {};
|
880
|
+
let keys = {};
|
881
|
+
let color = getFlag(options, keys, "color", mustBeBoolean);
|
882
|
+
let verbose = getFlag(options, keys, "verbose", mustBeBoolean);
|
883
|
+
checkForInvalidFlags(options, keys, `in ${callName}() call`);
|
884
|
+
let request = {
|
885
|
+
command: "analyze-metafile",
|
886
|
+
metafile
|
1112
887
|
};
|
888
|
+
if (color !== void 0)
|
889
|
+
request.color = color;
|
890
|
+
if (verbose !== void 0)
|
891
|
+
request.verbose = verbose;
|
892
|
+
sendRequest(refs, request, (error, response) => {
|
893
|
+
if (error)
|
894
|
+
return callback(new Error(error), null);
|
895
|
+
callback(null, response.result);
|
896
|
+
});
|
1113
897
|
};
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1118
|
-
|
1119
|
-
|
1120
|
-
|
1121
|
-
|
1122
|
-
let value = options.plugins;
|
1123
|
-
if (value !== void 0) {
|
1124
|
-
if (!Array.isArray(value))
|
1125
|
-
throw new Error(`"plugins" must be an array`);
|
1126
|
-
plugins = value;
|
1127
|
-
}
|
898
|
+
return {
|
899
|
+
readFromStdout,
|
900
|
+
afterClose,
|
901
|
+
service: {
|
902
|
+
buildOrServe,
|
903
|
+
transform: transform2,
|
904
|
+
formatMessages: formatMessages2,
|
905
|
+
analyzeMetafile: analyzeMetafile2
|
1128
906
|
}
|
1129
|
-
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1133
|
-
|
1134
|
-
|
1135
|
-
|
1136
|
-
|
1137
|
-
|
1138
|
-
done(message);
|
1139
|
-
});
|
1140
|
-
};
|
1141
|
-
let handleError = (e, pluginName) => {
|
1142
|
-
logPluginError(e, pluginName, void 0, (error) => {
|
1143
|
-
callback(failureErrorWithLog("Build failed", [error], []), null);
|
1144
|
-
});
|
1145
|
-
};
|
1146
|
-
if (plugins && plugins.length > 0) {
|
1147
|
-
if (streamIn.isSync)
|
1148
|
-
return handleError(new Error("Cannot use plugins in synchronous API calls"), "");
|
1149
|
-
handlePlugins(options, plugins, key, details, refs).then(
|
1150
|
-
(result) => {
|
1151
|
-
if (!result.ok) {
|
1152
|
-
handleError(result.error, result.pluginName);
|
1153
|
-
} else {
|
1154
|
-
try {
|
1155
|
-
buildOrServeContinue({
|
1156
|
-
...args,
|
1157
|
-
key,
|
1158
|
-
details,
|
1159
|
-
logPluginError,
|
1160
|
-
requestPlugins: result.requestPlugins,
|
1161
|
-
runOnEndCallbacks: result.runOnEndCallbacks,
|
1162
|
-
pluginRefs: result.pluginRefs
|
1163
|
-
});
|
1164
|
-
} catch (e) {
|
1165
|
-
handleError(e, "");
|
1166
|
-
}
|
1167
|
-
}
|
1168
|
-
},
|
1169
|
-
(e) => handleError(e, "")
|
1170
|
-
);
|
1171
|
-
} else {
|
1172
|
-
try {
|
1173
|
-
buildOrServeContinue({
|
1174
|
-
...args,
|
1175
|
-
key,
|
1176
|
-
details,
|
1177
|
-
logPluginError,
|
1178
|
-
requestPlugins: null,
|
1179
|
-
runOnEndCallbacks: (result, logPluginError2, done) => done(),
|
1180
|
-
pluginRefs: null
|
1181
|
-
});
|
1182
|
-
} catch (e) {
|
1183
|
-
handleError(e, "");
|
1184
|
-
}
|
907
|
+
};
|
908
|
+
}
|
909
|
+
function buildOrServeImpl(callName, buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, options, serveOptions, isTTY2, defaultWD2, closeData, callback) {
|
910
|
+
const details = createObjectStash();
|
911
|
+
const logPluginError = (e, pluginName, note, done) => {
|
912
|
+
const flags = [];
|
913
|
+
try {
|
914
|
+
pushLogFlags(flags, options, {}, isTTY2, buildLogLevelDefault);
|
915
|
+
} catch {
|
1185
916
|
}
|
917
|
+
const message = extractErrorMessageV8(e, streamIn, details, note, pluginName);
|
918
|
+
sendRequest(refs, { command: "error", flags, error: message }, () => {
|
919
|
+
message.detail = details.load(message.detail);
|
920
|
+
done(message);
|
921
|
+
});
|
1186
922
|
};
|
1187
|
-
|
1188
|
-
|
1189
|
-
|
1190
|
-
|
1191
|
-
|
1192
|
-
|
1193
|
-
|
1194
|
-
|
1195
|
-
|
1196
|
-
|
1197
|
-
|
1198
|
-
|
1199
|
-
|
1200
|
-
|
1201
|
-
|
1202
|
-
|
1203
|
-
|
1204
|
-
|
1205
|
-
|
1206
|
-
|
1207
|
-
|
923
|
+
const handleError = (e, pluginName) => {
|
924
|
+
logPluginError(e, pluginName, void 0, (error) => {
|
925
|
+
callback(failureErrorWithLog("Build failed", [error], []), null);
|
926
|
+
});
|
927
|
+
};
|
928
|
+
let plugins;
|
929
|
+
if (typeof options === "object") {
|
930
|
+
const value = options.plugins;
|
931
|
+
if (value !== void 0) {
|
932
|
+
if (!Array.isArray(value))
|
933
|
+
throw new Error(`"plugins" must be an array`);
|
934
|
+
plugins = value;
|
935
|
+
}
|
936
|
+
}
|
937
|
+
if (plugins && plugins.length > 0) {
|
938
|
+
if (streamIn.isSync) {
|
939
|
+
handleError(new Error("Cannot use plugins in synchronous API calls"), "");
|
940
|
+
return;
|
941
|
+
}
|
942
|
+
handlePlugins(
|
943
|
+
buildKey,
|
944
|
+
sendRequest,
|
945
|
+
sendResponse,
|
946
|
+
refs,
|
947
|
+
streamIn,
|
948
|
+
requestCallbacks,
|
949
|
+
options,
|
950
|
+
plugins,
|
951
|
+
details
|
952
|
+
).then(
|
953
|
+
(result) => {
|
954
|
+
if (!result.ok) {
|
955
|
+
handleError(result.error, result.pluginName);
|
956
|
+
return;
|
957
|
+
}
|
958
|
+
try {
|
959
|
+
buildOrServeContinue(result.requestPlugins, result.runOnEndCallbacks);
|
960
|
+
} catch (e) {
|
961
|
+
handleError(e, "");
|
962
|
+
}
|
1208
963
|
},
|
1209
|
-
|
1210
|
-
|
1211
|
-
|
1212
|
-
|
1213
|
-
|
1214
|
-
|
1215
|
-
|
964
|
+
(e) => handleError(e, "")
|
965
|
+
);
|
966
|
+
return;
|
967
|
+
}
|
968
|
+
try {
|
969
|
+
buildOrServeContinue(null, (result, logPluginError2, done) => done());
|
970
|
+
} catch (e) {
|
971
|
+
handleError(e, "");
|
972
|
+
}
|
973
|
+
function buildOrServeContinue(requestPlugins, runOnEndCallbacks) {
|
1216
974
|
let writeDefault = !streamIn.isWriteUnavailable;
|
1217
975
|
let {
|
1218
976
|
entries,
|
@@ -1228,7 +986,7 @@ function createChannel(streamIn) {
|
|
1228
986
|
} = flagsForBuildOptions(callName, options, isTTY2, buildLogLevelDefault, writeDefault);
|
1229
987
|
let request = {
|
1230
988
|
command: "build",
|
1231
|
-
key,
|
989
|
+
key: buildKey,
|
1232
990
|
entries,
|
1233
991
|
flags,
|
1234
992
|
write,
|
@@ -1242,7 +1000,7 @@ function createChannel(streamIn) {
|
|
1242
1000
|
request.plugins = requestPlugins;
|
1243
1001
|
if (mangleCache)
|
1244
1002
|
request.mangleCache = mangleCache;
|
1245
|
-
let serve2 = serveOptions && buildServeData(refs, serveOptions, request
|
1003
|
+
let serve2 = serveOptions && buildServeData(buildKey, sendRequest, sendResponse, refs, requestCallbacks, serveOptions, request);
|
1246
1004
|
let rebuild;
|
1247
1005
|
let stop;
|
1248
1006
|
let copyResponseToResult = (response, result) => {
|
@@ -1269,11 +1027,11 @@ function createChannel(streamIn) {
|
|
1269
1027
|
if (!rebuild) {
|
1270
1028
|
let isDisposed = false;
|
1271
1029
|
rebuild = () => new Promise((resolve, reject) => {
|
1272
|
-
if (isDisposed || closeData)
|
1030
|
+
if (isDisposed || closeData.didClose)
|
1273
1031
|
throw new Error("Cannot rebuild");
|
1274
1032
|
sendRequest(
|
1275
1033
|
refs,
|
1276
|
-
{ command: "rebuild", key },
|
1034
|
+
{ command: "rebuild", key: buildKey },
|
1277
1035
|
(error2, response2) => {
|
1278
1036
|
if (error2) {
|
1279
1037
|
const message = { id: "", pluginName: "", text: error2, location: null, notes: [], detail: void 0 };
|
@@ -1293,7 +1051,7 @@ function createChannel(streamIn) {
|
|
1293
1051
|
if (isDisposed)
|
1294
1052
|
return;
|
1295
1053
|
isDisposed = true;
|
1296
|
-
sendRequest(refs, { command: "rebuild-dispose", key }, () => {
|
1054
|
+
sendRequest(refs, { command: "rebuild-dispose", key: buildKey }, () => {
|
1297
1055
|
});
|
1298
1056
|
refs.unref();
|
1299
1057
|
};
|
@@ -1308,36 +1066,35 @@ function createChannel(streamIn) {
|
|
1308
1066
|
if (isStopped)
|
1309
1067
|
return;
|
1310
1068
|
isStopped = true;
|
1311
|
-
|
1312
|
-
sendRequest(refs, { command: "watch-stop", key }, () => {
|
1069
|
+
delete requestCallbacks["watch-rebuild"];
|
1070
|
+
sendRequest(refs, { command: "watch-stop", key: buildKey }, () => {
|
1313
1071
|
});
|
1314
1072
|
refs.unref();
|
1315
1073
|
};
|
1316
1074
|
if (watch) {
|
1317
|
-
|
1318
|
-
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
|
1325
|
-
|
1326
|
-
|
1327
|
-
|
1328
|
-
|
1329
|
-
|
1075
|
+
requestCallbacks["watch-rebuild"] = (id, request2) => {
|
1076
|
+
try {
|
1077
|
+
let watchResponse = request2.args;
|
1078
|
+
let result2 = {
|
1079
|
+
errors: replaceDetailsInMessages(watchResponse.errors, details),
|
1080
|
+
warnings: replaceDetailsInMessages(watchResponse.warnings, details)
|
1081
|
+
};
|
1082
|
+
copyResponseToResult(watchResponse, result2);
|
1083
|
+
runOnEndCallbacks(result2, logPluginError, () => {
|
1084
|
+
if (result2.errors.length > 0) {
|
1085
|
+
if (watch.onRebuild)
|
1086
|
+
watch.onRebuild(failureErrorWithLog("Build failed", result2.errors, result2.warnings), null);
|
1087
|
+
return;
|
1088
|
+
}
|
1089
|
+
result2.stop = stop;
|
1330
1090
|
if (watch.onRebuild)
|
1331
|
-
watch.onRebuild(
|
1332
|
-
|
1333
|
-
|
1334
|
-
|
1335
|
-
|
1336
|
-
|
1337
|
-
|
1338
|
-
watch.onRebuild(null, result2);
|
1339
|
-
});
|
1340
|
-
});
|
1091
|
+
watch.onRebuild(null, result2);
|
1092
|
+
});
|
1093
|
+
} catch (err) {
|
1094
|
+
console.error(err);
|
1095
|
+
}
|
1096
|
+
sendResponse(id, {});
|
1097
|
+
};
|
1341
1098
|
}
|
1342
1099
|
}
|
1343
1100
|
result.stop = stop;
|
@@ -1376,144 +1133,329 @@ function createChannel(streamIn) {
|
|
1376
1133
|
}
|
1377
1134
|
return buildResponseToResult(response, callback);
|
1378
1135
|
});
|
1136
|
+
}
|
1137
|
+
}
|
1138
|
+
var buildServeData = (buildKey, sendRequest, sendResponse, refs, requestCallbacks, options, request) => {
|
1139
|
+
let keys = {};
|
1140
|
+
let port = getFlag(options, keys, "port", mustBeInteger);
|
1141
|
+
let host = getFlag(options, keys, "host", mustBeString);
|
1142
|
+
let servedir = getFlag(options, keys, "servedir", mustBeString);
|
1143
|
+
let onRequest = getFlag(options, keys, "onRequest", mustBeFunction);
|
1144
|
+
let wait = new Promise((resolve, reject) => {
|
1145
|
+
requestCallbacks["serve-wait"] = (id, request2) => {
|
1146
|
+
if (request2.error !== null)
|
1147
|
+
reject(new Error(request2.error));
|
1148
|
+
else
|
1149
|
+
resolve();
|
1150
|
+
sendResponse(id, {});
|
1151
|
+
};
|
1152
|
+
});
|
1153
|
+
request.serve = {};
|
1154
|
+
checkForInvalidFlags(options, keys, `in serve() call`);
|
1155
|
+
if (port !== void 0)
|
1156
|
+
request.serve.port = port;
|
1157
|
+
if (host !== void 0)
|
1158
|
+
request.serve.host = host;
|
1159
|
+
if (servedir !== void 0)
|
1160
|
+
request.serve.servedir = servedir;
|
1161
|
+
requestCallbacks["serve-request"] = (id, request2) => {
|
1162
|
+
if (onRequest)
|
1163
|
+
onRequest(request2.args);
|
1164
|
+
sendResponse(id, {});
|
1379
1165
|
};
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
|
1384
|
-
|
1385
|
-
|
1386
|
-
|
1387
|
-
|
1388
|
-
|
1389
|
-
|
1390
|
-
|
1391
|
-
|
1392
|
-
|
1393
|
-
|
1394
|
-
|
1395
|
-
|
1396
|
-
|
1397
|
-
|
1398
|
-
|
1399
|
-
|
1400
|
-
|
1401
|
-
|
1402
|
-
|
1403
|
-
|
1404
|
-
|
1405
|
-
|
1406
|
-
|
1407
|
-
|
1408
|
-
|
1409
|
-
|
1410
|
-
|
1166
|
+
return {
|
1167
|
+
wait,
|
1168
|
+
stop() {
|
1169
|
+
sendRequest(refs, { command: "serve-stop", key: buildKey }, () => {
|
1170
|
+
});
|
1171
|
+
}
|
1172
|
+
};
|
1173
|
+
};
|
1174
|
+
var handlePlugins = async (buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, initialOptions, plugins, details) => {
|
1175
|
+
let onStartCallbacks = [];
|
1176
|
+
let onEndCallbacks = [];
|
1177
|
+
let onResolveCallbacks = {};
|
1178
|
+
let onLoadCallbacks = {};
|
1179
|
+
let nextCallbackID = 0;
|
1180
|
+
let i = 0;
|
1181
|
+
let requestPlugins = [];
|
1182
|
+
let isSetupDone = false;
|
1183
|
+
plugins = [...plugins];
|
1184
|
+
for (let item of plugins) {
|
1185
|
+
let keys = {};
|
1186
|
+
if (typeof item !== "object")
|
1187
|
+
throw new Error(`Plugin at index ${i} must be an object`);
|
1188
|
+
const name = getFlag(item, keys, "name", mustBeString);
|
1189
|
+
if (typeof name !== "string" || name === "")
|
1190
|
+
throw new Error(`Plugin at index ${i} is missing a name`);
|
1191
|
+
try {
|
1192
|
+
let setup = getFlag(item, keys, "setup", mustBeFunction);
|
1193
|
+
if (typeof setup !== "function")
|
1194
|
+
throw new Error(`Plugin is missing a setup function`);
|
1195
|
+
checkForInvalidFlags(item, keys, `on plugin ${JSON.stringify(name)}`);
|
1196
|
+
let plugin = {
|
1197
|
+
name,
|
1198
|
+
onResolve: [],
|
1199
|
+
onLoad: []
|
1200
|
+
};
|
1201
|
+
i++;
|
1202
|
+
let resolve = (path3, options = {}) => {
|
1203
|
+
if (!isSetupDone)
|
1204
|
+
throw new Error('Cannot call "resolve" before plugin setup has completed');
|
1205
|
+
if (typeof path3 !== "string")
|
1206
|
+
throw new Error(`The path to resolve must be a string`);
|
1207
|
+
let keys2 = /* @__PURE__ */ Object.create(null);
|
1208
|
+
let pluginName = getFlag(options, keys2, "pluginName", mustBeString);
|
1209
|
+
let importer = getFlag(options, keys2, "importer", mustBeString);
|
1210
|
+
let namespace = getFlag(options, keys2, "namespace", mustBeString);
|
1211
|
+
let resolveDir = getFlag(options, keys2, "resolveDir", mustBeString);
|
1212
|
+
let kind = getFlag(options, keys2, "kind", mustBeString);
|
1213
|
+
let pluginData = getFlag(options, keys2, "pluginData", canBeAnything);
|
1214
|
+
checkForInvalidFlags(options, keys2, "in resolve() call");
|
1215
|
+
return new Promise((resolve2, reject) => {
|
1216
|
+
const request = {
|
1217
|
+
command: "resolve",
|
1218
|
+
path: path3,
|
1219
|
+
key: buildKey,
|
1220
|
+
pluginName: name
|
1411
1221
|
};
|
1412
|
-
if (
|
1413
|
-
|
1414
|
-
if (
|
1415
|
-
|
1416
|
-
|
1417
|
-
|
1418
|
-
|
1419
|
-
|
1420
|
-
|
1421
|
-
|
1422
|
-
|
1423
|
-
|
1424
|
-
|
1425
|
-
|
1426
|
-
|
1427
|
-
|
1428
|
-
|
1429
|
-
|
1430
|
-
|
1431
|
-
response.
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1222
|
+
if (pluginName != null)
|
1223
|
+
request.pluginName = pluginName;
|
1224
|
+
if (importer != null)
|
1225
|
+
request.importer = importer;
|
1226
|
+
if (namespace != null)
|
1227
|
+
request.namespace = namespace;
|
1228
|
+
if (resolveDir != null)
|
1229
|
+
request.resolveDir = resolveDir;
|
1230
|
+
if (kind != null)
|
1231
|
+
request.kind = kind;
|
1232
|
+
if (pluginData != null)
|
1233
|
+
request.pluginData = details.store(pluginData);
|
1234
|
+
sendRequest(refs, request, (error, response) => {
|
1235
|
+
if (error !== null)
|
1236
|
+
reject(new Error(error));
|
1237
|
+
else
|
1238
|
+
resolve2({
|
1239
|
+
errors: replaceDetailsInMessages(response.errors, details),
|
1240
|
+
warnings: replaceDetailsInMessages(response.warnings, details),
|
1241
|
+
path: response.path,
|
1242
|
+
external: response.external,
|
1243
|
+
sideEffects: response.sideEffects,
|
1244
|
+
namespace: response.namespace,
|
1245
|
+
suffix: response.suffix,
|
1246
|
+
pluginData: details.load(response.pluginData)
|
1247
|
+
});
|
1248
|
+
});
|
1437
1249
|
});
|
1438
|
-
}
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1442
|
-
|
1250
|
+
};
|
1251
|
+
let promise = setup({
|
1252
|
+
initialOptions,
|
1253
|
+
resolve,
|
1254
|
+
onStart(callback) {
|
1255
|
+
let registeredText = `This error came from the "onStart" callback registered here:`;
|
1256
|
+
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onStart");
|
1257
|
+
onStartCallbacks.push({ name, callback, note: registeredNote });
|
1258
|
+
},
|
1259
|
+
onEnd(callback) {
|
1260
|
+
let registeredText = `This error came from the "onEnd" callback registered here:`;
|
1261
|
+
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onEnd");
|
1262
|
+
onEndCallbacks.push({ name, callback, note: registeredNote });
|
1263
|
+
},
|
1264
|
+
onResolve(options, callback) {
|
1265
|
+
let registeredText = `This error came from the "onResolve" callback registered here:`;
|
1266
|
+
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onResolve");
|
1267
|
+
let keys2 = {};
|
1268
|
+
let filter = getFlag(options, keys2, "filter", mustBeRegExp);
|
1269
|
+
let namespace = getFlag(options, keys2, "namespace", mustBeString);
|
1270
|
+
checkForInvalidFlags(options, keys2, `in onResolve() call for plugin ${JSON.stringify(name)}`);
|
1271
|
+
if (filter == null)
|
1272
|
+
throw new Error(`onResolve() call is missing a filter`);
|
1273
|
+
let id = nextCallbackID++;
|
1274
|
+
onResolveCallbacks[id] = { name, callback, note: registeredNote };
|
1275
|
+
plugin.onResolve.push({ id, filter: filter.source, namespace: namespace || "" });
|
1276
|
+
},
|
1277
|
+
onLoad(options, callback) {
|
1278
|
+
let registeredText = `This error came from the "onLoad" callback registered here:`;
|
1279
|
+
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onLoad");
|
1280
|
+
let keys2 = {};
|
1281
|
+
let filter = getFlag(options, keys2, "filter", mustBeRegExp);
|
1282
|
+
let namespace = getFlag(options, keys2, "namespace", mustBeString);
|
1283
|
+
checkForInvalidFlags(options, keys2, `in onLoad() call for plugin ${JSON.stringify(name)}`);
|
1284
|
+
if (filter == null)
|
1285
|
+
throw new Error(`onLoad() call is missing a filter`);
|
1286
|
+
let id = nextCallbackID++;
|
1287
|
+
onLoadCallbacks[id] = { name, callback, note: registeredNote };
|
1288
|
+
plugin.onLoad.push({ id, filter: filter.source, namespace: namespace || "" });
|
1289
|
+
},
|
1290
|
+
esbuild: streamIn.esbuild
|
1291
|
+
});
|
1292
|
+
if (promise)
|
1293
|
+
await promise;
|
1294
|
+
requestPlugins.push(plugin);
|
1295
|
+
} catch (e) {
|
1296
|
+
return { ok: false, error: e, pluginName: name };
|
1297
|
+
}
|
1298
|
+
}
|
1299
|
+
requestCallbacks["on-start"] = async (id, request) => {
|
1300
|
+
let response = { errors: [], warnings: [] };
|
1301
|
+
await Promise.all(onStartCallbacks.map(async ({ name, callback, note }) => {
|
1302
|
+
try {
|
1303
|
+
let result = await callback();
|
1304
|
+
if (result != null) {
|
1305
|
+
if (typeof result !== "object")
|
1306
|
+
throw new Error(`Expected onStart() callback in plugin ${JSON.stringify(name)} to return an object`);
|
1307
|
+
let keys = {};
|
1308
|
+
let errors = getFlag(result, keys, "errors", mustBeArray);
|
1309
|
+
let warnings = getFlag(result, keys, "warnings", mustBeArray);
|
1310
|
+
checkForInvalidFlags(result, keys, `from onStart() callback in plugin ${JSON.stringify(name)}`);
|
1311
|
+
if (errors != null)
|
1312
|
+
response.errors.push(...sanitizeMessages(errors, "errors", details, name));
|
1313
|
+
if (warnings != null)
|
1314
|
+
response.warnings.push(...sanitizeMessages(warnings, "warnings", details, name));
|
1443
1315
|
}
|
1444
|
-
|
1445
|
-
|
1446
|
-
|
1447
|
-
|
1316
|
+
} catch (e) {
|
1317
|
+
response.errors.push(extractErrorMessageV8(e, streamIn, details, note && note(), name));
|
1318
|
+
}
|
1319
|
+
}));
|
1320
|
+
sendResponse(id, response);
|
1321
|
+
};
|
1322
|
+
requestCallbacks["on-resolve"] = async (id, request) => {
|
1323
|
+
let response = {}, name = "", callback, note;
|
1324
|
+
for (let id2 of request.ids) {
|
1325
|
+
try {
|
1326
|
+
({ name, callback, note } = onResolveCallbacks[id2]);
|
1327
|
+
let result = await callback({
|
1328
|
+
path: request.path,
|
1329
|
+
importer: request.importer,
|
1330
|
+
namespace: request.namespace,
|
1331
|
+
resolveDir: request.resolveDir,
|
1332
|
+
kind: request.kind,
|
1333
|
+
pluginData: details.load(request.pluginData)
|
1448
1334
|
});
|
1335
|
+
if (result != null) {
|
1336
|
+
if (typeof result !== "object")
|
1337
|
+
throw new Error(`Expected onResolve() callback in plugin ${JSON.stringify(name)} to return an object`);
|
1338
|
+
let keys = {};
|
1339
|
+
let pluginName = getFlag(result, keys, "pluginName", mustBeString);
|
1340
|
+
let path3 = getFlag(result, keys, "path", mustBeString);
|
1341
|
+
let namespace = getFlag(result, keys, "namespace", mustBeString);
|
1342
|
+
let suffix = getFlag(result, keys, "suffix", mustBeString);
|
1343
|
+
let external = getFlag(result, keys, "external", mustBeBoolean);
|
1344
|
+
let sideEffects = getFlag(result, keys, "sideEffects", mustBeBoolean);
|
1345
|
+
let pluginData = getFlag(result, keys, "pluginData", canBeAnything);
|
1346
|
+
let errors = getFlag(result, keys, "errors", mustBeArray);
|
1347
|
+
let warnings = getFlag(result, keys, "warnings", mustBeArray);
|
1348
|
+
let watchFiles = getFlag(result, keys, "watchFiles", mustBeArray);
|
1349
|
+
let watchDirs = getFlag(result, keys, "watchDirs", mustBeArray);
|
1350
|
+
checkForInvalidFlags(result, keys, `from onResolve() callback in plugin ${JSON.stringify(name)}`);
|
1351
|
+
response.id = id2;
|
1352
|
+
if (pluginName != null)
|
1353
|
+
response.pluginName = pluginName;
|
1354
|
+
if (path3 != null)
|
1355
|
+
response.path = path3;
|
1356
|
+
if (namespace != null)
|
1357
|
+
response.namespace = namespace;
|
1358
|
+
if (suffix != null)
|
1359
|
+
response.suffix = suffix;
|
1360
|
+
if (external != null)
|
1361
|
+
response.external = external;
|
1362
|
+
if (sideEffects != null)
|
1363
|
+
response.sideEffects = sideEffects;
|
1364
|
+
if (pluginData != null)
|
1365
|
+
response.pluginData = details.store(pluginData);
|
1366
|
+
if (errors != null)
|
1367
|
+
response.errors = sanitizeMessages(errors, "errors", details, name);
|
1368
|
+
if (warnings != null)
|
1369
|
+
response.warnings = sanitizeMessages(warnings, "warnings", details, name);
|
1370
|
+
if (watchFiles != null)
|
1371
|
+
response.watchFiles = sanitizeStringArray(watchFiles, "watchFiles");
|
1372
|
+
if (watchDirs != null)
|
1373
|
+
response.watchDirs = sanitizeStringArray(watchDirs, "watchDirs");
|
1374
|
+
break;
|
1375
|
+
}
|
1376
|
+
} catch (e) {
|
1377
|
+
response = { id: id2, errors: [extractErrorMessageV8(e, streamIn, details, note && note(), name)] };
|
1378
|
+
break;
|
1449
1379
|
}
|
1450
|
-
};
|
1451
|
-
if ((typeof input === "string" || input instanceof Uint8Array) && input.length > 1024 * 1024) {
|
1452
|
-
let next = start;
|
1453
|
-
start = () => fs3.writeFile(input, next);
|
1454
1380
|
}
|
1455
|
-
|
1381
|
+
sendResponse(id, response);
|
1456
1382
|
};
|
1457
|
-
|
1458
|
-
let
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1462
|
-
|
1463
|
-
|
1464
|
-
|
1465
|
-
|
1466
|
-
|
1467
|
-
|
1468
|
-
|
1469
|
-
|
1470
|
-
|
1471
|
-
|
1472
|
-
|
1473
|
-
|
1474
|
-
|
1475
|
-
|
1476
|
-
|
1477
|
-
|
1478
|
-
|
1479
|
-
|
1480
|
-
|
1481
|
-
|
1482
|
-
|
1483
|
-
|
1383
|
+
requestCallbacks["on-load"] = async (id, request) => {
|
1384
|
+
let response = {}, name = "", callback, note;
|
1385
|
+
for (let id2 of request.ids) {
|
1386
|
+
try {
|
1387
|
+
({ name, callback, note } = onLoadCallbacks[id2]);
|
1388
|
+
let result = await callback({
|
1389
|
+
path: request.path,
|
1390
|
+
namespace: request.namespace,
|
1391
|
+
suffix: request.suffix,
|
1392
|
+
pluginData: details.load(request.pluginData)
|
1393
|
+
});
|
1394
|
+
if (result != null) {
|
1395
|
+
if (typeof result !== "object")
|
1396
|
+
throw new Error(`Expected onLoad() callback in plugin ${JSON.stringify(name)} to return an object`);
|
1397
|
+
let keys = {};
|
1398
|
+
let pluginName = getFlag(result, keys, "pluginName", mustBeString);
|
1399
|
+
let contents = getFlag(result, keys, "contents", mustBeStringOrUint8Array);
|
1400
|
+
let resolveDir = getFlag(result, keys, "resolveDir", mustBeString);
|
1401
|
+
let pluginData = getFlag(result, keys, "pluginData", canBeAnything);
|
1402
|
+
let loader = getFlag(result, keys, "loader", mustBeString);
|
1403
|
+
let errors = getFlag(result, keys, "errors", mustBeArray);
|
1404
|
+
let warnings = getFlag(result, keys, "warnings", mustBeArray);
|
1405
|
+
let watchFiles = getFlag(result, keys, "watchFiles", mustBeArray);
|
1406
|
+
let watchDirs = getFlag(result, keys, "watchDirs", mustBeArray);
|
1407
|
+
checkForInvalidFlags(result, keys, `from onLoad() callback in plugin ${JSON.stringify(name)}`);
|
1408
|
+
response.id = id2;
|
1409
|
+
if (pluginName != null)
|
1410
|
+
response.pluginName = pluginName;
|
1411
|
+
if (contents instanceof Uint8Array)
|
1412
|
+
response.contents = contents;
|
1413
|
+
else if (contents != null)
|
1414
|
+
response.contents = encodeUTF8(contents);
|
1415
|
+
if (resolveDir != null)
|
1416
|
+
response.resolveDir = resolveDir;
|
1417
|
+
if (pluginData != null)
|
1418
|
+
response.pluginData = details.store(pluginData);
|
1419
|
+
if (loader != null)
|
1420
|
+
response.loader = loader;
|
1421
|
+
if (errors != null)
|
1422
|
+
response.errors = sanitizeMessages(errors, "errors", details, name);
|
1423
|
+
if (warnings != null)
|
1424
|
+
response.warnings = sanitizeMessages(warnings, "warnings", details, name);
|
1425
|
+
if (watchFiles != null)
|
1426
|
+
response.watchFiles = sanitizeStringArray(watchFiles, "watchFiles");
|
1427
|
+
if (watchDirs != null)
|
1428
|
+
response.watchDirs = sanitizeStringArray(watchDirs, "watchDirs");
|
1429
|
+
break;
|
1430
|
+
}
|
1431
|
+
} catch (e) {
|
1432
|
+
response = { id: id2, errors: [extractErrorMessageV8(e, streamIn, details, note && note(), name)] };
|
1433
|
+
break;
|
1434
|
+
}
|
1435
|
+
}
|
1436
|
+
sendResponse(id, response);
|
1484
1437
|
};
|
1485
|
-
let
|
1486
|
-
|
1487
|
-
|
1488
|
-
|
1489
|
-
|
1490
|
-
|
1491
|
-
|
1492
|
-
|
1493
|
-
|
1494
|
-
|
1438
|
+
let runOnEndCallbacks = (result, logPluginError, done) => done();
|
1439
|
+
if (onEndCallbacks.length > 0) {
|
1440
|
+
runOnEndCallbacks = (result, logPluginError, done) => {
|
1441
|
+
(async () => {
|
1442
|
+
for (const { name, callback, note } of onEndCallbacks) {
|
1443
|
+
try {
|
1444
|
+
await callback(result);
|
1445
|
+
} catch (e) {
|
1446
|
+
result.errors.push(await new Promise((resolve) => logPluginError(e, name, note && note(), resolve)));
|
1447
|
+
}
|
1448
|
+
}
|
1449
|
+
})().then(done);
|
1495
1450
|
};
|
1496
|
-
|
1497
|
-
|
1498
|
-
if (verbose !== void 0)
|
1499
|
-
request.verbose = verbose;
|
1500
|
-
sendRequest(refs, request, (error, response) => {
|
1501
|
-
if (error)
|
1502
|
-
return callback(new Error(error), null);
|
1503
|
-
callback(null, response.result);
|
1504
|
-
});
|
1505
|
-
};
|
1451
|
+
}
|
1452
|
+
isSetupDone = true;
|
1506
1453
|
return {
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
buildOrServe,
|
1511
|
-
transform: transform2,
|
1512
|
-
formatMessages: formatMessages2,
|
1513
|
-
analyzeMetafile: analyzeMetafile2
|
1514
|
-
}
|
1454
|
+
ok: true,
|
1455
|
+
requestPlugins,
|
1456
|
+
runOnEndCallbacks
|
1515
1457
|
};
|
1516
|
-
}
|
1458
|
+
};
|
1517
1459
|
function createObjectStash() {
|
1518
1460
|
const map = /* @__PURE__ */ new Map();
|
1519
1461
|
let nextID = 0;
|
@@ -1747,6 +1689,7 @@ var knownUnixlikePackages = {
|
|
1747
1689
|
"sunos x64 LE": "esbuild-sunos-64"
|
1748
1690
|
};
|
1749
1691
|
var knownWebAssemblyFallbackPackages = {
|
1692
|
+
"android arm LE": "@esbuild/android-arm",
|
1750
1693
|
"android x64 LE": "esbuild-android-64"
|
1751
1694
|
};
|
1752
1695
|
function pkgAndSubpathForCurrentPlatform() {
|
@@ -1861,7 +1804,7 @@ by esbuild to install the correct binary executable for your current platform.`)
|
|
1861
1804
|
"node_modules",
|
1862
1805
|
".cache",
|
1863
1806
|
"esbuild",
|
1864
|
-
`pnpapi-${pkg}-${"0.15.
|
1807
|
+
`pnpapi-${pkg}-${"0.15.8"}-${path.basename(subpath)}`
|
1865
1808
|
);
|
1866
1809
|
if (!fs.existsSync(binTargetPath)) {
|
1867
1810
|
fs.mkdirSync(path.dirname(binTargetPath), { recursive: true });
|
@@ -1892,7 +1835,7 @@ if (process.env.ESBUILD_WORKER_THREADS !== "0") {
|
|
1892
1835
|
}
|
1893
1836
|
}
|
1894
1837
|
var _a;
|
1895
|
-
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.15.
|
1838
|
+
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.15.8";
|
1896
1839
|
var esbuildCommandAndArgs = () => {
|
1897
1840
|
if ((!ESBUILD_BINARY_PATH || false) && (path2.basename(__filename) !== "main.js" || path2.basename(__dirname) !== "lib")) {
|
1898
1841
|
throw new Error(
|
@@ -1959,7 +1902,7 @@ var fsAsync = {
|
|
1959
1902
|
}
|
1960
1903
|
}
|
1961
1904
|
};
|
1962
|
-
var version = "0.15.
|
1905
|
+
var version = "0.15.8";
|
1963
1906
|
var build = (options) => ensureServiceIsRunning().build(options);
|
1964
1907
|
var serve = (serveOptions, buildOptions) => ensureServiceIsRunning().serve(serveOptions, buildOptions);
|
1965
1908
|
var transform = (input, options) => ensureServiceIsRunning().transform(input, options);
|
@@ -2070,7 +2013,7 @@ var ensureServiceIsRunning = () => {
|
|
2070
2013
|
if (longLivedService)
|
2071
2014
|
return longLivedService;
|
2072
2015
|
let [command, args] = esbuildCommandAndArgs();
|
2073
|
-
let child = child_process.spawn(command, args.concat(`--service=${"0.15.
|
2016
|
+
let child = child_process.spawn(command, args.concat(`--service=${"0.15.8"}`, "--ping"), {
|
2074
2017
|
windowsHide: true,
|
2075
2018
|
stdio: ["pipe", "pipe", "inherit"],
|
2076
2019
|
cwd: defaultWD
|
@@ -2184,7 +2127,7 @@ var runServiceSync = (callback) => {
|
|
2184
2127
|
esbuild: node_exports
|
2185
2128
|
});
|
2186
2129
|
callback(service);
|
2187
|
-
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.15.
|
2130
|
+
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.15.8"}`), {
|
2188
2131
|
cwd: defaultWD,
|
2189
2132
|
windowsHide: true,
|
2190
2133
|
input: stdin,
|
@@ -2200,7 +2143,7 @@ var workerThreadService = null;
|
|
2200
2143
|
var startWorkerThreadService = (worker_threads2) => {
|
2201
2144
|
let { port1: mainPort, port2: workerPort } = new worker_threads2.MessageChannel();
|
2202
2145
|
let worker = new worker_threads2.Worker(__filename, {
|
2203
|
-
workerData: { workerPort, defaultWD, esbuildVersion: "0.15.
|
2146
|
+
workerData: { workerPort, defaultWD, esbuildVersion: "0.15.8" },
|
2204
2147
|
transferList: [workerPort],
|
2205
2148
|
execArgv: []
|
2206
2149
|
});
|