Skip to content

Instantly share code, notes, and snippets.

@developit
Last active September 12, 2019 15:54
Show Gist options
  • Save developit/7bb4c6517558e5642641100896f450f4 to your computer and use it in GitHub Desktop.
Save developit/7bb4c6517558e5642641100896f450f4 to your computer and use it in GitHub Desktop.

cssnano-preset-simple

This is cssnano-preset-default, but without SVGO. It's a fraction of the size on disk if you're looking to avoid the 10mb footprint.

node_modules
package-lock.json
/**
* Based on cssnano-preset-default, original license below:
*
* @author Ben Briggs
* @license MIT
*/
import cssDeclarationSorter from 'css-declaration-sorter';
import postcssDiscardComments from 'postcss-discard-comments';
import postcssReduceInitial from 'postcss-reduce-initial';
import postcssMinifyGradients from 'postcss-minify-gradients';
import postcssReduceTransforms from 'postcss-reduce-transforms';
import postcssConvertValues from 'postcss-convert-values';
import postcssCalc from 'postcss-calc';
import postcssColormin from 'postcss-colormin';
import postcssOrderedValues from 'postcss-ordered-values';
import postcssMinifySelectors from 'postcss-minify-selectors';
import postcssMinifyParams from 'postcss-minify-params';
import postcssNormalizeCharset from 'postcss-normalize-charset';
import postcssMinifyFontValues from 'postcss-minify-font-values';
import postcssNormalizeUrl from 'postcss-normalize-url';
import postcssMergeLonghand from 'postcss-merge-longhand';
import postcssDiscardDuplicates from 'postcss-discard-duplicates';
import postcssDiscardOverridden from 'postcss-discard-overridden';
import postcssNormalizeRepeatStyle from 'postcss-normalize-repeat-style';
import postcssMergeRules from 'postcss-merge-rules';
import postcssDiscardEmpty from 'postcss-discard-empty';
import postcssUniqueSelectors from 'postcss-unique-selectors';
import postcssNormalizeString from 'postcss-normalize-string';
import postcssNormalizePositions from 'postcss-normalize-positions';
import postcssNormalizeWhitespace from 'postcss-normalize-whitespace';
import postcssNormalizeUnicode from 'postcss-normalize-unicode';
import postcssNormalizeDisplayValues from 'postcss-normalize-display-values';
import postcssNormalizeTimingFunctions from 'postcss-normalize-timing-functions';
import rawCache from 'cssnano-util-raw-cache';
const defaultOpts = {
convertValues: {
length: false,
},
normalizeCharset: {
add: false,
},
cssDeclarationSorter: {
exclude: true,
},
};
export default function defaultPreset(opts = {}) {
const options = Object.assign({}, defaultOpts, opts);
const plugins = [
[postcssDiscardComments, options.discardComments],
[postcssMinifyGradients, options.minifyGradients],
[postcssReduceInitial, options.reduceInitial],
[postcssNormalizeDisplayValues, options.normalizeDisplayValues],
[postcssReduceTransforms, options.reduceTransforms],
[postcssColormin, options.colormin],
[postcssNormalizeTimingFunctions, options.normalizeTimingFunctions],
[postcssCalc, options.calc],
[postcssConvertValues, options.convertValues],
[postcssOrderedValues, options.orderedValues],
[postcssMinifySelectors, options.minifySelectors],
[postcssMinifyParams, options.minifyParams],
[postcssNormalizeCharset, options.normalizeCharset],
[postcssDiscardOverridden, options.discardOverridden],
[postcssNormalizeString, options.normalizeString],
[postcssNormalizeUnicode, options.normalizeUnicode],
[postcssMinifyFontValues, options.minifyFontValues],
[postcssNormalizeUrl, options.normalizeUrl],
[postcssNormalizeRepeatStyle, options.normalizeRepeatStyle],
[postcssNormalizePositions, options.normalizePositions],
[postcssNormalizeWhitespace, options.normalizeWhitespace],
[postcssMergeLonghand, options.mergeLonghand],
[postcssDiscardDuplicates, options.discardDuplicates],
[postcssMergeRules, options.mergeRules],
[postcssDiscardEmpty, options.discardEmpty],
[postcssUniqueSelectors, options.uniqueSelectors],
[cssDeclarationSorter, options.cssDeclarationSorter],
[rawCache, options.rawCache],
];
return { plugins };
}
function _interopDefault (ex) { return (ex && (typeof ex === 'object') && 'default' in ex) ? ex['default'] : ex; }
var cssDeclarationSorter = _interopDefault(require('css-declaration-sorter'));
var postcssDiscardComments = _interopDefault(require('postcss-discard-comments'));
var postcssReduceInitial = _interopDefault(require('postcss-reduce-initial'));
var postcssMinifyGradients = _interopDefault(require('postcss-minify-gradients'));
var postcssReduceTransforms = _interopDefault(require('postcss-reduce-transforms'));
var postcssConvertValues = _interopDefault(require('postcss-convert-values'));
var postcssCalc = _interopDefault(require('postcss-calc'));
var postcssColormin = _interopDefault(require('postcss-colormin'));
var postcssOrderedValues = _interopDefault(require('postcss-ordered-values'));
var postcssMinifySelectors = _interopDefault(require('postcss-minify-selectors'));
var postcssMinifyParams = _interopDefault(require('postcss-minify-params'));
var postcssNormalizeCharset = _interopDefault(require('postcss-normalize-charset'));
var postcssMinifyFontValues = _interopDefault(require('postcss-minify-font-values'));
var postcssNormalizeUrl = _interopDefault(require('postcss-normalize-url'));
var postcssMergeLonghand = _interopDefault(require('postcss-merge-longhand'));
var postcssDiscardDuplicates = _interopDefault(require('postcss-discard-duplicates'));
var postcssDiscardOverridden = _interopDefault(require('postcss-discard-overridden'));
var postcssNormalizeRepeatStyle = _interopDefault(require('postcss-normalize-repeat-style'));
var postcssMergeRules = _interopDefault(require('postcss-merge-rules'));
var postcssDiscardEmpty = _interopDefault(require('postcss-discard-empty'));
var postcssUniqueSelectors = _interopDefault(require('postcss-unique-selectors'));
var postcssNormalizeString = _interopDefault(require('postcss-normalize-string'));
var postcssNormalizePositions = _interopDefault(require('postcss-normalize-positions'));
var postcssNormalizeWhitespace = _interopDefault(require('postcss-normalize-whitespace'));
var postcssNormalizeUnicode = _interopDefault(require('postcss-normalize-unicode'));
var postcssNormalizeDisplayValues = _interopDefault(require('postcss-normalize-display-values'));
var postcssNormalizeTimingFunctions = _interopDefault(require('postcss-normalize-timing-functions'));
var rawCache = _interopDefault(require('cssnano-util-raw-cache'));
/**
* Based on cssnano-preset-default, original license below:
*
* @author Ben Briggs
* @license MIT
*/
var defaultOpts = {
convertValues: {
length: false
},
normalizeCharset: {
add: false
},
cssDeclarationSorter: {
exclude: true
}
};
function defaultPreset(opts) {
if ( opts === void 0 ) opts = {};
var options = Object.assign({}, defaultOpts, opts);
var plugins = [[postcssDiscardComments, options.discardComments], [postcssMinifyGradients, options.minifyGradients], [postcssReduceInitial, options.reduceInitial], [postcssNormalizeDisplayValues, options.normalizeDisplayValues], [postcssReduceTransforms, options.reduceTransforms], [postcssColormin, options.colormin], [postcssNormalizeTimingFunctions, options.normalizeTimingFunctions], [postcssCalc, options.calc], [postcssConvertValues, options.convertValues], [postcssOrderedValues, options.orderedValues], [postcssMinifySelectors, options.minifySelectors], [postcssMinifyParams, options.minifyParams], [postcssNormalizeCharset, options.normalizeCharset], [postcssDiscardOverridden, options.discardOverridden], [postcssNormalizeString, options.normalizeString], [postcssNormalizeUnicode, options.normalizeUnicode], [postcssMinifyFontValues, options.minifyFontValues], [postcssNormalizeUrl, options.normalizeUrl], [postcssNormalizeRepeatStyle, options.normalizeRepeatStyle], [postcssNormalizePositions, options.normalizePositions], [postcssNormalizeWhitespace, options.normalizeWhitespace], [postcssMergeLonghand, options.mergeLonghand], [postcssDiscardDuplicates, options.discardDuplicates], [postcssMergeRules, options.mergeRules], [postcssDiscardEmpty, options.discardEmpty], [postcssUniqueSelectors, options.uniqueSelectors], [cssDeclarationSorter, options.cssDeclarationSorter], [rawCache, options.rawCache]];
return {
plugins: plugins
};
}
module.exports = defaultPreset;
{
"name": "cssnano-preset-simple",
"version": "1.0.0",
"description": "its a lot smaller",
"main": "dist.js",
"scripts": {
"prepare": "microbundle --target node --no-sourcemap -f cjs cssnano-preset-simple.mjs"
},
"license": "MIT",
"peerDependencies": {
"cssnano": "*"
},
"devDependencies": {
"microbundle": "^0.11.0"
},
"dependencies": {
"css-declaration-sorter": "^4.0.1",
"cssnano-util-raw-cache": "^4.0.1",
"postcss-calc": "^7.0.1",
"postcss-colormin": "^4.0.3",
"postcss-convert-values": "^4.0.1",
"postcss-discard-comments": "^4.0.2",
"postcss-discard-duplicates": "^4.0.2",
"postcss-discard-empty": "^4.0.1",
"postcss-discard-overridden": "^4.0.1",
"postcss-merge-longhand": "^4.0.11",
"postcss-merge-rules": "^4.0.3",
"postcss-minify-font-values": "^4.0.2",
"postcss-minify-gradients": "^4.0.2",
"postcss-minify-params": "^4.0.2",
"postcss-minify-selectors": "^4.0.2",
"postcss-normalize-charset": "^4.0.1",
"postcss-normalize-display-values": "^4.0.2",
"postcss-normalize-positions": "^4.0.2",
"postcss-normalize-repeat-style": "^4.0.2",
"postcss-normalize-string": "^4.0.2",
"postcss-normalize-timing-functions": "^4.0.2",
"postcss-normalize-unicode": "^4.0.1",
"postcss-normalize-url": "^4.0.1",
"postcss-normalize-whitespace": "^4.0.2",
"postcss-ordered-values": "^4.1.2",
"postcss-reduce-initial": "^4.0.3",
"postcss-reduce-transforms": "^4.0.2",
"postcss-unique-selectors": "^4.0.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment