Use more optional chaining, and other modern JS, in the building code

This commit is contained in:
Jonas Jenwald 2024-02-19 11:28:10 +01:00
parent fbcb683609
commit f295c51cc5
3 changed files with 6 additions and 12 deletions

View File

@ -11,7 +11,7 @@ function isPDFJSPreprocessor(obj) {
}
function evalWithDefines(code, defines) {
if (!code || !code.trim()) {
if (!code?.trim()) {
throw new Error("No JavaScript expression given");
}
return vm.runInNewContext(code, defines, { displayErrors: false });
@ -56,12 +56,7 @@ function handlePreprocessorAction(ctx, actionName, args, path) {
throw new Error("Unsupported action");
} catch (e) {
throw path.buildCodeFrameError(
"Could not process " +
PDFJS_PREPROCESSOR_NAME +
"." +
actionName +
": " +
e.message
`Could not process ${PDFJS_PREPROCESSOR_NAME}.${actionName}: ${e.message}`
);
}
}

View File

@ -84,7 +84,7 @@ function preprocess(inFilename, outFilename, defines) {
out.push(line);
};
function evaluateCondition(code) {
if (!code || !code.trim()) {
if (!code?.trim()) {
throw new Error("No JavaScript expression given at " + loc());
}
try {

View File

@ -124,9 +124,8 @@ function transform(charEncoding, transformFunction) {
});
}
function safeSpawnSync(command, parameters, options) {
function safeSpawnSync(command, parameters, options = {}) {
// Execute all commands in a shell.
options = options || {};
options.shell = true;
// `options.shell = true` requires parameters to be quoted.
parameters = parameters.map(param => {
@ -410,7 +409,7 @@ function checkChromePreferencesFile(chromePrefsPath, webPrefs) {
// Deprecated keys are allowed in the managed preferences file.
// The code maintainer is responsible for adding migration logic to
// extensions/chromium/options/migration.js and web/chromecom.js .
return !description || !description.startsWith("DEPRECATED.");
return !description?.startsWith("DEPRECATED.");
});
let ret = true;
@ -520,7 +519,7 @@ function createSandboxExternal(defines) {
function createTemporaryScriptingBundle(defines, extraOptions = undefined) {
return createScriptingBundle(defines, {
disableVersionInfo: !!(extraOptions && extraOptions.disableVersionInfo),
disableVersionInfo: !!extraOptions?.disableVersionInfo,
disableSourceMaps: true,
disableLicenseHeader: true,
}).pipe(gulp.dest(TMP_DIR));