UNPKG

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
"use strict"; 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