webpack-extension-reloader icon indicating copy to clipboard operation
webpack-extension-reloader copied to clipboard

Check for background script breaks for more complicated output.filename rules

Open tfedor opened this issue 5 years ago • 0 comments

Type:

  • [x] bug
  • [ ] feature
  • [ ] enhancement
  • [ ] question

Environment:

  • OS: Independent
  • Browser: Independent
  • Library Version: 1.1.4

I'm going to open a PR:

  • [ ] yes
  • [x] no

Description:

I was getting error #WER-E1, so I went investigating, and I found out piece of code starting here can't work with more complicated output.filename rules:

https://github.com/rubenspgcavalcante/webpack-extension-reloader/blob/4f9aa5e80142709d83c9f20570072d432835cee7/src/utils/manifest.ts#L29

Consider following:

// manifest
background.scripts: "js/background.js";

// webpack
entry: { background: "..." }
output.filename: "js/[name].js"

When we reach entries check on line 29, what happens is we will get replace rule js/.js, which obviously can't work as expected.

I would suggest replacing that check with somethinig like this:

  const bgWebpackEntry = Object.keys(webpackEntry).find(entryName =>
    bgScriptFileNames.some(
      bgManifest => filename.replace("[name]", entryName) === bgManifest,
    ),
  );

tfedor avatar Nov 04 '20 01:11 tfedor