esbuild 0.12.4 → 0.12.8
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/install.js +50 -72
- package/lib/main.d.ts +1 -0
- package/lib/main.js +33 -50
- package/package.json +1 -1
package/install.js
CHANGED
|
@@ -17,88 +17,66 @@ var __spreadValues = (a, b) => {
|
|
|
17
17
|
return a;
|
|
18
18
|
};
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
-
var __async = (__this, __arguments, generator) => {
|
|
21
|
-
return new Promise((resolve, reject) => {
|
|
22
|
-
var fulfilled = (value) => {
|
|
23
|
-
try {
|
|
24
|
-
step(generator.next(value));
|
|
25
|
-
} catch (e) {
|
|
26
|
-
reject(e);
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
var rejected = (value) => {
|
|
30
|
-
try {
|
|
31
|
-
step(generator.throw(value));
|
|
32
|
-
} catch (e) {
|
|
33
|
-
reject(e);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
37
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
20
|
const fs = require("fs");
|
|
41
21
|
const os = require("os");
|
|
42
22
|
const path = require("path");
|
|
43
23
|
const zlib = require("zlib");
|
|
44
24
|
const https = require("https");
|
|
45
25
|
const child_process = require("child_process");
|
|
46
|
-
const version = "0.12.
|
|
26
|
+
const version = "0.12.8";
|
|
47
27
|
const binPath = path.join(__dirname, "bin", "esbuild");
|
|
48
|
-
function installBinaryFromPackage(name, fromPath, toPath) {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
console.error(`Trying to download ${JSON.stringify(url)}`);
|
|
72
|
-
try {
|
|
73
|
-
buffer = extractFileFromTarGzip(yield fetch(url), fromPath);
|
|
74
|
-
} catch (err) {
|
|
75
|
-
console.error(`Failed to download ${JSON.stringify(url)}: ${err && err.message || err}`);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
if (!buffer) {
|
|
79
|
-
console.error(`Install unsuccessful`);
|
|
80
|
-
process.exit(1);
|
|
81
|
-
}
|
|
82
|
-
fs.writeFileSync(toPath, buffer, { mode: 493 });
|
|
28
|
+
async function installBinaryFromPackage(name, fromPath, toPath) {
|
|
29
|
+
const cachePath = getCachePath(name);
|
|
30
|
+
try {
|
|
31
|
+
fs.copyFileSync(cachePath, toPath);
|
|
32
|
+
fs.chmodSync(toPath, 493);
|
|
33
|
+
validateBinaryVersion(toPath);
|
|
34
|
+
const now = new Date();
|
|
35
|
+
fs.utimesSync(cachePath, now, now);
|
|
36
|
+
return;
|
|
37
|
+
} catch (e) {
|
|
38
|
+
}
|
|
39
|
+
let buffer;
|
|
40
|
+
let didFail = false;
|
|
41
|
+
try {
|
|
42
|
+
buffer = installUsingNPM(name, fromPath);
|
|
43
|
+
} catch (err) {
|
|
44
|
+
didFail = true;
|
|
45
|
+
console.error(`Trying to install "${name}" using npm`);
|
|
46
|
+
console.error(`Failed to install "${name}" using npm: ${err && err.message || err}`);
|
|
47
|
+
}
|
|
48
|
+
if (!buffer) {
|
|
49
|
+
const url = `https://registry.npmjs.org/${name}/-/${name}-${version}.tgz`;
|
|
50
|
+
console.error(`Trying to download ${JSON.stringify(url)}`);
|
|
83
51
|
try {
|
|
84
|
-
|
|
52
|
+
buffer = extractFileFromTarGzip(await fetch(url), fromPath);
|
|
85
53
|
} catch (err) {
|
|
86
|
-
console.error(`
|
|
87
|
-
console.error(`Install unsuccessful`);
|
|
88
|
-
process.exit(1);
|
|
54
|
+
console.error(`Failed to download ${JSON.stringify(url)}: ${err && err.message || err}`);
|
|
89
55
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
56
|
+
}
|
|
57
|
+
if (!buffer) {
|
|
58
|
+
console.error(`Install unsuccessful`);
|
|
59
|
+
process.exit(1);
|
|
60
|
+
}
|
|
61
|
+
fs.writeFileSync(toPath, buffer, { mode: 493 });
|
|
62
|
+
try {
|
|
63
|
+
validateBinaryVersion(toPath);
|
|
64
|
+
} catch (err) {
|
|
65
|
+
console.error(`The version of the downloaded binary is incorrect: ${err && err.message || err}`);
|
|
66
|
+
console.error(`Install unsuccessful`);
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
fs.mkdirSync(path.dirname(cachePath), {
|
|
71
|
+
recursive: true,
|
|
72
|
+
mode: 448
|
|
73
|
+
});
|
|
74
|
+
fs.copyFileSync(toPath, cachePath);
|
|
75
|
+
cleanCacheLRU(cachePath);
|
|
76
|
+
} catch (e) {
|
|
77
|
+
}
|
|
78
|
+
if (didFail)
|
|
79
|
+
console.error(`Install successful`);
|
|
102
80
|
}
|
|
103
81
|
function validateBinaryVersion(binaryPath) {
|
|
104
82
|
const stdout = child_process.execFileSync(binaryPath, ["--version"]).toString().trim();
|
package/lib/main.d.ts
CHANGED
package/lib/main.js
CHANGED
|
@@ -19,32 +19,12 @@ var __spreadValues = (a, b) => {
|
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
21
21
|
var __export = (target, all) => {
|
|
22
|
+
__markAsModule(target);
|
|
22
23
|
for (var name in all)
|
|
23
24
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
24
25
|
};
|
|
25
|
-
var __async = (__this, __arguments, generator) => {
|
|
26
|
-
return new Promise((resolve, reject) => {
|
|
27
|
-
var fulfilled = (value) => {
|
|
28
|
-
try {
|
|
29
|
-
step(generator.next(value));
|
|
30
|
-
} catch (e) {
|
|
31
|
-
reject(e);
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
var rejected = (value) => {
|
|
35
|
-
try {
|
|
36
|
-
step(generator.throw(value));
|
|
37
|
-
} catch (e) {
|
|
38
|
-
reject(e);
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
42
|
-
step((generator = generator.apply(__this, __arguments)).next());
|
|
43
|
-
});
|
|
44
|
-
};
|
|
45
26
|
|
|
46
27
|
// lib/npm/node.ts
|
|
47
|
-
__markAsModule(exports);
|
|
48
28
|
__export(exports, {
|
|
49
29
|
build: () => build,
|
|
50
30
|
buildSync: () => buildSync,
|
|
@@ -641,7 +621,7 @@ function createChannel(streamIn) {
|
|
|
641
621
|
throw new Error("The service is no longer running");
|
|
642
622
|
streamIn.writeToStdin(encodePacket({ id, isRequest: false, value }));
|
|
643
623
|
};
|
|
644
|
-
let handleRequest = (id, request) =>
|
|
624
|
+
let handleRequest = async (id, request) => {
|
|
645
625
|
try {
|
|
646
626
|
switch (request.command) {
|
|
647
627
|
case "ping": {
|
|
@@ -653,7 +633,7 @@ function createChannel(streamIn) {
|
|
|
653
633
|
if (!callback)
|
|
654
634
|
sendResponse(id, {});
|
|
655
635
|
else
|
|
656
|
-
sendResponse(id,
|
|
636
|
+
sendResponse(id, await callback(request));
|
|
657
637
|
break;
|
|
658
638
|
}
|
|
659
639
|
case "resolve": {
|
|
@@ -661,7 +641,7 @@ function createChannel(streamIn) {
|
|
|
661
641
|
if (!callback)
|
|
662
642
|
sendResponse(id, {});
|
|
663
643
|
else
|
|
664
|
-
sendResponse(id,
|
|
644
|
+
sendResponse(id, await callback(request));
|
|
665
645
|
break;
|
|
666
646
|
}
|
|
667
647
|
case "load": {
|
|
@@ -669,7 +649,7 @@ function createChannel(streamIn) {
|
|
|
669
649
|
if (!callback)
|
|
670
650
|
sendResponse(id, {});
|
|
671
651
|
else
|
|
672
|
-
sendResponse(id,
|
|
652
|
+
sendResponse(id, await callback(request));
|
|
673
653
|
break;
|
|
674
654
|
}
|
|
675
655
|
case "serve-request": {
|
|
@@ -703,14 +683,14 @@ function createChannel(streamIn) {
|
|
|
703
683
|
} catch (e) {
|
|
704
684
|
sendResponse(id, { errors: [extractErrorMessageV8(e, streamIn, null, void 0, "")] });
|
|
705
685
|
}
|
|
706
|
-
}
|
|
686
|
+
};
|
|
707
687
|
let isFirstPacket = true;
|
|
708
688
|
let handleIncomingPacket = (bytes) => {
|
|
709
689
|
if (isFirstPacket) {
|
|
710
690
|
isFirstPacket = false;
|
|
711
691
|
let binaryVersion = String.fromCharCode(...bytes);
|
|
712
|
-
if (binaryVersion !== "0.12.
|
|
713
|
-
throw new Error(`Cannot start service: Host version "${"0.12.
|
|
692
|
+
if (binaryVersion !== "0.12.8") {
|
|
693
|
+
throw new Error(`Cannot start service: Host version "${"0.12.8"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
|
|
714
694
|
}
|
|
715
695
|
return;
|
|
716
696
|
}
|
|
@@ -726,7 +706,7 @@ function createChannel(streamIn) {
|
|
|
726
706
|
callback(null, packet.value);
|
|
727
707
|
}
|
|
728
708
|
};
|
|
729
|
-
let handlePlugins = (initialOptions, plugins, buildKey, stash) =>
|
|
709
|
+
let handlePlugins = async (initialOptions, plugins, buildKey, stash) => {
|
|
730
710
|
let onStartCallbacks = [];
|
|
731
711
|
let onEndCallbacks = [];
|
|
732
712
|
let onResolveCallbacks = {};
|
|
@@ -793,19 +773,19 @@ function createChannel(streamIn) {
|
|
|
793
773
|
}
|
|
794
774
|
});
|
|
795
775
|
if (promise)
|
|
796
|
-
|
|
776
|
+
await promise;
|
|
797
777
|
requestPlugins.push(plugin);
|
|
798
778
|
} catch (e) {
|
|
799
779
|
return { ok: false, error: e, pluginName: name };
|
|
800
780
|
}
|
|
801
781
|
}
|
|
802
|
-
const callback = (request) =>
|
|
782
|
+
const callback = async (request) => {
|
|
803
783
|
switch (request.command) {
|
|
804
784
|
case "start": {
|
|
805
785
|
let response = { errors: [], warnings: [] };
|
|
806
|
-
|
|
786
|
+
await Promise.all(onStartCallbacks.map(async ({ name, callback: callback2, note }) => {
|
|
807
787
|
try {
|
|
808
|
-
let result =
|
|
788
|
+
let result = await callback2();
|
|
809
789
|
if (result != null) {
|
|
810
790
|
if (typeof result !== "object")
|
|
811
791
|
throw new Error(`Expected onStart() callback in plugin ${JSON.stringify(name)} to return an object`);
|
|
@@ -821,7 +801,7 @@ function createChannel(streamIn) {
|
|
|
821
801
|
} catch (e) {
|
|
822
802
|
response.errors.push(extractErrorMessageV8(e, streamIn, stash, note && note(), name));
|
|
823
803
|
}
|
|
824
|
-
}))
|
|
804
|
+
}));
|
|
825
805
|
return response;
|
|
826
806
|
}
|
|
827
807
|
case "resolve": {
|
|
@@ -829,7 +809,7 @@ function createChannel(streamIn) {
|
|
|
829
809
|
for (let id of request.ids) {
|
|
830
810
|
try {
|
|
831
811
|
({ name, callback: callback2, note } = onResolveCallbacks[id]);
|
|
832
|
-
let result =
|
|
812
|
+
let result = await callback2({
|
|
833
813
|
path: request.path,
|
|
834
814
|
importer: request.importer,
|
|
835
815
|
namespace: request.namespace,
|
|
@@ -845,6 +825,7 @@ function createChannel(streamIn) {
|
|
|
845
825
|
let path2 = getFlag(result, keys, "path", mustBeString);
|
|
846
826
|
let namespace = getFlag(result, keys, "namespace", mustBeString);
|
|
847
827
|
let external = getFlag(result, keys, "external", mustBeBoolean);
|
|
828
|
+
let sideEffects = getFlag(result, keys, "sideEffects", mustBeBoolean);
|
|
848
829
|
let pluginData = getFlag(result, keys, "pluginData", canBeAnything);
|
|
849
830
|
let errors = getFlag(result, keys, "errors", mustBeArray);
|
|
850
831
|
let warnings = getFlag(result, keys, "warnings", mustBeArray);
|
|
@@ -860,6 +841,8 @@ function createChannel(streamIn) {
|
|
|
860
841
|
response.namespace = namespace;
|
|
861
842
|
if (external != null)
|
|
862
843
|
response.external = external;
|
|
844
|
+
if (sideEffects != null)
|
|
845
|
+
response.sideEffects = sideEffects;
|
|
863
846
|
if (pluginData != null)
|
|
864
847
|
response.pluginData = stash.store(pluginData);
|
|
865
848
|
if (errors != null)
|
|
@@ -883,7 +866,7 @@ function createChannel(streamIn) {
|
|
|
883
866
|
for (let id of request.ids) {
|
|
884
867
|
try {
|
|
885
868
|
({ name, callback: callback2, note } = onLoadCallbacks[id]);
|
|
886
|
-
let result =
|
|
869
|
+
let result = await callback2({
|
|
887
870
|
path: request.path,
|
|
888
871
|
namespace: request.namespace,
|
|
889
872
|
pluginData: stash.load(request.pluginData)
|
|
@@ -934,19 +917,19 @@ function createChannel(streamIn) {
|
|
|
934
917
|
default:
|
|
935
918
|
throw new Error(`Invalid command: ` + request.command);
|
|
936
919
|
}
|
|
937
|
-
}
|
|
920
|
+
};
|
|
938
921
|
let runOnEndCallbacks = (result, logPluginError, done) => done();
|
|
939
922
|
if (onEndCallbacks.length > 0) {
|
|
940
923
|
runOnEndCallbacks = (result, logPluginError, done) => {
|
|
941
|
-
(() =>
|
|
924
|
+
(async () => {
|
|
942
925
|
for (const { name, callback: callback2, note } of onEndCallbacks) {
|
|
943
926
|
try {
|
|
944
|
-
|
|
927
|
+
await callback2(result);
|
|
945
928
|
} catch (e) {
|
|
946
|
-
result.errors.push(
|
|
929
|
+
result.errors.push(await new Promise((resolve) => logPluginError(e, name, note && note(), resolve)));
|
|
947
930
|
}
|
|
948
931
|
}
|
|
949
|
-
})
|
|
932
|
+
})().then(done);
|
|
950
933
|
};
|
|
951
934
|
}
|
|
952
935
|
let refCount = 0;
|
|
@@ -965,7 +948,7 @@ function createChannel(streamIn) {
|
|
|
965
948
|
}
|
|
966
949
|
}
|
|
967
950
|
};
|
|
968
|
-
}
|
|
951
|
+
};
|
|
969
952
|
let buildServeData = (refs, options, request) => {
|
|
970
953
|
let keys = {};
|
|
971
954
|
let port = getFlag(options, keys, "port", mustBeInteger);
|
|
@@ -1636,7 +1619,7 @@ var fsAsync = {
|
|
|
1636
1619
|
}
|
|
1637
1620
|
}
|
|
1638
1621
|
};
|
|
1639
|
-
var version = "0.12.
|
|
1622
|
+
var version = "0.12.8";
|
|
1640
1623
|
var build = (options) => ensureServiceIsRunning().build(options);
|
|
1641
1624
|
var serve = (serveOptions, buildOptions) => ensureServiceIsRunning().serve(serveOptions, buildOptions);
|
|
1642
1625
|
var transform = (input, options) => ensureServiceIsRunning().transform(input, options);
|
|
@@ -1724,7 +1707,7 @@ var ensureServiceIsRunning = () => {
|
|
|
1724
1707
|
if (longLivedService)
|
|
1725
1708
|
return longLivedService;
|
|
1726
1709
|
let [command, args] = esbuildCommandAndArgs();
|
|
1727
|
-
let child = child_process.spawn(command, args.concat(`--service=${"0.12.
|
|
1710
|
+
let child = child_process.spawn(command, args.concat(`--service=${"0.12.8"}`, "--ping"), {
|
|
1728
1711
|
windowsHide: true,
|
|
1729
1712
|
stdio: ["pipe", "pipe", "inherit"],
|
|
1730
1713
|
cwd: defaultWD
|
|
@@ -1822,7 +1805,7 @@ var runServiceSync = (callback) => {
|
|
|
1822
1805
|
isBrowser: false
|
|
1823
1806
|
});
|
|
1824
1807
|
callback(service);
|
|
1825
|
-
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.12.
|
|
1808
|
+
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.12.8"}`), {
|
|
1826
1809
|
cwd: defaultWD,
|
|
1827
1810
|
windowsHide: true,
|
|
1828
1811
|
input: stdin,
|
|
@@ -1916,16 +1899,16 @@ var startSyncServiceWorker = () => {
|
|
|
1916
1899
|
return properties;
|
|
1917
1900
|
};
|
|
1918
1901
|
parentPort.on("message", (msg) => {
|
|
1919
|
-
(() =>
|
|
1902
|
+
(async () => {
|
|
1920
1903
|
let { sharedBuffer, id, command, args } = msg;
|
|
1921
1904
|
let sharedBufferView = new Int32Array(sharedBuffer);
|
|
1922
1905
|
try {
|
|
1923
1906
|
if (command === "build") {
|
|
1924
|
-
workerPort.postMessage({ id, resolve:
|
|
1907
|
+
workerPort.postMessage({ id, resolve: await service.build(args[0]) });
|
|
1925
1908
|
} else if (command === "transform") {
|
|
1926
|
-
workerPort.postMessage({ id, resolve:
|
|
1909
|
+
workerPort.postMessage({ id, resolve: await service.transform(args[0], args[1]) });
|
|
1927
1910
|
} else if (command === "formatMessages") {
|
|
1928
|
-
workerPort.postMessage({ id, resolve:
|
|
1911
|
+
workerPort.postMessage({ id, resolve: await service.formatMessages(args[0], args[1]) });
|
|
1929
1912
|
} else {
|
|
1930
1913
|
throw new Error(`Invalid command: ${command}`);
|
|
1931
1914
|
}
|
|
@@ -1934,7 +1917,7 @@ var startSyncServiceWorker = () => {
|
|
|
1934
1917
|
}
|
|
1935
1918
|
Atomics.add(sharedBufferView, 0, 1);
|
|
1936
1919
|
Atomics.notify(sharedBufferView, 0, Infinity);
|
|
1937
|
-
})
|
|
1920
|
+
})();
|
|
1938
1921
|
});
|
|
1939
1922
|
};
|
|
1940
1923
|
if (worker_threads && !worker_threads.isMainThread) {
|