source: frontend/node_modules/cssnano-preset-default/src/index.js

Last change on this file was 9af201e, checked in by MBK <marija.karapandzova@…>, 12 days ago

Fix frontend appearance

  • Property mode set to 100644
File size: 6.1 KB
Line 
1'use strict';
2/**
3 * @author Ben Briggs
4 * @license MIT
5 * @module cssnano:preset:default
6 * @overview
7 *
8 * This default preset for cssnano only includes transforms that make no
9 * assumptions about your CSS other than what is passed in. In previous
10 * iterations of cssnano, assumptions were made about your CSS which caused
11 * output to look different in certain use cases, but not others. These
12 * transforms have been moved from the defaults to other presets, to make
13 * this preset require only minimal configuration.
14 */
15
16const cssDeclarationSorter = require('css-declaration-sorter');
17const postcssDiscardComments = require('postcss-discard-comments');
18const postcssReduceInitial = require('postcss-reduce-initial');
19const postcssMinifyGradients = require('postcss-minify-gradients');
20const postcssSvgo = require('postcss-svgo');
21const postcssReduceTransforms = require('postcss-reduce-transforms');
22const postcssConvertValues = require('postcss-convert-values');
23const postcssCalc = require('postcss-calc');
24const postcssColormin = require('postcss-colormin');
25const postcssOrderedValues = require('postcss-ordered-values');
26const postcssMinifySelectors = require('postcss-minify-selectors');
27const postcssMinifyParams = require('postcss-minify-params');
28const postcssNormalizeCharset = require('postcss-normalize-charset');
29const postcssMinifyFontValues = require('postcss-minify-font-values');
30const postcssNormalizeUrl = require('postcss-normalize-url');
31const postcssMergeLonghand = require('postcss-merge-longhand');
32const postcssDiscardDuplicates = require('postcss-discard-duplicates');
33const postcssDiscardOverridden = require('postcss-discard-overridden');
34const postcssNormalizeRepeatStyle = require('postcss-normalize-repeat-style');
35const postcssMergeRules = require('postcss-merge-rules');
36const postcssDiscardEmpty = require('postcss-discard-empty');
37const postcssUniqueSelectors = require('postcss-unique-selectors');
38const postcssNormalizeString = require('postcss-normalize-string');
39const postcssNormalizePositions = require('postcss-normalize-positions');
40const postcssNormalizeWhitespace = require('postcss-normalize-whitespace');
41const postcssNormalizeUnicode = require('postcss-normalize-unicode');
42const postcssNormalizeDisplayValues = require('postcss-normalize-display-values');
43const postcssNormalizeTimingFunctions = require('postcss-normalize-timing-functions');
44const { rawCache } = require('cssnano-utils');
45
46/** @typedef {{
47discardComments?: false | import('postcss-discard-comments').Options & { exclude?: true},
48reduceInitial?: false | { exclude?: true}
49minifyGradients?: false | { exclude?: true}
50svgo?: false | import('postcss-svgo').Options & { exclude?: true},
51reduceTransforms?: false | { exclude?: true}
52convertValues?: false | import('postcss-convert-values').Options & { exclude?: true},
53calc?: false | import('postcss-calc').PostCssCalcOptions & { exclude?: true},
54colormin?: false | Record<string, any> & { exclude?: true},
55orderedValues?: false | { exclude?: true},
56minifySelectors?: false | { exclude?: true},
57minifyParams?: false | { exclude?: true},
58normalizeCharset?: false | import('postcss-normalize-charset').Options & { exclude?: true},
59minifyFontValues?: false | import('postcss-minify-font-values').Options & { exclude?: true},
60normalizeUrl?: false | import('postcss-normalize-url').Options & { exclude?: true},
61mergeLonghand?: false | { exclude?: true},
62discardDuplicates?: false | { exclude?: true},
63discardOverridden?: false | { exclude?: true},
64normalizeRepeatStyle?: false | { exclude?: true},
65mergeRules?: false | { exclude?: true},
66discardEmpty?: false | { exclude?: true},
67uniqueSelectors?: false | { exclude?: true},
68normalizeString?: false | import('postcss-normalize-string').Options & { exclude?: true},
69normalizePositions?: false | { exclude?: true},
70normalizeWhitespace?: false| { exclude?: true},
71normalizeUnicode?: false | { exclude?: true},
72normalizeDisplayValues?: false | { exclude?: true},
73normalizeTimingFunctions?: false | { exclude?: true},
74rawCache?: false | { exclude?: true}}} Options */
75
76const defaultOpts = {
77 convertValues: {
78 length: false,
79 },
80 normalizeCharset: {
81 add: false,
82 },
83 cssDeclarationSorter: {
84 keepOverrides: true,
85 },
86};
87
88/**
89 * @param {Options} opts
90 * @return {{plugins: [import('postcss').PluginCreator<any>, boolean | Record<string, any> | undefined][]}}
91 */
92function defaultPreset(opts = {}) {
93 const options = Object.assign({}, defaultOpts, opts);
94
95 /** @type {[import('postcss').PluginCreator<any>, boolean | Record<string, any> | undefined][]} **/
96 const plugins = [
97 [postcssDiscardComments, options.discardComments],
98 [postcssMinifyGradients, options.minifyGradients],
99 [postcssReduceInitial, options.reduceInitial],
100 [postcssSvgo, options.svgo],
101 [postcssNormalizeDisplayValues, options.normalizeDisplayValues],
102 [postcssReduceTransforms, options.reduceTransforms],
103 [postcssColormin, options.colormin],
104 [postcssNormalizeTimingFunctions, options.normalizeTimingFunctions],
105 [postcssCalc, options.calc],
106 [postcssConvertValues, options.convertValues],
107 [postcssOrderedValues, options.orderedValues],
108 [postcssMinifySelectors, options.minifySelectors],
109 [postcssMinifyParams, options.minifyParams],
110 [postcssNormalizeCharset, options.normalizeCharset],
111 [postcssDiscardOverridden, options.discardOverridden],
112 [postcssNormalizeString, options.normalizeString],
113 [postcssNormalizeUnicode, options.normalizeUnicode],
114 [postcssMinifyFontValues, options.minifyFontValues],
115 [postcssNormalizeUrl, options.normalizeUrl],
116 [postcssNormalizeRepeatStyle, options.normalizeRepeatStyle],
117 [postcssNormalizePositions, options.normalizePositions],
118 [postcssNormalizeWhitespace, options.normalizeWhitespace],
119 [postcssMergeLonghand, options.mergeLonghand],
120 [postcssDiscardDuplicates, options.discardDuplicates],
121 [postcssMergeRules, options.mergeRules],
122 [postcssDiscardEmpty, options.discardEmpty],
123 [postcssUniqueSelectors, options.uniqueSelectors],
124 [cssDeclarationSorter, options.cssDeclarationSorter],
125 [rawCache, options.rawCache],
126 ];
127
128 return { plugins };
129}
130
131module.exports = defaultPreset;
Note: See TracBrowser for help on using the repository browser.