postcss-convert-values 8.0.1 → 8.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE-MIT +1 -1
- package/README.md +1 -1
- package/package.json +27 -8
- package/src/index.js +17 -17
- package/src/lib/computeBrowsersToSupport.js +27 -0
- package/src/lib/convert.js +2 -2
- package/src/lib/getBrowsersForWebBuild.js +35 -0
- package/types/index.d.ts +8 -23
- package/types/index.d.ts.map +1 -1
- package/types/lib/computeBrowsersToSupport.d.ts +18 -0
- package/types/lib/computeBrowsersToSupport.d.ts.map +1 -0
- package/types/lib/convert.d.ts +7 -1
- package/types/lib/convert.d.ts.map +1 -1
- package/types/lib/getBrowsersForWebBuild.d.ts +3 -0
- package/types/lib/getBrowsersForWebBuild.d.ts.map +1 -0
package/LICENSE-MIT
CHANGED
package/README.md
CHANGED
package/package.json
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postcss-convert-values",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.2",
|
|
4
4
|
"description": "Convert values with PostCSS (e.g. ms -> s)",
|
|
5
|
-
"
|
|
6
|
-
|
|
5
|
+
"exports": {
|
|
6
|
+
".": {
|
|
7
|
+
"types": "./types/index.d.ts",
|
|
8
|
+
"default": "./src/index.js"
|
|
9
|
+
},
|
|
10
|
+
"./src": "./src/index.js",
|
|
11
|
+
"./src/index": "./src/index.js",
|
|
12
|
+
"./src/index.js": "./src/index.js",
|
|
13
|
+
"./src/lib/convert": "./src/lib/convert.js",
|
|
14
|
+
"./src/lib/convert.js": "./src/lib/convert.js",
|
|
15
|
+
"./package.json": "./package.json"
|
|
16
|
+
},
|
|
17
|
+
"imports": {
|
|
18
|
+
"#getBrowsersList": {
|
|
19
|
+
"node": "./src/lib/computeBrowsersToSupport.js",
|
|
20
|
+
"default": "./src/lib/getBrowsersForWebBuild.js"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
7
23
|
"files": [
|
|
8
24
|
"LICENSE-MIT",
|
|
9
25
|
"src",
|
|
@@ -20,11 +36,14 @@
|
|
|
20
36
|
"author": {
|
|
21
37
|
"name": "Ben Briggs",
|
|
22
38
|
"email": "beneb.info@gmail.com",
|
|
23
|
-
"url": "
|
|
39
|
+
"url": "https://beneb.info"
|
|
40
|
+
},
|
|
41
|
+
"repository": {
|
|
42
|
+
"type": "git",
|
|
43
|
+
"url": "cssnano/cssnano"
|
|
24
44
|
},
|
|
25
|
-
"repository": "cssnano/cssnano",
|
|
26
45
|
"dependencies": {
|
|
27
|
-
"browserslist": "^4.28.
|
|
46
|
+
"browserslist": "^4.28.7",
|
|
28
47
|
"postcss-value-parser": "^4.2.0"
|
|
29
48
|
},
|
|
30
49
|
"bugs": {
|
|
@@ -34,9 +53,9 @@
|
|
|
34
53
|
"node": "^22.11.0 || ^24.11.0 || >=26.0"
|
|
35
54
|
},
|
|
36
55
|
"devDependencies": {
|
|
37
|
-
"postcss": "^8.5.
|
|
56
|
+
"postcss": "^8.5.25"
|
|
38
57
|
},
|
|
39
58
|
"peerDependencies": {
|
|
40
|
-
"postcss": "^8.5.
|
|
59
|
+
"postcss": "^8.5.25"
|
|
41
60
|
}
|
|
42
61
|
}
|
package/src/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
-
const { dirname } = require('path');
|
|
3
2
|
const valueParser = require('postcss-value-parser');
|
|
4
|
-
const
|
|
3
|
+
const getBrowsersList = require('#getBrowsersList');
|
|
5
4
|
const convert = require('./lib/convert.js');
|
|
6
5
|
|
|
6
|
+
/** @import browserslist from 'browserslist' */
|
|
7
|
+
|
|
7
8
|
const LENGTH_UNITS = new Set([
|
|
8
9
|
'em',
|
|
9
10
|
'ex',
|
|
@@ -119,7 +120,7 @@ function clampOpacity(node) {
|
|
|
119
120
|
if (!pair) {
|
|
120
121
|
return;
|
|
121
122
|
}
|
|
122
|
-
|
|
123
|
+
const num = Number(pair.number);
|
|
123
124
|
if (num > 1) {
|
|
124
125
|
node.value = pair.unit === '%' ? num + pair.unit : 1 + pair.unit;
|
|
125
126
|
} else if (num < 0) {
|
|
@@ -149,12 +150,9 @@ function shouldKeepZeroUnit(decl, browsers) {
|
|
|
149
150
|
(lowerCasedProp === 'initial-value' &&
|
|
150
151
|
parent &&
|
|
151
152
|
parent.type === 'atrule' &&
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
(parent).nodes !== undefined &&
|
|
156
|
-
/** @type {import('postcss').AtRule} */
|
|
157
|
-
(parent).nodes.some(
|
|
153
|
+
parent.name === 'property' &&
|
|
154
|
+
parent.nodes !== undefined &&
|
|
155
|
+
parent.nodes.some(
|
|
158
156
|
(node) =>
|
|
159
157
|
node.type === 'decl' &&
|
|
160
158
|
node.prop.toLowerCase() === 'syntax' &&
|
|
@@ -221,7 +219,6 @@ const plugin = 'postcss-convert-values';
|
|
|
221
219
|
*/
|
|
222
220
|
|
|
223
221
|
/**
|
|
224
|
-
* @type {import('postcss').PluginCreator<Options>}
|
|
225
222
|
* @param {Options} opts
|
|
226
223
|
* @return {import('postcss').Plugin}
|
|
227
224
|
*/
|
|
@@ -234,15 +231,16 @@ function pluginCreator(opts = { precision: false }) {
|
|
|
234
231
|
*/
|
|
235
232
|
prepare(result) {
|
|
236
233
|
const { stats, env, from, file } = result.opts || {};
|
|
237
|
-
const browsers =
|
|
238
|
-
stats: opts.stats || stats,
|
|
239
|
-
path: opts.path || dirname(from || file || __filename),
|
|
240
|
-
env: opts.env || env,
|
|
241
|
-
});
|
|
234
|
+
const browsers = getBrowsersList(opts, stats, from, file, env);
|
|
242
235
|
|
|
243
236
|
return {
|
|
237
|
+
/**
|
|
238
|
+
* @param {import('postcss').Root} css
|
|
239
|
+
*/
|
|
244
240
|
OnceExit(css) {
|
|
245
|
-
css.walkDecls((decl) =>
|
|
241
|
+
css.walkDecls((decl) =>
|
|
242
|
+
transform(/** @type {Options} */ (opts), browsers, decl)
|
|
243
|
+
);
|
|
246
244
|
},
|
|
247
245
|
};
|
|
248
246
|
},
|
|
@@ -250,4 +248,6 @@ function pluginCreator(opts = { precision: false }) {
|
|
|
250
248
|
}
|
|
251
249
|
|
|
252
250
|
pluginCreator.postcss = true;
|
|
253
|
-
module.exports =
|
|
251
|
+
module.exports = /** @type {import('postcss').PluginCreator<Options>} */ (
|
|
252
|
+
pluginCreator
|
|
253
|
+
);
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const browserslist = require('browserslist');
|
|
4
|
+
const { dirname } = require('node:path');
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* @param {{overrideBrowserslist?: string | string[] | undefined, stats?: browserslist.Options["stats"], path?: browserslist.Options["path"], env?: browserslist.Options["env"]}} options
|
|
9
|
+
* @param {browserslist.Options["stats"]} stats
|
|
10
|
+
* @param {string|undefined} from
|
|
11
|
+
* @param {string} [file]
|
|
12
|
+
* @param {browserslist.Options["env"]} [env]
|
|
13
|
+
* @returns {string[]}
|
|
14
|
+
*/
|
|
15
|
+
module.exports = function computeBrowsersToSupport(
|
|
16
|
+
options,
|
|
17
|
+
stats,
|
|
18
|
+
from,
|
|
19
|
+
file,
|
|
20
|
+
env
|
|
21
|
+
) {
|
|
22
|
+
return browserslist(options.overrideBrowserslist, {
|
|
23
|
+
stats: options.stats || stats,
|
|
24
|
+
path: options.path || dirname(from || file || __filename),
|
|
25
|
+
env: options.env || env,
|
|
26
|
+
});
|
|
27
|
+
};
|
package/src/lib/convert.js
CHANGED
|
@@ -37,11 +37,11 @@ function dropLeadingZero(number) {
|
|
|
37
37
|
/**
|
|
38
38
|
* @param {number} number
|
|
39
39
|
* @param {string} originalUnit
|
|
40
|
-
* @param {lengthConv | timeConv | angleConv} conversions
|
|
40
|
+
* @param {typeof lengthConv | typeof timeConv | typeof angleConv} conversions
|
|
41
41
|
* @return {string}
|
|
42
42
|
*/
|
|
43
43
|
function transform(number, originalUnit, conversions) {
|
|
44
|
-
|
|
44
|
+
const conversionUnits = [...conversions.keys()].filter((u) => {
|
|
45
45
|
return originalUnit !== u;
|
|
46
46
|
});
|
|
47
47
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
module.exports = function () {
|
|
4
|
+
return [
|
|
5
|
+
'and_chr 150',
|
|
6
|
+
'and_ff 152',
|
|
7
|
+
'and_qq 14.9',
|
|
8
|
+
'and_uc 15.5',
|
|
9
|
+
'android 150',
|
|
10
|
+
'chrome 150',
|
|
11
|
+
'chrome 149',
|
|
12
|
+
'chrome 148',
|
|
13
|
+
'chrome 118',
|
|
14
|
+
'chrome 109',
|
|
15
|
+
'edge 150',
|
|
16
|
+
'edge 149',
|
|
17
|
+
'edge 148',
|
|
18
|
+
'firefox 152',
|
|
19
|
+
'firefox 151',
|
|
20
|
+
'firefox 140',
|
|
21
|
+
'ios_saf 26.5',
|
|
22
|
+
'ios_saf 26.4',
|
|
23
|
+
'ios_saf 26.3',
|
|
24
|
+
'ios_saf 18.5-18.7',
|
|
25
|
+
'kaios 3.0-3.1',
|
|
26
|
+
'op_mob 80',
|
|
27
|
+
'opera 131',
|
|
28
|
+
'opera 127',
|
|
29
|
+
'safari 26.5',
|
|
30
|
+
'safari 26.4',
|
|
31
|
+
'safari 26.3',
|
|
32
|
+
'samsung 30',
|
|
33
|
+
'samsung 29',
|
|
34
|
+
];
|
|
35
|
+
};
|
package/types/index.d.ts
CHANGED
|
@@ -1,29 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* @type {import('postcss').PluginCreator<Options>}
|
|
10
|
-
* @param {Options} opts
|
|
11
|
-
* @return {import('postcss').Plugin}
|
|
12
|
-
*/
|
|
13
|
-
declare function pluginCreator(opts?: Options): import("postcss").Plugin;
|
|
14
|
-
declare namespace pluginCreator {
|
|
15
|
-
export { postcss, ConvertOptions, AutoprefixerOptions, BrowserslistOptions, Options };
|
|
16
|
-
}
|
|
17
|
-
declare var postcss: true;
|
|
18
|
-
type ConvertOptions = Parameters<typeof convert>[2];
|
|
19
|
-
type AutoprefixerOptions = {
|
|
1
|
+
declare const _exports: import("postcss").PluginCreator<Options>;
|
|
2
|
+
export = _exports;
|
|
3
|
+
import convert = require('./lib/convert.js');
|
|
4
|
+
import type browserslist from 'browserslist';
|
|
5
|
+
export type ConvertOptions = Parameters<typeof convert>[2];
|
|
6
|
+
export type AutoprefixerOptions = {
|
|
20
7
|
overrideBrowserslist?: string | string[];
|
|
21
8
|
};
|
|
22
|
-
type BrowserslistOptions = Pick<browserslist.Options,
|
|
23
|
-
type Options = {
|
|
9
|
+
export type BrowserslistOptions = Pick<browserslist.Options, 'stats' | 'path' | 'env'>;
|
|
10
|
+
export type Options = {
|
|
24
11
|
precision?: false | number;
|
|
25
12
|
transformCustomProperties?: boolean;
|
|
26
13
|
} & ConvertOptions & AutoprefixerOptions & BrowserslistOptions;
|
|
27
|
-
import convert = require("./lib/convert.js");
|
|
28
|
-
import browserslist = require("browserslist");
|
|
29
14
|
//# sourceMappingURL=index.d.ts.map
|
package/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;OAGM,OAAO,WAAW,kBAAkB;AAEtC,OAAQ,KAAA,YAAY,MAAM,cAAc,CAAA;AAiNzC,YAAyC,cAAc,GAA7C,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAgB;AACvD,YAAwD,mBAAmB,GAAjE;IAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,CAAqB;AAC3E,YAAgE,mBAAmB,GAAzE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC,CAAqB;AACnF,YAA0I,OAAO,GAAvI;IAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;CAAC,GAAG,cAAc,GAAG,mBAAmB,GAAG,mBAAmB,CAAS"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export = computeBrowsersToSupport;
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param {{overrideBrowserslist?: string | string[] | undefined, stats?: browserslist.Options["stats"], path?: browserslist.Options["path"], env?: browserslist.Options["env"]}} options
|
|
5
|
+
* @param {browserslist.Options["stats"]} stats
|
|
6
|
+
* @param {string|undefined} from
|
|
7
|
+
* @param {string} [file]
|
|
8
|
+
* @param {browserslist.Options["env"]} [env]
|
|
9
|
+
* @returns {string[]}
|
|
10
|
+
*/
|
|
11
|
+
declare function computeBrowsersToSupport(options: {
|
|
12
|
+
overrideBrowserslist?: string | string[] | undefined;
|
|
13
|
+
stats?: browserslist.Options["stats"];
|
|
14
|
+
path?: browserslist.Options["path"];
|
|
15
|
+
env?: browserslist.Options["env"];
|
|
16
|
+
}, stats: browserslist.Options["stats"], from: string | undefined, file?: string, env?: browserslist.Options["env"]): string[];
|
|
17
|
+
import browserslist = require('browserslist');
|
|
18
|
+
//# sourceMappingURL=computeBrowsersToSupport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computeBrowsersToSupport.d.ts","sourceRoot":"","sources":["../../src/lib/computeBrowsersToSupport.js"],"names":[],"mappings":";AAKA;;;;;;;;GAQG;0CAED,OAAO,EARE;IAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAAC,GAAG,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;CAQtK,EACP,KAAK,EARI,YAAY,CAAC,OAAO,CAAC,OAAO,CAQhC,EACL,IAAI,EARK,MAAM,GAAC,SAQZ,EACJ,IAAI,AARH,CACA,EADQ,MAQL,EACJ,GAAG,AARF,CACA,EADQ,YAAY,CAAC,OAAO,CAAC,KAAK,CAQhC,GAPQ,MAAM,EAAE;OAVf,YAAY,WAAW,cAAc"}
|
package/types/lib/convert.d.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
|
+
export = _exports;
|
|
2
|
+
/**
|
|
3
|
+
* @param {number} number
|
|
4
|
+
* @param {string} unit
|
|
5
|
+
* @param {{time?: boolean, length?: boolean, angle?: boolean}} options
|
|
6
|
+
* @return {string}
|
|
7
|
+
*/
|
|
1
8
|
declare function _exports(number: number, unit: string, { time, length, angle }: {
|
|
2
9
|
time?: boolean;
|
|
3
10
|
length?: boolean;
|
|
4
11
|
angle?: boolean;
|
|
5
12
|
}): string;
|
|
6
|
-
export = _exports;
|
|
7
13
|
//# sourceMappingURL=convert.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/lib/convert.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert.d.ts","sourceRoot":"","sources":["../../src/lib/convert.js"],"names":[],"mappings":";AAyDA;;;;;GAKG;0BACwB,MAAM,EALtB,MAKsB,EAAE,IAAI,EAJ5B,MAI4B,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAHrD;IAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAGG,GAFpD,MAAM"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBrowsersForWebBuild.d.ts","sourceRoot":"","sources":["../../src/lib/getBrowsersForWebBuild.js"],"names":[],"mappings":""}
|