1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 06:38:07 +02:00

Support multiple wasm-files in the development viewer

This prepares for a future where we're using more than one wasm-file, originating in different `external/`-folders, by extending the existing `gulp.watch` usage.
The following diff illustrates how to add more entries:

```diff
diff --git a/gulpfile.mjs b/gulpfile.mjs
index 0e0a5a1ac..1502755be 100644
--- a/gulpfile.mjs
+++ b/gulpfile.mjs
@@ -655,6 +655,10 @@ function createWasmBundle() {
       base: "external/openjpeg",
       encoding: false,
     }),
+    gulp.src(["external/foobar/*.wasm"], {
+      base: "external/foobar",
+      encoding: false,
+    }),
   ]);
 }

@@ -2125,7 +2129,7 @@ gulp.task(
     },
     function watchWasm() {
       gulp.watch(
-        "external/openjpeg/*",
+        ["external/openjpeg/*", "external/foobar/*"],
         { ignoreInitial: false },
         gulp.series("dev-wasm")
       );
```
This commit is contained in:
Jonas Jenwald 2025-01-17 12:38:03 +01:00
parent 45a32b7c58
commit 0053b36ee7
3 changed files with 26 additions and 11 deletions

View file

@ -650,10 +650,12 @@ function createStandardFontBundle() {
} }
function createWasmBundle() { function createWasmBundle() {
return gulp.src(["external/openjpeg/openjpeg.wasm"], { return ordered([
base: "external/openjpeg", gulp.src(["external/openjpeg/*.wasm"], {
encoding: false, base: "external/openjpeg",
}); encoding: false,
}),
]);
} }
function checkFile(filePath) { function checkFile(filePath) {
@ -2077,6 +2079,15 @@ gulp.task(
) )
); );
gulp.task("dev-wasm", function () {
const VIEWER_WASM_OUTPUT = "web/wasm/";
fs.rmSync(VIEWER_WASM_OUTPUT, { recursive: true, force: true });
fs.mkdirSync(VIEWER_WASM_OUTPUT, { recursive: true });
return createWasmBundle().pipe(gulp.dest(VIEWER_WASM_OUTPUT));
});
gulp.task( gulp.task(
"dev-sandbox", "dev-sandbox",
gulp.series( gulp.series(
@ -2112,6 +2123,13 @@ gulp.task(
gulp.series("locale") gulp.series("locale")
); );
}, },
function watchWasm() {
gulp.watch(
"external/openjpeg/*",
{ ignoreInitial: false },
gulp.series("dev-wasm")
);
},
function watchDevSandbox() { function watchDevSandbox() {
gulp.watch( gulp.watch(
[ [

2
web/.gitignore vendored
View file

@ -1,3 +1,3 @@
locale.properties
locale/ locale/
cmaps/ cmaps/
wasm/

View file

@ -434,12 +434,9 @@ const defaultOptions = {
wasmUrl: { wasmUrl: {
/** @type {string} */ /** @type {string} */
value: value:
// eslint-disable-next-line no-nested-ternary typeof PDFJSDev !== "undefined" && PDFJSDev.test("MOZCENTRAL")
typeof PDFJSDev === "undefined" ? "resource://pdf.js/web/wasm/"
? "../external/openjpeg/" : "../web/wasm/",
: PDFJSDev.test("MOZCENTRAL")
? "resource://pdf.js/web/wasm/"
: "../web/wasm/",
kind: OptionKind.API, kind: OptionKind.API,
}, },