// This modifies the CSS modules loader to use a different ident that allows us to pick it out via // the style Rails helper.
const { environment } = require('@rails/webpacker') const path = require('path')
let sassLoader = environment.loaders.get('moduleSass'); const index = sassLoader.use.findIndex(el => el.loader === 'css-loader');
function getLocalIdent(loaderContext, localIdentName, localName, options) {
if(!options.context) { if (loaderContext.rootContext) { options.context = loaderContext.rootContext; } else if (loaderContext.options && typeof loaderContext.options.context === "string") { options.context = loaderContext.options.context; } else { options.context = loaderContext.context; } } var request = path.relative(options.context, loaderContext.resourcePath) request = Buffer.from(request).toString('base64').replace(/\W/, '') return request.substr(0, 8) + '__' + localName
}
sassLoader.use.options = {
modules: true, sourceMap: true, getLocalIdent
}