@lipemat/js-boilerplate
Version:
Dependencies and scripts for a no config JavaScript app
46 lines • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const css_classnames_1 = require("../helpers/css-classnames");
/**
* Options for the Webpack `css-loader`.
*
* Extracted to its on file to allow easy overrides.
*/
/**
* Default to :global for classes in "global" or "pcss" directories.
*
* @param {string} resourcePath
* @return {string}
*/
const mode = (resourcePath) => {
if (/globals?\//i.test(resourcePath.replace(/\\/g, '/'))) {
return 'global';
}
if (/pcss?\//i.test(resourcePath.replace(/\\/g, '/'))) {
return 'global';
}
return 'local';
};
const cssLoader = {
importLoaders: 1,
modules: {
exportLocalsConvention: 'camelCase',
localIdentName: 'Ⓜ[name]__[local]__[contenthash:base64:2]',
mode,
},
sourceMap: true,
url: false,
};
if ('production' === process.env.NODE_ENV) {
cssLoader.modules = {
exportLocalsConvention: 'camelCase',
// Use short CSS Classes if enabled.
...(0, css_classnames_1.usingShortCssClasses)() ? { getLocalIdent: css_classnames_1.getLocalIdent } : {},
// Hash used when short CSS classes are not enabled.
localIdentName: '[contenthash:base64:5]',
mode,
};
cssLoader.sourceMap = false;
}
module.exports = cssLoader;
//# sourceMappingURL=css-loader.config.js.map