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 webPrefsKeys = Object.keys(webPrefs);
  webPrefsKeys.sort();
  if (webPrefsKeys.length !== chromePrefsKeys.length) {
    console.log("Warning: Pref objects doesn't have the same length.");
    return false;
  }
  let ret = true;
  for (let i = 0, ii = webPrefsKeys.length; i < ii; i++) {
    const value = webPrefsKeys[i];
    if (chromePrefsKeys[i] !== value) {
      ret = false;
      console.log(
        `Warning: not the same keys: ${chromePrefsKeys[i]} !== ${value}`
      );
    } else if (chromePrefs.properties[value].default !== webPrefs[value]) {
      ret = false;
      console.log(
        `Warning: not the same values (for "${value}"): ` +
          `${chromePrefs.properties[value].default} !== ${webPrefs[value]}`
      );
    }
  }
  return ret;
}
function replaceWebpackRequire() {
  
  
  return replace("__webpack_require__", "__w_pdfjs_require__");
}
function replaceNonWebpackImport() {