diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2024-05-14 14:05:49 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2024-05-14 14:05:49 +0800 |
| commit | 06823fbf1c2e763a5bf76c3990ca98fbbcd98691 (patch) | |
| tree | 4280bece3888d12a022093bf1a9cd1b049393602 /node_modules/postcss-minify-params/src | |
| parent | 1368909b3cd552dbb0d12d5863c597f5be46177d (diff) | |
updated node_modules
Diffstat (limited to 'node_modules/postcss-minify-params/src')
| -rw-r--r-- | node_modules/postcss-minify-params/src/index.js | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/node_modules/postcss-minify-params/src/index.js b/node_modules/postcss-minify-params/src/index.js index c2cbe320..df65593e 100644 --- a/node_modules/postcss-minify-params/src/index.js +++ b/node_modules/postcss-minify-params/src/index.js @@ -1,4 +1,5 @@ 'use strict'; +const { dirname } = require('path'); const browserslist = require('browserslist'); const valueParser = require('postcss-value-parser'); const { getArguments } = require('cssnano-utils'); @@ -133,23 +134,38 @@ function transform(legacy, rule) { const allBugBrowers = new Set(['ie 10', 'ie 11']); /** - * @type {import('postcss').PluginCreator<browserslist.Options>} - * @param {browserslist.Options} options + * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions + * @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions + * @typedef {AutoprefixerOptions & BrowserslistOptions} Options + */ + +/** + * @type {import('postcss').PluginCreator<Options>} + * @param {Options} options * @return {import('postcss').Plugin} */ function pluginCreator(options = {}) { - const browsers = browserslist(null, { - stats: options.stats, - path: __dirname, - env: options.env, - }); - - const hasAllBug = browsers.some((browser) => allBugBrowers.has(browser)); return { postcssPlugin: 'postcss-minify-params', - OnceExit(css) { - css.walkAtRules((rule) => transform(hasAllBug, rule)); + /** + * @param {import('postcss').Result & {opts: BrowserslistOptions & {file?: string}}} result + */ + prepare(result) { + const { stats, env, from, file } = result.opts || {}; + const browsers = browserslist(options.overrideBrowserslist, { + stats: options.stats || stats, + path: options.path || dirname(from || file || __filename), + env: options.env || env, + }); + + const hasAllBug = browsers.some((browser) => allBugBrowers.has(browser)); + + return { + OnceExit(css) { + css.walkAtRules((rule) => transform(hasAllBug, rule)); + }, + }; }, }; } |
