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 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.4";
26
+ const version = "0.12.8";
47
27
  const binPath = path.join(__dirname, "bin", "esbuild");
48
- function installBinaryFromPackage(name, fromPath, toPath) {
49
- return __async(this, null, function* () {
50
- const cachePath = getCachePath(name);
51
- try {
52
- fs.copyFileSync(cachePath, toPath);
53
- fs.chmodSync(toPath, 493);
54
- validateBinaryVersion(toPath);
55
- const now = new Date();
56
- fs.utimesSync(cachePath, now, now);
57
- return;
58
- } catch (e) {
59
- }
60
- let buffer;
61
- let didFail = false;
62
- try {
63
- buffer = installUsingNPM(name, fromPath);
64
- } catch (err) {
65
- didFail = true;
66
- console.error(`Trying to install "${name}" using npm`);
67
- console.error(`Failed to install "${name}" using npm: ${err && err.message || err}`);
68
- }
69
- if (!buffer) {
70
- const url = `https://registry.npmjs.org/${name}/-/${name}-${version}.tgz`;
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
- validateBinaryVersion(toPath);
52
+ buffer = extractFileFromTarGzip(await fetch(url), fromPath);
85
53
  } catch (err) {
86
- console.error(`The version of the downloaded binary is incorrect: ${err && err.message || err}`);
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
- try {
91
- fs.mkdirSync(path.dirname(cachePath), {
92
- recursive: true,
93
- mode: 448
94
- });
95
- fs.copyFileSync(toPath, cachePath);
96
- cleanCacheLRU(cachePath);
97
- } catch (e) {
98
- }
99
- if (didFail)
100
- console.error(`Install successful`);
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
@@ -241,6 +241,7 @@ export interface OnResolveResult {
241
241
 
242
242
  path?: string;
243
243
  external?: boolean;
244
+ sideEffects?: boolean;
244
245
  namespace?: string;
245
246
  pluginData?: any;
246
247
 
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) => __async(this, null, function* () {
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, yield callback(request));
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, yield callback(request));
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, yield callback(request));
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.4") {
713
- throw new Error(`Cannot start service: Host version "${"0.12.4"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
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) => __async(this, null, function* () {
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
- yield promise;
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) => __async(this, null, function* () {
782
+ const callback = async (request) => {
803
783
  switch (request.command) {
804
784
  case "start": {
805
785
  let response = { errors: [], warnings: [] };
806
- yield Promise.all(onStartCallbacks.map((_0) => __async(this, [_0], function* ({ name, callback: callback2, note }) {
786
+ await Promise.all(onStartCallbacks.map(async ({ name, callback: callback2, note }) => {
807
787
  try {
808
- let result = yield callback2();
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 = yield callback2({
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 = yield callback2({
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
- (() => __async(this, null, function* () {
924
+ (async () => {
942
925
  for (const { name, callback: callback2, note } of onEndCallbacks) {
943
926
  try {
944
- yield callback2(result);
927
+ await callback2(result);
945
928
  } catch (e) {
946
- result.errors.push(yield new Promise((resolve) => logPluginError(e, name, note && note(), resolve)));
929
+ result.errors.push(await new Promise((resolve) => logPluginError(e, name, note && note(), resolve)));
947
930
  }
948
931
  }
949
- }))().then(done);
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.4";
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.4"}`, "--ping"), {
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.4"}`), {
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
- (() => __async(void 0, null, function* () {
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: yield service.build(args[0]) });
1907
+ workerPort.postMessage({ id, resolve: await service.build(args[0]) });
1925
1908
  } else if (command === "transform") {
1926
- workerPort.postMessage({ id, resolve: yield service.transform(args[0], args[1]) });
1909
+ workerPort.postMessage({ id, resolve: await service.transform(args[0], args[1]) });
1927
1910
  } else if (command === "formatMessages") {
1928
- workerPort.postMessage({ id, resolve: yield service.formatMessages(args[0], args[1]) });
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) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "esbuild",
3
- "version": "0.12.4",
3
+ "version": "0.12.8",
4
4
  "description": "An extremely fast JavaScript bundler and minifier.",
5
5
  "repository": "https://github.com/evanw/esbuild",
6
6
  "scripts": {