Related to  #11474 and #12815.

The following should be added to `package.json` of `pdfjs-dist` for `worker-loader`.
```
  "peerDependenciesMeta": {
    "worker-loader": {
      "optional": true
    }
  }
```

npm v7 installs `peerDependencies` by default. We can see that calling `npm install pdfjs-dist` in an empty directory will install `webpack` and others in `node_modules`.

> In npm versions 3 through 6, peerDependencies were not automatically installed, and would raise a warning if an invalid version of the peer dependency was found in the tree. As of npm v7, peerDependencies are installed by default.

- https://docs.npmjs.com/cli/v7/configuring-npm/package-json#peerdependencies
- https://github.blog/2020-10-13-presenting-v7-0-0-of-the-npm-cli/

We can make `worker-loader` optional with `peerDependenciesMeta`.

- https://docs.npmjs.com/cli/v7/configuring-npm/package-json#peerdependenciesmeta
- https://github.com/npm/rfcs/issues/221
}
    mkdirp.sync(VIEWER_LOCALE_OUTPUT + "/" + locale);
    locales.push(locale);
    if (checkFile(dirPath + "/viewer.properties")) {
      viewerOutput +=
        "[" +
        locale +
        "]\n" +
        "@import url(" +
        locale +
        "/viewer.properties)\n\n";
    }
  }
  return merge([
    createStringSource("locale.properties", viewerOutput).pipe(
      gulp.dest(VIEWER_LOCALE_OUTPUT)
    ),
    gulp
      .src(L10N_DIR + "/{" + locales.join(",") + "}/viewer.properties", {
        base: L10N_DIR,
      })
      .pipe(gulp.dest(VIEWER_LOCALE_OUTPUT)),
  ]);
});
gulp.task("cmaps", function (done) {
  const CMAP_INPUT = "external/cmaps";
  const VIEWER_CMAP_OUTPUT = "external/bcmaps";
  console.log();
  console.log("### Building cmaps");