diff options
Diffstat (limited to 'node_modules/postcss-merge-rules')
4 files changed, 43 insertions, 17 deletions
diff --git a/node_modules/postcss-merge-rules/package.json b/node_modules/postcss-merge-rules/package.json index 41e77f33..904f06c1 100644 --- a/node_modules/postcss-merge-rules/package.json +++ b/node_modules/postcss-merge-rules/package.json @@ -1,6 +1,6 @@ { "name": "postcss-merge-rules", - "version": "6.0.3", + "version": "6.1.1", "description": "Merge CSS rules with PostCSS.", "types": "types/index.d.ts", "main": "src/index.js", @@ -24,10 +24,10 @@ }, "repository": "cssnano/cssnano", "dependencies": { - "browserslist": "^4.22.2", + "browserslist": "^4.23.0", "caniuse-api": "^3.0.0", - "postcss-selector-parser": "^6.0.15", - "cssnano-utils": "^4.0.1" + "postcss-selector-parser": "^6.0.16", + "cssnano-utils": "^4.0.2" }, "bugs": { "url": "https://github.com/cssnano/cssnano/issues" @@ -37,9 +37,9 @@ }, "devDependencies": { "@types/caniuse-api": "^3.0.6", - "postcss": "^8.4.32", + "postcss": "^8.4.37", "postcss-simple-vars": "^7.0.1", - "postcss-discard-comments": "^6.0.1" + "postcss-discard-comments": "^6.0.2" }, "peerDependencies": { "postcss": "^8.4.31" diff --git a/node_modules/postcss-merge-rules/src/index.js b/node_modules/postcss-merge-rules/src/index.js index fcabadd5..686f880d 100644 --- a/node_modules/postcss-merge-rules/src/index.js +++ b/node_modules/postcss-merge-rules/src/index.js @@ -1,4 +1,5 @@ 'use strict'; +const { dirname } = require('path'); const browserslist = require('browserslist'); const { sameParent } = require('cssnano-utils'); const { @@ -406,21 +407,31 @@ function selectorMerger(browsers, compatibilityCache) { cache = partialMerge(cache, rule); }; } + +/** + * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions + * @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions + * @typedef {AutoprefixerOptions & BrowserslistOptions} Options + */ + /** - * @type {import('postcss').PluginCreator<void>} + * @type {import('postcss').PluginCreator<Options>} + * @param {Options} opts * @return {import('postcss').Plugin} */ -function pluginCreator() { +function pluginCreator(opts = {}) { return { postcssPlugin: 'postcss-merge-rules', + /** + * @param {import('postcss').Result & {opts: BrowserslistOptions & {file?: string}}} result + */ prepare(result) { - /** @type {typeof result.opts & browserslist.Options} */ - const resultOpts = result.opts || {}; - const browsers = browserslist(null, { - stats: resultOpts.stats, - path: __dirname, - env: resultOpts.env, + const { stats, env, from, file } = result.opts || {}; + const browsers = browserslist(opts.overrideBrowserslist, { + stats: opts.stats || stats, + path: opts.path || dirname(from || file || __filename), + env: opts.env || env, }); const compatibilityCache = new Map(); diff --git a/node_modules/postcss-merge-rules/types/index.d.ts b/node_modules/postcss-merge-rules/types/index.d.ts index 4443a311..9d7777f9 100644 --- a/node_modules/postcss-merge-rules/types/index.d.ts +++ b/node_modules/postcss-merge-rules/types/index.d.ts @@ -1,9 +1,23 @@ export = pluginCreator; /** - * @type {import('postcss').PluginCreator<void>} + * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions + * @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions + * @typedef {AutoprefixerOptions & BrowserslistOptions} Options + */ +/** + * @type {import('postcss').PluginCreator<Options>} + * @param {Options} opts * @return {import('postcss').Plugin} */ -declare function pluginCreator(): import('postcss').Plugin; +declare function pluginCreator(opts?: 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
\ No newline at end of file diff --git a/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts b/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts index 32bbf01a..5fe9eea7 100644 --- a/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts +++ b/node_modules/postcss-merge-rules/types/lib/ensureCompatibility.d.ts @@ -69,3 +69,4 @@ export const pseudoElements: { * @return {boolean} */ export function ensureCompatibility(selectors: string[], browsers?: string[] | undefined, compatibilityCache?: Map<string, boolean> | undefined): boolean; +//# sourceMappingURL=ensureCompatibility.d.ts.map
\ No newline at end of file |
