@justeat/f-build-scss
v0.12.0
Published
Fozzie Build configuration for Sass components
Downloads
42
Maintainers
Keywords
Readme
Quick Guide
This module essentially finds and generates an Array of webpack-chain config objects, a builder for which is returned when this module is called.
Ideally, we would use one webpack-chain object with multiple entry points (to avoid duplication), but due to a bug in Eyeglass this isn't possible (as it returns the same output for the multiple CSS outputs).
This also in turn means that we cannot generate a single manifest as a result of the CSS bundling, but rather need to generate one for each entry file (i.e., je.css
, je.menulog.css
), to be combined by the consuming application after the webpack build is finished.
Example Usage
To run as part of a webpack build, the following gives an example of how the style config can be applied.
const styleConfigBuilder = require('@justeat/f-build-scss'); // returns an array of webpack-chain objects
module.exports = (env, argv) => {
const mode = settings.returnMode(argv);
const styleConfig = styleConfigBuilder(mode);
// Use map to apply common config to multiple webpack configs
const rawStyleConfig = styleConfig.map(config => {
config
.mode(mode)
.output
.path(path.join(__dirname, 'wwwroot/hw'))
.publicPath('/');
return config.toConfig(); // Convert the webpack-chain object to a regular webpack config object
});
return [
...rawStyleConfig
];
};