123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- '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'];
|