@css-components/webpack
Version:
Webpack plugin to handle building CSS Component Modules - CCM
52 lines (45 loc) • 1.51 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var path = require('path');
function _interopNamespace(e) {
if (e && e.__esModule) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () {
return e[k];
}
});
}
});
}
n['default'] = e;
return Object.freeze(n);
}
var path__namespace = /*#__PURE__*/_interopNamespace(path);
class CCMPlugin {
constructor(options = {}) {
this.options = options;
}
apply(compiler) {
var _a;
const { generateScopedName = process.env.NODE_ENV === 'production'
? 'optimized'
: 'default', templates = 'js', runtime = '@css-components/react', test = /\.ccm\.css$/, } = this.options;
(_a = compiler.options.module) === null || _a === void 0 ? void 0 : _a.rules.unshift({
test,
enforce: 'post',
use: [
{
loader: require.resolve(path__namespace.resolve(__dirname, '../loader/loader')),
options: { runtime, templates, generateScopedName },
},
],
});
}
}
exports.CCMPlugin = CCMPlugin;