webpack-contrib/style-loader

style-loader removes .css when webpack.DllPlugin's used and module.id's overlap

ilanc opened this issue · 3 comments

ilanc commented

Do you want to request a feature or report a bug?
bug

What is the current behavior?
If you use DllPlugins which contain .css then there is a chance that module.ids of .css sections of the dll bundle will overlap with the app bundle (or other dll bundles). If there is an overlap in module.id then style-loader will remove the .css which was loaded first and replace it with the .css which is loaded second.

Thinking about it - this also raises a design issue for .css load order across bundles. You can't use module.id for css load order when 2 or more bundles are involved - at least not as they currently stand.

If the current behavior is a bug, please provide the steps to reproduce.
https://github.com/ilanc/style-loader-bug

What is the expected behavior?
style loader should:

  1. load all .css (in dlls and app)
  2. respect the order that the .css was require()'d in across dlls and app

If this is a feature request, what is motivation or use case for changing the behavior?
no

Please mention other relevant information such as your webpack version, Node.js version and Operating System.
"css-loader": "0.26.1",
"npm-run-all": "^4.0.0",
"style-loader": "0.13.1",
"webpack": "1.14.0",
"webpack-dev-server": "1.16.2"

node = v4.4.5
os = windows 7

Please get options.cssBase workaround merged. Facing same issue where DllPlugin's css ids are conflicting with ids created while running webpack. Thanks @ilanc for your workaround.

ilanc commented

@pankajvishwani I don't think this project is being maintained anymore