spinjs
Version:
<p align="center"><a href="#"><img width="150" src="https://rawgit.com/sysgears/spinjs/master/logo.svg"></a></p>
109 lines • 4.98 kB
JavaScript
;
var __assign = (this && this.__assign) || Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
Object.defineProperty(exports, "__esModule", { value: true });
var postCssDefaultConfig = function (builder) {
return {
plugins: function () { return [
builder.require('autoprefixer')({
browsers: ['last 2 versions', 'ie >= 9']
})
]; }
};
};
var CssProcessorPlugin = (function () {
function CssProcessorPlugin() {
}
CssProcessorPlugin.prototype.configure = function (builder, spin) {
var stack = builder.stack;
var dev = spin.dev;
var loaderOptions = builder.sourceMap ? { sourceMap: true } : {};
if (stack.hasAll('webpack') && !stack.hasAny('dll')) {
var createRule = void 0;
var rules = [];
var postCssLoader_1 = builder.require.probe('postcss-loader') ? 'postcss-loader' : undefined;
var useDefaultPostCss_1 = builder.useDefaultPostCss || false;
var plugin_1;
if (stack.hasAny('server')) {
createRule = function (ext, ruleList) { return ({
test: new RegExp("\\." + ext + "$"),
use: [{ loader: 'isomorphic-style-loader' }, { loader: 'css-loader', options: __assign({}, loaderOptions) }]
.concat(postCssLoader_1
? {
loader: postCssLoader_1,
options: useDefaultPostCss_1
? __assign({}, postCssDefaultConfig(builder), loaderOptions) : __assign({}, loaderOptions)
}
: [])
.concat(ruleList)
}); };
}
else if (stack.hasAny('web')) {
var ExtractTextPlugin_1;
if (!dev) {
ExtractTextPlugin_1 = builder.require('extract-text-webpack-plugin');
}
createRule = function (ext, ruleList) {
if (!dev && !plugin_1) {
plugin_1 = new ExtractTextPlugin_1({ filename: "[name].[contenthash].css" });
}
return {
test: new RegExp("\\." + ext + "$"),
use: dev
? [{ loader: 'style-loader' }, { loader: 'css-loader', options: __assign({}, loaderOptions, { importLoaders: 1 }) }]
.concat(postCssLoader_1
? {
loader: postCssLoader_1,
options: useDefaultPostCss_1
? __assign({}, postCssDefaultConfig(builder), loaderOptions) : __assign({}, loaderOptions)
}
: [])
.concat(ruleList)
: plugin_1.extract({
fallback: 'style-loader',
use: [
{
loader: 'css-loader',
options: { importLoaders: postCssLoader_1 ? 1 : 0 }
}
]
.concat(postCssLoader_1
? {
loader: postCssLoader_1,
options: useDefaultPostCss_1 ? postCssDefaultConfig(builder) : {}
}
: [])
.concat(ruleList ? ruleList.map(function (rule) { return rule.loader; }) : [])
})
};
};
}
if (createRule && stack.hasAny('css')) {
rules.push(createRule('css', []));
}
if (createRule && stack.hasAny('sass')) {
rules.push(createRule('scss', [{ loader: 'sass-loader', options: __assign({}, loaderOptions) }]));
}
if (createRule && stack.hasAny('less')) {
rules.push(createRule('less', [{ loader: 'less-loader', options: __assign({}, loaderOptions) }]));
}
builder.config = spin.merge(builder.config, {
module: {
rules: rules
}
});
if (plugin_1) {
builder.config.plugins.push(plugin_1);
}
}
};
return CssProcessorPlugin;
}());
exports.default = CssProcessorPlugin;
//# sourceMappingURL=CssProcessorPlugin.js.map