In Webpack 5, the [recommended way](https://webpack.js.org/guides/web-workers/) to create a web worker is

```ts
new Worker(new URL('./worker.js', import.meta.url));
```

Could we update\* the [`pdfjs-dist/webpack` entrypoint](https://github.com/mozilla/pdfjs-dist/blob/master/webpack.js) to use this syntax instead of the legacy `worker-loader`? One of the Webpack contributors told me that `worker-loader` uses "magic" and can cause issues.

\* To maintain compatibility with people still using Webpack 4, we should probably introduce a new entrypoint called `pdfjs-dist/webpack5` (or something like that) rather than changing the existing entrypoint.

Can attempt a PR if you would like.

Closely-related: https://github.com/mozilla/pdf.js/issues/15302


const defines = builder.merge(DEFINES, { GENERIC: true, TESTING: true });
  const cssDir = BUILD_DIR + "dev-css/";
  return merge([
    gulp.src("web/images/*", { base: "web/" }).pipe(gulp.dest(cssDir)),
    preprocessCSS("web/viewer.css", defines)
      .pipe(
        postcss([
          postcssLogical({ preserve: true }),
          postcssDirPseudoClass(),
          autoprefixer({ overrideBrowserslist: ["last 2 versions"] }),
        ])
      )
      .pipe(gulp.dest(cssDir)),
  ]);
});
gulp.task(
  "dev-sandbox",
  gulp.series(
    function scriptingDevSandbox() {
      const defines = builder.merge(DEFINES, { GENERIC: true, TESTING: true });
      return createTemporaryScriptingBundle(defines, {
        disableVersionInfo: true,
      });
    },
    function createDevSandbox() {
      console.log();
      console.log("### Building development sandbox");
      const defines = builder.merge(DEFINES, { GENERIC: true, TESTING: true });
      const sandboxDir = BUILD_DIR + "dev-sandbox/";
      rimraf.sync(sandboxDir);