postcss-minify-params
Advanced tools
Comparing version
{ | ||
"name": "postcss-minify-params", | ||
"version": "6.0.3", | ||
"version": "6.1.0", | ||
"description": "Minify at-rule params with PostCSS", | ||
@@ -30,3 +30,3 @@ "keywords": [ | ||
"postcss-value-parser": "^4.2.0", | ||
"cssnano-utils": "^4.0.1" | ||
"cssnano-utils": "^4.0.2" | ||
}, | ||
@@ -33,0 +33,0 @@ "engines": { |
'use strict'; | ||
const { dirname } = require('path'); | ||
const browserslist = require('browserslist'); | ||
@@ -136,19 +137,34 @@ const valueParser = require('postcss-value-parser'); | ||
/** | ||
* @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)); | ||
}, | ||
}; | ||
}, | ||
@@ -155,0 +171,0 @@ }; |
export = pluginCreator; | ||
/** | ||
* @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} | ||
*/ | ||
declare function pluginCreator(options?: browserslist.Options): import('postcss').Plugin; | ||
declare function pluginCreator(options?: Options): import('postcss').Plugin; | ||
declare namespace pluginCreator { | ||
let postcss: true; | ||
export { postcss, AutoprefixerOptions, BrowserslistOptions, Options }; | ||
} | ||
type Options = AutoprefixerOptions & BrowserslistOptions; | ||
declare var postcss: true; | ||
type AutoprefixerOptions = { | ||
overrideBrowserslist?: string | string[]; | ||
}; | ||
type BrowserslistOptions = Pick<browserslist.Options, 'stats' | 'path' | 'env'>; | ||
import browserslist = require("browserslist"); | ||
//# sourceMappingURL=index.d.ts.map |
8135
21.6%6
20%172
17.01%Updated