esbuild 0.27.2 → 0.27.4

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.
Files changed (3) hide show
  1. package/bin/esbuild +1 -1
  2. package/lib/main.js +300 -10
  3. package/package.json +27 -27
package/bin/esbuild CHANGED
@@ -201,7 +201,7 @@ for your current platform.`);
201
201
  "node_modules",
202
202
  ".cache",
203
203
  "esbuild",
204
- `pnpapi-${pkg.replace("/", "-")}-${"0.27.2"}-${path.basename(subpath)}`
204
+ `pnpapi-${pkg.replace("/", "-")}-${"0.27.4"}-${path.basename(subpath)}`
205
205
  );
206
206
  if (!fs.existsSync(binTargetPath)) {
207
207
  fs.mkdirSync(path.dirname(binTargetPath), { recursive: true });
package/lib/main.js CHANGED
@@ -205,7 +205,7 @@ esbuild in this environment because esbuild relies on this invariant. This
205
205
  is not a problem with esbuild. You need to fix your environment instead.
206
206
  `);
207
207
  function readUInt32LE(buffer, offset) {
208
- return buffer[offset++] | buffer[offset++] << 8 | buffer[offset++] << 16 | buffer[offset++] << 24;
208
+ return (buffer[offset++] | buffer[offset++] << 8 | buffer[offset++] << 16 | buffer[offset++] << 24) >>> 0;
209
209
  }
