esbuild 0.14.14 → 0.14.18
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 +7 -6
- package/lib/main.d.ts +11 -0
- package/lib/main.js +56 -12
- package/package.json +22 -19
package/install.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
1
|
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __defProps = Object.defineProperties;
|
|
@@ -93,9 +92,11 @@ var toPath = path2.join(__dirname, "bin", "esbuild");
|
|
|
93
92
|
var isToPathJS = true;
|
|
94
93
|
function validateBinaryVersion(...command) {
|
|
95
94
|
command.push("--version");
|
|
96
|
-
const stdout = child_process.execFileSync(command.shift(), command
|
|
97
|
-
|
|
98
|
-
|
|
95
|
+
const stdout = child_process.execFileSync(command.shift(), command, {
|
|
96
|
+
stdio: "pipe"
|
|
97
|
+
}).toString().trim();
|
|
98
|
+
if (stdout !== "0.14.18") {
|
|
99
|
+
throw new Error(`Expected ${JSON.stringify("0.14.18")} but got ${JSON.stringify(stdout)}`);
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
102
|
function isYarn() {
|
|
@@ -146,7 +147,7 @@ function installUsingNPM(pkg, subpath, binPath) {
|
|
|
146
147
|
fs2.mkdirSync(installDir);
|
|
147
148
|
try {
|
|
148
149
|
fs2.writeFileSync(path2.join(installDir, "package.json"), "{}");
|
|
149
|
-
child_process.execSync(`npm install --loglevel=error --prefer-offline --no-audit --progress=false ${pkg}@${"0.14.
|
|
150
|
+
child_process.execSync(`npm install --loglevel=error --prefer-offline --no-audit --progress=false ${pkg}@${"0.14.18"}`, { cwd: installDir, stdio: "pipe", env });
|
|
150
151
|
const installedBinPath = path2.join(installDir, "node_modules", pkg, subpath);
|
|
151
152
|
fs2.renameSync(installedBinPath, binPath);
|
|
152
153
|
} finally {
|
|
@@ -195,7 +196,7 @@ function maybeOptimizePackage(binPath) {
|
|
|
195
196
|
}
|
|
196
197
|
}
|
|
197
198
|
async function downloadDirectlyFromNPM(pkg, subpath, binPath) {
|
|
198
|
-
const url = `https://registry.npmjs.org/${pkg}/-/${pkg}-${"0.14.
|
|
199
|
+
const url = `https://registry.npmjs.org/${pkg}/-/${pkg}-${"0.14.18"}.tgz`;
|
|
199
200
|
console.error(`[esbuild] Trying to download ${JSON.stringify(url)}`);
|
|
200
201
|
try {
|
|
201
202
|
fs2.writeFileSync(binPath, extractFileFromTarGzip(await fetch(url), subpath));
|
package/lib/main.d.ts
CHANGED
|
@@ -22,6 +22,13 @@ interface CommonOptions {
|
|
|
22
22
|
/** Documentation: https://esbuild.github.io/api/#target */
|
|
23
23
|
target?: string | string[];
|
|
24
24
|
|
|
25
|
+
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
26
|
+
mangleProps?: RegExp;
|
|
27
|
+
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
28
|
+
reserveProps?: RegExp;
|
|
29
|
+
/** Documentation: https://esbuild.github.io/api/#mangle-props */
|
|
30
|
+
mangleCache?: Record<string, string | false>;
|
|
31
|
+
/** Documentation: https://esbuild.github.io/api/#drop */
|
|
25
32
|
drop?: Drop[];
|
|
26
33
|
/** Documentation: https://esbuild.github.io/api/#minify */
|
|
27
34
|
minify?: boolean;
|
|
@@ -195,6 +202,8 @@ export interface BuildResult {
|
|
|
195
202
|
stop?: () => void;
|
|
196
203
|
/** Only when "metafile: true" */
|
|
197
204
|
metafile?: Metafile;
|
|
205
|
+
/** Only when "mangleCache" is present */
|
|
206
|
+
mangleCache?: Record<string, string | false>;
|
|
198
207
|
}
|
|
199
208
|
|
|
200
209
|
export interface BuildFailure extends Error {
|
|
@@ -248,6 +257,8 @@ export interface TransformResult {
|
|
|
248
257
|
code: string;
|
|
249
258
|
map: string;
|
|
250
259
|
warnings: Message[];
|
|
260
|
+
/** Only when "mangleCache" is present */
|
|
261
|
+
mangleCache?: Record<string, string | false>;
|
|
251
262
|
}
|
|
252
263
|
|
|
253
264
|
export interface TransformFailure extends Error {
|
package/lib/main.js
CHANGED
|
@@ -272,6 +272,21 @@ function validateInitializeOptions(options) {
|
|
|
272
272
|
worker
|
|
273
273
|
};
|
|
274
274
|
}
|
|
275
|
+
function validateMangleCache(mangleCache) {
|
|
276
|
+
let validated;
|
|
277
|
+
if (mangleCache !== void 0) {
|
|
278
|
+
validated = /* @__PURE__ */ Object.create(null);
|
|
279
|
+
for (let key of Object.keys(mangleCache)) {
|
|
280
|
+
let value = mangleCache[key];
|
|
281
|
+
if (typeof value === "string" || value === false) {
|
|
282
|
+
validated[key] = value;
|
|
283
|
+
} else {
|
|
284
|
+
throw new Error(`Expected ${JSON.stringify(key)} in mangle cache to map to either a string or false`);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
return validated;
|
|
289
|
+
}
|
|
275
290
|
function pushLogFlags(flags, options, keys, isTTY2, logLevelDefault) {
|
|
276
291
|
let color = getFlag(options, keys, "color", mustBeBoolean);
|
|
277
292
|
let logLevel = getFlag(options, keys, "logLevel", mustBeString);
|
|
@@ -290,6 +305,8 @@ function pushCommonFlags(flags, options, keys) {
|
|
|
290
305
|
let target = getFlag(options, keys, "target", mustBeStringOrArray);
|
|
291
306
|
let format = getFlag(options, keys, "format", mustBeString);
|
|
292
307
|
let globalName = getFlag(options, keys, "globalName", mustBeString);
|
|
308
|
+
let mangleProps = getFlag(options, keys, "mangleProps", mustBeRegExp);
|
|
309
|
+
let reserveProps = getFlag(options, keys, "reserveProps", mustBeRegExp);
|
|
293
310
|
let minify = getFlag(options, keys, "minify", mustBeBoolean);
|
|
294
311
|
let minifySyntax = getFlag(options, keys, "minifySyntax", mustBeBoolean);
|
|
295
312
|
let minifyWhitespace = getFlag(options, keys, "minifyWhitespace", mustBeBoolean);
|
|
@@ -337,6 +354,10 @@ function pushCommonFlags(flags, options, keys) {
|
|
|
337
354
|
if (drop)
|
|
338
355
|
for (let what of drop)
|
|
339
356
|
flags.push(`--drop:${what}`);
|
|
357
|
+
if (mangleProps)
|
|
358
|
+
flags.push(`--mangle-props=${mangleProps.source}`);
|
|
359
|
+
if (reserveProps)
|
|
360
|
+
flags.push(`--reserve-props=${reserveProps.source}`);
|
|
340
361
|
if (jsx)
|
|
341
362
|
flags.push(`--jsx=${jsx}`);
|
|
342
363
|
if (jsxFactory)
|
|
@@ -397,6 +418,7 @@ function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeD
|
|
|
397
418
|
let write = (_a2 = getFlag(options, keys, "write", mustBeBoolean)) != null ? _a2 : writeDefault;
|
|
398
419
|
let allowOverwrite = getFlag(options, keys, "allowOverwrite", mustBeBoolean);
|
|
399
420
|
let incremental = getFlag(options, keys, "incremental", mustBeBoolean) === true;
|
|
421
|
+
let mangleCache = getFlag(options, keys, "mangleCache", mustBeObject);
|
|
400
422
|
keys.plugins = true;
|
|
401
423
|
checkForInvalidFlags(options, keys, `in ${callName}() call`);
|
|
402
424
|
if (sourcemap)
|
|
@@ -546,7 +568,8 @@ function flagsForBuildOptions(callName, options, isTTY2, logLevelDefault, writeD
|
|
|
546
568
|
absWorkingDir,
|
|
547
569
|
incremental,
|
|
548
570
|
nodePaths,
|
|
549
|
-
watch: watchMode
|
|
571
|
+
watch: watchMode,
|
|
572
|
+
mangleCache: validateMangleCache(mangleCache)
|
|
550
573
|
};
|
|
551
574
|
}
|
|
552
575
|
function flagsForTransformOptions(callName, options, isTTY2, logLevelDefault) {
|
|
@@ -560,6 +583,7 @@ function flagsForTransformOptions(callName, options, isTTY2, logLevelDefault) {
|
|
|
560
583
|
let loader = getFlag(options, keys, "loader", mustBeString);
|
|
561
584
|
let banner = getFlag(options, keys, "banner", mustBeString);
|
|
562
585
|
let footer = getFlag(options, keys, "footer", mustBeString);
|
|
586
|
+
let mangleCache = getFlag(options, keys, "mangleCache", mustBeObject);
|
|
563
587
|
checkForInvalidFlags(options, keys, `in ${callName}() call`);
|
|
564
588
|
if (sourcemap)
|
|
565
589
|
flags.push(`--sourcemap=${sourcemap === true ? "external" : sourcemap}`);
|
|
@@ -573,7 +597,10 @@ function flagsForTransformOptions(callName, options, isTTY2, logLevelDefault) {
|
|
|
573
597
|
flags.push(`--banner=${banner}`);
|
|
574
598
|
if (footer)
|
|
575
599
|
flags.push(`--footer=${footer}`);
|
|
576
|
-
return
|
|
600
|
+
return {
|
|
601
|
+
flags,
|
|
602
|
+
mangleCache: validateMangleCache(mangleCache)
|
|
603
|
+
};
|
|
577
604
|
}
|
|
578
605
|
function createChannel(streamIn) {
|
|
579
606
|
let responseCallbacks = /* @__PURE__ */ new Map();
|
|
@@ -717,8 +744,8 @@ function createChannel(streamIn) {
|
|
|
717
744
|
if (isFirstPacket) {
|
|
718
745
|
isFirstPacket = false;
|
|
719
746
|
let binaryVersion = String.fromCharCode(...bytes);
|
|
720
|
-
if (binaryVersion !== "0.14.
|
|
721
|
-
throw new Error(`Cannot start service: Host version "${"0.14.
|
|
747
|
+
if (binaryVersion !== "0.14.18") {
|
|
748
|
+
throw new Error(`Cannot start service: Host version "${"0.14.18"}" does not match binary version ${JSON.stringify(binaryVersion)}`);
|
|
722
749
|
}
|
|
723
750
|
return;
|
|
724
751
|
}
|
|
@@ -1177,7 +1204,8 @@ function createChannel(streamIn) {
|
|
|
1177
1204
|
absWorkingDir,
|
|
1178
1205
|
incremental,
|
|
1179
1206
|
nodePaths,
|
|
1180
|
-
watch
|
|
1207
|
+
watch,
|
|
1208
|
+
mangleCache
|
|
1181
1209
|
} = flagsForBuildOptions(callName, options, isTTY2, buildLogLevelDefault, writeDefault);
|
|
1182
1210
|
let request = {
|
|
1183
1211
|
command: "build",
|
|
@@ -1193,6 +1221,8 @@ function createChannel(streamIn) {
|
|
|
1193
1221
|
};
|
|
1194
1222
|
if (requestPlugins)
|
|
1195
1223
|
request.plugins = requestPlugins;
|
|
1224
|
+
if (mangleCache)
|
|
1225
|
+
request.mangleCache = mangleCache;
|
|
1196
1226
|
let serve2 = serveOptions && buildServeData(refs, serveOptions, request, key);
|
|
1197
1227
|
let rebuild;
|
|
1198
1228
|
let stop;
|
|
@@ -1201,6 +1231,8 @@ function createChannel(streamIn) {
|
|
|
1201
1231
|
result.outputFiles = response.outputFiles.map(convertOutputFiles);
|
|
1202
1232
|
if (response.metafile)
|
|
1203
1233
|
result.metafile = JSON.parse(response.metafile);
|
|
1234
|
+
if (response.mangleCache)
|
|
1235
|
+
result.mangleCache = response.mangleCache;
|
|
1204
1236
|
if (response.writeToStdout !== void 0)
|
|
1205
1237
|
console.log(decodeUTF8(response.writeToStdout).replace(/\n$/, ""));
|
|
1206
1238
|
};
|
|
@@ -1328,20 +1360,32 @@ function createChannel(streamIn) {
|
|
|
1328
1360
|
try {
|
|
1329
1361
|
if (typeof input !== "string")
|
|
1330
1362
|
throw new Error('The input to "transform" must be a string');
|
|
1331
|
-
let
|
|
1363
|
+
let {
|
|
1364
|
+
flags,
|
|
1365
|
+
mangleCache
|
|
1366
|
+
} = flagsForTransformOptions(callName, options, isTTY2, transformLogLevelDefault);
|
|
1332
1367
|
let request = {
|
|
1333
1368
|
command: "transform",
|
|
1334
1369
|
flags,
|
|
1335
1370
|
inputFS: inputPath !== null,
|
|
1336
1371
|
input: inputPath !== null ? inputPath : input
|
|
1337
1372
|
};
|
|
1373
|
+
if (mangleCache)
|
|
1374
|
+
request.mangleCache = mangleCache;
|
|
1338
1375
|
sendRequest(refs, request, (error, response) => {
|
|
1339
1376
|
if (error)
|
|
1340
1377
|
return callback(new Error(error), null);
|
|
1341
1378
|
let errors = replaceDetailsInMessages(response.errors, details);
|
|
1342
1379
|
let warnings = replaceDetailsInMessages(response.warnings, details);
|
|
1343
1380
|
let outstanding = 1;
|
|
1344
|
-
let next = () =>
|
|
1381
|
+
let next = () => {
|
|
1382
|
+
if (--outstanding === 0) {
|
|
1383
|
+
let result = { warnings, code: response.code, map: response.map };
|
|
1384
|
+
if (response.mangleCache)
|
|
1385
|
+
result.mangleCache = response == null ? void 0 : response.mangleCache;
|
|
1386
|
+
callback(null, result);
|
|
1387
|
+
}
|
|
1388
|
+
};
|
|
1345
1389
|
if (errors.length > 0)
|
|
1346
1390
|
return callback(failureErrorWithLog("Transform failed", errors, warnings), null);
|
|
1347
1391
|
if (response.codeFS) {
|
|
@@ -1804,7 +1848,7 @@ if (process.env.ESBUILD_WORKER_THREADS !== "0") {
|
|
|
1804
1848
|
}
|
|
1805
1849
|
}
|
|
1806
1850
|
var _a;
|
|
1807
|
-
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.14.
|
|
1851
|
+
var isInternalWorkerThread = ((_a = worker_threads == null ? void 0 : worker_threads.workerData) == null ? void 0 : _a.esbuildVersion) === "0.14.18";
|
|
1808
1852
|
var esbuildCommandAndArgs = () => {
|
|
1809
1853
|
if ((!ESBUILD_BINARY_PATH || false) && (path2.basename(__filename) !== "main.js" || path2.basename(__dirname) !== "lib")) {
|
|
1810
1854
|
throw new Error(`The esbuild JavaScript API cannot be bundled. Please mark the "esbuild" package as external so it's not included in the bundle.
|
|
@@ -1863,7 +1907,7 @@ var fsAsync = {
|
|
|
1863
1907
|
}
|
|
1864
1908
|
}
|
|
1865
1909
|
};
|
|
1866
|
-
var version = "0.14.
|
|
1910
|
+
var version = "0.14.18";
|
|
1867
1911
|
var build = (options) => ensureServiceIsRunning().build(options);
|
|
1868
1912
|
var serve = (serveOptions, buildOptions) => ensureServiceIsRunning().serve(serveOptions, buildOptions);
|
|
1869
1913
|
var transform = (input, options) => ensureServiceIsRunning().transform(input, options);
|
|
@@ -1972,7 +2016,7 @@ var ensureServiceIsRunning = () => {
|
|
|
1972
2016
|
if (longLivedService)
|
|
1973
2017
|
return longLivedService;
|
|
1974
2018
|
let [command, args] = esbuildCommandAndArgs();
|
|
1975
|
-
let child = child_process.spawn(command, args.concat(`--service=${"0.14.
|
|
2019
|
+
let child = child_process.spawn(command, args.concat(`--service=${"0.14.18"}`, "--ping"), {
|
|
1976
2020
|
windowsHide: true,
|
|
1977
2021
|
stdio: ["pipe", "pipe", "inherit"],
|
|
1978
2022
|
cwd: defaultWD
|
|
@@ -2081,7 +2125,7 @@ var runServiceSync = (callback) => {
|
|
|
2081
2125
|
esbuild: node_exports
|
|
2082
2126
|
});
|
|
2083
2127
|
callback(service);
|
|
2084
|
-
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.14.
|
|
2128
|
+
let stdout = child_process.execFileSync(command, args.concat(`--service=${"0.14.18"}`), {
|
|
2085
2129
|
cwd: defaultWD,
|
|
2086
2130
|
windowsHide: true,
|
|
2087
2131
|
input: stdin,
|
|
@@ -2097,7 +2141,7 @@ var workerThreadService = null;
|
|
|
2097
2141
|
var startWorkerThreadService = (worker_threads2) => {
|
|
2098
2142
|
let { port1: mainPort, port2: workerPort } = new worker_threads2.MessageChannel();
|
|
2099
2143
|
let worker = new worker_threads2.Worker(__filename, {
|
|
2100
|
-
workerData: { workerPort, defaultWD, esbuildVersion: "0.14.
|
|
2144
|
+
workerData: { workerPort, defaultWD, esbuildVersion: "0.14.18" },
|
|
2101
2145
|
transferList: [workerPort],
|
|
2102
2146
|
execArgv: []
|
|
2103
2147
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "esbuild",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.18",
|
|
4
4
|
"description": "An extremely fast JavaScript and CSS bundler and minifier.",
|
|
5
5
|
"repository": "https://github.com/evanw/esbuild",
|
|
6
6
|
"scripts": {
|
|
@@ -8,28 +8,31 @@
|
|
|
8
8
|
},
|
|
9
9
|
"main": "lib/main.js",
|
|
10
10
|
"types": "lib/main.d.ts",
|
|
11
|
+
"engines": {
|
|
12
|
+
"node": ">=12"
|
|
13
|
+
},
|
|
11
14
|
"bin": {
|
|
12
15
|
"esbuild": "bin/esbuild"
|
|
13
16
|
},
|
|
14
17
|
"optionalDependencies": {
|
|
15
|
-
"esbuild-android-arm64": "0.14.
|
|
16
|
-
"esbuild-darwin-64": "0.14.
|
|
17
|
-
"esbuild-darwin-arm64": "0.14.
|
|
18
|
-
"esbuild-freebsd-64": "0.14.
|
|
19
|
-
"esbuild-freebsd-arm64": "0.14.
|
|
20
|
-
"esbuild-linux-32": "0.14.
|
|
21
|
-
"esbuild-linux-64": "0.14.
|
|
22
|
-
"esbuild-linux-arm": "0.14.
|
|
23
|
-
"esbuild-linux-arm64": "0.14.
|
|
24
|
-
"esbuild-linux-mips64le": "0.14.
|
|
25
|
-
"esbuild-linux-ppc64le": "0.14.
|
|
26
|
-
"esbuild-linux-s390x": "0.14.
|
|
27
|
-
"esbuild-netbsd-64": "0.14.
|
|
28
|
-
"esbuild-openbsd-64": "0.14.
|
|
29
|
-
"esbuild-sunos-64": "0.14.
|
|
30
|
-
"esbuild-windows-32": "0.14.
|
|
31
|
-
"esbuild-windows-64": "0.14.
|
|
32
|
-
"esbuild-windows-arm64": "0.14.
|
|
18
|
+
"esbuild-android-arm64": "0.14.18",
|
|
19
|
+
"esbuild-darwin-64": "0.14.18",
|
|
20
|
+
"esbuild-darwin-arm64": "0.14.18",
|
|
21
|
+
"esbuild-freebsd-64": "0.14.18",
|
|
22
|
+
"esbuild-freebsd-arm64": "0.14.18",
|
|
23
|
+
"esbuild-linux-32": "0.14.18",
|
|
24
|
+
"esbuild-linux-64": "0.14.18",
|
|
25
|
+
"esbuild-linux-arm": "0.14.18",
|
|
26
|
+
"esbuild-linux-arm64": "0.14.18",
|
|
27
|
+
"esbuild-linux-mips64le": "0.14.18",
|
|
28
|
+
"esbuild-linux-ppc64le": "0.14.18",
|
|
29
|
+
"esbuild-linux-s390x": "0.14.18",
|
|
30
|
+
"esbuild-netbsd-64": "0.14.18",
|
|
31
|
+
"esbuild-openbsd-64": "0.14.18",
|
|
32
|
+
"esbuild-sunos-64": "0.14.18",
|
|
33
|
+
"esbuild-windows-32": "0.14.18",
|
|
34
|
+
"esbuild-windows-64": "0.14.18",
|
|
35
|
+
"esbuild-windows-arm64": "0.14.18"
|
|
33
36
|
},
|
|
34
37
|
"license": "MIT"
|
|
35
38
|
}
|