0.12.0 • Published 2 years ago

@justeat/f-build-scss v0.12.0

Weekly downloads
107
License
Apache-2.0
Repository
github
Last release
2 years ago

npm version Build Status Coverage Status Known Vulnerabilities


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
    ];
};