210
210
  function writeUInt32LE(buffer, value, offset) {
211
211
  buffer[offset++] = value;
@@ -214,6 +214,287 @@ function writeUInt32LE(buffer, value, offset) {
214
214
  buffer[offset++] = value >> 24;
215
215
  }
216
216
 
217
+ // lib/shared/uint8array_json_parser.ts
218
+ var fromCharCode = String.fromCharCode;
219
+ function throwSyntaxError(bytes, index, message) {
220
+ const c = bytes[index];
221
+ let line = 1;
222
+ let column = 0;
223
+ for (let i = 0; i < index; i++) {
224
+ if (bytes[i] === 10 /* Newline */) {
225
+ line++;
226
+ column = 0;
227
+ } else {
228
+ column++;
229
+ }
230
+ }
231
+ throw new SyntaxError(
232
+ message ? message : index === bytes.length ? "Unexpected end of input while parsing JSON" : c >= 32 && c <= 126 ? `Unexpected character ${fromCharCode(c)} in JSON at position ${index} (line ${line}, column ${column})` : `Unexpected byte 0x${c.toString(16)} in JSON at position ${index} (line ${line}, column ${column})`
233
+ );
234
+ }
235
+ function JSON_parse(bytes) {
236
+ if (!(bytes instanceof Uint8Array)) {
237
+ throw new Error(`JSON input must be a Uint8Array`);
238
+ }
239
+ const propertyStack = [];
240
+ const objectStack = [];
241
+ const stateStack = [];
242
+ const length = bytes.length;
243
+ let property = null;
244
+ let state = 0 /* TopLevel */;
245
+ let object;
246
+ let i = 0;
247
+ while (i < length) {
248
+ let c = bytes[i++];
249
+ if (c <= 32 /* Space */) {
250
+ continue;
251
+ }
252
+ let value;
253
+ if (state === 2 /* Object */ && property === null && c !== 34 /* Quote */ && c !== 125 /* CloseBrace */) {
254
+ throwSyntaxError(bytes, --i);
255
+ }
256
+ switch (c) {
257
+ // True
258
+ case 116 /* LowerT */: {
259
+ if (bytes[i++] !== 114 /* LowerR */ || bytes[i++] !== 117 /* LowerU */ || bytes[i++] !== 101 /* LowerE */) {
260
+ throwSyntaxError(bytes, --i);
261
+ }
262
+ value = true;
263
+ break;
264
+ }
265
+ // False
266
+ case 102 /* LowerF */: {
267
+ if (bytes[i++] !== 97 /* LowerA */ || bytes[i++] !== 108 /* LowerL */ || bytes[i++] !== 115 /* LowerS */ || bytes[i++] !== 101 /* LowerE */) {
268
+ throwSyntaxError(bytes, --i);
269
+ }
270
+ value = false;
271
+ break;
272
+ }
273
+ // Null
274
+ case 110 /* LowerN */: {
275
+ if (bytes[i++] !== 117 /* LowerU */ || bytes[i++] !== 108 /* LowerL */ || bytes[i++] !== 108 /* LowerL */) {
276
+ throwSyntaxError(bytes, --i);
277
+ }
278
+ value = null;
279
+ break;
280
+ }
281
+ // Number begin
282
+ case 45 /* Minus */:
283
+ case 46 /* Dot */:
284
+ case 48 /* Digit0 */:
285
+ case 49 /* Digit1 */:
286
+ case 50 /* Digit2 */:
287
+ case 51 /* Digit3 */:
288
+ case 52 /* Digit4 */:
289
+ case 53 /* Digit5 */:
290
+ case 54 /* Digit6 */:
291
+ case 55 /* Digit7 */:
292
+ case 56 /* Digit8 */:
293
+ case 57 /* Digit9 */: {
294
+ let index = i;
295
+ value = fromCharCode(c);
296
+ c = bytes[i];
297
+ while (true) {
298
+ switch (c) {
299
+ case 43 /* Plus */:
300
+ case 45 /* Minus */:
301
+ case 46 /* Dot */:
302
+ case 48 /* Digit0 */:
303
+ case 49 /* Digit1 */:
304
+ case 50 /* Digit2 */:
305
+ case 51 /* Digit3 */:
306
+ case 52 /* Digit4 */:
307
+ case 53 /* Digit5 */:
308
+ case 54 /* Digit6 */:
309
+ case 55 /* Digit7 */:
310
+ case 56 /* Digit8 */:
311
+ case 57 /* Digit9 */:
312
+ case 101 /* LowerE */:
313
+ case 69 /* UpperE */: {
314
+ value += fromCharCode(c);
315
+ c = bytes[++i];
316
+ continue;
317
+ }
318
+ }
319
+ break;
320
+ }
321
+ value = +value;
322
+ if (isNaN(value)) {
323
+ throwSyntaxError(bytes, --index, "Invalid number");
324
+ }
325
+ break;
326
+ }
327
+ // String begin
328
+ case 34 /* Quote */: {
329
+ value = "";
330
+ while (true) {
331
+ if (i >= length) {
332
+ throwSyntaxError(bytes, length);
333
+ }
334
+ c = bytes[i++];
335
+ if (c === 34 /* Quote */) {
336
+ break;
337
+ } else if (c === 92 /* Backslash */) {
338
+ switch (bytes[i++]) {
339
+ // Normal escape sequence
340
+ case 34 /* Quote */:
341
+ value += '"';
342
+ break;
343
+ case 47 /* Slash */:
344
+ value += "/";
345
+ break;
346
+ case 92 /* Backslash */:
347
+ value += "\\";
348
+ break;
349
+ case 98 /* LowerB */:
350
+ value += "\b";
351
+ break;
352
+ case 102 /* LowerF */:
353
+ value += "\f";
354
+ break;
355
+ case 110 /* LowerN */:
356
+ value += "\n";
357
+ break;
358
+ case 114 /* LowerR */:
359
+ value += "\r";
360
+ break;
361
+ case 116 /* LowerT */:
362
+ value += " ";
363
+ break;
364
+ // Unicode escape sequence
365
+ case 117 /* LowerU */: {
366
+ let code = 0;
367
+ for (let j = 0; j < 4; j++) {
368
+ c = bytes[i++];
369
+ code <<= 4;
370
+ if (c >= 48 /* Digit0 */ && c <= 57 /* Digit9 */) code |= c - 48 /* Digit0 */;
371
+ else if (c >= 97 /* LowerA */ && c <= 102 /* LowerF */) code |= c + (10 - 97 /* LowerA */);
372
+ else if (c >= 65 /* UpperA */ && c <= 70 /* UpperF */) code |= c + (10 - 65 /* UpperA */);
373
+ else throwSyntaxError(bytes, --i);
374
+ }
375
+ value += fromCharCode(code);
376
+ break;
377
+ }
378
+ // Invalid escape sequence
379
+ default:
380
+ throwSyntaxError(bytes, --i);
381
+ break;
382
+ }
383
+ } else if (c <= 127) {
384
+ value += fromCharCode(c);
385
+ } else if ((c & 224) === 192) {
386
+ value += fromCharCode((c & 31) << 6 | bytes[i++] & 63);
387
+ } else if ((c & 240) === 224) {
388
+ value += fromCharCode((c & 15) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63);
389
+ } else if ((c & 248) == 240) {
390
+ let codePoint = (c & 7) << 18 | (bytes[i++] & 63) << 12 | (bytes[i++] & 63) << 6 | bytes[i++] & 63;
391
+ if (codePoint > 65535) {
392
+ codePoint -= 65536;
393
+ value += fromCharCode(codePoint >> 10 & 1023 | 55296);
394
+ codePoint = 56320 | codePoint & 1023;
395
+ }
396
+ value += fromCharCode(codePoint);
397
+ }
398
+ }
399
+ value[0];
400
+ break;
401
+ }
402
+ // Array begin
403
+ case 91 /* OpenBracket */: {
404
+ value = [];
405
+ propertyStack.push(property);
406
+ objectStack.push(object);
407
+ stateStack.push(state);
408
+ property = null;
409
+ object = value;
410
+ state = 1 /* Array */;
411
+ continue;
412
+ }
413
+ // Object begin
414
+ case 123 /* OpenBrace */: {
415
+ value = {};
416
+ propertyStack.push(property);
417
+ objectStack.push(object);
418
+ stateStack.push(state);
419
+ property = null;
420
+ object = value;
421
+ state = 2 /* Object */;
422
+ continue;
423
+ }
424
+ // Array end
425
+ case 93 /* CloseBracket */: {
426
+ if (state !== 1 /* Array */) {
427
+ throwSyntaxError(bytes, --i);
428
+ }
429
+ value = object;
430
+ property = propertyStack.pop();
431
+ object = objectStack.pop();
432
+ state = stateStack.pop();
433
+ break;
434
+ }
435
+ // Object end
436
+ case 125 /* CloseBrace */: {
437
+ if (state !== 2 /* Object */) {
438
+ throwSyntaxError(bytes, --i);
439
+ }
440
+ value = object;
441
+ property = propertyStack.pop();
442
+ object = objectStack.pop();
443
+ state = stateStack.pop();
444
+ break;
445
+ }
446
+ default: {
447
+ throwSyntaxError(bytes, --i);
448
+ }
449
+ }
450
+ c = bytes[i];
451
+ while (c <= 32 /* Space */) {
452
+ c = bytes[++i];
453
+ }
454
+ switch (state) {
455
+ case 0 /* TopLevel */: {
456
+ if (i === length) {
457
+ return value;
458
+ }
459
+ break;
460
+ }
461
+ case 1 /* Array */: {
462
+ object.push(value);
463
+ if (c === 44 /* Comma */) {
464
+ i++;
465
+ continue;
466
+ }
467
+ if (c === 93 /* CloseBracket */) {
468
+ continue;
469
+ }
470
+ break;
471
+ }
472
+ case 2 /* Object */: {
473
+ if (property === null) {
474
+ property = value;
475
+ if (c === 58 /* Colon */) {
476
+ i++;
477
+ continue;
478
+ }
479
+ } else {
480
+ object[property] = value;
481
+ property = null;
482
+ if (c === 44 /* Comma */) {
483
+ i++;
484
+ continue;
485
+ }
486
+ if (c === 125 /* CloseBrace */) {
487
+ continue;
488
+ }
489
+ }
490
+ break;
491
+ }
492
+ }
493
+ break;
494
+ }
495
+ throwSyntaxError(bytes, i);
496
+ }
497
+
217
498
  // lib/shared/common.ts
218
499
  var quote = JSON.stringify;
219
500
  var buildLogLevelDefault = "warning";
@@ -643,8 +924,8 @@ function createChannel(streamIn) {
643
924
  if (isFirstPacket) {
644
925
  isFirstPacket = false;
645
926
  let binaryVersion = String.fromCharCode(...bytes);
646
- if (binaryVersion !== "0.27.2") {
647
- throw new Error(`Cannot start service: Host version "${"0.27.2"}" does not match binary version ${quote(binaryVersion)}`);
927
+ if (binaryVersion !== "0.27.4") {
928
+ throw new Error(`Cannot start service: Host version "${"0.27.4"}" does not match binary version ${quote(binaryVersion)}`);
648
929
  }
649
930
  return;
650
931
  }
@@ -918,7 +1199,7 @@ function buildOrContextImpl(callName, buildKey, sendRequest, sendResponse, refs,
918
1199
  const originalErrors = result.errors.slice();
919
1200
  const originalWarnings = result.warnings.slice();
920
1201
  if (response.outputFiles) result.outputFiles = response.outputFiles.map(convertOutputFiles);
921
- if (response.metafile) result.metafile = JSON.parse(response.metafile);
1202
+ if (response.metafile) result.metafile = parseJSON(response.metafile);
922
1203
  if (response.mangleCache) result.mangleCache = response.mangleCache;
923
1204
  if (response.writeToStdout !== void 0) console.log(decodeUTF8(response.writeToStdout).replace(/\n$/, ""));
924
1205
  runOnEndCallbacks(result, (onEndErrors, onEndWarnings) => {
@@ -1591,6 +1872,15 @@ function jsRegExpToGoRegExp(regexp) {
1591
1872
  if (regexp.flags) result = `(?${regexp.flags})${result}`;
1592
1873
  return result;
1593
1874
  }
1875
+ function parseJSON(bytes) {
1876
+ let text;
1877
+ try {
1878
+ text = decodeUTF8(bytes);
1879
+ } catch {
1880
+ return JSON_parse(bytes);
1881
+ }
1882
+ return JSON.parse(text);
1883
+ }
1594
1884
 
1595
1885
  // lib/npm/node-platform.ts
1596
1886
  var fs = require("fs");
@@ -1770,7 +2060,7 @@ for your current platform.`);
1770
2060
  "node_modules",
1771
2061
  ".cache",
1772
2062
  "esbuild",
1773
- `pnpapi-${pkg.replace("/", "-")}-${"0.27.2"}-${path.basename(subpath)}`
2063
+ `pnpapi-${pkg.replace("/", "-")}-${"0.27.4"}-${path.basename(subpath)}`
1774
2064
  );
1775
2065
  if (!fs.existsSync(binTargetPath)) {
1776
2066
  fs.mkdirSync(path.dirname(binTargetPath), { recursive: true });
@@ -1805,7 +2095,7 @@ if (process.env.ESBUILD_WORKER_THREADS !== "0") {
1805
2095
  }
1806
2096
  }
1807
2097
  var _a;
1808
- var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.27.2";
2098
+ var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.27.4";
1809
2099
  var esbuildCommandAndArgs = () => {
1810
2100
  if ((!ESBUILD_BINARY_PATH || false) && (path2.basename(__filename) !== "main.js" || path2.basename(__dirname) !== "lib")) {
1811
2101
  throw new Error(
@@ -1872,7 +2162,7 @@ var fsAsync = {
1872
2162
  }
1873
2163
  }
1874
2164
  };
1875
- var version = "0.27.2";
2165
+ var version = "0.27.4";
1876
2166
  var build = (options) => ensureServiceIsRunning().build(options);
1877
2167
  var context = (buildOptions) => ensureServiceIsRunning().context(buildOptions);
1878
2168
  var transform = (input, options) => ensureServiceIsRunning().transform(input, options);
@@ -1975,7 +2265,7 @@ var stopService;
1975
2265
  var ensureServiceIsRunning = () => {
1976
2266
  if (longLivedService) return longLivedService;
1977
2267
  let [command, args] = esbuildCommandAndArgs();
1978
- let child = child_process.spawn(command, args.concat(`--service=${"0.27.2"}`, "--ping"), {
2268
+ let child = child_process.spawn(command, args.concat(`--service=${"0.27.4"}`, "--ping"), {
1979
2269
  windowsHide: true,
1980
2270
  stdio: ["pipe", "pipe", "inherit"],
1981
2271
  cwd: defaultWD
@@ -2079,7 +2369,7 @@ var runServiceSync = (callback) => {
2079
2369
  esbuild: node_exports
2080
2370
  });
2081
2371
  callback(service);
2082
- let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.27.2"}`), {
2372
+ let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.27.4"}`), {
2083
2373
  cwd: defaultWD,
2084
2374
  windowsHide: true,
2085
2375
  input: stdin,
@@ -2099,7 +2389,7 @@ var workerThreadService = null;
2099
2389
  var startWorkerThreadService = (worker_threads2) => {
2100
2390
  let { port1: mainPort, port2: workerPort } = new worker_threads2.MessageChannel();
2101
2391
  let worker = new worker_threads2.Worker(__filename, {
2102
- workerData: { workerPort, defaultWD, esbuildVersion: "0.27.2" },
2392
+ workerData: { workerPort, defaultWD, esbuildVersion: "0.27.4" },
2103
2393
  transferList: [workerPort],
2104
2394
  // From node's documentation: https://nodejs.org/api/worker_threads.html
2105
2395
  //
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "esbuild",
3
- "version": "0.27.2",
3
+ "version": "0.27.4",
4
4
  "description": "An extremely fast JavaScript and CSS bundler and minifier.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -18,32 +18,32 @@
18
18
  "esbuild": "bin/esbuild"
19
19
  },
20
20
  "optionalDependencies": {
21
- "@esbuild/aix-ppc64": "0.27.2",
22
- "@esbuild/android-arm": "0.27.2",
23
- "@esbuild/android-arm64": "0.27.2",
24
- "@esbuild/android-x64": "0.27.2",
25
- "@esbuild/darwin-arm64": "0.27.2",
26
- "@esbuild/darwin-x64": "0.27.2",
27
- "@esbuild/freebsd-arm64": "0.27.2",
28
- "@esbuild/freebsd-x64": "0.27.2",
29
- "@esbuild/linux-arm": "0.27.2",
30
- "@esbuild/linux-arm64": "0.27.2",
31
- "@esbuild/linux-ia32": "0.27.2",
32
- "@esbuild/linux-loong64": "0.27.2",
33
- "@esbuild/linux-mips64el": "0.27.2",
34
- "@esbuild/linux-ppc64": "0.27.2",
35
- "@esbuild/linux-riscv64": "0.27.2",
36
- "@esbuild/linux-s390x": "0.27.2",
37
- "@esbuild/linux-x64": "0.27.2",
38
- "@esbuild/netbsd-arm64": "0.27.2",
39
- "@esbuild/netbsd-x64": "0.27.2",
40
- "@esbuild/openbsd-arm64": "0.27.2",
41
- "@esbuild/openbsd-x64": "0.27.2",
42
- "@esbuild/openharmony-arm64": "0.27.2",
43
- "@esbuild/sunos-x64": "0.27.2",
44
- "@esbuild/win32-arm64": "0.27.2",
45
- "@esbuild/win32-ia32": "0.27.2",
46
- "@esbuild/win32-x64": "0.27.2"
21
+ "@esbuild/aix-ppc64": "0.27.4",
22
+ "@esbuild/android-arm": "0.27.4",
23
+ "@esbuild/android-arm64": "0.27.4",
24
+ "@esbuild/android-x64": "0.27.4",
25
+ "@esbuild/darwin-arm64": "0.27.4",
26
+ "@esbuild/darwin-x64": "0.27.4",
27
+ "@esbuild/freebsd-arm64": "0.27.4",
28
+ "@esbuild/freebsd-x64": "0.27.4",
29
+ "@esbuild/linux-arm": "0.27.4",
30
+ "@esbuild/linux-arm64": "0.27.4",
31
+ "@esbuild/linux-ia32": "0.27.4",
32
+ "@esbuild/linux-loong64": "0.27.4",
33
+ "@esbuild/linux-mips64el": "0.27.4",
34
+ "@esbuild/linux-ppc64": "0.27.4",
35
+ "@esbuild/linux-riscv64": "0.27.4",
36
+ "@esbuild/linux-s390x": "0.27.4",
37
+ "@esbuild/linux-x64": "0.27.4",
38
+ "@esbuild/netbsd-arm64": "0.27.4",
39
+ "@esbuild/netbsd-x64": "0.27.4",
40
+ "@esbuild/openbsd-arm64": "0.27.4",
41
+ "@esbuild/openbsd-x64": "0.27.4",
42
+ "@esbuild/openharmony-arm64": "0.27.4",
43
+ "@esbuild/sunos-x64": "0.27.4",
44
+ "@esbuild/win32-arm64": "0.27.4",
45
+ "@esbuild/win32-ia32": "0.27.4",
46
+ "@esbuild/win32-x64": "0.27.4"
47
47
  },
48
48
  "license": "MIT"
49
49
  }