summaryrefslogtreecommitdiff
path: root/node_modules/cssnano-preset-default/src/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/cssnano-preset-default/src/index.js')
-rw-r--r--node_modules/cssnano-preset-default/src/index.js195
1 files changed, 0 insertions, 195 deletions
diff --git a/node_modules/cssnano-preset-default/src/index.js b/node_modules/cssnano-preset-default/src/index.js
deleted file mode 100644
index 89990ebf..00000000
--- a/node_modules/cssnano-preset-default/src/index.js
+++ /dev/null
@@ -1,195 +0,0 @@
-'use strict';
-/**
- * @author Ben Briggs
- * @license MIT
- * @module cssnano:preset:default
- * @overview
- *
- * This default preset for cssnano only includes transforms that make no
- * assumptions about your CSS other than what is passed in. In previous
- * iterations of cssnano, assumptions were made about your CSS which caused
- * output to look different in certain use cases, but not others. These
- * transforms have been moved from the defaults to other presets, to make
- * this preset require only minimal configuration.
- */
-
-const cssDeclarationSorter = require('css-declaration-sorter');
-const postcssDiscardComments = require('postcss-discard-comments');
-const postcssReduceInitial = require('postcss-reduce-initial');
-const postcssMinifyGradients = require('postcss-minify-gradients');
-const postcssSvgo = require('postcss-svgo');
-const postcssReduceTransforms = require('postcss-reduce-transforms');
-const postcssConvertValues = require('postcss-convert-values');
-const postcssCalc = require('postcss-calc');
-const postcssColormin = require('postcss-colormin');
-const postcssOrderedValues = require('postcss-ordered-values');
-const postcssMinifySelectors = require('postcss-minify-selectors');
-const postcssMinifyParams = require('postcss-minify-params');
-const postcssNormalizeCharset = require('postcss-normalize-charset');
-const postcssMinifyFontValues = require('postcss-minify-font-values');
-const postcssNormalizeUrl = require('postcss-normalize-url');
-const postcssMergeLonghand = require('postcss-merge-longhand');
-const postcssDiscardDuplicates = require('postcss-discard-duplicates');
-const postcssDiscardOverridden = require('postcss-discard-overridden');
-const postcssNormalizeRepeatStyle = require('postcss-normalize-repeat-style');
-const postcssMergeRules = require('postcss-merge-rules');
-const postcssDiscardEmpty = require('postcss-discard-empty');
-const postcssUniqueSelectors = require('postcss-unique-selectors');
-const postcssNormalizeString = require('postcss-normalize-string');
-const postcssNormalizePositions = require('postcss-normalize-positions');
-const postcssNormalizeWhitespace = require('postcss-normalize-whitespace');
-const postcssNormalizeUnicode = require('postcss-normalize-unicode');
-const postcssNormalizeDisplayValues = require('postcss-normalize-display-values');
-const postcssNormalizeTimingFunctions = require('postcss-normalize-timing-functions');
-const { rawCache } = require('cssnano-utils');
-
-/**
- * @template {object | void} [OptionsExtends=void]
- * @typedef {false | OptionsExtends & {exclude?: true}} SimpleOptions
- */
-
-/**
- * @typedef {object} Options
- * @property {SimpleOptions<Parameters<typeof cssDeclarationSorter>[0]>} [cssDeclarationSorter]
- * @property {SimpleOptions<import('postcss-discard-comments').Options>} [discardComments]
- * @property {SimpleOptions<import('postcss-reduce-initial').Options>} [reduceInitial]
- * @property {SimpleOptions} [minifyGradients]
- * @property {SimpleOptions<import('postcss-svgo').Options>} [svgo]
- * @property {SimpleOptions} [reduceTransforms]
- * @property {SimpleOptions<import('postcss-convert-values').Options>} [convertValues]
- * @property {SimpleOptions<import('postcss-calc').PostCssCalcOptions>} [calc]
- * @property {SimpleOptions<import('postcss-colormin').Options>} [colormin]
- * @property {SimpleOptions} [orderedValues]
- * @property {SimpleOptions} [minifySelectors]
- * @property {SimpleOptions<import('postcss-minify-params').Options>} [minifyParams]
- * @property {SimpleOptions<import('postcss-normalize-charset').Options>} [normalizeCharset]
- * @property {SimpleOptions<import('postcss-minify-font-values').Options>} [minifyFontValues]
- * @property {SimpleOptions} [normalizeUrl]
- * @property {SimpleOptions} [mergeLonghand]
- * @property {SimpleOptions} [discardDuplicates]
- * @property {SimpleOptions} [discardOverridden]
- * @property {SimpleOptions} [normalizeRepeatStyle]
- * @property {SimpleOptions<import('postcss-merge-rules').Options>} [mergeRules]
- * @property {SimpleOptions} [discardEmpty]
- * @property {SimpleOptions} [uniqueSelectors]
- * @property {SimpleOptions<import('postcss-normalize-string').Options>} [normalizeString]
- * @property {SimpleOptions} [normalizePositions]
- * @property {SimpleOptions} [normalizeWhitespace]
- * @property {SimpleOptions<import('postcss-normalize-unicode').Options>} [normalizeUnicode]
- * @property {SimpleOptions} [normalizeDisplayValues]
- * @property {SimpleOptions} [normalizeTimingFunctions]
- * @property {SimpleOptions} [rawCache]
- */
-
-/**
- * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions
- * @typedef {Pick<import('browserslist').Options, 'stats' | 'path' | 'env'>} BrowserslistOptions
- */
-
-/**
- * @param {[import('postcss').PluginCreator<any>, keyof Options][]} plugins
- * @param {Parameters<typeof defaultPreset>[0]} opts
- * @returns {ReturnType<typeof defaultPreset>["plugins"]}
- */
-function configurePlugins(plugins, opts = {}) {
- const { overrideBrowserslist, stats, env, path } = opts;
-
- // Shared Autoprefixer + Browserslist options
- const sharedProps = {
- overrideBrowserslist,
- stats,
- env,
- path,
- };
-
- /**
- * @type {Options}
- */
- const defaults = {
- colormin: {
- ...sharedProps,
- },
- convertValues: {
- length: false,
- ...sharedProps,
- },
- mergeRules: {
- ...sharedProps,
- },
- minifyParams: {
- ...sharedProps,
- },
- normalizeCharset: {
- add: false,
- },
- normalizeUnicode: {
- ...sharedProps,
- },
- reduceInitial: {
- ...sharedProps,
- },
- cssDeclarationSorter: {
- keepOverrides: true,
- },
- };
-
- // Merge option properties for each plugin
- return plugins.map(([plugin, opt]) => {
- const defaultProps = defaults[opt] ?? {};
- const presetProps = opts[opt] ?? {};
-
- return [
- plugin,
- presetProps !== false
- ? { ...defaultProps, ...presetProps }
- : { exclude: true },
- ];
- });
-}
-
-/**
- * Safe defaults for cssnano which require minimal configuration
- *
- * @param {Options & AutoprefixerOptions & BrowserslistOptions} opts
- * @returns {{ plugins: [import('postcss').PluginCreator<any>, Options[keyof Options]][] }}
- */
-function defaultPreset(opts = {}) {
- return {
- plugins: configurePlugins(
- [
- [postcssDiscardComments, 'discardComments'],
- [postcssMinifyGradients, 'minifyGradients'],
- [postcssReduceInitial, 'reduceInitial'],
- [postcssSvgo, 'svgo'],
- [postcssNormalizeDisplayValues, 'normalizeDisplayValues'],
- [postcssReduceTransforms, 'reduceTransforms'],
- [postcssColormin, 'colormin'],
- [postcssNormalizeTimingFunctions, 'normalizeTimingFunctions'],
- [postcssCalc, 'calc'],
- [postcssConvertValues, 'convertValues'],
- [postcssOrderedValues, 'orderedValues'],
- [postcssMinifySelectors, 'minifySelectors'],
- [postcssMinifyParams, 'minifyParams'],
- [postcssNormalizeCharset, 'normalizeCharset'],
- [postcssDiscardOverridden, 'discardOverridden'],
- [postcssNormalizeString, 'normalizeString'],
- [postcssNormalizeUnicode, 'normalizeUnicode'],
- [postcssMinifyFontValues, 'minifyFontValues'],
- [postcssNormalizeUrl, 'normalizeUrl'],
- [postcssNormalizeRepeatStyle, 'normalizeRepeatStyle'],
- [postcssNormalizePositions, 'normalizePositions'],
- [postcssNormalizeWhitespace, 'normalizeWhitespace'],
- [postcssMergeLonghand, 'mergeLonghand'],
- [postcssDiscardDuplicates, 'discardDuplicates'],
- [postcssMergeRules, 'mergeRules'],
- [postcssDiscardEmpty, 'discardEmpty'],
- [postcssUniqueSelectors, 'uniqueSelectors'],
- [cssDeclarationSorter, 'cssDeclarationSorter'],
- [rawCache, 'rawCache'],
- ],
- opts
- ),
- };
-}
-
-module.exports = defaultPreset;