postcss-preset-env 11.0.1 → 11.1.0
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/CHANGELOG.md +3 -2
- package/dist/index.d.ts +43 -40
- package/dist/index.mjs +1 -1
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
# Changes to PostCSS Preset Env
|
|
2
2
|
|
|
3
|
-
### 11.0
|
|
3
|
+
### 11.1.0
|
|
4
4
|
|
|
5
5
|
_January 14, 2026_
|
|
6
6
|
|
|
7
|
-
-
|
|
7
|
+
- Added `@csstools/postcss-mixins` [Check the plugin README](https://github.com/csstools/postcss-plugins/tree/main/plugins/postcss-mixins#readme) for usage details.
|
|
8
|
+
- Updated [`cssdb`](https://github.com/csstools/cssdb) to [`8.7.0`](https://github.com/csstools/cssdb/blob/main/CHANGELOG.md#870-january-14-2026)
|
|
8
9
|
|
|
9
10
|
[Full CHANGELOG](https://github.com/csstools/postcss-plugins/tree/main/plugin-packs/postcss-preset-env/CHANGELOG.md)
|
package/dist/index.d.ts
CHANGED
|
@@ -37,28 +37,29 @@ import type { pluginOptions as pluginOptions_40 } from '@csstools/postcss-logica
|
|
|
37
37
|
import type { pluginOptions as pluginOptions_41 } from '@csstools/postcss-logical-viewport-units';
|
|
38
38
|
import type { pluginOptions as pluginOptions_42 } from '@csstools/postcss-media-queries-aspect-ratio-number-values';
|
|
39
39
|
import type { pluginOptions as pluginOptions_43 } from '@csstools/postcss-media-minmax';
|
|
40
|
-
import type { pluginOptions as pluginOptions_44 } from '@csstools/postcss-
|
|
41
|
-
import type { pluginOptions as pluginOptions_45 } from 'postcss-
|
|
42
|
-
import type { pluginOptions as pluginOptions_46 } from 'postcss-
|
|
43
|
-
import type { pluginOptions as pluginOptions_47 } from '
|
|
44
|
-
import type { pluginOptions as pluginOptions_48 } from 'postcss-
|
|
45
|
-
import type { pluginOptions as pluginOptions_49 } from 'postcss-
|
|
40
|
+
import type { pluginOptions as pluginOptions_44 } from '@csstools/postcss-mixins';
|
|
41
|
+
import type { pluginOptions as pluginOptions_45 } from '@csstools/postcss-nested-calc';
|
|
42
|
+
import type { pluginOptions as pluginOptions_46 } from 'postcss-nesting';
|
|
43
|
+
import type { pluginOptions as pluginOptions_47 } from 'postcss-selector-not';
|
|
44
|
+
import type { pluginOptions as pluginOptions_48 } from '@csstools/postcss-oklab-function';
|
|
45
|
+
import type { pluginOptions as pluginOptions_49 } from 'postcss-overflow-shorthand';
|
|
46
46
|
import type { pluginOptions as pluginOptions_5 } from 'css-blank-pseudo';
|
|
47
|
-
import type { pluginOptions as pluginOptions_50 } from '
|
|
48
|
-
import type { pluginOptions as pluginOptions_51 } from '
|
|
49
|
-
import type { pluginOptions as pluginOptions_52 } from '
|
|
50
|
-
import type { pluginOptions as pluginOptions_53 } from '@csstools/postcss-
|
|
51
|
-
import type { pluginOptions as pluginOptions_54 } from 'postcss-
|
|
52
|
-
import type { pluginOptions as pluginOptions_55 } from '
|
|
53
|
-
import type { pluginOptions as pluginOptions_56 } from '@csstools/postcss-
|
|
54
|
-
import type { pluginOptions as pluginOptions_57 } from '@csstools/postcss-
|
|
55
|
-
import type { pluginOptions as pluginOptions_58 } from '@csstools/postcss-
|
|
56
|
-
import type { pluginOptions as pluginOptions_59 } from '@csstools/postcss-
|
|
47
|
+
import type { pluginOptions as pluginOptions_50 } from 'postcss-place';
|
|
48
|
+
import type { pluginOptions as pluginOptions_51 } from '@csstools/postcss-position-area-property';
|
|
49
|
+
import type { pluginOptions as pluginOptions_52 } from 'css-prefers-color-scheme';
|
|
50
|
+
import type { pluginOptions as pluginOptions_53 } from '@csstools/postcss-property-rule-prelude-list';
|
|
51
|
+
import type { pluginOptions as pluginOptions_54 } from '@csstools/postcss-random-function';
|
|
52
|
+
import type { pluginOptions as pluginOptions_55 } from 'postcss-color-rebeccapurple';
|
|
53
|
+
import type { pluginOptions as pluginOptions_56 } from '@csstools/postcss-relative-color-syntax';
|
|
54
|
+
import type { pluginOptions as pluginOptions_57 } from '@csstools/postcss-scope-pseudo-class';
|
|
55
|
+
import type { pluginOptions as pluginOptions_58 } from '@csstools/postcss-sign-functions';
|
|
56
|
+
import type { pluginOptions as pluginOptions_59 } from '@csstools/postcss-stepped-value-functions';
|
|
57
57
|
import type { pluginOptions as pluginOptions_6 } from '@csstools/postcss-cascade-layers';
|
|
58
|
-
import type { pluginOptions as pluginOptions_60 } from '@csstools/postcss-
|
|
59
|
-
import type { pluginOptions as pluginOptions_61 } from '@csstools/postcss-
|
|
60
|
-
import type { pluginOptions as pluginOptions_62 } from '@csstools/postcss-
|
|
61
|
-
import type { pluginOptions as pluginOptions_63 } from '@csstools/postcss-
|
|
58
|
+
import type { pluginOptions as pluginOptions_60 } from '@csstools/postcss-syntax-descriptor-syntax-production';
|
|
59
|
+
import type { pluginOptions as pluginOptions_61 } from '@csstools/postcss-system-ui-font-family';
|
|
60
|
+
import type { pluginOptions as pluginOptions_62 } from '@csstools/postcss-text-decoration-shorthand';
|
|
61
|
+
import type { pluginOptions as pluginOptions_63 } from '@csstools/postcss-trigonometric-functions';
|
|
62
|
+
import type { pluginOptions as pluginOptions_64 } from '@csstools/postcss-unset-value';
|
|
62
63
|
import type { pluginOptions as pluginOptions_7 } from 'postcss-attribute-case-insensitive';
|
|
63
64
|
import type { pluginOptions as pluginOptions_8 } from '@csstools/postcss-color-function';
|
|
64
65
|
import type { pluginOptions as pluginOptions_9 } from '@csstools/postcss-color-function-display-p3-linear';
|
|
@@ -250,50 +251,52 @@ export declare type pluginsOptions = {
|
|
|
250
251
|
'media-queries-aspect-ratio-number-values'?: subPluginOptions<pluginOptions_42>;
|
|
251
252
|
/** plugin options for "@csstools/postcss-media-minmax" */
|
|
252
253
|
'media-query-ranges'?: subPluginOptions<pluginOptions_43>;
|
|
254
|
+
/** plugin options for "@csstools/postcss-mixins" */
|
|
255
|
+
'mixins'?: subPluginOptions<pluginOptions_44>;
|
|
253
256
|
/** plugin options for "@csstools/postcss-nested-calc" */
|
|
254
|
-
'nested-calc'?: subPluginOptions<
|
|
257
|
+
'nested-calc'?: subPluginOptions<pluginOptions_45>;
|
|
255
258
|
/** plugin options for "postcss-nesting" */
|
|
256
|
-
'nesting-rules'?: subPluginOptions<
|
|
259
|
+
'nesting-rules'?: subPluginOptions<pluginOptions_46>;
|
|
257
260
|
/** plugin options for "postcss-selector-not" */
|
|
258
|
-
'not-pseudo-class'?: subPluginOptions<
|
|
261
|
+
'not-pseudo-class'?: subPluginOptions<pluginOptions_47>;
|
|
259
262
|
/** plugin options for "@csstools/postcss-oklab-function" */
|
|
260
|
-
'oklab-function'?: subPluginOptions<
|
|
263
|
+
'oklab-function'?: subPluginOptions<pluginOptions_48>;
|
|
261
264
|
/** plugin options for "postcss-opacity-percentage" */
|
|
262
265
|
'opacity-percentage'?: subPluginOptions<postcssOpacityPercentageOptions>;
|
|
263
266
|
/** plugin options for "postcss-overflow-shorthand" */
|
|
264
|
-
'overflow-property'?: subPluginOptions<
|
|
267
|
+
'overflow-property'?: subPluginOptions<pluginOptions_49>;
|
|
265
268
|
/** plugin options for "postcss-replace-overflow-wrap" */
|
|
266
269
|
'overflow-wrap-property'?: subPluginOptions<postcssReplaceOverflowWrapOptions>;
|
|
267
270
|
/** plugin options for "postcss-place" */
|
|
268
|
-
'place-properties'?: subPluginOptions<
|
|
271
|
+
'place-properties'?: subPluginOptions<pluginOptions_50>;
|
|
269
272
|
/** plugin options for "@csstools/postcss-position-area-property" */
|
|
270
|
-
'position-area-property'?: subPluginOptions<
|
|
273
|
+
'position-area-property'?: subPluginOptions<pluginOptions_51>;
|
|
271
274
|
/** plugin options for "css-prefers-color-scheme" */
|
|
272
|
-
'prefers-color-scheme-query'?: subPluginOptions<
|
|
275
|
+
'prefers-color-scheme-query'?: subPluginOptions<pluginOptions_52>;
|
|
273
276
|
/** plugin options for "@csstools/postcss-property-rule-prelude-list" */
|
|
274
|
-
'property-rule-prelude-list'?: subPluginOptions<
|
|
277
|
+
'property-rule-prelude-list'?: subPluginOptions<pluginOptions_53>;
|
|
275
278
|
/** plugin options for "@csstools/postcss-random-function" */
|
|
276
|
-
'random-function'?: subPluginOptions<
|
|
279
|
+
'random-function'?: subPluginOptions<pluginOptions_54>;
|
|
277
280
|
/** plugin options for "postcss-color-rebeccapurple" */
|
|
278
|
-
'rebeccapurple-color'?: subPluginOptions<
|
|
281
|
+
'rebeccapurple-color'?: subPluginOptions<pluginOptions_55>;
|
|
279
282
|
/** plugin options for "@csstools/postcss-relative-color-syntax" */
|
|
280
|
-
'relative-color-syntax'?: subPluginOptions<
|
|
283
|
+
'relative-color-syntax'?: subPluginOptions<pluginOptions_56>;
|
|
281
284
|
/** plugin options for "@csstools/postcss-scope-pseudo-class" */
|
|
282
|
-
'scope-pseudo-class'?: subPluginOptions<
|
|
285
|
+
'scope-pseudo-class'?: subPluginOptions<pluginOptions_57>;
|
|
283
286
|
/** plugin options for "@csstools/postcss-sign-functions" */
|
|
284
|
-
'sign-functions'?: subPluginOptions<
|
|
287
|
+
'sign-functions'?: subPluginOptions<pluginOptions_58>;
|
|
285
288
|
/** plugin options for "@csstools/postcss-stepped-value-functions" */
|
|
286
|
-
'stepped-value-functions'?: subPluginOptions<
|
|
289
|
+
'stepped-value-functions'?: subPluginOptions<pluginOptions_59>;
|
|
287
290
|
/** plugin options for "@csstools/postcss-syntax-descriptor-syntax-production" */
|
|
288
|
-
'syntax-descriptor-syntax-production'?: subPluginOptions<
|
|
291
|
+
'syntax-descriptor-syntax-production'?: subPluginOptions<pluginOptions_60>;
|
|
289
292
|
/** plugin options for "@csstools/postcss-system-ui-font-family" */
|
|
290
|
-
'system-ui-font-family'?: subPluginOptions<
|
|
293
|
+
'system-ui-font-family'?: subPluginOptions<pluginOptions_61>;
|
|
291
294
|
/** plugin options for "@csstools/postcss-text-decoration-shorthand" */
|
|
292
|
-
'text-decoration-shorthand'?: subPluginOptions<
|
|
295
|
+
'text-decoration-shorthand'?: subPluginOptions<pluginOptions_62>;
|
|
293
296
|
/** plugin options for "@csstools/postcss-trigonometric-functions" */
|
|
294
|
-
'trigonometric-functions'?: subPluginOptions<
|
|
297
|
+
'trigonometric-functions'?: subPluginOptions<pluginOptions_63>;
|
|
295
298
|
/** plugin options for "@csstools/postcss-unset-value" */
|
|
296
|
-
'unset-value'?: subPluginOptions<
|
|
299
|
+
'unset-value'?: subPluginOptions<pluginOptions_64>;
|
|
297
300
|
};
|
|
298
301
|
|
|
299
302
|
/** postcss-clamp plugin options */
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import s from"autoprefixer";import o from"cssdb";import e from"browserslist";import t from"@csstools/postcss-initial";import r from"@csstools/postcss-alpha-function";import i from"postcss-pseudo-class-any-link";import a from"css-blank-pseudo";import c from"postcss-page-break";import p from"@csstools/postcss-cascade-layers";import n from"postcss-attribute-case-insensitive";import l from"postcss-clamp";import m from"@csstools/postcss-color-function";import u from"@csstools/postcss-color-function-display-p3-linear";import d from"postcss-color-functional-notation";import f from"@csstools/postcss-color-mix-function";import g from"@csstools/postcss-color-mix-variadic-function-arguments";import h from"@csstools/postcss-content-alt-text";import b from"@csstools/postcss-contrast-color-function";import N from"postcss-custom-media";import v from"postcss-custom-properties";import y from"postcss-custom-selectors";import k from"postcss-dir-pseudo-class";import w from"@csstools/postcss-normalize-display-values";import x from"postcss-double-position-gradients";import F from"@csstools/postcss-exponential-functions";import O from"@csstools/postcss-logical-float-and-clear";import P from"postcss-focus-visible";import C from"postcss-focus-within";import $ from"@csstools/postcss-font-format-keywords";import S from"postcss-font-variant";import A from"@csstools/postcss-gamut-mapping";import _ from"postcss-gap-properties";import L from"@csstools/postcss-gradients-interpolation-method";import E from"css-has-pseudo";import I from"postcss-color-hex-alpha";import B from"@csstools/postcss-hwb-function";import q from"@csstools/postcss-ic-unit";import M from"postcss-image-set-function";import D from"@csstools/postcss-is-pseudo-class";import j from"postcss-lab-function";import z from"@csstools/postcss-light-dark-function";import U from"@csstools/postcss-logical-overflow";import R from"@csstools/postcss-logical-overscroll-behavior";import T from"postcss-logical";import V from"@csstools/postcss-logical-resize";import H from"@csstools/postcss-logical-viewport-units";import W from"@csstools/postcss-media-queries-aspect-ratio-number-values";import G from"@csstools/postcss-media-minmax";import K from"@csstools/postcss-nested-calc";import Z from"postcss-nesting";import Q from"postcss-selector-not";import J from"@csstools/postcss-oklab-function";import X from"postcss-opacity-percentage";import Y from"postcss-overflow-shorthand";import ss from"postcss-replace-overflow-wrap";import os from"postcss-place";import es from"@csstools/postcss-position-area-property";import ts from"css-prefers-color-scheme";import rs from"@csstools/postcss-progressive-custom-properties";import is from"@csstools/postcss-property-rule-prelude-list";import as from"@csstools/postcss-random-function";import cs from"postcss-color-rebeccapurple";import ps from"@csstools/postcss-relative-color-syntax";import ns from"@csstools/postcss-scope-pseudo-class";import ls from"@csstools/postcss-sign-functions";import ms from"@csstools/postcss-stepped-value-functions";import us from"@csstools/postcss-syntax-descriptor-syntax-production";import ds from"@csstools/postcss-system-ui-font-family";import fs from"@csstools/postcss-text-decoration-shorthand";import gs from"@csstools/postcss-trigonometric-functions";import hs from"@csstools/postcss-unset-value";const bs={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README.md#browser","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-focus-within/README.md#browser","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README.md#browser","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README.md#browser"},Ns=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];function logFeaturesList(s,o,e){if(o.debug){e.log("Enabling the following feature(s):");const t=[],r=[];!1!==o.autoprefixer&&r.push(" autoprefixer"),s.forEach(s=>{s.id.startsWith("before")||s.id.startsWith("after")?r.push(` ${s.id} (injected via options)`):r.push(` ${s.id}`),void 0!==bs[s.id]&&t.push(s.id)}),r.sort((s,o)=>s.localeCompare(o)),t.sort((s,o)=>s.localeCompare(o)),r.forEach(s=>e.log(s)),t.length&&(e.log("These feature(s) need a browser library to work:"),t.forEach(s=>e.log(` ${s}: ${bs[s]}`)))}}function initializeSharedOptions(s){if("preserve"in s){const o={};return o.preserve=s.preserve,o}return!1}function clamp(s,o,e){return Math.max(s,Math.min(o,e))}function stageFromOptions(s,o){let e=2;if(void 0===s.stage)return o.log("Using features from Stage 2 (default)."),e;if(!1===s.stage)e=5;else{let o=parseInt(s.stage,10);Number.isNaN(o)&&(o=0),e=clamp(0,o,5)}return 5===e?o.log('Stage has been disabled, features will be handled via the "features" option.'):o.log(`Using features from Stage ${e}.`),e}const vs=Symbol("insertBefore"),ys=Symbol("insertAfter"),ks=Symbol("insertOrder"),ws=Symbol("plugin");function getTransformedInsertions(s,o,e){if("insertBefore"!==e&&"insertAfter"!==e)return[];const t="insertBefore"===e?vs:ys,r=[];for(const e in o){if(!Object.hasOwnProperty.call(o,e))continue;if(!s.find(s=>s.id===e))continue;let i=o[e];Array.isArray(i)||(i=[i]);for(let s=0;s<i.length;s++)r.push({id:e,[ws]:i[s],[ks]:s,[t]:!0})}return r}var xs=["custom-media-queries","environment-variables","image-set-function","media-query-ranges","media-queries-aspect-ratio-number-values","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","not-pseudo-class","logical-properties-and-values","float-clear-logical-values","logical-overflow","logical-overscroll-behavior","logical-resize","logical-viewport-units","dir-pseudo-class","all-property","gradients-interpolation-method","color-mix-variadic-function-arguments","color-mix","contrast-color-function","alpha-function","relative-color-syntax","lab-function","oklab-function","color-function-display-p3-linear","color-function","hwb-function","color-functional-notation","rebeccapurple-color","hexadecimal-alpha-notation","light-dark-function","double-position-gradients","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","scope-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","position-area-property","system-ui-font-family","font-format-keywords","display-two-values","content-alt-text","ic-unit","opacity-percentage","text-decoration-shorthand","unset-value","property-rule-prelude-list","syntax-descriptor-syntax-production","random-function","sign-functions","stepped-value-functions","trigonometric-functions","exponential-functions","clamp","nested-calc","custom-properties","cascade-layers","progressive-custom-properties","gamut-mapping"];function featureIsLess(s,o){return s.id===o.id?s[vs]&&o[vs]||s[ys]&&o[ys]?clamp(-1,s[ks]-o[ks],1):s[vs]||o[ys]?-1:s[ys]||o[vs]?1:0:clamp(-1,xs.indexOf(s.id)-xs.indexOf(o.id),1)}const Fs=new Map([["all-property",t],["alpha-function",r],["any-link-pseudo-class",i],["blank-pseudo-class",a],["break-properties",c],["cascade-layers",p],["case-insensitive-attributes",n],["clamp",l],["color-function",m],["color-function-display-p3-linear",u],["color-functional-notation",d],["color-mix",f],["color-mix-variadic-function-arguments",g],["content-alt-text",h],["contrast-color-function",b],["custom-media-queries",N],["custom-properties",v],["custom-selectors",y],["dir-pseudo-class",k],["display-two-values",w],["double-position-gradients",x],["exponential-functions",F],["float-clear-logical-values",O],["focus-visible-pseudo-class",P],["focus-within-pseudo-class",C],["font-format-keywords",$],["font-variant-property",S],["gamut-mapping",A],["gap-properties",_],["gradients-interpolation-method",L],["has-pseudo-class",E],["hexadecimal-alpha-notation",I],["hwb-function",B],["ic-unit",q],["image-set-function",M],["is-pseudo-class",D],["lab-function",j],["light-dark-function",z],["logical-overflow",U],["logical-overscroll-behavior",R],["logical-properties-and-values",T],["logical-resize",V],["logical-viewport-units",H],["media-queries-aspect-ratio-number-values",W],["media-query-ranges",G],["nested-calc",K],["nesting-rules",Z],["not-pseudo-class",Q],["oklab-function",J],["opacity-percentage",X],["overflow-property",Y],["overflow-wrap-property",ss],["place-properties",os],["position-area-property",es],["prefers-color-scheme-query",ts],["progressive-custom-properties",rs],["property-rule-prelude-list",is],["random-function",as],["rebeccapurple-color",cs],["relative-color-syntax",ps],["scope-pseudo-class",ns],["sign-functions",ls],["stepped-value-functions",ms],["syntax-descriptor-syntax-production",us],["system-ui-font-family",ds],["text-decoration-shorthand",fs],["trigonometric-functions",gs],["unset-value",hs]]);function featureIsInsertedOrHasAPlugin(s){return!!s[vs]||(!!s[ys]||!!Fs.has(s.id))}function prepareFeaturesList(s,o,e){return s.concat(getTransformedInsertions(s,o,"insertBefore"),getTransformedInsertions(s,e,"insertAfter")).filter(s=>featureIsInsertedOrHasAPlugin(s)).sort((s,o)=>featureIsLess(s,o))}function getOptionsForBrowsersByFeature(s,o,e,t){switch(o.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"any-link-pseudo-class":if(s.find(s=>s.startsWith("ie ")||"edge 12"===s||"edge 13"===s||"edge 14"===s||"edge 15"===s||"edge 16"===s||"edge 17"===s||"edge 18"===s))return t.log("- 'any-link-pseudo-class' setting 'subFeatures: { areaHrefNeedsFixing: true }' due to lack of browser support for area[href] in Edge and IE."),{subFeatures:{areaHrefNeedsFixing:!0}};return{};case"logical-properties-and-values":case"float-clear-logical-values":case"logical-resize":case"logical-viewport-units":case"logical-overflow":case"logical-overscroll-behavior":return"logical"in e?e.logical:{};default:return{}}}const Os=["and_chr","and_ff","android","chrome","edge","firefox","ie","ios_saf","op_mini","op_mob","opera","safari","samsung"];function getUnsupportedBrowsersByFeature(s){if(!s)return[];if("position-area-property"===s.id)return["chrome 125","chrome 126","chrome 127","chrome 128","edge 125","edge 126","edge 127","edge 128","and_chr 125","and_chr 126","and_chr 127","and_chr 128","android 125","android 126","android 127","android 128","samsung 27","opera 111","opera 112","opera 113","opera 114","op_mob 83","op_mob 84","op_mob 85"];if(!("browser_support"in s))return["> 0%"];const o=[];return Os.forEach(e=>{if("op_mini"===e&&void 0===s.browser_support[e])return void o.push("op_mini all");const t=s.browser_support[e];"string"==typeof t&&Ps.test(t)?o.push(`${e} < ${s.browser_support[e]}`):o.push(`${e} >= 1`)}),o}const Ps=/^[0-9|.]+$/;function formatPolyfillableFeature(s){const o=getUnsupportedBrowsersByFeature(s);if(s[vs]||s[ys]){let e=s.id;return e=s.insertBefore?`before-${e}`:`after-${e}`,{browsers:o,vendors_implementations:s.vendors_implementations,plugin:s[ws],id:e,stage:6}}return{browsers:o,vendors_implementations:s.vendors_implementations,plugin:Fs.get(s.id),id:s.id,stage:s.stage}}function formatStagedFeature(s,o,e,t,r,i){let a,c;return a=getOptionsForBrowsersByFeature(s,e,r,i),a=t?Object.assign({},a,t,featureOptions(o,e.id)):Object.assign({},a,featureOptions(o,e.id)),"progressive-custom-properties"!==e.id&&(a.enableProgressiveCustomProperties=!1),"overflow-wrap-property"===e.id&&"preserve"in a&&(a.method=a.preserve?"copy":"replace"),c=e.plugin.postcss&&"function"==typeof e.plugin?e.plugin(a):e.plugin&&e.plugin.default&&"function"==typeof e.plugin.default&&e.plugin.default.postcss?e.plugin.default(a):e.plugin,{browsers:e.browsers,vendors_implementations:e.vendors_implementations,plugin:c,pluginOptions:a,id:e.id}}function featureOptions(s,o){if(!(o in s))return;const e=s[o];return Array.isArray(e)?e[1]:e}function intOrZero(s){const o=parseInt(s,10);return Number.isNaN(o)?0:o}const Cs=new Set(["progressive-custom-properties"]);function listFeatures(s,o,t,r){const i=Object(o.features),a="enableClientSidePolyfills"in o&&o.enableClientSidePolyfills,c=Object(o.insertBefore),p=Object(o.insertAfter),n=o.browsers?void 0:o.env,l=o.browsers,m=clamp(0,intOrZero(o.minimumVendorImplementations),3);m>0&&r.log(`Using features with ${m} or more vendor implementations.`);const u=stageFromOptions(o,r),d=prepareFeaturesList([...s,{id:"progressive-custom-properties"}],c,p).map(s=>formatPolyfillableFeature(s)).filter(s=>!!Cs.has(s.id)||(0===m||(!(!s[vs]&&!s[ys])||(m<=s.vendors_implementations||(!0===featureEnabledByOptions(i,s.id)?(r.log(`- '${s.id}' enabled manually even when it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!0):(r.log(`- '${s.id}' disabled because it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!1)))))),f=e(l,{env:n,ignoreUnknownVersions:!0}).filter(s=>Os.includes(s.split(" ")[0]));return d.filter(s=>{if(Cs.has(s.id))return!0;const o=s.stage>=u,e=a||!Ns.includes(s.id),t=featureEnabledByOptions(i,s.id),c=!1===t,p=!0===t||o&&e;return c?r.log(`- '${s.id}' disabled manually`):o?e||r.log(`- '${s.id}' disabled because 'enableClientSidePolyfills' is 'false'.`):p?r.log(`- '${s.id}' enabled manually even when it lacks the required stage (${s.stage} out of ${u}).`):r.log(`- '${s.id}' disabled because it lacks the required stage (${s.stage} out of ${u}).`),!c&&p}).map(s=>formatStagedFeature(f,i,s,t,o,r)).filter(s=>{if(Cs.has(s.id))return!0;const o=featureEnabledByOptions(i,s.id);if(!0===o||!1===o)return o;const t=e(s.browsers,{ignoreUnknownVersions:!0}),a=f.filter(s=>t.some(o=>o===s));return a.length>0?r.log(`- '${s.id}' enabled for:\n ${a.join("\n ")}`):r.log(`- '${s.id}' disabled because all targeted browsers support it.`),a.length>0})}function featureEnabledByOptions(s,o){if(!(o in s))return"auto";const e=s[o];return Array.isArray(e)?!0===e[0]||!1!==e[0]&&"auto":Boolean(e)}class Logger{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}emitLogs(s){s&&s.warn(this.logs.join("\n")),this.resetLogger()}}var $s=[{packageName:"css-blank-pseudo",id:"blank-pseudo-class",importName:"postcssBlankPseudo"},{packageName:"css-has-pseudo",id:"has-pseudo-class",importName:"postcssHasPseudo"},{packageName:"css-prefers-color-scheme",id:"prefers-color-scheme-query",importName:"postcssPrefersColorScheme"},{packageName:"postcss-attribute-case-insensitive",id:"case-insensitive-attributes",importName:"postcssAttributeCaseInsensitive"},{packageName:"postcss-clamp",id:"clamp",importName:"postcssClamp"},{packageName:"@csstools/postcss-alpha-function",id:"alpha-function",importName:"postcssAlphaFunction"},{packageName:"@csstools/postcss-color-mix-variadic-function-arguments",id:"color-mix-variadic-function-arguments",importName:"postcssColorMixVariadicFunctionArguments"},{packageName:"@csstools/postcss-color-mix-function",id:"color-mix",importName:"postcssColorMixFunction"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"@csstools/postcss-color-function-display-p3-linear",id:"color-function-display-p3-linear",importName:"postcssColorFunctionDisplayP3Linear"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"@csstools/postcss-content-alt-text",id:"content-alt-text",importName:"postcssContentAltText"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"@csstools/postcss-contrast-color-function",id:"contrast-color-function",importName:"postcssContrastColorFunction"},{packageName:"postcss-custom-media",id:"custom-media-queries",importName:"postcssCustomMedia"},{packageName:"postcss-custom-properties",id:"custom-properties",importName:"postcssCustomProperties"},{packageName:"postcss-custom-selectors",id:"custom-selectors",importName:"postcssCustomSelectors"},{packageName:"postcss-dir-pseudo-class",id:"dir-pseudo-class",importName:"postcssDirPseudoClass"},{packageName:"postcss-double-position-gradients",id:"double-position-gradients",importName:"postcssDoublePositionGradients"},{packageName:"@csstools/postcss-exponential-functions",id:"exponential-functions",importName:"postcssExponentialFunctions"},{packageName:"postcss-focus-visible",id:"focus-visible-pseudo-class",importName:"postcssFocusVisible"},{packageName:"postcss-focus-within",id:"focus-within-pseudo-class",importName:"postcssFocusWithin"},{packageName:"@csstools/postcss-font-format-keywords",id:"font-format-keywords",importName:"postcssFontFormatKeywords"},{packageName:"postcss-font-variant",id:"font-variant-property",importName:"postcssFontVariant"},{packageName:"@csstools/postcss-gamut-mapping",id:"gamut-mapping",importName:"postcssGamutMapping"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-gradients-interpolation-method",id:"gradients-interpolation-method",importName:"postcssGradientsInterpolationMethod"},{packageName:"@csstools/postcss-hwb-function",id:"hwb-function",importName:"postcssHWBFunction"},{packageName:"@csstools/postcss-ic-unit",id:"ic-unit",importName:"postcssICUnit"},{packageName:"postcss-image-set-function",id:"image-set-function",importName:"postcssImageSetFunction"},{packageName:"@csstools/postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"@csstools/postcss-scope-pseudo-class",id:"scope-pseudo-class",importName:"postcssScopePseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"@csstools/postcss-light-dark-function",id:"light-dark-function",importName:"postcssLightDarkFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"@csstools/postcss-logical-float-and-clear",id:"float-clear-logical-values",importName:"postcssLogicalFloatAndClear"},{packageName:"@csstools/postcss-logical-overflow",id:"logical-overflow",importName:"postcssLogicalOverflow"},{packageName:"@csstools/postcss-logical-overscroll-behavior",id:"logical-overscroll-behavior",importName:"postcssLogicalOverscrollBehavor"},{packageName:"@csstools/postcss-logical-resize",id:"logical-resize",importName:"postcssLogicalResize"},{packageName:"@csstools/postcss-logical-viewport-units",id:"logical-viewport-units",importName:"postcssLogicalViewportUnits"},{packageName:"@csstools/postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"@csstools/postcss-media-queries-aspect-ratio-number-values",id:"media-queries-aspect-ratio-number-values",importName:"postcssMediaQueriesAspectRatioNumberValues"},{packageName:"postcss-nesting",id:"nesting-rules",importName:"postcssNesting"},{packageName:"@csstools/postcss-normalize-display-values",id:"display-two-values",importName:"postcssNormalizeDisplayValues"},{packageName:"@csstools/postcss-oklab-function",id:"oklab-function",importName:"postcssOKLabFunction"},{packageName:"@csstools/postcss-relative-color-syntax",id:"relative-color-syntax",importName:"postcssRelativeColorSyntax"},{packageName:"postcss-opacity-percentage",id:"opacity-percentage",importName:"postcssOpacityPercentage"},{packageName:"postcss-overflow-shorthand",id:"overflow-property",importName:"postcssOverflowShorthand"},{packageName:"postcss-page-break",id:"break-properties",importName:"postcssPageBreak"},{packageName:"@csstools/postcss-position-area-property",id:"position-area-property",importName:"postcssPositionAreaProperty"},{packageName:"postcss-place",id:"place-properties",importName:"postcssPlace"},{packageName:"postcss-pseudo-class-any-link",id:"any-link-pseudo-class",importName:"postcssPseudoClassAnyLink"},{packageName:"postcss-replace-overflow-wrap",id:"overflow-wrap-property",importName:"postcssReplaceOverflowWrap"},{packageName:"postcss-selector-not",id:"not-pseudo-class",importName:"postcssSelectorNot"},{packageName:"@csstools/postcss-stepped-value-functions",id:"stepped-value-functions",importName:"postcssSteppedValueFunctions"},{packageName:"@csstools/postcss-system-ui-font-family",id:"system-ui-font-family",importName:"postcssSystemUIFontFamily"},{packageName:"@csstools/postcss-unset-value",id:"unset-value",importName:"postcssUnsetValue"},{packageName:"@csstools/postcss-cascade-layers",id:"cascade-layers",importName:"postcssCascadeLayers"},{packageName:"@csstools/postcss-trigonometric-functions",id:"trigonometric-functions",importName:"postcssTrigonometricFunctions"},{packageName:"@csstools/postcss-nested-calc",id:"nested-calc",importName:"postcssNestedCalc"},{packageName:"@csstools/postcss-text-decoration-shorthand",id:"text-decoration-shorthand",importName:"postcssTextDecorationShorthand"},{packageName:"@csstools/postcss-sign-functions",id:"sign-functions",importName:"postcssSignFunctions"},{packageName:"@csstools/postcss-random-function",id:"random-function",importName:"postcssRandomFunction"},{packageName:"@csstools/postcss-property-rule-prelude-list",id:"property-rule-prelude-list",importName:"postcssPropertyRulePreludeList"},{packageName:"@csstools/postcss-syntax-descriptor-syntax-production",id:"syntax-descriptor-syntax-production",importName:"postcssSyntaxDescriptorSyntaxProduction"},{packageName:"@csstools/postcss-progressive-custom-properties",id:"progressive-custom-properties",importName:"postcssProgressiveCustomProperties",omitTypedOptions:!0,omitDocs:!0}];function getPackageNamesToIds(){const s={};return $s.forEach(o=>{s[o.packageName]=o.id}),s}function pluginIdHelp(s,o,e){const t=$s.map(s=>s.id),r=$s.map(s=>s.packageName),i=getPackageNamesToIds();s.forEach(s=>{if(t.includes(s))return;const a=[...t.map(o=>[o,levenshteinDistance(s,o)]),...r.map(o=>[i[o],levenshteinDistance(s,o)])].sort((s,o)=>s[1]-o[1]).filter(s=>s[1]<10),c=new Set;for(let s=0;s<a.length&&(c.add(a[s][0]),!(c.size>=3));s++);if(!c.size)return void o.warn(e,`Unknown feature: "${s}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`);let p='"';p+=Array.from(c).join('", "'),p+='"',o.warn(e,`Unknown feature: "${s}", did you mean one of: ${p}`)})}function levenshteinDistance(s,o){if(!s.length)return o.length;if(!o.length)return s.length;const e=[];for(let t=0;t<=o.length;t++){e[t]=[t];for(let r=1;r<=s.length;r++)e[t][r]=0===t?r:Math.min(e[t-1][r]+1,e[t][r-1]+1,e[t-1][r-1]+(s[r-1]===o[t-1]?0:1))}return e[o.length][s.length]}const creator=e=>{const t=new Logger,r=Object(e),i=Object.keys(Object(r.features)),a=r.browsers?void 0:r.env,c=r.browsers,p=initializeSharedOptions(r),n=listFeatures(o,r,p,t),l=n.map(s=>s.plugin);!1!==r.autoprefixer&&l.push(s(Object.assign({env:a,overrideBrowserslist:c},r.autoprefixer))),logFeaturesList(n,r,t);const internalPlugin=()=>({postcssPlugin:"postcss-preset-env",OnceExit(s,{result:o}){pluginIdHelp(i,s,o),r.debug&&t.emitLogs(o),t.resetLogger()}});return internalPlugin.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...l,internalPlugin()]}};creator.postcss=!0;export{creator as default,creator as"module.exports"};
|
|
1
|
+
import s from"autoprefixer";import o from"cssdb";import e from"browserslist";import t from"@csstools/postcss-initial";import r from"@csstools/postcss-alpha-function";import i from"postcss-pseudo-class-any-link";import a from"css-blank-pseudo";import c from"postcss-page-break";import p from"@csstools/postcss-cascade-layers";import n from"postcss-attribute-case-insensitive";import l from"postcss-clamp";import m from"@csstools/postcss-color-function";import u from"@csstools/postcss-color-function-display-p3-linear";import d from"postcss-color-functional-notation";import f from"@csstools/postcss-color-mix-function";import g from"@csstools/postcss-color-mix-variadic-function-arguments";import h from"@csstools/postcss-content-alt-text";import b from"@csstools/postcss-contrast-color-function";import N from"postcss-custom-media";import v from"postcss-custom-properties";import y from"postcss-custom-selectors";import k from"postcss-dir-pseudo-class";import w from"@csstools/postcss-normalize-display-values";import x from"postcss-double-position-gradients";import F from"@csstools/postcss-exponential-functions";import O from"@csstools/postcss-logical-float-and-clear";import P from"postcss-focus-visible";import C from"postcss-focus-within";import $ from"@csstools/postcss-font-format-keywords";import S from"postcss-font-variant";import A from"@csstools/postcss-gamut-mapping";import _ from"postcss-gap-properties";import L from"@csstools/postcss-gradients-interpolation-method";import E from"css-has-pseudo";import I from"postcss-color-hex-alpha";import B from"@csstools/postcss-hwb-function";import q from"@csstools/postcss-ic-unit";import M from"postcss-image-set-function";import D from"@csstools/postcss-is-pseudo-class";import j from"postcss-lab-function";import z from"@csstools/postcss-light-dark-function";import U from"@csstools/postcss-logical-overflow";import R from"@csstools/postcss-logical-overscroll-behavior";import T from"postcss-logical";import V from"@csstools/postcss-logical-resize";import H from"@csstools/postcss-logical-viewport-units";import W from"@csstools/postcss-media-queries-aspect-ratio-number-values";import G from"@csstools/postcss-media-minmax";import K from"@csstools/postcss-mixins";import Z from"@csstools/postcss-nested-calc";import Q from"postcss-nesting";import J from"postcss-selector-not";import X from"@csstools/postcss-oklab-function";import Y from"postcss-opacity-percentage";import ss from"postcss-overflow-shorthand";import os from"postcss-replace-overflow-wrap";import es from"postcss-place";import ts from"@csstools/postcss-position-area-property";import rs from"css-prefers-color-scheme";import is from"@csstools/postcss-progressive-custom-properties";import as from"@csstools/postcss-property-rule-prelude-list";import cs from"@csstools/postcss-random-function";import ps from"postcss-color-rebeccapurple";import ns from"@csstools/postcss-relative-color-syntax";import ls from"@csstools/postcss-scope-pseudo-class";import ms from"@csstools/postcss-sign-functions";import us from"@csstools/postcss-stepped-value-functions";import ds from"@csstools/postcss-syntax-descriptor-syntax-production";import fs from"@csstools/postcss-system-ui-font-family";import gs from"@csstools/postcss-text-decoration-shorthand";import hs from"@csstools/postcss-trigonometric-functions";import bs from"@csstools/postcss-unset-value";const Ns={"blank-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-blank-pseudo/README.md#browser","focus-visible-pseudo-class":"https://github.com/WICG/focus-visible","focus-within-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/postcss-focus-within/README.md#browser","has-pseudo-class":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-has-pseudo/README.md#browser","prefers-color-scheme-query":"https://github.com/csstools/postcss-plugins/blob/main/plugins/css-prefers-color-scheme/README.md#browser"},vs=["blank-pseudo-class","focus-visible-pseudo-class","focus-within-pseudo-class","has-pseudo-class","prefers-color-scheme-query"];function logFeaturesList(s,o,e){if(o.debug){e.log("Enabling the following feature(s):");const t=[],r=[];!1!==o.autoprefixer&&r.push(" autoprefixer"),s.forEach(s=>{s.id.startsWith("before")||s.id.startsWith("after")?r.push(` ${s.id} (injected via options)`):r.push(` ${s.id}`),void 0!==Ns[s.id]&&t.push(s.id)}),r.sort((s,o)=>s.localeCompare(o)),t.sort((s,o)=>s.localeCompare(o)),r.forEach(s=>e.log(s)),t.length&&(e.log("These feature(s) need a browser library to work:"),t.forEach(s=>e.log(` ${s}: ${Ns[s]}`)))}}function initializeSharedOptions(s){if("preserve"in s){const o={};return o.preserve=s.preserve,o}return!1}function clamp(s,o,e){return Math.max(s,Math.min(o,e))}function stageFromOptions(s,o){let e=2;if(void 0===s.stage)return o.log("Using features from Stage 2 (default)."),e;if(!1===s.stage)e=5;else{let o=parseInt(s.stage,10);Number.isNaN(o)&&(o=0),e=clamp(0,o,5)}return 5===e?o.log('Stage has been disabled, features will be handled via the "features" option.'):o.log(`Using features from Stage ${e}.`),e}const ys=Symbol("insertBefore"),ks=Symbol("insertAfter"),ws=Symbol("insertOrder"),xs=Symbol("plugin");function getTransformedInsertions(s,o,e){if("insertBefore"!==e&&"insertAfter"!==e)return[];const t="insertBefore"===e?ys:ks,r=[];for(const e in o){if(!Object.hasOwnProperty.call(o,e))continue;if(!s.find(s=>s.id===e))continue;let i=o[e];Array.isArray(i)||(i=[i]);for(let s=0;s<i.length;s++)r.push({id:e,[xs]:i[s],[ws]:s,[t]:!0})}return r}var Fs=["mixins","custom-media-queries","environment-variables","image-set-function","media-query-ranges","media-queries-aspect-ratio-number-values","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","not-pseudo-class","logical-properties-and-values","float-clear-logical-values","logical-overflow","logical-overscroll-behavior","logical-resize","logical-viewport-units","dir-pseudo-class","all-property","gradients-interpolation-method","color-mix-variadic-function-arguments","color-mix","contrast-color-function","alpha-function","relative-color-syntax","lab-function","oklab-function","color-function-display-p3-linear","color-function","hwb-function","color-functional-notation","rebeccapurple-color","hexadecimal-alpha-notation","light-dark-function","double-position-gradients","blank-pseudo-class","break-properties","font-variant-property","is-pseudo-class","scope-pseudo-class","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","position-area-property","system-ui-font-family","font-format-keywords","display-two-values","content-alt-text","ic-unit","opacity-percentage","text-decoration-shorthand","unset-value","property-rule-prelude-list","syntax-descriptor-syntax-production","random-function","sign-functions","stepped-value-functions","trigonometric-functions","exponential-functions","clamp","nested-calc","custom-properties","cascade-layers","progressive-custom-properties","gamut-mapping"];function featureIsLess(s,o){return s.id===o.id?s[ys]&&o[ys]||s[ks]&&o[ks]?clamp(-1,s[ws]-o[ws],1):s[ys]||o[ks]?-1:s[ks]||o[ys]?1:0:clamp(-1,Fs.indexOf(s.id)-Fs.indexOf(o.id),1)}const Os=new Map([["all-property",t],["alpha-function",r],["any-link-pseudo-class",i],["blank-pseudo-class",a],["break-properties",c],["cascade-layers",p],["case-insensitive-attributes",n],["clamp",l],["color-function",m],["color-function-display-p3-linear",u],["color-functional-notation",d],["color-mix",f],["color-mix-variadic-function-arguments",g],["content-alt-text",h],["contrast-color-function",b],["custom-media-queries",N],["custom-properties",v],["custom-selectors",y],["dir-pseudo-class",k],["display-two-values",w],["double-position-gradients",x],["exponential-functions",F],["float-clear-logical-values",O],["focus-visible-pseudo-class",P],["focus-within-pseudo-class",C],["font-format-keywords",$],["font-variant-property",S],["gamut-mapping",A],["gap-properties",_],["gradients-interpolation-method",L],["has-pseudo-class",E],["hexadecimal-alpha-notation",I],["hwb-function",B],["ic-unit",q],["image-set-function",M],["is-pseudo-class",D],["lab-function",j],["light-dark-function",z],["logical-overflow",U],["logical-overscroll-behavior",R],["logical-properties-and-values",T],["logical-resize",V],["logical-viewport-units",H],["media-queries-aspect-ratio-number-values",W],["media-query-ranges",G],["mixins",K],["nested-calc",Z],["nesting-rules",Q],["not-pseudo-class",J],["oklab-function",X],["opacity-percentage",Y],["overflow-property",ss],["overflow-wrap-property",os],["place-properties",es],["position-area-property",ts],["prefers-color-scheme-query",rs],["progressive-custom-properties",is],["property-rule-prelude-list",as],["random-function",cs],["rebeccapurple-color",ps],["relative-color-syntax",ns],["scope-pseudo-class",ls],["sign-functions",ms],["stepped-value-functions",us],["syntax-descriptor-syntax-production",ds],["system-ui-font-family",fs],["text-decoration-shorthand",gs],["trigonometric-functions",hs],["unset-value",bs]]);function featureIsInsertedOrHasAPlugin(s){return!!s[ys]||(!!s[ks]||!!Os.has(s.id))}function prepareFeaturesList(s,o,e){return s.concat(getTransformedInsertions(s,o,"insertBefore"),getTransformedInsertions(s,e,"insertAfter")).filter(s=>featureIsInsertedOrHasAPlugin(s)).sort((s,o)=>featureIsLess(s,o))}function getOptionsForBrowsersByFeature(s,o,e,t){switch(o.id){case"is-pseudo-class":return{onComplexSelector:"warning"};case"any-link-pseudo-class":if(s.find(s=>s.startsWith("ie ")||"edge 12"===s||"edge 13"===s||"edge 14"===s||"edge 15"===s||"edge 16"===s||"edge 17"===s||"edge 18"===s))return t.log("- 'any-link-pseudo-class' setting 'subFeatures: { areaHrefNeedsFixing: true }' due to lack of browser support for area[href] in Edge and IE."),{subFeatures:{areaHrefNeedsFixing:!0}};return{};case"logical-properties-and-values":case"float-clear-logical-values":case"logical-resize":case"logical-viewport-units":case"logical-overflow":case"logical-overscroll-behavior":return"logical"in e?e.logical:{};default:return{}}}const Ps=["and_chr","and_ff","android","chrome","edge","firefox","ie","ios_saf","op_mini","op_mob","opera","safari","samsung"];function getUnsupportedBrowsersByFeature(s){if(!s)return[];if("position-area-property"===s.id)return["chrome 125","chrome 126","chrome 127","chrome 128","edge 125","edge 126","edge 127","edge 128","and_chr 125","and_chr 126","and_chr 127","and_chr 128","android 125","android 126","android 127","android 128","samsung 27","opera 111","opera 112","opera 113","opera 114","op_mob 83","op_mob 84","op_mob 85"];if(!("browser_support"in s))return["> 0%"];const o=[];return Ps.forEach(e=>{if("op_mini"===e&&void 0===s.browser_support[e])return void o.push("op_mini all");const t=s.browser_support[e];"string"==typeof t&&Cs.test(t)?o.push(`${e} < ${s.browser_support[e]}`):o.push(`${e} >= 1`)}),o}const Cs=/^[0-9|.]+$/;function formatPolyfillableFeature(s){const o=getUnsupportedBrowsersByFeature(s);if(s[ys]||s[ks]){let e=s.id;return e=s.insertBefore?`before-${e}`:`after-${e}`,{browsers:o,vendors_implementations:s.vendors_implementations,plugin:s[xs],id:e,stage:6}}return{browsers:o,vendors_implementations:s.vendors_implementations,plugin:Os.get(s.id),id:s.id,stage:s.stage}}function formatStagedFeature(s,o,e,t,r,i){let a,c;return a=getOptionsForBrowsersByFeature(s,e,r,i),a=t?Object.assign({},a,t,featureOptions(o,e.id)):Object.assign({},a,featureOptions(o,e.id)),"progressive-custom-properties"!==e.id&&(a.enableProgressiveCustomProperties=!1),"overflow-wrap-property"===e.id&&"preserve"in a&&(a.method=a.preserve?"copy":"replace"),c=e.plugin.postcss&&"function"==typeof e.plugin?e.plugin(a):e.plugin&&e.plugin.default&&"function"==typeof e.plugin.default&&e.plugin.default.postcss?e.plugin.default(a):e.plugin,{browsers:e.browsers,vendors_implementations:e.vendors_implementations,plugin:c,pluginOptions:a,id:e.id}}function featureOptions(s,o){if(!(o in s))return;const e=s[o];return Array.isArray(e)?e[1]:e}function intOrZero(s){const o=parseInt(s,10);return Number.isNaN(o)?0:o}const $s=new Set(["progressive-custom-properties"]);function listFeatures(s,o,t,r){const i=Object(o.features),a="enableClientSidePolyfills"in o&&o.enableClientSidePolyfills,c=Object(o.insertBefore),p=Object(o.insertAfter),n=o.browsers?void 0:o.env,l=o.browsers,m=clamp(0,intOrZero(o.minimumVendorImplementations),3);m>0&&r.log(`Using features with ${m} or more vendor implementations.`);const u=stageFromOptions(o,r),d=prepareFeaturesList([...s,{id:"progressive-custom-properties"}],c,p).map(s=>formatPolyfillableFeature(s)).filter(s=>!!$s.has(s.id)||(0===m||(!(!s[ys]&&!s[ks])||(m<=s.vendors_implementations||(!0===featureEnabledByOptions(i,s.id)?(r.log(`- '${s.id}' enabled manually even when it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!0):(r.log(`- '${s.id}' disabled because it lacks the required interop (${s.vendors_implementations} out of ${m}).`),!1)))))),f=e(l,{env:n,ignoreUnknownVersions:!0}).filter(s=>Ps.includes(s.split(" ")[0]));return d.filter(s=>{if($s.has(s.id))return!0;const o=s.stage>=u,e=a||!vs.includes(s.id),t=featureEnabledByOptions(i,s.id),c=!1===t,p=!0===t||o&&e;return c?r.log(`- '${s.id}' disabled manually`):o?e||r.log(`- '${s.id}' disabled because 'enableClientSidePolyfills' is 'false'.`):p?r.log(`- '${s.id}' enabled manually even when it lacks the required stage (${s.stage} out of ${u}).`):r.log(`- '${s.id}' disabled because it lacks the required stage (${s.stage} out of ${u}).`),!c&&p}).map(s=>formatStagedFeature(f,i,s,t,o,r)).filter(s=>{if($s.has(s.id))return!0;const o=featureEnabledByOptions(i,s.id);if(!0===o||!1===o)return o;const t=e(s.browsers,{ignoreUnknownVersions:!0}),a=f.filter(s=>t.some(o=>o===s));return a.length>0?r.log(`- '${s.id}' enabled for:\n ${a.join("\n ")}`):r.log(`- '${s.id}' disabled because all targeted browsers support it.`),a.length>0})}function featureEnabledByOptions(s,o){if(!(o in s))return"auto";const e=s[o];return Array.isArray(e)?!0===e[0]||!1!==e[0]&&"auto":Boolean(e)}class Logger{constructor(){this.logs=[]}log(s){this.logs.push(s)}resetLogger(){this.logs.length=0}emitLogs(s){s&&s.warn(this.logs.join("\n")),this.resetLogger()}}var Ss=[{packageName:"css-blank-pseudo",id:"blank-pseudo-class",importName:"postcssBlankPseudo"},{packageName:"css-has-pseudo",id:"has-pseudo-class",importName:"postcssHasPseudo"},{packageName:"css-prefers-color-scheme",id:"prefers-color-scheme-query",importName:"postcssPrefersColorScheme"},{packageName:"postcss-attribute-case-insensitive",id:"case-insensitive-attributes",importName:"postcssAttributeCaseInsensitive"},{packageName:"postcss-clamp",id:"clamp",importName:"postcssClamp"},{packageName:"@csstools/postcss-alpha-function",id:"alpha-function",importName:"postcssAlphaFunction"},{packageName:"@csstools/postcss-color-mix-variadic-function-arguments",id:"color-mix-variadic-function-arguments",importName:"postcssColorMixVariadicFunctionArguments"},{packageName:"@csstools/postcss-color-mix-function",id:"color-mix",importName:"postcssColorMixFunction"},{packageName:"@csstools/postcss-color-function",id:"color-function",importName:"postcssColorFunction"},{packageName:"@csstools/postcss-color-function-display-p3-linear",id:"color-function-display-p3-linear",importName:"postcssColorFunctionDisplayP3Linear"},{packageName:"postcss-color-functional-notation",id:"color-functional-notation",importName:"postcssColorFunctionalNotation"},{packageName:"postcss-color-hex-alpha",id:"hexadecimal-alpha-notation",importName:"postcssColorHexAlpha"},{packageName:"@csstools/postcss-content-alt-text",id:"content-alt-text",importName:"postcssContentAltText"},{packageName:"postcss-color-rebeccapurple",id:"rebeccapurple-color",importName:"postcssColorRebeccapurple"},{packageName:"@csstools/postcss-contrast-color-function",id:"contrast-color-function",importName:"postcssContrastColorFunction"},{packageName:"postcss-custom-media",id:"custom-media-queries",importName:"postcssCustomMedia"},{packageName:"postcss-custom-properties",id:"custom-properties",importName:"postcssCustomProperties"},{packageName:"postcss-custom-selectors",id:"custom-selectors",importName:"postcssCustomSelectors"},{packageName:"postcss-dir-pseudo-class",id:"dir-pseudo-class",importName:"postcssDirPseudoClass"},{packageName:"postcss-double-position-gradients",id:"double-position-gradients",importName:"postcssDoublePositionGradients"},{packageName:"@csstools/postcss-exponential-functions",id:"exponential-functions",importName:"postcssExponentialFunctions"},{packageName:"postcss-focus-visible",id:"focus-visible-pseudo-class",importName:"postcssFocusVisible"},{packageName:"postcss-focus-within",id:"focus-within-pseudo-class",importName:"postcssFocusWithin"},{packageName:"@csstools/postcss-font-format-keywords",id:"font-format-keywords",importName:"postcssFontFormatKeywords"},{packageName:"postcss-font-variant",id:"font-variant-property",importName:"postcssFontVariant"},{packageName:"@csstools/postcss-gamut-mapping",id:"gamut-mapping",importName:"postcssGamutMapping"},{packageName:"postcss-gap-properties",id:"gap-properties",importName:"postcssGapProperties"},{packageName:"@csstools/postcss-gradients-interpolation-method",id:"gradients-interpolation-method",importName:"postcssGradientsInterpolationMethod"},{packageName:"@csstools/postcss-hwb-function",id:"hwb-function",importName:"postcssHWBFunction"},{packageName:"@csstools/postcss-ic-unit",id:"ic-unit",importName:"postcssICUnit"},{packageName:"postcss-image-set-function",id:"image-set-function",importName:"postcssImageSetFunction"},{packageName:"@csstools/postcss-initial",id:"all-property",importName:"postcssInitial"},{packageName:"@csstools/postcss-is-pseudo-class",id:"is-pseudo-class",importName:"postcssIsPseudoClass"},{packageName:"@csstools/postcss-scope-pseudo-class",id:"scope-pseudo-class",importName:"postcssScopePseudoClass"},{packageName:"postcss-lab-function",id:"lab-function",importName:"postcssLabFunction"},{packageName:"@csstools/postcss-light-dark-function",id:"light-dark-function",importName:"postcssLightDarkFunction"},{packageName:"postcss-logical",id:"logical-properties-and-values",importName:"postcssLogical"},{packageName:"@csstools/postcss-logical-float-and-clear",id:"float-clear-logical-values",importName:"postcssLogicalFloatAndClear"},{packageName:"@csstools/postcss-logical-overflow",id:"logical-overflow",importName:"postcssLogicalOverflow"},{packageName:"@csstools/postcss-logical-overscroll-behavior",id:"logical-overscroll-behavior",importName:"postcssLogicalOverscrollBehavor"},{packageName:"@csstools/postcss-logical-resize",id:"logical-resize",importName:"postcssLogicalResize"},{packageName:"@csstools/postcss-logical-viewport-units",id:"logical-viewport-units",importName:"postcssLogicalViewportUnits"},{packageName:"@csstools/postcss-media-minmax",id:"media-query-ranges",importName:"postcssMediaMinmax"},{packageName:"@csstools/postcss-media-queries-aspect-ratio-number-values",id:"media-queries-aspect-ratio-number-values",importName:"postcssMediaQueriesAspectRatioNumberValues"},{packageName:"@csstools/postcss-mixins",id:"mixins",importName:"postcssMixins"},{packageName:"postcss-nesting",id:"nesting-rules",importName:"postcssNesting"},{packageName:"@csstools/postcss-normalize-display-values",id:"display-two-values",importName:"postcssNormalizeDisplayValues"},{packageName:"@csstools/postcss-oklab-function",id:"oklab-function",importName:"postcssOKLabFunction"},{packageName:"@csstools/postcss-relative-color-syntax",id:"relative-color-syntax",importName:"postcssRelativeColorSyntax"},{packageName:"postcss-opacity-percentage",id:"opacity-percentage",importName:"postcssOpacityPercentage"},{packageName:"postcss-overflow-shorthand",id:"overflow-property",importName:"postcssOverflowShorthand"},{packageName:"postcss-page-break",id:"break-properties",importName:"postcssPageBreak"},{packageName:"@csstools/postcss-position-area-property",id:"position-area-property",importName:"postcssPositionAreaProperty"},{packageName:"postcss-place",id:"place-properties",importName:"postcssPlace"},{packageName:"postcss-pseudo-class-any-link",id:"any-link-pseudo-class",importName:"postcssPseudoClassAnyLink"},{packageName:"postcss-replace-overflow-wrap",id:"overflow-wrap-property",importName:"postcssReplaceOverflowWrap"},{packageName:"postcss-selector-not",id:"not-pseudo-class",importName:"postcssSelectorNot"},{packageName:"@csstools/postcss-stepped-value-functions",id:"stepped-value-functions",importName:"postcssSteppedValueFunctions"},{packageName:"@csstools/postcss-system-ui-font-family",id:"system-ui-font-family",importName:"postcssSystemUIFontFamily"},{packageName:"@csstools/postcss-unset-value",id:"unset-value",importName:"postcssUnsetValue"},{packageName:"@csstools/postcss-cascade-layers",id:"cascade-layers",importName:"postcssCascadeLayers"},{packageName:"@csstools/postcss-trigonometric-functions",id:"trigonometric-functions",importName:"postcssTrigonometricFunctions"},{packageName:"@csstools/postcss-nested-calc",id:"nested-calc",importName:"postcssNestedCalc"},{packageName:"@csstools/postcss-text-decoration-shorthand",id:"text-decoration-shorthand",importName:"postcssTextDecorationShorthand"},{packageName:"@csstools/postcss-sign-functions",id:"sign-functions",importName:"postcssSignFunctions"},{packageName:"@csstools/postcss-random-function",id:"random-function",importName:"postcssRandomFunction"},{packageName:"@csstools/postcss-property-rule-prelude-list",id:"property-rule-prelude-list",importName:"postcssPropertyRulePreludeList"},{packageName:"@csstools/postcss-syntax-descriptor-syntax-production",id:"syntax-descriptor-syntax-production",importName:"postcssSyntaxDescriptorSyntaxProduction"},{packageName:"@csstools/postcss-progressive-custom-properties",id:"progressive-custom-properties",importName:"postcssProgressiveCustomProperties",omitTypedOptions:!0,omitDocs:!0}];function getPackageNamesToIds(){const s={};return Ss.forEach(o=>{s[o.packageName]=o.id}),s}function pluginIdHelp(s,o,e){const t=Ss.map(s=>s.id),r=Ss.map(s=>s.packageName),i=getPackageNamesToIds();s.forEach(s=>{if(t.includes(s))return;const a=[...t.map(o=>[o,levenshteinDistance(s,o)]),...r.map(o=>[i[o],levenshteinDistance(s,o)])].sort((s,o)=>s[1]-o[1]).filter(s=>s[1]<10),c=new Set;for(let s=0;s<a.length&&(c.add(a[s][0]),!(c.size>=3));s++);if(!c.size)return void o.warn(e,`Unknown feature: "${s}", see the list of features https://github.com/csstools/postcss-plugins/blob/main/plugin-packs/postcss-preset-env/FEATURES.md`);let p='"';p+=Array.from(c).join('", "'),p+='"',o.warn(e,`Unknown feature: "${s}", did you mean one of: ${p}`)})}function levenshteinDistance(s,o){if(!s.length)return o.length;if(!o.length)return s.length;const e=[];for(let t=0;t<=o.length;t++){e[t]=[t];for(let r=1;r<=s.length;r++)e[t][r]=0===t?r:Math.min(e[t-1][r]+1,e[t][r-1]+1,e[t-1][r-1]+(s[r-1]===o[t-1]?0:1))}return e[o.length][s.length]}const creator=e=>{const t=new Logger,r=Object(e),i=Object.keys(Object(r.features)),a=r.browsers?void 0:r.env,c=r.browsers,p=initializeSharedOptions(r),n=listFeatures(o,r,p,t),l=n.map(s=>s.plugin);!1!==r.autoprefixer&&l.push(s(Object.assign({env:a,overrideBrowserslist:c},r.autoprefixer))),logFeaturesList(n,r,t);const internalPlugin=()=>({postcssPlugin:"postcss-preset-env",OnceExit(s,{result:o}){pluginIdHelp(i,s,o),r.debug&&t.emitLogs(o),t.resetLogger()}});return internalPlugin.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...l,internalPlugin()]}};creator.postcss=!0;export{creator as default,creator as"module.exports"};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "postcss-preset-env",
|
|
3
3
|
"description": "Convert modern CSS into something browsers understand",
|
|
4
|
-
"version": "11.0
|
|
4
|
+
"version": "11.1.0",
|
|
5
5
|
"contributors": [
|
|
6
6
|
{
|
|
7
7
|
"name": "Antonio Laguna",
|
|
@@ -69,6 +69,7 @@
|
|
|
69
69
|
"@csstools/postcss-logical-viewport-units": "^4.0.0",
|
|
70
70
|
"@csstools/postcss-media-minmax": "^3.0.0",
|
|
71
71
|
"@csstools/postcss-media-queries-aspect-ratio-number-values": "^4.0.0",
|
|
72
|
+
"@csstools/postcss-mixins": "^1.0.0",
|
|
72
73
|
"@csstools/postcss-nested-calc": "^5.0.0",
|
|
73
74
|
"@csstools/postcss-normalize-display-values": "^5.0.0",
|
|
74
75
|
"@csstools/postcss-oklab-function": "^5.0.0",
|
|
@@ -90,7 +91,7 @@
|
|
|
90
91
|
"css-blank-pseudo": "^8.0.1",
|
|
91
92
|
"css-has-pseudo": "^8.0.0",
|
|
92
93
|
"css-prefers-color-scheme": "^11.0.0",
|
|
93
|
-
"cssdb": "^8.
|
|
94
|
+
"cssdb": "^8.7.0",
|
|
94
95
|
"postcss-attribute-case-insensitive": "^8.0.0",
|
|
95
96
|
"postcss-clamp": "^4.1.0",
|
|
96
97
|
"postcss-color-functional-notation": "^8.0.0",
|