Skip to content

Webpack plugin for generating constant hashed moduleIds for use with DLL plugin.

License

Notifications You must be signed in to change notification settings

Oriflame/constant-moduleids-webpack-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

In its basic form HashedModuleIdsPlugin and DeterministicModuleIdsPlugin both use Module.identifier() as a source for final moduleId. It is true that generated ids by these plugins are based on module name/path but it is not always only the module name. In some cases webpack internally creates a ConcatenatedModule for multiple internal modules for one main module and then identifier contains something like <module name>|<hash of all internal modules>.

This id can change between multiple builds even when the version of some dependency (main module) doesn't change. It is probably caused by using different number of internal modules. And this volatility is a problem when the result bundle is used as a DLL with DLLReferencePlugin. Every consumer would have to rebuild its bundle every time the dll bundle would change (every change, even patch, would have to be treated as a breaking).

This plugin replaces the use of Module.identifier() with Module.libIdent() (resp. getFullModuleName with getShortModuleName) which results in only the name of module being used. That way moduleIds never change and can be relied on.

About

Webpack plugin for generating constant hashed moduleIds for use with DLL plugin.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published