@lipemat/js-boilerplate
Version:
Dependencies and scripts for a no config JavaScript app
45 lines • 1.28 kB
JavaScript
import { getLocalIdent, usingShortCssClasses } from '@lipemat/js-boilerplate-shared/helpers/css-classnames.js';
/**
* 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',
// Hash used when short CSS classes are not enabled.
localIdentName: '[contenthash:base64:5]',
mode,
};
if (usingShortCssClasses()) {
cssLoader.modules.getLocalIdent = getLocalIdent;
}
cssLoader.sourceMap = false;
}
export default cssLoader;
//# sourceMappingURL=css-loader.config.js.map