isomorfeus-asset-manager 0.16.2 → 0.17.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.
- checksums.yaml +4 -4
- data/lib/isomorfeus/asset_manager/version.rb +1 -1
- data/node_modules/.package-lock.json +3 -3
- data/node_modules/esbuild-wasm/esbuild.wasm +0 -0
- data/node_modules/esbuild-wasm/esm/browser.d.ts +268 -243
- data/node_modules/esbuild-wasm/esm/browser.js +302 -229
- data/node_modules/esbuild-wasm/esm/browser.min.js +10 -10
- data/node_modules/esbuild-wasm/lib/browser.d.ts +268 -243
- data/node_modules/esbuild-wasm/lib/browser.js +301 -228
- data/node_modules/esbuild-wasm/lib/browser.min.js +11 -11
- data/node_modules/esbuild-wasm/lib/main.d.ts +268 -243
- data/node_modules/esbuild-wasm/lib/main.js +316 -285
- data/node_modules/esbuild-wasm/package.json +1 -1
- data/node_modules/esbuild-wasm/wasm_exec.js +2 -2
- data/package.json +1 -1
- metadata +28 -25
@@ -24,11 +24,11 @@ __export(node_exports, {
|
|
24
24
|
analyzeMetafileSync: () => analyzeMetafileSync,
|
25
25
|
build: () => build,
|
26
26
|
buildSync: () => buildSync,
|
27
|
+
context: () => context,
|
27
28
|
default: () => node_default,
|
28
29
|
formatMessages: () => formatMessages,
|
29
30
|
formatMessagesSync: () => formatMessagesSync,
|
30
31
|
initialize: () => initialize,
|
31
|
-
serve: () => serve,
|
32
32
|
transform: () => transform,
|
33
33
|
transformSync: () => transformSync,
|
34
34
|
version: () => version
|
@@ -215,15 +215,14 @@ function validateTarget(target) {
|
|
215
215
|
}
|
216
216
|
var canBeAnything = () => null;
|
217
217
|
var mustBeBoolean = (value) => typeof value === "boolean" ? null : "a boolean";
|
218
|
-
var mustBeBooleanOrObject = (value) => typeof value === "boolean" || typeof value === "object" && !Array.isArray(value) ? null : "a boolean or an object";
|
219
218
|
var mustBeString = (value) => typeof value === "string" ? null : "a string";
|
220
219
|
var mustBeRegExp = (value) => value instanceof RegExp ? null : "a RegExp object";
|
221
220
|
var mustBeInteger = (value) => typeof value === "number" && value === (value | 0) ? null : "an integer";
|
222
221
|
var mustBeFunction = (value) => typeof value === "function" ? null : "a function";
|
223
222
|
var mustBeArray = (value) => Array.isArray(value) ? null : "an array";
|
224
223
|
var mustBeObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value) ? null : "an object";
|
224
|
+
var mustBeEntryPoints = (value) => typeof value === "object" && value !== null ? null : "an array or an object";
|
225
225
|
var mustBeWebAssemblyModule = (value) => value instanceof WebAssembly.Module ? null : "a WebAssembly.Module";
|
226
|
-
var mustBeArrayOrRecord = (value) => typeof value === "object" && value !== null ? null : "an array or an object";
|
227
226
|
var mustBeObjectOrNull = (value) => typeof value === "object" && !Array.isArray(value) ? null : "an object or null";
|
228
227
|
var mustBeStringOrBoolean = (value) => typeof value === "string" || typeof value === "boolean" ? null : "a string or a boolean";
|
229
228
|
var mustBeStringOrObject = (value) => typeof value === "string" || typeof value === "object" && value !== null && !Array.isArray(value) ? null : "a string or an object";
|
@@ -411,12 +410,10 @@ function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeD
|
|
411
410
|
let keys = /* @__PURE__ */ Object.create(null);
|
412
411
|
let stdinContents = null;
|
413
412
|
let stdinResolveDir = null;
|
414
|
-
let watchMode = null;
|
415
413
|
pushLogFlags(flags, options, keys, isTTY2, logLevelDefault);
|
416
414
|
pushCommonFlags(flags, options, keys);
|
417
415
|
let sourcemap = getFlag(options, keys, "sourcemap", mustBeStringOrBoolean);
|
418
416
|
let bundle = getFlag(options, keys, "bundle", mustBeBoolean);
|
419
|
-
let watch = getFlag(options, keys, "watch", mustBeBooleanOrObject);
|
420
417
|
let splitting = getFlag(options, keys, "splitting", mustBeBoolean);
|
421
418
|
let preserveSymlinks = getFlag(options, keys, "preserveSymlinks", mustBeBoolean);
|
422
419
|
let metafile = getFlag(options, keys, "metafile", mustBeBoolean);
|
@@ -440,12 +437,11 @@ function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeD
|
|
440
437
|
let inject = getFlag(options, keys, "inject", mustBeArray);
|
441
438
|
let banner = getFlag(options, keys, "banner", mustBeObject);
|
442
439
|
let footer = getFlag(options, keys, "footer", mustBeObject);
|
443
|
-
let entryPoints = getFlag(options, keys, "entryPoints",
|
440
|
+
let entryPoints = getFlag(options, keys, "entryPoints", mustBeEntryPoints);
|
444
441
|
let absWorkingDir = getFlag(options, keys, "absWorkingDir", mustBeString);
|
445
442
|
let stdin = getFlag(options, keys, "stdin", mustBeObject);
|
446
443
|
let write = (_a2 = getFlag(options, keys, "write", mustBeBoolean)) != null ? _a2 : writeDefault;
|
447
444
|
let allowOverwrite = getFlag(options, keys, "allowOverwrite", mustBeBoolean);
|
448
|
-
let incremental = getFlag(options, keys, "incremental", mustBeBoolean) === true;
|
449
445
|
let mangleCache = getFlag(options, keys, "mangleCache", mustBeObject);
|
450
446
|
keys.plugins = true;
|
451
447
|
checkForInvalidFlags(options, keys, `in ${callName}() call`);
|
@@ -455,17 +451,6 @@ function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeD
|
|
455
451
|
flags.push("--bundle");
|
456
452
|
if (allowOverwrite)
|
457
453
|
flags.push("--allow-overwrite");
|
458
|
-
if (watch) {
|
459
|
-
flags.push("--watch");
|
460
|
-
if (typeof watch === "boolean") {
|
461
|
-
watchMode = {};
|
462
|
-
} else {
|
463
|
-
let watchKeys = /* @__PURE__ */ Object.create(null);
|
464
|
-
let onRebuild = getFlag(watch, watchKeys, "onRebuild", mustBeFunction);
|
465
|
-
checkForInvalidFlags(watch, watchKeys, `on "watch" in ${callName}() call`);
|
466
|
-
watchMode = { onRebuild };
|
467
|
-
}
|
468
|
-
}
|
469
454
|
if (splitting)
|
470
455
|
flags.push("--splitting");
|
471
456
|
if (preserveSymlinks)
|
@@ -563,8 +548,21 @@ function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeD
|
|
563
548
|
}
|
564
549
|
if (entryPoints) {
|
565
550
|
if (Array.isArray(entryPoints)) {
|
566
|
-
for (let
|
567
|
-
|
551
|
+
for (let i = 0, n = entryPoints.length; i < n; i++) {
|
552
|
+
let entryPoint = entryPoints[i];
|
553
|
+
if (typeof entryPoint === "object" && entryPoint !== null) {
|
554
|
+
let entryPointKeys = /* @__PURE__ */ Object.create(null);
|
555
|
+
let input = getFlag(entryPoint, entryPointKeys, "in", mustBeString);
|
556
|
+
let output = getFlag(entryPoint, entryPointKeys, "out", mustBeString);
|
557
|
+
checkForInvalidFlags(entryPoint, entryPointKeys, "in entry point at index " + i);
|
558
|
+
if (input === void 0)
|
559
|
+
throw new Error('Missing property "in" for entry point at index ' + i);
|
560
|
+
if (output === void 0)
|
561
|
+
throw new Error('Missing property "out" for entry point at index ' + i);
|
562
|
+
entries.push([output, input]);
|
563
|
+
} else {
|
564
|
+
entries.push(["", validateStringValue(entryPoint, "entry point at index " + i)]);
|
565
|
+
}
|
568
566
|
}
|
569
567
|
} else {
|
570
568
|
for (let key in entryPoints) {
|
@@ -604,9 +602,7 @@ function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeD
|
|
604
602
|
stdinContents,
|
605
603
|
stdinResolveDir,
|
606
604
|
absWorkingDir,
|
607
|
-
incremental,
|
608
605
|
nodePaths,
|
609
|
-
watch: watchMode,
|
610
606
|
mangleCache: validateMangleCache(mangleCache)
|
611
607
|
};
|
612
608
|
}
|
@@ -729,8 +725,8 @@ function createChannel(streamIn) {
|
|
729
725
|
if (isFirstPacket) {
|
730
726
|
isFirstPacket = false;
|
731
727
|
let binaryVersion = String.fromCharCode(...bytes);
|
732
|
-
if (binaryVersion !== "0.
|
733
|
-
throw new Error(`Cannot start service: Host version "${"0.
|
728
|
+
if (binaryVersion !== "0.17.12") {
|
729
|
+
throw new Error(`Cannot start service: Host version "${"0.17.12"}" does not match binary version ${quote(binaryVersion)}`);
|
734
730
|
}
|
735
731
|
return;
|
736
732
|
}
|
@@ -746,7 +742,7 @@ function createChannel(streamIn) {
|
|
746
742
|
callback(null, packet.value);
|
747
743
|
}
|
748
744
|
};
|
749
|
-
let
|
745
|
+
let buildOrContext = ({ callName, refs, options, isTTY: isTTY2, defaultWD: defaultWD2, callback }) => {
|
750
746
|
let refCount = 0;
|
751
747
|
const buildKey = nextBuildKey++;
|
752
748
|
const requestCallbacks = {};
|
@@ -767,7 +763,7 @@ function createChannel(streamIn) {
|
|
767
763
|
};
|
768
764
|
requestCallbacksByKey[buildKey] = requestCallbacks;
|
769
765
|
buildRefs.ref();
|
770
|
-
|
766
|
+
buildOrContextImpl(
|
771
767
|
callName,
|
772
768
|
buildKey,
|
773
769
|
sendRequest,
|
@@ -776,10 +772,8 @@ function createChannel(streamIn) {
|
|
776
772
|
streamIn,
|
777
773
|
requestCallbacks,
|
778
774
|
options,
|
779
|
-
serveOptions,
|
780
775
|
isTTY2,
|
781
776
|
defaultWD2,
|
782
|
-
closeData,
|
783
777
|
(err, res) => {
|
784
778
|
try {
|
785
779
|
callback(err, res);
|
@@ -815,7 +809,13 @@ function createChannel(streamIn) {
|
|
815
809
|
let outstanding = 1;
|
816
810
|
let next = () => {
|
817
811
|
if (--outstanding === 0) {
|
818
|
-
let result = {
|
812
|
+
let result = {
|
813
|
+
warnings,
|
814
|
+
code: response.code,
|
815
|
+
map: response.map,
|
816
|
+
mangleCache: void 0,
|
817
|
+
legalComments: void 0
|
818
|
+
};
|
819
819
|
if ("legalComments" in response)
|
820
820
|
result.legalComments = response == null ? void 0 : response.legalComments;
|
821
821
|
if (response.mangleCache)
|
@@ -921,30 +921,26 @@ function createChannel(streamIn) {
|
|
921
921
|
readFromStdout,
|
922
922
|
afterClose,
|
923
923
|
service: {
|
924
|
-
|
924
|
+
buildOrContext,
|
925
925
|
transform: transform2,
|
926
926
|
formatMessages: formatMessages2,
|
927
927
|
analyzeMetafile: analyzeMetafile2
|
928
928
|
}
|
929
929
|
};
|
930
930
|
}
|
931
|
-
function
|
931
|
+
function buildOrContextImpl(callName, buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, options, isTTY2, defaultWD2, callback) {
|
932
932
|
const details = createObjectStash();
|
933
|
-
const
|
933
|
+
const isContext = callName === "context";
|
934
|
+
const handleError = (e, pluginName) => {
|
934
935
|
const flags = [];
|
935
936
|
try {
|
936
937
|
pushLogFlags(flags, options, {}, isTTY2, buildLogLevelDefault);
|
937
938
|
} catch {
|
938
939
|
}
|
939
|
-
const message = extractErrorMessageV8(e, streamIn, details,
|
940
|
+
const message = extractErrorMessageV8(e, streamIn, details, void 0, pluginName);
|
940
941
|
sendRequest(refs, { command: "error", flags, error: message }, () => {
|
941
942
|
message.detail = details.load(message.detail);
|
942
|
-
|
943
|
-
});
|
944
|
-
};
|
945
|
-
const handleError = (e, pluginName) => {
|
946
|
-
logPluginError(e, pluginName, void 0, (error) => {
|
947
|
-
callback(failureErrorWithLog("Build failed", [error], []), null);
|
943
|
+
callback(failureErrorWithLog(isContext ? "Context failed" : "Build failed", [message], []), null);
|
948
944
|
});
|
949
945
|
};
|
950
946
|
let plugins;
|
@@ -952,15 +948,13 @@ function buildOrServeImpl(callName, buildKey, sendRequest, sendResponse, refs, s
|
|
952
948
|
const value = options.plugins;
|
953
949
|
if (value !== void 0) {
|
954
950
|
if (!Array.isArray(value))
|
955
|
-
|
951
|
+
return handleError(new Error(`"plugins" must be an array`), "");
|
956
952
|
plugins = value;
|
957
953
|
}
|
958
954
|
}
|
959
955
|
if (plugins && plugins.length > 0) {
|
960
|
-
if (streamIn.isSync)
|
961
|
-
handleError(new Error("Cannot use plugins in synchronous API calls"), "");
|
962
|
-
return;
|
963
|
-
}
|
956
|
+
if (streamIn.isSync)
|
957
|
+
return handleError(new Error("Cannot use plugins in synchronous API calls"), "");
|
964
958
|
handlePlugins(
|
965
959
|
buildKey,
|
966
960
|
sendRequest,
|
@@ -973,12 +967,10 @@ function buildOrServeImpl(callName, buildKey, sendRequest, sendResponse, refs, s
|
|
973
967
|
details
|
974
968
|
).then(
|
975
969
|
(result) => {
|
976
|
-
if (!result.ok)
|
977
|
-
handleError(result.error, result.pluginName);
|
978
|
-
return;
|
979
|
-
}
|
970
|
+
if (!result.ok)
|
971
|
+
return handleError(result.error, result.pluginName);
|
980
972
|
try {
|
981
|
-
|
973
|
+
buildOrContextContinue(result.requestPlugins, result.runOnEndCallbacks, result.scheduleOnDisposeCallbacks);
|
982
974
|
} catch (e) {
|
983
975
|
handleError(e, "");
|
984
976
|
}
|
@@ -988,25 +980,26 @@ function buildOrServeImpl(callName, buildKey, sendRequest, sendResponse, refs, s
|
|
988
980
|
return;
|
989
981
|
}
|
990
982
|
try {
|
991
|
-
|
983
|
+
buildOrContextContinue(null, (result, done) => done([], []), () => {
|
984
|
+
});
|
992
985
|
} catch (e) {
|
993
986
|
handleError(e, "");
|
994
987
|
}
|
995
|
-
function
|
996
|
-
|
997
|
-
|
988
|
+
function buildOrContextContinue(requestPlugins, runOnEndCallbacks, scheduleOnDisposeCallbacks) {
|
989
|
+
const writeDefault = streamIn.hasFS;
|
990
|
+
const {
|
998
991
|
entries,
|
999
992
|
flags,
|
1000
993
|
write,
|
1001
994
|
stdinContents,
|
1002
995
|
stdinResolveDir,
|
1003
996
|
absWorkingDir,
|
1004
|
-
incremental,
|
1005
997
|
nodePaths,
|
1006
|
-
watch,
|
1007
998
|
mangleCache
|
1008
999
|
} = flagsForBuildOptions(callName, options, isTTY2, buildLogLevelDefault, writeDefault);
|
1009
|
-
|
1000
|
+
if (write && !streamIn.hasFS)
|
1001
|
+
throw new Error(`The "write" option is unavailable in this environment`);
|
1002
|
+
const request = {
|
1010
1003
|
command: "build",
|
1011
1004
|
key: buildKey,
|
1012
1005
|
entries,
|
@@ -1015,17 +1008,23 @@ function buildOrServeImpl(callName, buildKey, sendRequest, sendResponse, refs, s
|
|
1015
1008
|
stdinContents,
|
1016
1009
|
stdinResolveDir,
|
1017
1010
|
absWorkingDir: absWorkingDir || defaultWD2,
|
1018
|
-
|
1019
|
-
|
1011
|
+
nodePaths,
|
1012
|
+
context: isContext
|
1020
1013
|
};
|
1021
1014
|
if (requestPlugins)
|
1022
1015
|
request.plugins = requestPlugins;
|
1023
1016
|
if (mangleCache)
|
1024
1017
|
request.mangleCache = mangleCache;
|
1025
|
-
|
1026
|
-
|
1027
|
-
|
1028
|
-
|
1018
|
+
const buildResponseToResult = (response, callback2) => {
|
1019
|
+
const result = {
|
1020
|
+
errors: replaceDetailsInMessages(response.errors, details),
|
1021
|
+
warnings: replaceDetailsInMessages(response.warnings, details),
|
1022
|
+
outputFiles: void 0,
|
1023
|
+
metafile: void 0,
|
1024
|
+
mangleCache: void 0
|
1025
|
+
};
|
1026
|
+
const originalErrors = result.errors.slice();
|
1027
|
+
const originalWarnings = result.warnings.slice();
|
1029
1028
|
if (response.outputFiles)
|
1030
1029
|
result.outputFiles = response.outputFiles.map(convertOutputFiles);
|
1031
1030
|
if (response.metafile)
|
@@ -1034,170 +1033,163 @@ function buildOrServeImpl(callName, buildKey, sendRequest, sendResponse, refs, s
|
|
1034
1033
|
result.mangleCache = response.mangleCache;
|
1035
1034
|
if (response.writeToStdout !== void 0)
|
1036
1035
|
console.log(decodeUTF8(response.writeToStdout).replace(/\n$/, ""));
|
1037
|
-
|
1038
|
-
|
1039
|
-
|
1040
|
-
|
1041
|
-
warnings: replaceDetailsInMessages(response.warnings, details)
|
1042
|
-
};
|
1043
|
-
copyResponseToResult(response, result);
|
1044
|
-
runOnEndCallbacks(result, logPluginError, () => {
|
1045
|
-
if (result.errors.length > 0) {
|
1046
|
-
return callback2(failureErrorWithLog("Build failed", result.errors, result.warnings), null);
|
1036
|
+
runOnEndCallbacks(result, (onEndErrors, onEndWarnings) => {
|
1037
|
+
if (originalErrors.length > 0 || onEndErrors.length > 0) {
|
1038
|
+
const error = failureErrorWithLog("Build failed", originalErrors.concat(onEndErrors), originalWarnings.concat(onEndWarnings));
|
1039
|
+
return callback2(error, null, onEndErrors, onEndWarnings);
|
1047
1040
|
}
|
1048
|
-
|
1049
|
-
|
1050
|
-
|
1051
|
-
|
1052
|
-
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1041
|
+
callback2(null, result, onEndErrors, onEndWarnings);
|
1042
|
+
});
|
1043
|
+
};
|
1044
|
+
let latestResultPromise;
|
1045
|
+
let provideLatestResult;
|
1046
|
+
if (isContext)
|
1047
|
+
requestCallbacks["on-end"] = (id, request2) => new Promise((resolve) => {
|
1048
|
+
buildResponseToResult(request2, (err, result, onEndErrors, onEndWarnings) => {
|
1049
|
+
const response = {
|
1050
|
+
errors: onEndErrors,
|
1051
|
+
warnings: onEndWarnings
|
1052
|
+
};
|
1053
|
+
if (provideLatestResult)
|
1054
|
+
provideLatestResult(err, result);
|
1055
|
+
latestResultPromise = void 0;
|
1056
|
+
provideLatestResult = void 0;
|
1057
|
+
sendResponse(id, response);
|
1058
|
+
resolve();
|
1059
|
+
});
|
1060
|
+
});
|
1061
|
+
sendRequest(refs, request, (error, response) => {
|
1062
|
+
if (error)
|
1063
|
+
return callback(new Error(error), null);
|
1064
|
+
if (!isContext) {
|
1065
|
+
return buildResponseToResult(response, (err, res) => {
|
1066
|
+
scheduleOnDisposeCallbacks();
|
1067
|
+
return callback(err, res);
|
1068
|
+
});
|
1069
|
+
}
|
1070
|
+
if (response.errors.length > 0) {
|
1071
|
+
return callback(failureErrorWithLog("Context failed", response.errors, response.warnings), null);
|
1072
|
+
}
|
1073
|
+
let didDispose = false;
|
1074
|
+
const result = {
|
1075
|
+
rebuild: () => {
|
1076
|
+
if (!latestResultPromise)
|
1077
|
+
latestResultPromise = new Promise((resolve, reject) => {
|
1078
|
+
let settlePromise;
|
1079
|
+
provideLatestResult = (err, result2) => {
|
1080
|
+
if (!settlePromise)
|
1081
|
+
settlePromise = () => err ? reject(err) : resolve(result2);
|
1082
|
+
};
|
1083
|
+
const triggerAnotherBuild = () => {
|
1084
|
+
const request2 = {
|
1085
|
+
command: "rebuild",
|
1086
|
+
key: buildKey
|
1087
|
+
};
|
1088
|
+
sendRequest(refs, request2, (error2, response2) => {
|
1058
1089
|
if (error2) {
|
1059
|
-
|
1060
|
-
|
1090
|
+
reject(new Error(error2));
|
1091
|
+
} else if (settlePromise) {
|
1092
|
+
settlePromise();
|
1093
|
+
} else {
|
1094
|
+
triggerAnotherBuild();
|
1061
1095
|
}
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
else
|
1066
|
-
resolve(result3);
|
1067
|
-
});
|
1068
|
-
}
|
1069
|
-
);
|
1096
|
+
});
|
1097
|
+
};
|
1098
|
+
triggerAnotherBuild();
|
1070
1099
|
});
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1093
|
-
|
1094
|
-
|
1095
|
-
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1099
|
-
|
1100
|
-
|
1101
|
-
|
1102
|
-
|
1103
|
-
|
1104
|
-
|
1105
|
-
|
1106
|
-
|
1107
|
-
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
|
1114
|
-
|
1115
|
-
|
1116
|
-
|
1117
|
-
|
1100
|
+
return latestResultPromise;
|
1101
|
+
},
|
1102
|
+
watch: (options2 = {}) => new Promise((resolve, reject) => {
|
1103
|
+
if (!streamIn.hasFS)
|
1104
|
+
throw new Error(`Cannot use the "watch" API in this environment`);
|
1105
|
+
const keys = {};
|
1106
|
+
checkForInvalidFlags(options2, keys, `in watch() call`);
|
1107
|
+
const request2 = {
|
1108
|
+
command: "watch",
|
1109
|
+
key: buildKey
|
1110
|
+
};
|
1111
|
+
sendRequest(refs, request2, (error2) => {
|
1112
|
+
if (error2)
|
1113
|
+
reject(new Error(error2));
|
1114
|
+
else
|
1115
|
+
resolve(void 0);
|
1116
|
+
});
|
1117
|
+
}),
|
1118
|
+
serve: (options2 = {}) => new Promise((resolve, reject) => {
|
1119
|
+
if (!streamIn.hasFS)
|
1120
|
+
throw new Error(`Cannot use the "serve" API in this environment`);
|
1121
|
+
const keys = {};
|
1122
|
+
const port = getFlag(options2, keys, "port", mustBeInteger);
|
1123
|
+
const host = getFlag(options2, keys, "host", mustBeString);
|
1124
|
+
const servedir = getFlag(options2, keys, "servedir", mustBeString);
|
1125
|
+
const keyfile = getFlag(options2, keys, "keyfile", mustBeString);
|
1126
|
+
const certfile = getFlag(options2, keys, "certfile", mustBeString);
|
1127
|
+
const onRequest = getFlag(options2, keys, "onRequest", mustBeFunction);
|
1128
|
+
checkForInvalidFlags(options2, keys, `in serve() call`);
|
1129
|
+
const request2 = {
|
1130
|
+
command: "serve",
|
1131
|
+
key: buildKey,
|
1132
|
+
onRequest: !!onRequest
|
1133
|
+
};
|
1134
|
+
if (port !== void 0)
|
1135
|
+
request2.port = port;
|
1136
|
+
if (host !== void 0)
|
1137
|
+
request2.host = host;
|
1138
|
+
if (servedir !== void 0)
|
1139
|
+
request2.servedir = servedir;
|
1140
|
+
if (keyfile !== void 0)
|
1141
|
+
request2.keyfile = keyfile;
|
1142
|
+
if (certfile !== void 0)
|
1143
|
+
request2.certfile = certfile;
|
1144
|
+
sendRequest(refs, request2, (error2, response2) => {
|
1145
|
+
if (error2)
|
1146
|
+
return reject(new Error(error2));
|
1147
|
+
if (onRequest) {
|
1148
|
+
requestCallbacks["serve-request"] = (id, request3) => {
|
1149
|
+
onRequest(request3.args);
|
1118
1150
|
sendResponse(id, {});
|
1119
1151
|
};
|
1120
1152
|
}
|
1121
|
-
|
1122
|
-
|
1123
|
-
}
|
1124
|
-
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
|
1129
|
-
|
1130
|
-
|
1131
|
-
|
1132
|
-
|
1133
|
-
|
1134
|
-
|
1135
|
-
|
1136
|
-
|
1137
|
-
|
1138
|
-
|
1139
|
-
|
1140
|
-
|
1141
|
-
|
1142
|
-
|
1143
|
-
|
1144
|
-
|
1145
|
-
|
1146
|
-
return;
|
1147
|
-
isStopped = true;
|
1148
|
-
serve2.stop();
|
1153
|
+
resolve(response2);
|
1154
|
+
});
|
1155
|
+
}),
|
1156
|
+
cancel: () => new Promise((resolve) => {
|
1157
|
+
if (didDispose)
|
1158
|
+
return resolve();
|
1159
|
+
const request2 = {
|
1160
|
+
command: "cancel",
|
1161
|
+
key: buildKey
|
1162
|
+
};
|
1163
|
+
sendRequest(refs, request2, () => {
|
1164
|
+
resolve();
|
1165
|
+
});
|
1166
|
+
}),
|
1167
|
+
dispose: () => new Promise((resolve) => {
|
1168
|
+
if (didDispose)
|
1169
|
+
return resolve();
|
1170
|
+
didDispose = true;
|
1171
|
+
const request2 = {
|
1172
|
+
command: "dispose",
|
1173
|
+
key: buildKey
|
1174
|
+
};
|
1175
|
+
sendRequest(refs, request2, () => {
|
1176
|
+
resolve();
|
1177
|
+
scheduleOnDisposeCallbacks();
|
1149
1178
|
refs.unref();
|
1150
|
-
}
|
1151
|
-
}
|
1152
|
-
|
1153
|
-
|
1154
|
-
|
1155
|
-
}
|
1156
|
-
return buildResponseToResult(response, callback);
|
1179
|
+
});
|
1180
|
+
})
|
1181
|
+
};
|
1182
|
+
refs.ref();
|
1183
|
+
callback(null, result);
|
1157
1184
|
});
|
1158
1185
|
}
|
1159
1186
|
}
|
1160
|
-
var buildServeData = (buildKey, sendRequest, sendResponse, refs, requestCallbacks, options, request) => {
|
1161
|
-
let keys = {};
|
1162
|
-
let port = getFlag(options, keys, "port", mustBeInteger);
|
1163
|
-
let host = getFlag(options, keys, "host", mustBeString);
|
1164
|
-
let servedir = getFlag(options, keys, "servedir", mustBeString);
|
1165
|
-
let onRequest = getFlag(options, keys, "onRequest", mustBeFunction);
|
1166
|
-
let wait = new Promise((resolve, reject) => {
|
1167
|
-
requestCallbacks["serve-wait"] = (id, request2) => {
|
1168
|
-
if (request2.error !== null)
|
1169
|
-
reject(new Error(request2.error));
|
1170
|
-
else
|
1171
|
-
resolve();
|
1172
|
-
sendResponse(id, {});
|
1173
|
-
};
|
1174
|
-
});
|
1175
|
-
request.serve = {};
|
1176
|
-
checkForInvalidFlags(options, keys, `in serve() call`);
|
1177
|
-
if (port !== void 0)
|
1178
|
-
request.serve.port = port;
|
1179
|
-
if (host !== void 0)
|
1180
|
-
request.serve.host = host;
|
1181
|
-
if (servedir !== void 0)
|
1182
|
-
request.serve.servedir = servedir;
|
1183
|
-
requestCallbacks["serve-request"] = (id, request2) => {
|
1184
|
-
if (onRequest)
|
1185
|
-
onRequest(request2.args);
|
1186
|
-
sendResponse(id, {});
|
1187
|
-
};
|
1188
|
-
return {
|
1189
|
-
wait,
|
1190
|
-
stop() {
|
1191
|
-
sendRequest(refs, { command: "serve-stop", key: buildKey }, () => {
|
1192
|
-
});
|
1193
|
-
}
|
1194
|
-
};
|
1195
|
-
};
|
1196
1187
|
var handlePlugins = async (buildKey, sendRequest, sendResponse, refs, streamIn, requestCallbacks, initialOptions, plugins, details) => {
|
1197
1188
|
let onStartCallbacks = [];
|
1198
1189
|
let onEndCallbacks = [];
|
1199
1190
|
let onResolveCallbacks = {};
|
1200
1191
|
let onLoadCallbacks = {};
|
1192
|
+
let onDisposeCallbacks = [];
|
1201
1193
|
let nextCallbackID = 0;
|
1202
1194
|
let i = 0;
|
1203
1195
|
let requestPlugins = [];
|
@@ -1217,6 +1209,8 @@ var handlePlugins = async (buildKey, sendRequest, sendResponse, refs, streamIn,
|
|
1217
1209
|
checkForInvalidFlags(item, keys, `on plugin ${quote(name)}`);
|
1218
1210
|
let plugin = {
|
1219
1211
|
name,
|
1212
|
+
onStart: false,
|
1213
|
+
onEnd: false,
|
1220
1214
|
onResolve: [],
|
1221
1215
|
onLoad: []
|
1222
1216
|
};
|
@@ -1279,11 +1273,13 @@ var handlePlugins = async (buildKey, sendRequest, sendResponse, refs, streamIn,
|
|
1279
1273
|
let registeredText = `This error came from the "onStart" callback registered here:`;
|
1280
1274
|
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onStart");
|
1281
1275
|
onStartCallbacks.push({ name, callback, note: registeredNote });
|
1276
|
+
plugin.onStart = true;
|
1282
1277
|
},
|
1283
1278
|
onEnd(callback) {
|
1284
1279
|
let registeredText = `This error came from the "onEnd" callback registered here:`;
|
1285
1280
|
let registeredNote = extractCallerV8(new Error(registeredText), streamIn, "onEnd");
|
1286
1281
|
onEndCallbacks.push({ name, callback, note: registeredNote });
|
1282
|
+
plugin.onEnd = true;
|
1287
1283
|
},
|
1288
1284
|
onResolve(options, callback) {
|
1289
1285
|
let registeredText = `This error came from the "onResolve" callback registered here:`;
|
@@ -1311,6 +1307,9 @@ var handlePlugins = async (buildKey, sendRequest, sendResponse, refs, streamIn,
|
|
1311
1307
|
onLoadCallbacks[id] = { name, callback, note: registeredNote };
|
1312
1308
|
plugin.onLoad.push({ id, filter: filter.source, namespace: namespace || "" });
|
1313
1309
|
},
|
1310
|
+
onDispose(callback) {
|
1311
|
+
onDisposeCallbacks.push(callback);
|
1312
|
+
},
|
1314
1313
|
esbuild: streamIn.esbuild
|
1315
1314
|
});
|
1316
1315
|
if (promise)
|
@@ -1459,25 +1458,62 @@ var handlePlugins = async (buildKey, sendRequest, sendResponse, refs, streamIn,
|
|
1459
1458
|
}
|
1460
1459
|
sendResponse(id, response);
|
1461
1460
|
};
|
1462
|
-
let runOnEndCallbacks = (result,
|
1461
|
+
let runOnEndCallbacks = (result, done) => done([], []);
|
1463
1462
|
if (onEndCallbacks.length > 0) {
|
1464
|
-
runOnEndCallbacks = (result,
|
1463
|
+
runOnEndCallbacks = (result, done) => {
|
1465
1464
|
(async () => {
|
1465
|
+
const onEndErrors = [];
|
1466
|
+
const onEndWarnings = [];
|
1466
1467
|
for (const { name, callback, note } of onEndCallbacks) {
|
1468
|
+
let newErrors;
|
1469
|
+
let newWarnings;
|
1467
1470
|
try {
|
1468
|
-
await callback(result);
|
1471
|
+
const value = await callback(result);
|
1472
|
+
if (value != null) {
|
1473
|
+
if (typeof value !== "object")
|
1474
|
+
throw new Error(`Expected onEnd() callback in plugin ${quote(name)} to return an object`);
|
1475
|
+
let keys = {};
|
1476
|
+
let errors = getFlag(value, keys, "errors", mustBeArray);
|
1477
|
+
let warnings = getFlag(value, keys, "warnings", mustBeArray);
|
1478
|
+
checkForInvalidFlags(value, keys, `from onEnd() callback in plugin ${quote(name)}`);
|
1479
|
+
if (errors != null)
|
1480
|
+
newErrors = sanitizeMessages(errors, "errors", details, name);
|
1481
|
+
if (warnings != null)
|
1482
|
+
newWarnings = sanitizeMessages(warnings, "warnings", details, name);
|
1483
|
+
}
|
1469
1484
|
} catch (e) {
|
1470
|
-
|
1485
|
+
newErrors = [extractErrorMessageV8(e, streamIn, details, note && note(), name)];
|
1486
|
+
}
|
1487
|
+
if (newErrors) {
|
1488
|
+
onEndErrors.push(...newErrors);
|
1489
|
+
try {
|
1490
|
+
result.errors.push(...newErrors);
|
1491
|
+
} catch {
|
1492
|
+
}
|
1493
|
+
}
|
1494
|
+
if (newWarnings) {
|
1495
|
+
onEndWarnings.push(...newWarnings);
|
1496
|
+
try {
|
1497
|
+
result.warnings.push(...newWarnings);
|
1498
|
+
} catch {
|
1499
|
+
}
|
1471
1500
|
}
|
1472
1501
|
}
|
1473
|
-
|
1502
|
+
done(onEndErrors, onEndWarnings);
|
1503
|
+
})();
|
1474
1504
|
};
|
1475
1505
|
}
|
1506
|
+
let scheduleOnDisposeCallbacks = () => {
|
1507
|
+
for (const cb of onDisposeCallbacks) {
|
1508
|
+
setTimeout(() => cb(), 0);
|
1509
|
+
}
|
1510
|
+
};
|
1476
1511
|
isSetupDone = true;
|
1477
1512
|
return {
|
1478
1513
|
ok: true,
|
1479
1514
|
requestPlugins,
|
1480
|
-
runOnEndCallbacks
|
1515
|
+
runOnEndCallbacks,
|
1516
|
+
scheduleOnDisposeCallbacks
|
1481
1517
|
};
|
1482
1518
|
};
|
1483
1519
|
function createObjectStash() {
|
@@ -1703,12 +1739,15 @@ if (process.env.ESBUILD_WORKER_THREADS !== "0") {
|
|
1703
1739
|
} catch {
|
1704
1740
|
}
|
1705
1741
|
let [major, minor] = process.versions.node.split(".");
|
1706
|
-
if (
|
1742
|
+
if (
|
1743
|
+
// <v12.17.0 does not work
|
1744
|
+
+major < 12 || +major === 12 && +minor < 17 || +major === 13 && +minor < 13
|
1745
|
+
) {
|
1707
1746
|
worker_threads = void 0;
|
1708
1747
|
}
|
1709
1748
|
}
|
1710
1749
|
var _a;
|
1711
|
-
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.
|
1750
|
+
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.17.12";
|
1712
1751
|
var esbuildCommandAndArgs = () => {
|
1713
1752
|
if ((!ESBUILD_BINARY_PATH || true) && (path2.basename(__filename) !== "main.js" || path2.basename(__dirname) !== "lib")) {
|
1714
1753
|
throw new Error(
|
@@ -1775,9 +1814,9 @@ var fsAsync = {
|
|
1775
1814
|
}
|
1776
1815
|
}
|
1777
1816
|
};
|
1778
|
-
var version = "0.
|
1817
|
+
var version = "0.17.12";
|
1779
1818
|
var build = (options) => ensureServiceIsRunning().build(options);
|
1780
|
-
var
|
1819
|
+
var context = (buildOptions) => ensureServiceIsRunning().context(buildOptions);
|
1781
1820
|
var transform = (input, options) => ensureServiceIsRunning().transform(input, options);
|
1782
1821
|
var formatMessages = (messages, options) => ensureServiceIsRunning().formatMessages(messages, options);
|
1783
1822
|
var analyzeMetafile = (messages, options) => ensureServiceIsRunning().analyzeMetafile(messages, options);
|
@@ -1788,10 +1827,9 @@ var buildSync = (options) => {
|
|
1788
1827
|
return workerThreadService.buildSync(options);
|
1789
1828
|
}
|
1790
1829
|
let result;
|
1791
|
-
runServiceSync((service) => service.
|
1830
|
+
runServiceSync((service) => service.buildOrContext({
|
1792
1831
|
callName: "buildSync",
|
1793
1832
|
refs: null,
|
1794
|
-
serveOptions: null,
|
1795
1833
|
options,
|
1796
1834
|
isTTY: isTTY(),
|
1797
1835
|
defaultWD,
|
@@ -1886,7 +1924,7 @@ var ensureServiceIsRunning = () => {
|
|
1886
1924
|
if (longLivedService)
|
1887
1925
|
return longLivedService;
|
1888
1926
|
let [command, args] = esbuildCommandAndArgs();
|
1889
|
-
let child = child_process.spawn(command, args.concat(`--service=${"0.
|
1927
|
+
let child = child_process.spawn(command, args.concat(`--service=${"0.17.12"}`, "--ping"), {
|
1890
1928
|
windowsHide: true,
|
1891
1929
|
stdio: ["pipe", "pipe", "inherit"],
|
1892
1930
|
cwd: defaultWD
|
@@ -1900,7 +1938,7 @@ var ensureServiceIsRunning = () => {
|
|
1900
1938
|
},
|
1901
1939
|
readFileSync: fs2.readFileSync,
|
1902
1940
|
isSync: false,
|
1903
|
-
|
1941
|
+
hasFS: true,
|
1904
1942
|
esbuild: node_exports
|
1905
1943
|
});
|
1906
1944
|
child.stdin.on("error", afterClose);
|
@@ -1928,61 +1966,47 @@ var ensureServiceIsRunning = () => {
|
|
1928
1966
|
}
|
1929
1967
|
};
|
1930
1968
|
longLivedService = {
|
1931
|
-
build: (options) => {
|
1932
|
-
|
1933
|
-
|
1934
|
-
callName: "build",
|
1935
|
-
refs,
|
1936
|
-
serveOptions: null,
|
1937
|
-
options,
|
1938
|
-
isTTY: isTTY(),
|
1939
|
-
defaultWD,
|
1940
|
-
callback: (err, res) => err ? reject(err) : resolve(res)
|
1941
|
-
});
|
1942
|
-
});
|
1943
|
-
},
|
1944
|
-
serve: (serveOptions, buildOptions) => {
|
1945
|
-
if (serveOptions === null || typeof serveOptions !== "object")
|
1946
|
-
throw new Error("The first argument must be an object");
|
1947
|
-
return new Promise((resolve, reject) => service.buildOrServe({
|
1948
|
-
callName: "serve",
|
1969
|
+
build: (options) => new Promise((resolve, reject) => {
|
1970
|
+
service.buildOrContext({
|
1971
|
+
callName: "build",
|
1949
1972
|
refs,
|
1950
|
-
|
1951
|
-
options: buildOptions,
|
1973
|
+
options,
|
1952
1974
|
isTTY: isTTY(),
|
1953
1975
|
defaultWD,
|
1954
1976
|
callback: (err, res) => err ? reject(err) : resolve(res)
|
1955
|
-
})
|
1956
|
-
},
|
1957
|
-
|
1958
|
-
|
1959
|
-
|
1960
|
-
|
1961
|
-
|
1962
|
-
|
1963
|
-
|
1964
|
-
|
1965
|
-
|
1966
|
-
|
1967
|
-
|
1968
|
-
|
1969
|
-
|
1970
|
-
|
1971
|
-
|
1972
|
-
|
1973
|
-
|
1974
|
-
|
1975
|
-
|
1976
|
-
|
1977
|
-
|
1978
|
-
|
1979
|
-
|
1980
|
-
|
1981
|
-
|
1982
|
-
|
1983
|
-
|
1984
|
-
|
1985
|
-
|
1977
|
+
});
|
1978
|
+
}),
|
1979
|
+
context: (options) => new Promise((resolve, reject) => service.buildOrContext({
|
1980
|
+
callName: "context",
|
1981
|
+
refs,
|
1982
|
+
options,
|
1983
|
+
isTTY: isTTY(),
|
1984
|
+
defaultWD,
|
1985
|
+
callback: (err, res) => err ? reject(err) : resolve(res)
|
1986
|
+
})),
|
1987
|
+
transform: (input, options) => new Promise((resolve, reject) => service.transform({
|
1988
|
+
callName: "transform",
|
1989
|
+
refs,
|
1990
|
+
input,
|
1991
|
+
options: options || {},
|
1992
|
+
isTTY: isTTY(),
|
1993
|
+
fs: fsAsync,
|
1994
|
+
callback: (err, res) => err ? reject(err) : resolve(res)
|
1995
|
+
})),
|
1996
|
+
formatMessages: (messages, options) => new Promise((resolve, reject) => service.formatMessages({
|
1997
|
+
callName: "formatMessages",
|
1998
|
+
refs,
|
1999
|
+
messages,
|
2000
|
+
options,
|
2001
|
+
callback: (err, res) => err ? reject(err) : resolve(res)
|
2002
|
+
})),
|
2003
|
+
analyzeMetafile: (metafile, options) => new Promise((resolve, reject) => service.analyzeMetafile({
|
2004
|
+
callName: "analyzeMetafile",
|
2005
|
+
refs,
|
2006
|
+
metafile: typeof metafile === "string" ? metafile : JSON.stringify(metafile),
|
2007
|
+
options,
|
2008
|
+
callback: (err, res) => err ? reject(err) : resolve(res)
|
2009
|
+
}))
|
1986
2010
|
};
|
1987
2011
|
return longLivedService;
|
1988
2012
|
};
|
@@ -1996,14 +2020,18 @@ var runServiceSync = (callback) => {
|
|
1996
2020
|
stdin = bytes;
|
1997
2021
|
},
|
1998
2022
|
isSync: true,
|
1999
|
-
|
2023
|
+
hasFS: true,
|
2000
2024
|
esbuild: node_exports
|
2001
2025
|
});
|
2002
2026
|
callback(service);
|
2003
|
-
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.
|
2027
|
+
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.17.12"}`), {
|
2004
2028
|
cwd: defaultWD,
|
2005
2029
|
windowsHide: true,
|
2006
2030
|
input: stdin,
|
2031
|
+
// We don't know how large the output could be. If it's too large, the
|
2032
|
+
// command will fail with ENOBUFS. Reserve 16mb for now since that feels
|
2033
|
+
// like it should be enough. Also allow overriding this with an environment
|
2034
|
+
// variable.
|
2007
2035
|
maxBuffer: +process.env.ESBUILD_MAX_BUFFER || 16 * 1024 * 1024
|
2008
2036
|
});
|
2009
2037
|
readFromStdout(stdout);
|
@@ -2016,8 +2044,17 @@ var workerThreadService = null;
|
|
2016
2044
|
var startWorkerThreadService = (worker_threads2) => {
|
2017
2045
|
let { port1: mainPort, port2: workerPort } = new worker_threads2.MessageChannel();
|
2018
2046
|
let worker = new worker_threads2.Worker(__filename, {
|
2019
|
-
workerData: { workerPort, defaultWD, esbuildVersion: "0.
|
2047
|
+
workerData: { workerPort, defaultWD, esbuildVersion: "0.17.12" },
|
2020
2048
|
transferList: [workerPort],
|
2049
|
+
// From node's documentation: https://nodejs.org/api/worker_threads.html
|
2050
|
+
//
|
2051
|
+
// Take care when launching worker threads from preload scripts (scripts loaded
|
2052
|
+
// and run using the `-r` command line flag). Unless the `execArgv` option is
|
2053
|
+
// explicitly set, new Worker threads automatically inherit the command line flags
|
2054
|
+
// from the running process and will preload the same preload scripts as the main
|
2055
|
+
// thread. If the preload script unconditionally launches a worker thread, every
|
2056
|
+
// thread spawned will spawn another until the application crashes.
|
2057
|
+
//
|
2021
2058
|
execArgv: []
|
2022
2059
|
});
|
2023
2060
|
let nextID = 0;
|
@@ -2033,14 +2070,8 @@ error: ${text}`);
|
|
2033
2070
|
if (!options)
|
2034
2071
|
return;
|
2035
2072
|
let plugins = options.plugins;
|
2036
|
-
let incremental = options.incremental;
|
2037
|
-
let watch = options.watch;
|
2038
2073
|
if (plugins && plugins.length > 0)
|
2039
2074
|
throw fakeBuildError(`Cannot use plugins in synchronous API calls`);
|
2040
|
-
if (incremental)
|
2041
|
-
throw fakeBuildError(`Cannot use "incremental" with a synchronous build`);
|
2042
|
-
if (watch)
|
2043
|
-
throw fakeBuildError(`Cannot use "watch" with a synchronous build`);
|
2044
2075
|
};
|
2045
2076
|
let applyProperties = (object, properties) => {
|
2046
2077
|
for (let key in properties) {
|
@@ -2145,10 +2176,10 @@ var node_default = node_exports;
|
|
2145
2176
|
analyzeMetafileSync,
|
2146
2177
|
build,
|
2147
2178
|
buildSync,
|
2179
|
+
context,
|
2148
2180
|
formatMessages,
|
2149
2181
|
formatMessagesSync,
|
2150
2182
|
initialize,
|
2151
|
-
serve,
|
2152
2183
|
transform,
|
2153
2184
|
transformSync,
|
2154
2185
|
version
|