mirror of
https://github.com/zen-browser/pdf.js.git
synced 2025-07-08 17:30:09 +02:00
Merge pull request #17691 from Snuffleupagus/createWebpackAlias
Move the `alias`-building out of the `createWebpackConfig` function
This commit is contained in:
commit
e8da59c6b1
3 changed files with 88 additions and 88 deletions
|
@ -11,7 +11,7 @@ function isPDFJSPreprocessor(obj) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function evalWithDefines(code, defines) {
|
function evalWithDefines(code, defines) {
|
||||||
if (!code || !code.trim()) {
|
if (!code?.trim()) {
|
||||||
throw new Error("No JavaScript expression given");
|
throw new Error("No JavaScript expression given");
|
||||||
}
|
}
|
||||||
return vm.runInNewContext(code, defines, { displayErrors: false });
|
return vm.runInNewContext(code, defines, { displayErrors: false });
|
||||||
|
@ -56,12 +56,7 @@ function handlePreprocessorAction(ctx, actionName, args, path) {
|
||||||
throw new Error("Unsupported action");
|
throw new Error("Unsupported action");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
throw path.buildCodeFrameError(
|
throw path.buildCodeFrameError(
|
||||||
"Could not process " +
|
`Could not process ${PDFJS_PREPROCESSOR_NAME}.${actionName}: ${e.message}`
|
||||||
PDFJS_PREPROCESSOR_NAME +
|
|
||||||
"." +
|
|
||||||
actionName +
|
|
||||||
": " +
|
|
||||||
e.message
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
2
external/builder/builder.mjs
vendored
2
external/builder/builder.mjs
vendored
|
@ -84,7 +84,7 @@ function preprocess(inFilename, outFilename, defines) {
|
||||||
out.push(line);
|
out.push(line);
|
||||||
};
|
};
|
||||||
function evaluateCondition(code) {
|
function evaluateCondition(code) {
|
||||||
if (!code || !code.trim()) {
|
if (!code?.trim()) {
|
||||||
throw new Error("No JavaScript expression given at " + loc());
|
throw new Error("No JavaScript expression given at " + loc());
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
|
165
gulpfile.mjs
165
gulpfile.mjs
|
@ -124,9 +124,8 @@ function transform(charEncoding, transformFunction) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function safeSpawnSync(command, parameters, options) {
|
function safeSpawnSync(command, parameters, options = {}) {
|
||||||
// Execute all commands in a shell.
|
// Execute all commands in a shell.
|
||||||
options = options || {};
|
|
||||||
options.shell = true;
|
options.shell = true;
|
||||||
// `options.shell = true` requires parameters to be quoted.
|
// `options.shell = true` requires parameters to be quoted.
|
||||||
parameters = parameters.map(param => {
|
parameters = parameters.map(param => {
|
||||||
|
@ -175,6 +174,87 @@ function createStringSource(filename, content) {
|
||||||
return source;
|
return source;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function createWebpackAlias(defines) {
|
||||||
|
const basicAlias = {
|
||||||
|
pdfjs: "src",
|
||||||
|
"pdfjs-web": "web",
|
||||||
|
"pdfjs-lib": "web/pdfjs",
|
||||||
|
"fluent-bundle": "node_modules/@fluent/bundle/esm/index.js",
|
||||||
|
"fluent-dom": "node_modules/@fluent/dom/esm/index.js",
|
||||||
|
};
|
||||||
|
const libraryAlias = {
|
||||||
|
"display-fetch_stream": "src/display/stubs.js",
|
||||||
|
"display-network": "src/display/stubs.js",
|
||||||
|
"display-node_stream": "src/display/stubs.js",
|
||||||
|
"display-node_utils": "src/display/stubs.js",
|
||||||
|
};
|
||||||
|
const viewerAlias = {
|
||||||
|
"web-alt_text_manager": "web/alt_text_manager.js",
|
||||||
|
"web-annotation_editor_params": "web/annotation_editor_params.js",
|
||||||
|
"web-download_manager": "",
|
||||||
|
"web-external_services": "",
|
||||||
|
"web-null_l10n": "",
|
||||||
|
"web-pdf_attachment_viewer": "web/pdf_attachment_viewer.js",
|
||||||
|
"web-pdf_cursor_tools": "web/pdf_cursor_tools.js",
|
||||||
|
"web-pdf_document_properties": "web/pdf_document_properties.js",
|
||||||
|
"web-pdf_find_bar": "web/pdf_find_bar.js",
|
||||||
|
"web-pdf_layer_viewer": "web/pdf_layer_viewer.js",
|
||||||
|
"web-pdf_outline_viewer": "web/pdf_outline_viewer.js",
|
||||||
|
"web-pdf_presentation_mode": "web/pdf_presentation_mode.js",
|
||||||
|
"web-pdf_sidebar": "web/pdf_sidebar.js",
|
||||||
|
"web-pdf_thumbnail_viewer": "web/pdf_thumbnail_viewer.js",
|
||||||
|
"web-preferences": "",
|
||||||
|
"web-print_service": "",
|
||||||
|
"web-secondary_toolbar": "web/secondary_toolbar.js",
|
||||||
|
"web-toolbar": "web/toolbar.js",
|
||||||
|
};
|
||||||
|
|
||||||
|
if (defines.CHROME) {
|
||||||
|
libraryAlias["display-fetch_stream"] = "src/display/fetch_stream.js";
|
||||||
|
libraryAlias["display-network"] = "src/display/network.js";
|
||||||
|
|
||||||
|
viewerAlias["web-download_manager"] = "web/download_manager.js";
|
||||||
|
viewerAlias["web-external_services"] = "web/chromecom.js";
|
||||||
|
viewerAlias["web-null_l10n"] = "web/l10n.js";
|
||||||
|
viewerAlias["web-preferences"] = "web/chromecom.js";
|
||||||
|
viewerAlias["web-print_service"] = "web/pdf_print_service.js";
|
||||||
|
} else if (defines.GENERIC) {
|
||||||
|
// Aliases defined here must also be replicated in the paths section of
|
||||||
|
// the tsconfig.json file for the type generation to work.
|
||||||
|
// In the tsconfig.json files, the .js extension must be omitted.
|
||||||
|
libraryAlias["display-fetch_stream"] = "src/display/fetch_stream.js";
|
||||||
|
libraryAlias["display-network"] = "src/display/network.js";
|
||||||
|
libraryAlias["display-node_stream"] = "src/display/node_stream.js";
|
||||||
|
libraryAlias["display-node_utils"] = "src/display/node_utils.js";
|
||||||
|
|
||||||
|
viewerAlias["web-download_manager"] = "web/download_manager.js";
|
||||||
|
viewerAlias["web-external_services"] = "web/genericcom.js";
|
||||||
|
viewerAlias["web-null_l10n"] = "web/genericl10n.js";
|
||||||
|
viewerAlias["web-preferences"] = "web/genericcom.js";
|
||||||
|
viewerAlias["web-print_service"] = "web/pdf_print_service.js";
|
||||||
|
} else if (defines.MOZCENTRAL) {
|
||||||
|
if (defines.GECKOVIEW) {
|
||||||
|
const gvAlias = {
|
||||||
|
"web-toolbar": "web/toolbar-geckoview.js",
|
||||||
|
};
|
||||||
|
for (const key in viewerAlias) {
|
||||||
|
viewerAlias[key] = gvAlias[key] || "web/stubs-geckoview.js";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
viewerAlias["web-download_manager"] = "web/firefoxcom.js";
|
||||||
|
viewerAlias["web-external_services"] = "web/firefoxcom.js";
|
||||||
|
viewerAlias["web-null_l10n"] = "web/l10n.js";
|
||||||
|
viewerAlias["web-preferences"] = "web/firefoxcom.js";
|
||||||
|
viewerAlias["web-print_service"] = "web/firefox_print_service.js";
|
||||||
|
}
|
||||||
|
|
||||||
|
const alias = { ...basicAlias, ...libraryAlias, ...viewerAlias };
|
||||||
|
for (const key in alias) {
|
||||||
|
alias[key] = path.join(__dirname, alias[key]);
|
||||||
|
}
|
||||||
|
return alias;
|
||||||
|
}
|
||||||
|
|
||||||
function createWebpackConfig(
|
function createWebpackConfig(
|
||||||
defines,
|
defines,
|
||||||
output,
|
output,
|
||||||
|
@ -251,87 +331,12 @@ function createWebpackConfig(
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const alias = createWebpackAlias(bundleDefines);
|
||||||
const experiments = isModule ? { outputModule: true } : undefined;
|
const experiments = isModule ? { outputModule: true } : undefined;
|
||||||
|
|
||||||
// Required to expose e.g., the `window` object.
|
// Required to expose e.g., the `window` object.
|
||||||
output.globalObject = "globalThis";
|
output.globalObject = "globalThis";
|
||||||
|
|
||||||
const basicAlias = {
|
|
||||||
pdfjs: "src",
|
|
||||||
"pdfjs-web": "web",
|
|
||||||
"pdfjs-lib": "web/pdfjs",
|
|
||||||
"fluent-bundle": "node_modules/@fluent/bundle/esm/index.js",
|
|
||||||
"fluent-dom": "node_modules/@fluent/dom/esm/index.js",
|
|
||||||
};
|
|
||||||
const libraryAlias = {
|
|
||||||
"display-fetch_stream": "src/display/stubs.js",
|
|
||||||
"display-network": "src/display/stubs.js",
|
|
||||||
"display-node_stream": "src/display/stubs.js",
|
|
||||||
"display-node_utils": "src/display/stubs.js",
|
|
||||||
};
|
|
||||||
const viewerAlias = {
|
|
||||||
"web-alt_text_manager": "web/alt_text_manager.js",
|
|
||||||
"web-annotation_editor_params": "web/annotation_editor_params.js",
|
|
||||||
"web-download_manager": "",
|
|
||||||
"web-external_services": "",
|
|
||||||
"web-null_l10n": "",
|
|
||||||
"web-pdf_attachment_viewer": "web/pdf_attachment_viewer.js",
|
|
||||||
"web-pdf_cursor_tools": "web/pdf_cursor_tools.js",
|
|
||||||
"web-pdf_document_properties": "web/pdf_document_properties.js",
|
|
||||||
"web-pdf_find_bar": "web/pdf_find_bar.js",
|
|
||||||
"web-pdf_layer_viewer": "web/pdf_layer_viewer.js",
|
|
||||||
"web-pdf_outline_viewer": "web/pdf_outline_viewer.js",
|
|
||||||
"web-pdf_presentation_mode": "web/pdf_presentation_mode.js",
|
|
||||||
"web-pdf_sidebar": "web/pdf_sidebar.js",
|
|
||||||
"web-pdf_thumbnail_viewer": "web/pdf_thumbnail_viewer.js",
|
|
||||||
"web-preferences": "",
|
|
||||||
"web-print_service": "",
|
|
||||||
"web-secondary_toolbar": "web/secondary_toolbar.js",
|
|
||||||
"web-toolbar": "web/toolbar.js",
|
|
||||||
};
|
|
||||||
if (bundleDefines.CHROME) {
|
|
||||||
libraryAlias["display-fetch_stream"] = "src/display/fetch_stream.js";
|
|
||||||
libraryAlias["display-network"] = "src/display/network.js";
|
|
||||||
|
|
||||||
viewerAlias["web-download_manager"] = "web/download_manager.js";
|
|
||||||
viewerAlias["web-external_services"] = "web/chromecom.js";
|
|
||||||
viewerAlias["web-null_l10n"] = "web/l10n.js";
|
|
||||||
viewerAlias["web-preferences"] = "web/chromecom.js";
|
|
||||||
viewerAlias["web-print_service"] = "web/pdf_print_service.js";
|
|
||||||
} else if (bundleDefines.GENERIC) {
|
|
||||||
// Aliases defined here must also be replicated in the paths section of
|
|
||||||
// the tsconfig.json file for the type generation to work.
|
|
||||||
// In the tsconfig.json files, the .js extension must be omitted.
|
|
||||||
libraryAlias["display-fetch_stream"] = "src/display/fetch_stream.js";
|
|
||||||
libraryAlias["display-network"] = "src/display/network.js";
|
|
||||||
libraryAlias["display-node_stream"] = "src/display/node_stream.js";
|
|
||||||
libraryAlias["display-node_utils"] = "src/display/node_utils.js";
|
|
||||||
|
|
||||||
viewerAlias["web-download_manager"] = "web/download_manager.js";
|
|
||||||
viewerAlias["web-external_services"] = "web/genericcom.js";
|
|
||||||
viewerAlias["web-null_l10n"] = "web/genericl10n.js";
|
|
||||||
viewerAlias["web-preferences"] = "web/genericcom.js";
|
|
||||||
viewerAlias["web-print_service"] = "web/pdf_print_service.js";
|
|
||||||
} else if (bundleDefines.MOZCENTRAL) {
|
|
||||||
if (bundleDefines.GECKOVIEW) {
|
|
||||||
const gvAlias = {
|
|
||||||
"web-toolbar": "web/toolbar-geckoview.js",
|
|
||||||
};
|
|
||||||
for (const key in viewerAlias) {
|
|
||||||
viewerAlias[key] = gvAlias[key] || "web/stubs-geckoview.js";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
viewerAlias["web-download_manager"] = "web/firefoxcom.js";
|
|
||||||
viewerAlias["web-external_services"] = "web/firefoxcom.js";
|
|
||||||
viewerAlias["web-null_l10n"] = "web/l10n.js";
|
|
||||||
viewerAlias["web-preferences"] = "web/firefoxcom.js";
|
|
||||||
viewerAlias["web-print_service"] = "web/firefox_print_service.js";
|
|
||||||
}
|
|
||||||
const alias = { ...basicAlias, ...libraryAlias, ...viewerAlias };
|
|
||||||
for (const key in alias) {
|
|
||||||
alias[key] = path.join(__dirname, alias[key]);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
return {
|
||||||
mode: "production",
|
mode: "production",
|
||||||
optimization: {
|
optimization: {
|
||||||
|
@ -404,7 +409,7 @@ function checkChromePreferencesFile(chromePrefsPath, webPrefs) {
|
||||||
// Deprecated keys are allowed in the managed preferences file.
|
// Deprecated keys are allowed in the managed preferences file.
|
||||||
// The code maintainer is responsible for adding migration logic to
|
// The code maintainer is responsible for adding migration logic to
|
||||||
// extensions/chromium/options/migration.js and web/chromecom.js .
|
// extensions/chromium/options/migration.js and web/chromecom.js .
|
||||||
return !description || !description.startsWith("DEPRECATED.");
|
return !description?.startsWith("DEPRECATED.");
|
||||||
});
|
});
|
||||||
|
|
||||||
let ret = true;
|
let ret = true;
|
||||||
|
@ -514,7 +519,7 @@ function createSandboxExternal(defines) {
|
||||||
|
|
||||||
function createTemporaryScriptingBundle(defines, extraOptions = undefined) {
|
function createTemporaryScriptingBundle(defines, extraOptions = undefined) {
|
||||||
return createScriptingBundle(defines, {
|
return createScriptingBundle(defines, {
|
||||||
disableVersionInfo: !!(extraOptions && extraOptions.disableVersionInfo),
|
disableVersionInfo: !!extraOptions?.disableVersionInfo,
|
||||||
disableSourceMaps: true,
|
disableSourceMaps: true,
|
||||||
disableLicenseHeader: true,
|
disableLicenseHeader: true,
|
||||||
}).pipe(gulp.dest(TMP_DIR));
|
}).pipe(gulp.dest(TMP_DIR));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue