From 06823fbf1c2e763a5bf76c3990ca98fbbcd98691 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Tue, 14 May 2024 14:05:49 +0800 Subject: updated node_modules --- node_modules/postcss-convert-values/src/index.js | 37 ++++++++++++++++++------ 1 file changed, 28 insertions(+), 9 deletions(-) (limited to 'node_modules/postcss-convert-values/src') diff --git a/node_modules/postcss-convert-values/src/index.js b/node_modules/postcss-convert-values/src/index.js index 3590d908..85755753 100644 --- a/node_modules/postcss-convert-values/src/index.js +++ b/node_modules/postcss-convert-values/src/index.js @@ -1,4 +1,5 @@ 'use strict'; +const { dirname } = require('path'); const valueParser = require('postcss-value-parser'); const browserslist = require('browserslist'); const convert = require('./lib/convert.js'); @@ -114,6 +115,7 @@ function clampOpacity(node) { function shouldKeepZeroUnit(decl, browsers) { const { parent } = decl; const lowerCasedProp = decl.prop.toLowerCase(); + return ( (decl.value.includes('%') && keepZeroPercent.has(lowerCasedProp) && @@ -130,6 +132,8 @@ function shouldKeepZeroUnit(decl, browsers) { /** @type {import('postcss').AtRule} */ (parent).name === 'property' && /** @type {import('postcss').AtRule} */ + (parent).nodes !== undefined && + /** @type {import('postcss').AtRule} */ (parent).nodes.some( (node) => node.type === 'decl' && @@ -192,24 +196,39 @@ function transform(opts, browsers, decl) { } const plugin = 'postcss-convert-values'; + /** - * @typedef {{precision: boolean | number, angle?: boolean, time?: boolean, length?: boolean} & browserslist.Options} Options */ + * @typedef {Parameters[2]} ConvertOptions + * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions + * @typedef {Pick} BrowserslistOptions + * @typedef {{precision?: false | number} & ConvertOptions & AutoprefixerOptions & BrowserslistOptions} Options + */ + /** * @type {import('postcss').PluginCreator} * @param {Options} opts * @return {import('postcss').Plugin} */ function pluginCreator(opts = { precision: false }) { - const browsers = browserslist(null, { - stats: opts.stats, - path: __dirname, - env: opts.env, - }); - return { postcssPlugin: plugin, - OnceExit(css) { - css.walkDecls((decl) => transform(opts, browsers, decl)); + + /** + * @param {import('postcss').Result & {opts: BrowserslistOptions & {file?: string}}} result + */ + prepare(result) { + 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, + }); + + return { + OnceExit(css) { + css.walkDecls((decl) => transform(opts, browsers, decl)); + }, + }; }, }; } -- cgit v1.2.3