postcss-normalize-unicode 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 CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) Ben Briggs <beneb.info@gmail.com> (http://beneb.info)
1
+ Copyright (c) Ben Briggs <beneb.info@gmail.com> (https://beneb.info)
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person
4
4
  obtaining a copy of this software and associated documentation
package/README.md CHANGED
@@ -41,6 +41,6 @@ See [CONTRIBUTORS.md](https://github.com/cssnano/cssnano/blob/master/CONTRIBUTOR
41
41
 
42
42
  ## License
43
43
 
44
- MIT © [Ben Briggs](http://beneb.info)
44
+ MIT © [Ben Briggs](https://beneb.info)
45
45
 
46
46
  [postcss]: https://github.com/postcss/postcss
package/package.json CHANGED
@@ -1,9 +1,23 @@
1
1
  {
2
2
  "name": "postcss-normalize-unicode",
3
- "version": "8.0.1",
3
+ "version": "8.0.2",
4
4
  "description": "Normalize unicode-range descriptors, and can convert to wildcard ranges.",
5
- "main": "src/index.js",
6
- "types": "types/index.d.ts",
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
+ "./package.json": "./package.json"
14
+ },
15
+ "imports": {
16
+ "#getBrowsersList": {
17
+ "node": "./src/lib/computeBrowsersToSupport.js",
18
+ "default": "./src/lib/getBrowsersForWebBuild.js"
19
+ }
20
+ },
7
21
  "files": [
8
22
  "src",
9
23
  "LICENSE-MIT",
@@ -19,11 +33,14 @@
19
33
  "author": {
20
34
  "name": "Ben Briggs",
21
35
  "email": "beneb.info@gmail.com",
22
- "url": "http://beneb.info"
36
+ "url": "https://beneb.info"
37
+ },
38
+ "repository": {
39
+ "type": "git",
40
+ "url": "cssnano/cssnano"
23
41
  },
24
- "repository": "cssnano/cssnano",
25
42
  "dependencies": {
26
- "browserslist": "^4.28.2",
43
+ "browserslist": "^4.28.7",
27
44
  "postcss-value-parser": "^4.2.0"
28
45
  },
29
46
  "bugs": {
@@ -33,9 +50,9 @@
33
50
  "node": "^22.11.0 || ^24.11.0 || >=26.0"
34
51
  },
35
52
  "devDependencies": {
36
- "postcss": "^8.5.15"
53
+ "postcss": "^8.5.25"
37
54
  },
38
55
  "peerDependencies": {
39
- "postcss": "^8.5.15"
56
+ "postcss": "^8.5.25"
40
57
  }
41
58
  }
package/src/index.js CHANGED
@@ -1,9 +1,12 @@
1
1
  'use strict';
2
- const { dirname } = require('path');
3
- const browserslist = require('browserslist');
2
+
3
+ const getBrowsersList = require('#getBrowsersList');
4
4
  const valueParser = require('postcss-value-parser');
5
5
 
6
+ /** @import browserslist from 'browserslist' */
7
+
6
8
  const regexLowerCaseUPrefix = /^u(?=\+)/;
9
+ const unicodeRangeRegex = /^unicode-range$/i;
7
10
 
8
11
  /**
9
12
  * @param {string} range
@@ -66,7 +69,7 @@ function mergeRangeBounds(left, right) {
66
69
  * @return {boolean}
67
70
  */
68
71
  function hasLowerCaseUPrefixBug(browser) {
69
- return browserslist('ie <=11, edge <= 15').includes(browser);
72
+ return getBrowsersList('ie <=11, edge <= 15').includes(browser);
70
73
  }
71
74
 
72
75
  /**
@@ -100,7 +103,7 @@ function transform(value, isLegacy = false) {
100
103
  * @param {Options} opts
101
104
  * @return {import('postcss').Plugin}
102
105
  */
103
- function pluginCreator(opts = {}) {
106
+ function pluginCreator(/** @type {Options} */ opts = {}) {
104
107
  return {
105
108
  postcssPlugin: 'postcss-normalize-unicode',
106
109
 
@@ -109,18 +112,17 @@ function pluginCreator(opts = {}) {
109
112
  */
110
113
  prepare(result) {
111
114
  const { stats, env, from, file } = result.opts || {};
112
- const browsers = browserslist(opts.overrideBrowserslist, {
113
- stats: opts.stats || stats,
114
- path: opts.path || dirname(from || file || __filename),
115
- env: opts.env || env,
116
- });
115
+ const browsers = getBrowsersList(null, opts, stats, from, file, env);
117
116
 
118
117
  const cache = new Map();
119
118
  const isLegacy = browsers.some(hasLowerCaseUPrefixBug);
120
119
 
121
120
  return {
121
+ /**
122
+ * @param {import('postcss').Root} css
123
+ */
122
124
  OnceExit(css) {
123
- css.walkDecls(/^unicode-range$/i, (decl) => {
125
+ css.walkDecls(unicodeRangeRegex, (decl) => {
124
126
  const value = decl.value;
125
127
 
126
128
  if (cache.has(value)) {
@@ -141,4 +143,6 @@ function pluginCreator(opts = {}) {
141
143
  }
142
144
 
143
145
  pluginCreator.postcss = true;
144
- module.exports = pluginCreator;
146
+ module.exports = /** @type {import('postcss').PluginCreator<Options>}*/ (
147
+ pluginCreator
148
+ );
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ const browserslist = require('browserslist');
4
+ const { dirname } = require('node:path');
5
+
6
+ /** @typedef {{overrideBrowserslist?: string | string[] | undefined, stats?: browserslist.Options["stats"], path?: browserslist.Options["path"], env?: browserslist.Options["env"]}} OurOptions
7
+ /**
8
+ * @param {string | null} [query]
9
+ * @param {OurOptions} [options]
10
+ * @param {browserslist.Options["stats"]} [stats]
11
+ * @param {string|undefined} [from]
12
+ * @param {string} [file]
13
+ * @param {browserslist.Options["env"]} [env]
14
+ * @returns {string[]}
15
+ */
16
+ module.exports = function computeBrowsersToSupport(
17
+ query,
18
+ options,
19
+ stats,
20
+ from,
21
+ file,
22
+ env
23
+ ) {
24
+ if (!query) {
25
+ return browserslist(
26
+ /** @type {OurOptions} */ (options).overrideBrowserslist,
27
+ {
28
+ stats: /** @type {OurOptions} */ (options).stats || stats,
29
+ path:
30
+ /** @type {OurOptions} */ (options).path ||
31
+ dirname(from || file || __filename),
32
+ env: /** @type {OurOptions} */ (options).env || env,
33
+ }
34
+ );
35
+ }
36
+ return browserslist(query);
37
+ };
@@ -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,23 +1,9 @@
1
- export = pluginCreator;
2
- /**
3
- * @typedef {{ overrideBrowserslist?: string | string[] }} AutoprefixerOptions
4
- * @typedef {Pick<browserslist.Options, 'stats' | 'path' | 'env'>} BrowserslistOptions
5
- * @typedef {AutoprefixerOptions & BrowserslistOptions} Options
6
- */
7
- /**
8
- * @type {import('postcss').PluginCreator<Options>}
9
- * @param {Options} opts
10
- * @return {import('postcss').Plugin}
11
- */
12
- declare function pluginCreator(opts?: Options): import("postcss").Plugin;
13
- declare namespace pluginCreator {
14
- export { postcss, AutoprefixerOptions, BrowserslistOptions, Options };
15
- }
16
- declare var postcss: true;
17
- type AutoprefixerOptions = {
1
+ declare const _exports: import("postcss").PluginCreator<Options>;
2
+ export = _exports;
3
+ import type browserslist from 'browserslist';
4
+ export type AutoprefixerOptions = {
18
5
  overrideBrowserslist?: string | string[];
19
6
  };
20
- type BrowserslistOptions = Pick<browserslist.Options, "stats" | "path" | "env">;
21
- type Options = AutoprefixerOptions & BrowserslistOptions;
22
- import browserslist = require("browserslist");
7
+ export type BrowserslistOptions = Pick<browserslist.Options, 'stats' | 'path' | 'env'>;
8
+ export type Options = AutoprefixerOptions & BrowserslistOptions;
23
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";AA2FA;;;;GAIG;AAEH;;;;GAIG;AACH,sCAHW,OAAO,GACN,OAAO,SAAS,EAAE,MAAM,CAwCnC;;;;;2BAhDY;IAAE,oBAAoB,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE;2BAC5C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;eACpD,mBAAmB,GAAG,mBAAmB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":";;AAKI,OAAQ,KAAA,YAAY,MAAM,cAAc,CAAA;AA0FzC,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,YAAqD,OAAO,GAAlD,mBAAmB,GAAG,mBAAmB,CAAS"}
@@ -0,0 +1,20 @@
1
+ export = computeBrowsersToSupport;
2
+ /** @typedef {{overrideBrowserslist?: string | string[] | undefined, stats?: browserslist.Options["stats"], path?: browserslist.Options["path"], env?: browserslist.Options["env"]}} OurOptions
3
+ /**
4
+ * @param {string | null} [query]
5
+ * @param {OurOptions} [options]
6
+ * @param {browserslist.Options["stats"]} [stats]
7
+ * @param {string|undefined} [from]
8
+ * @param {string} [file]
9
+ * @param {browserslist.Options["env"]} [env]
10
+ * @returns {string[]}
11
+ */
12
+ declare function computeBrowsersToSupport(query?: string | null, options?: OurOptions, stats?: browserslist.Options["stats"], from?: string | undefined, file?: string, env?: browserslist.Options["env"]): string[];
13
+ import browserslist = require('browserslist');
14
+ export type OurOptions = {
15
+ overrideBrowserslist?: string | string[] | undefined;
16
+ stats?: browserslist.Options["stats"];
17
+ path?: browserslist.Options["path"];
18
+ env?: browserslist.Options["env"];
19
+ };
20
+ //# sourceMappingURL=computeBrowsersToSupport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeBrowsersToSupport.d.ts","sourceRoot":"","sources":["../../src/lib/computeBrowsersToSupport.js"],"names":[],"mappings":";AAKA;;;;;;;;;GASG;0CAED,KAAK,AATJ,CACA,EADQ,MAAM,GAAG,IASb,EACL,OAAO,AATN,CACA,EADQ,UASF,EACP,KAAK,AATJ,CACA,EADQ,YAAY,CAAC,OAAO,CAAC,OAAO,CAShC,EACL,IAAI,AATH,CACA,EADQ,MAAM,GAAC,SASZ,EACJ,IAAI,AATH,CACA,EADQ,MASL,EACJ,GAAG,AATF,CACA,EADQ,YAAY,CAAC,OAAO,CAAC,KAAK,CAShC,GARQ,MAAM,EAAE;OAXf,YAAY,WAAW,cAAc;AAGvC,YAAiL,UAAU,GAAjL;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;CAAC,CAEhL"}
@@ -0,0 +1,3 @@
1
+ export = _exports;
2
+ declare function _exports(): string[];
3
+ //# sourceMappingURL=getBrowsersForWebBuild.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBrowsersForWebBuild.d.ts","sourceRoot":"","sources":["../../src/lib/getBrowsersForWebBuild.js"],"names":[],"mappings":""}