Microbundle supports providing a custom hash generator name for CSS modules by providing --css-modules insertHashPatternHere (eg.: --css-modules _[hash:base64:5].
The Bug
But then Microbundle will also treat all CSS files as CSS modules, instead of just changing the generated signature of the actual CSS modules.
By the documentation, all CSS files should be considered a CSS module if a flag --css-modules true is provided.
I suppose the --css-modules flag should only support null, true and false (Default Behaviour (Only when suffix), Enforce AutoCSS modules, Disable CSS modules completely).
Since there is the flag --no-css-modules there should be one for specifying the hash too. For example --css-modules-hash _[hash:base64:5].
This would also avoid confusion since it is not documented in the README that using a custom hash would enforce CSS modules.
Microbundle supports providing a custom hash generator name for
CSS modules
by providing--css-modules insertHashPatternHere
(eg.:--css-modules _[hash:base64:5]
.The Bug
But then Microbundle will also treat all CSS files as CSS modules, instead of just changing the generated signature of the actual CSS modules.
By the documentation, all CSS files should be considered a CSS module if a flag
--css-modules true
is provided.Possibly source of the Bug
The bug seems to originate on https://github.com/developit/microbundle/blob/b1a637486234a2ae784ccf0c512321e2d3efef7c/src/lib/css-modules.js#L8 where it only considers the "should only suffix modules" when the option
null
is being passed.The caveats
I suppose the
--css-modules
flag should only supportnull
,true
andfalse
(Default Behaviour (Only when suffix), Enforce AutoCSS modules, Disable CSS modules completely).Since there is the flag
--no-css-modules
there should be one for specifying the hash too. For example--css-modules-hash _[hash:base64:5]
.This would also avoid confusion since it is not documented in the README that using a custom hash would enforce CSS modules.
I would be more than happy to provide a patch 😄