Tweak the pdf.scripting.js bundling, to improve overall consistency

This brings the new `pdf.scripting.js` bundling more in-line with the pre-existing handling for the  `pdf.js`/`pdf.worker.js` files:
 - Add a new `src/pdf.scripting.js` file as the entry-point for the build scripts.

 - Add the version/build numbers at the top of the *built* `pdf.scripting.js` files, since all other built files include that information given that it's often helpful to be able to easily determine the *exact* version.

 - Tweak the `createScriptingBundle` in the gulp-file, since it looks like a little bit too much copy-and-paste in the variable names.
This commit is contained in:
Jonas Jenwald 2020-10-25 16:28:23 +01:00
parent b4ca3d55b8
commit 61ffa9caa9
2 changed files with 33 additions and 8 deletions

View File

@ -317,20 +317,20 @@ function createMainBundle(defines) {
} }
function createScriptingBundle(defines) { function createScriptingBundle(defines) {
var mainAMDName = "pdfjs-dist/build/pdf.scripting"; var scriptingAMDName = "pdfjs-dist/build/pdf.scripting";
var mainOutputName = "pdf.scripting.js"; var scriptingOutputName = "pdf.scripting.js";
var mainFileConfig = createWebpackConfig(defines, { var scriptingFileConfig = createWebpackConfig(defines, {
filename: mainOutputName, filename: scriptingOutputName,
library: mainAMDName, library: scriptingAMDName,
libraryTarget: "umd", libraryTarget: "umd",
umdNamedDefine: true, umdNamedDefine: true,
}); });
return gulp return gulp
.src("./src/scripting_api/initialization.js") .src("./src/pdf.scripting.js")
.pipe(webpack2Stream(mainFileConfig)) .pipe(webpack2Stream(scriptingFileConfig))
.pipe(replaceWebpackRequire()) .pipe(replaceWebpackRequire())
.pipe(replaceJSRootName(mainAMDName, "pdfjsScripting")); .pipe(replaceJSRootName(scriptingAMDName, "pdfjsScripting"));
} }
function createWorkerBundle(defines) { function createWorkerBundle(defines) {

25
src/pdf.scripting.js Normal file
View File

@ -0,0 +1,25 @@
/* Copyright 2020 Mozilla Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { initSandbox } from "./scripting_api/initialization.js";
/* eslint-disable-next-line no-unused-vars */
const pdfjsVersion =
typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_VERSION") : void 0;
/* eslint-disable-next-line no-unused-vars */
const pdfjsBuild =
typeof PDFJSDev !== "undefined" ? PDFJSDev.eval("BUNDLE_BUILD") : void 0;
export { initSandbox };