|
- 'use strict';
-
- exports.__esModule = true;
-
- var _decamelize = require('decamelize');
-
- var _decamelize2 = _interopRequireDefault(_decamelize);
-
- var _defined = require('defined');
-
- var _defined2 = _interopRequireDefault(_defined);
-
- var _objectAssign = require('object-assign');
-
- var _objectAssign2 = _interopRequireDefault(_objectAssign);
-
- var _postcss = require('postcss');
-
- var _postcss2 = _interopRequireDefault(_postcss);
-
- var _postcssFilterPlugins2 = require('postcss-filter-plugins');
-
- var _postcssFilterPlugins3 = _interopRequireDefault(_postcssFilterPlugins2);
-
- var _postcssDiscardComments = require('postcss-discard-comments');
-
- var _postcssDiscardComments2 = _interopRequireDefault(_postcssDiscardComments);
-
- var _postcssReduceInitial = require('postcss-reduce-initial');
-
- var _postcssReduceInitial2 = _interopRequireDefault(_postcssReduceInitial);
-
- var _postcssMinifyGradients = require('postcss-minify-gradients');
-
- var _postcssMinifyGradients2 = _interopRequireDefault(_postcssMinifyGradients);
-
- var _postcssSvgo = require('postcss-svgo');
-
- var _postcssSvgo2 = _interopRequireDefault(_postcssSvgo);
-
- var _postcssReduceTransforms = require('postcss-reduce-transforms');
-
- var _postcssReduceTransforms2 = _interopRequireDefault(_postcssReduceTransforms);
-
- var _autoprefixer = require('autoprefixer');
-
- var _autoprefixer2 = _interopRequireDefault(_autoprefixer);
-
- var _postcssZindex = require('postcss-zindex');
-
- var _postcssZindex2 = _interopRequireDefault(_postcssZindex);
-
- var _postcssConvertValues = require('postcss-convert-values');
-
- var _postcssConvertValues2 = _interopRequireDefault(_postcssConvertValues);
-
- var _postcssCalc = require('postcss-calc');
-
- var _postcssCalc2 = _interopRequireDefault(_postcssCalc);
-
- var _postcssColormin = require('postcss-colormin');
-
- var _postcssColormin2 = _interopRequireDefault(_postcssColormin);
-
- var _postcssOrderedValues = require('postcss-ordered-values');
-
- var _postcssOrderedValues2 = _interopRequireDefault(_postcssOrderedValues);
-
- var _postcssMinifySelectors = require('postcss-minify-selectors');
-
- var _postcssMinifySelectors2 = _interopRequireDefault(_postcssMinifySelectors);
-
- var _postcssMinifyParams = require('postcss-minify-params');
-
- var _postcssMinifyParams2 = _interopRequireDefault(_postcssMinifyParams);
-
- var _postcssNormalizeCharset = require('postcss-normalize-charset');
-
- var _postcssNormalizeCharset2 = _interopRequireDefault(_postcssNormalizeCharset);
-
- var _postcssMinifyFontValues = require('postcss-minify-font-values');
-
- var _postcssMinifyFontValues2 = _interopRequireDefault(_postcssMinifyFontValues);
-
- var _postcssDiscardUnused = require('postcss-discard-unused');
-
- var _postcssDiscardUnused2 = _interopRequireDefault(_postcssDiscardUnused);
-
- var _postcssNormalizeUrl = require('postcss-normalize-url');
-
- var _postcssNormalizeUrl2 = _interopRequireDefault(_postcssNormalizeUrl);
-
- var _postcssMergeIdents = require('postcss-merge-idents');
-
- var _postcssMergeIdents2 = _interopRequireDefault(_postcssMergeIdents);
-
- var _postcssReduceIdents = require('postcss-reduce-idents');
-
- var _postcssReduceIdents2 = _interopRequireDefault(_postcssReduceIdents);
-
- var _postcssMergeLonghand = require('postcss-merge-longhand');
-
- var _postcssMergeLonghand2 = _interopRequireDefault(_postcssMergeLonghand);
-
- var _postcssDiscardDuplicates = require('postcss-discard-duplicates');
-
- var _postcssDiscardDuplicates2 = _interopRequireDefault(_postcssDiscardDuplicates);
-
- var _postcssDiscardOverridden = require('postcss-discard-overridden');
-
- var _postcssDiscardOverridden2 = _interopRequireDefault(_postcssDiscardOverridden);
-
- var _postcssMergeRules = require('postcss-merge-rules');
-
- var _postcssMergeRules2 = _interopRequireDefault(_postcssMergeRules);
-
- var _postcssDiscardEmpty = require('postcss-discard-empty');
-
- var _postcssDiscardEmpty2 = _interopRequireDefault(_postcssDiscardEmpty);
-
- var _postcssUniqueSelectors = require('postcss-unique-selectors');
-
- var _postcssUniqueSelectors2 = _interopRequireDefault(_postcssUniqueSelectors);
-
- var _functionOptimiser = require('./lib/functionOptimiser');
-
- var _functionOptimiser2 = _interopRequireDefault(_functionOptimiser);
-
- var _filterOptimiser = require('./lib/filterOptimiser');
-
- var _filterOptimiser2 = _interopRequireDefault(_filterOptimiser);
-
- var _normalizeString = require('./lib/normalizeString');
-
- var _normalizeString2 = _interopRequireDefault(_normalizeString);
-
- var _normalizeUnicode = require('./lib/normalizeUnicode');
-
- var _normalizeUnicode2 = _interopRequireDefault(_normalizeUnicode);
-
- var _reduceDisplayValues = require('./lib/reduceDisplayValues');
-
- var _reduceDisplayValues2 = _interopRequireDefault(_reduceDisplayValues);
-
- var _reduceBackgroundRepeat = require('./lib/reduceBackgroundRepeat');
-
- var _reduceBackgroundRepeat2 = _interopRequireDefault(_reduceBackgroundRepeat);
-
- var _reducePositions = require('./lib/reducePositions');
-
- var _reducePositions2 = _interopRequireDefault(_reducePositions);
-
- var _core = require('./lib/core');
-
- var _core2 = _interopRequireDefault(_core);
-
- var _reduceTimingFunctions = require('./lib/reduceTimingFunctions');
-
- var _reduceTimingFunctions2 = _interopRequireDefault(_reduceTimingFunctions);
-
- var _styleCache = require('./lib/styleCache');
-
- var _styleCache2 = _interopRequireDefault(_styleCache);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
-
- // Processors
- var processors = {
- postcssFilterPlugins: function postcssFilterPlugins() {
- return (0, _postcssFilterPlugins3.default)({ silent: true });
- },
- postcssDiscardComments: _postcssDiscardComments2.default,
- postcssMinifyGradients: _postcssMinifyGradients2.default,
- postcssReduceInitial: _postcssReduceInitial2.default,
- postcssSvgo: _postcssSvgo2.default,
- reduceDisplayValues: _reduceDisplayValues2.default,
- postcssReduceTransforms: _postcssReduceTransforms2.default,
- autoprefixer: _autoprefixer2.default,
- postcssZindex: _postcssZindex2.default,
- postcssConvertValues: _postcssConvertValues2.default,
- reduceTimingFunctions: _reduceTimingFunctions2.default,
- postcssCalc: _postcssCalc2.default,
- postcssColormin: _postcssColormin2.default,
- postcssOrderedValues: _postcssOrderedValues2.default,
- postcssMinifySelectors: _postcssMinifySelectors2.default,
- postcssMinifyParams: _postcssMinifyParams2.default,
- postcssNormalizeCharset: _postcssNormalizeCharset2.default,
- postcssDiscardOverridden: _postcssDiscardOverridden2.default,
- normalizeString: _normalizeString2.default,
- normalizeUnicode: _normalizeUnicode2.default,
- // minify-font-values should be run before discard-unused
- postcssMinifyFontValues: _postcssMinifyFontValues2.default,
- postcssDiscardUnused: _postcssDiscardUnused2.default,
- postcssNormalizeUrl: _postcssNormalizeUrl2.default,
- functionOptimiser: _functionOptimiser2.default,
- filterOptimiser: _filterOptimiser2.default,
- reduceBackgroundRepeat: _reduceBackgroundRepeat2.default,
- reducePositions: _reducePositions2.default,
- core: _core2.default,
- // Optimisations after this are sensitive to previous optimisations in
- // the pipe, such as whitespace normalising/selector re-ordering
- postcssMergeIdents: _postcssMergeIdents2.default,
- postcssReduceIdents: _postcssReduceIdents2.default,
- postcssMergeLonghand: _postcssMergeLonghand2.default,
- postcssDiscardDuplicates: _postcssDiscardDuplicates2.default,
- postcssMergeRules: _postcssMergeRules2.default,
- postcssDiscardEmpty: _postcssDiscardEmpty2.default,
- postcssUniqueSelectors: _postcssUniqueSelectors2.default,
- styleCache: _styleCache2.default
- };
-
- var defaultOptions = {
- autoprefixer: {
- add: false
- },
- postcssConvertValues: {
- length: false
- },
- postcssNormalizeCharset: {
- add: false
- }
- };
-
- var safeOptions = {
- postcssConvertValues: {
- length: false
- },
- postcssDiscardUnused: {
- disable: true
- },
- postcssMergeIdents: {
- disable: true
- },
- postcssReduceIdents: {
- counterStyle: false,
- gridTemplate: false,
- keyframes: false
- },
- postcssNormalizeUrl: {
- stripWWW: false
- },
- postcssZindex: {
- disable: true
- }
- };
-
- var cssnano = _postcss2.default.plugin('cssnano', function () {
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-
- // Prevent PostCSS from throwing when safe is defined
- if (options.safe === true) {
- options.isSafe = true;
- options.safe = null;
- }
-
- var safe = options.isSafe;
- var proc = (0, _postcss2.default)();
- var warnings = [];
-
- if (typeof options.fontFamily !== 'undefined' || typeof options.minifyFontWeight !== 'undefined') {
- warnings.push('The fontFamily & minifyFontWeight options have been ' + 'consolidated into minifyFontValues, and are now deprecated.');
- if (!options.minifyFontValues) {
- options.minifyFontValues = options.fontFamily;
- }
- }
-
- if (typeof options.singleCharset !== 'undefined') {
- warnings.push('The singleCharset option has been renamed to ' + 'normalizeCharset, and is now deprecated.');
- options.normalizeCharset = options.singleCharset;
- }
-
- if (warnings.length) {
- proc.use(_postcss2.default.plugin('cssnano', function () {
- return function (css, result) {
- return warnings.forEach(function (w) {
- return result.warn(w);
- });
- };
- }));
- }
-
- Object.keys(processors).forEach(function (plugin) {
- var shortName = plugin.replace('postcss', '');
- shortName = shortName.slice(0, 1).toLowerCase() + shortName.slice(1);
-
- var opts = (0, _defined2.default)(options[shortName], options[plugin], options[(0, _decamelize2.default)(plugin, '-')]);
-
- if (opts === false) {
- opts = { disable: true };
- }
-
- opts = (0, _objectAssign2.default)({}, defaultOptions[plugin], safe ? safeOptions[plugin] : null, opts);
-
- if (!opts.disable) {
- proc.use(processors[plugin](opts));
- }
- });
-
- return proc;
- });
-
- cssnano.process = function (css) {
- var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
-
- options.map = options.map || (options.sourcemap ? true : null);
- return (0, _postcss2.default)([cssnano(options)]).process(css, options);
- };
-
- exports.default = cssnano;
- module.exports = exports['default'];
|