postcss-preset-env 7.2.2 → 7.2.3

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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changes to PostCSS Preset Env
2
2
 
3
+ ### 7.2.3 (January 12, 2022)
4
+
5
+ - Enhanced `importFrom` / `exportTo` so it's harder to cause unexpected issues by different shapes of data.
6
+
3
7
  ### 7.2.2 (January 12, 2022)
4
8
 
5
9
  - Updated `postcss-logical` to `5.0.3` (patch)
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("autoprefixer"),s=require("browserslist"),t=require("cssdb"),o=require("postcss-attribute-case-insensitive"),r=require("css-blank-pseudo"),n=require("postcss-color-functional-notation"),i=require("postcss-color-hex-alpha"),c=require("postcss-color-rebeccapurple"),u=require("postcss-custom-media"),a=require("postcss-custom-properties"),p=require("postcss-custom-selectors"),l=require("postcss-dir-pseudo-class"),f=require("postcss-double-position-gradients"),d=require("postcss-env-function"),m=require("postcss-focus-visible"),b=require("postcss-focus-within"),g=require("postcss-font-variant"),y=require("postcss-gap-properties"),O=require("css-has-pseudo"),j=require("postcss-image-set-function"),h=require("postcss-initial"),v=require("postcss-lab-function"),w=require("postcss-logical"),k=require("postcss-media-minmax"),$=require("postcss-nesting"),q=require("postcss-overflow-shorthand"),x=require("postcss-page-break"),S=require("postcss-place"),P=require("css-prefers-color-scheme"),M=require("postcss-pseudo-class-any-link"),F=require("postcss-replace-overflow-wrap"),T=require("postcss-selector-not"),B=require("caniuse-lite"),U=require("fs"),V=require("path");function A(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function E(e){if(e&&e.__esModule)return e;var s=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),s.default=e,Object.freeze(s)}var I=A(e),N=A(s),C=A(t),D=A(o),J=A(r),R=A(n),_=A(i),z=A(c),L=A(u),G=A(a),H=A(p),K=A(l),Q=A(f),W=A(d),X=A(m),Y=A(b),Z=A(g),ee=A(y),se=A(O),te=A(j),oe=A(h),re=A(v),ne=A(w),ie=A(k),ce=A($),ue=A(q),ae=A(x),pe=A(S),le=A(P),fe=A(M),de=A(F),me=A(T),be=E(B),ge=A(U),ye=A(V);function Oe(){return{postcssPlugin:"postcss-system-ui-font",Declaration(e){je.test(e.prop)&&(e.value.includes(ve.join(", "))||(e.value=e.value.replace(we,ke)))}}}Oe.postcss=!0;const je=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,he="[\\f\\n\\r\\x09\\x20]",ve=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],we=new RegExp(`(^|,|${he}+)(?:system-ui${he}*)(?:,${he}*(?:${ve.join("|")})${he}*)?(,|$)`,"i"),ke=`$1${ve.join(", ")}$2`,$e={"css-blank-pseudo":"blank-pseudo-class","css-has-pseudo":"has-pseudo-class","css-prefers-color-scheme":"prefers-color-scheme-query","postcss-attribute-case-insensitive":"case-insensitive-attributes","postcss-color-functional-notation":"color-functional-notation","postcss-color-hex-alpha":"hexadecimal-alpha-notation","postcss-color-rebeccapurple":"rebeccapurple-color","postcss-custom-media":"custom-media-queries","postcss-custom-properties":"custom-properties","postcss-custom-selectors":"custom-selectors","postcss-dir-pseudo-class":"dir-pseudo-class","postcss-double-position-gradients":"double-position-gradients","postcss-env-function":"environment-variables","postcss-focus-visible":"focus-visible-pseudo-class","postcss-focus-within":"focus-within-pseudo-class","postcss-font-variant":"font-variant-property","postcss-gap-properties":"gap-properties","postcss-image-set-function":"image-set-function","postcss-initial":"all-property","postcss-lab-function":"lab-function","postcss-logical":"logical-properties-and-values","postcss-media-minmax":"media-query-ranges","postcss-nesting":"nesting-rules","postcss-overflow-shorthand":"overflow-property","postcss-page-break":"break-properties","postcss-place":"place-properties","postcss-pseudo-class-any-link":"any-link-pseudo-class","postcss-replace-overflow-wrap":"overflow-wrap-property","postcss-selector-not":"not-pseudo-class","postcss-system-ui-font-family":"system-ui-font-family"},qe=(()=>{const e={};for(const[s,t]of Object.entries($e))e[t]=s;return e})(),xe={"all-property":oe.default,"any-link-pseudo-class":fe.default,"blank-pseudo-class":J.default,"break-properties":ae.default,"case-insensitive-attributes":D.default,"color-functional-notation":R.default,"custom-media-queries":L.default,"custom-properties":G.default,"custom-selectors":H.default,"dir-pseudo-class":K.default,"double-position-gradients":Q.default,"environment-variables":W.default,"focus-visible-pseudo-class":X.default,"focus-within-pseudo-class":Y.default,"font-variant-property":Z.default,"gap-properties":ee.default,"has-pseudo-class":se.default,"hexadecimal-alpha-notation":_.default,"image-set-function":te.default,"lab-function":re.default,"logical-properties-and-values":ne.default,"media-query-ranges":ie.default,"nesting-rules":ce.default,"not-pseudo-class":me.default,"overflow-property":ue.default,"overflow-wrap-property":de.default,"place-properties":pe.default,"prefers-color-scheme-query":le.default,"rebeccapurple-color":z.default,"system-ui-font-family":Oe};function Se(e,s){return Object.keys(e).map((t=>[].concat(e[t]).map((e=>({[s]:!0,plugin:e,id:t}))))).reduce(((e,s)=>e.concat(s)),[])}function Pe(e){const s=be.features[e];if(s){const e=be.feature(s).stats;return Object.keys(e).reduce(((s,t)=>s.concat(Object.keys(e[t]).filter((s=>0!==e[t][s].indexOf("y"))).map((e=>`${t} ${e}`)))),[])}return["> 0%"]}var Me=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","matches-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","lab-function","rebeccapurple-color","color-mod-function","blank-pseudo-class","break-properties","font-variant-property","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family"];async function Fe(e,s,t,o){const r=function(e){return`:root {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t${t}: ${e[t]};`),s)),[]).join("\n")}\n}\n`}(t),n=function(e){return`${Object.keys(e).reduce(((s,t)=>(s.push(`@custom-media ${t} ${e[t]};`),s)),[]).join("\n")}\n`}(s),i=function(e){return`${Object.keys(e).reduce(((s,t)=>(s.push(`@custom-selector ${t} ${e[t]};`),s)),[]).join("\n")}\n`}(o),c=`${n}\n${i}\n${r}`;await Ae(e,c)}function Te(e,s){return`\n\t${e}: {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t\t'${Ee(t)}': '${Ee(s[t])}'`),e)),[]).join(",\n")}\n\t}`}function Be(e,s){return`export const ${e} = {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t'${Ee(t)}': '${Ee(s[t])}'`),e)),[]).join(",\n")}\n};\n`}function Ue(e,s){return Promise.all([].concat(s).map((async s=>{if(s instanceof Function)await s({customMedia:Ve(e.customMedia),customProperties:Ve(e.customProperties),customSelectors:Ve(e.customSelectors)});else{const t=s===Object(s)?s:{to:String(s)},o=t.toJSON||Ve;if("customMedia"in t||"customProperties"in t||"customSelectors"in t)t.customMedia=o(e.customMedia),t.customProperties=o(e.customProperties),t.customSelectors=o(e.customSelectors);else if("custom-media"in t||"custom-properties"in t||"custom-selectors"in t)t["custom-media"]=o(e.customMedia),t["custom-properties"]=o(e.customProperties),t["custom-selectors"]=o(e.customSelectors);else{const s=String(t.to||""),r=(t.type||ye.default.extname(t.to).slice(1)).toLowerCase(),n=o(e.customMedia),i=o(e.customProperties),c=o(e.customSelectors);"css"===r&&await Fe(s,n,i,c),"js"===r&&await async function(e,s,t,o){const r=`module.exports = {${Te("customMedia",s)},${Te("customProperties",t)},${Te("customSelectors",o)}\n};\n`;await Ae(e,r)}(s,n,i,c),"json"===r&&await async function(e,s,t,o){const r=`${JSON.stringify({"custom-media":s,"custom-properties":t,"custom-selectors":o},null," ")}\n`;await Ae(e,r)}(s,n,i,c),"mjs"===r&&await async function(e,s,t,o){const r=`${Be("customMedia",s)}\n${Be("customProperties",t)}\n${Be("customSelectors",o)}`;await Ae(e,r)}(s,n,i,c)}}})))}function Ve(e){return Object.keys(e).reduce(((s,t)=>(s[t]=String(e[t]),s)),{})}function Ae(e,s){return new Promise(((t,o)=>{ge.default.writeFile(e,s,(e=>{e?o(e):t()}))}))}function Ee(e){return e.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function Ie(e,s){const t=N.default(e,{ignoreUnknownVersions:!0});return"nesting-rules"===s.id&&function(e,s){const t=Pe(e);if(s.some((e=>N.default(t,{ignoreUnknownVersions:!0}).some((s=>s===e)))))return!0;return!1}("css-matches-pseudo",t)?{noIsPseudoSelector:!0}:{}}function Ne(e,s){let t="unknown",o=1/0;for(let r=0;r<s.length;r++){const n=Ce(e,s[r]);n<o&&(o=n,t=s[r])}return{mostSimilar:t,distance:o}}function Ce(e,s){if(!e.length)return s.length;if(!s.length)return e.length;const t=[];for(let o=0;o<=s.length;o++){t[o]=[o];for(let r=1;r<=e.length;r++)t[o][r]=0===o?r:Math.min(t[o-1][r]+1,t[o][r-1]+1,t[o-1][r-1]+(e[r-1]===s[o-1]?0:1))}return t[s.length][e.length]}const De=e=>{const s=Object(Object(e).features),t=Object.keys(s),o=Object(Object(e).insertBefore),r=Object(Object(e).insertAfter),n=Object(e).browsers,i="stage"in Object(e)?!1===e.stage?5:parseInt(e.stage)||0:2,c=Object(e).autoprefixer,u=Je(Object(e)),a=!1===c?()=>{}:I.default(Object.assign({overrideBrowserslist:n},c)),p=C.default.concat(Se(o,"insertBefore"),Se(r,"insertAfter")).filter((e=>e.insertBefore||e.id in xe)).sort(((e,s)=>Me.indexOf(e.id)-Me.indexOf(s.id)||(e.insertBefore?-1:s.insertBefore?1:0)||(e.insertAfter?1:s.insertAfter?-1:0))).map((e=>{const s=Pe(e.caniuse);return e.insertBefore||e.insertAfter?{browsers:s,plugin:e.plugin,id:`${e.insertBefore?"before":"after"}-${e.id}`,stage:6}:{browsers:s,plugin:xe[e.id],id:e.id,stage:e.stage}})).filter((e=>e.id in s?s[e.id]:e.stage>=i)).map((e=>{let t,o;return t=Ie(n,e),t=!0===s[e.id]?u?Object.assign({},t,u):void 0:u?Object.assign({},t,u,s[e.id]):Object.assign({},t,s[e.id]),o=e.plugin.postcss?e.plugin(t):e.plugin,{browsers:e.browsers,plugin:o,pluginOptions:t,id:e.id}})),l=N.default(n,{ignoreUnknownVersions:!0}),f=p.filter((e=>e.id in s?s[e.id]:!!function(e){if("importFrom"in e.pluginOptions)switch(e.id){case"custom-media-queries":if(Object.keys(Object(e.pluginOptions.importFrom.customMedia)).length)return!0;break;case"custom-properties":if(Object.keys(Object(e.pluginOptions.importFrom.customProperties)).length)return!0;break;case"environment-variables":if(Object.keys(Object(e.pluginOptions.importFrom.environmentVariables)).length)return!0;break;case"custom-selectors":if(Object.keys(Object(e.pluginOptions.importFrom.customSelectors)).length)return!0}if("exportTo"in e.pluginOptions)switch(e.id){case"custom-media-queries":if(Object.keys(Object(e.pluginOptions.exportTo.customMedia)).length)return!0;break;case"custom-properties":if(Object.keys(Object(e.pluginOptions.exportTo.customProperties)).length)return!0;break;case"environment-variables":if(Object.keys(Object(e.pluginOptions.exportTo.environmentVariables)).length)return!0;break;case"custom-selectors":if(Object.keys(Object(e.pluginOptions.exportTo.customSelectors)).length)return!0}return!1}(e)||l.some((s=>N.default(e.browsers,{ignoreUnknownVersions:!0}).some((e=>e===s)))))).map((e=>e.plugin));f.push(a);const d=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(s,{result:o}){!function(e,s,t){const o=Object.keys(qe),r=Object.keys($e);e.forEach((e=>{if(o.includes(e))return;const n=Ne(e,o),i=Ne(e,r);n.distance<i.distance?s.warn(t,`Unknown feature: "${e}" did you mean: "${n.mostSimilar}"`):s.warn(t,`Unknown feature: "${e}" did you mean: "${$e[i.mostSimilar]}"`)}))}(t,s,o),Object(e).exportTo&&Ue(u.exportTo,e.exportTo)}});return d.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...f,d()]}},Je=e=>{if("importFrom"in e||"exportTo"in e||"preserve"in e){const s={};return"importFrom"in e&&(s.importFrom=e.importFrom),"exportTo"in e&&(s.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in e&&(s.preserve=e.preserve),s}return!1};De.postcss=!0,module.exports=De;
1
+ "use strict";var e=require("autoprefixer"),s=require("browserslist"),t=require("cssdb"),o=require("postcss-attribute-case-insensitive"),r=require("css-blank-pseudo"),i=require("postcss-color-functional-notation"),n=require("postcss-color-hex-alpha"),c=require("postcss-color-rebeccapurple"),u=require("postcss-custom-media"),a=require("postcss-custom-properties"),p=require("postcss-custom-selectors"),l=require("postcss-dir-pseudo-class"),f=require("postcss-double-position-gradients"),d=require("postcss-env-function"),m=require("postcss-focus-visible"),b=require("postcss-focus-within"),g=require("postcss-font-variant"),y=require("postcss-gap-properties"),v=require("css-has-pseudo"),O=require("postcss-image-set-function"),h=require("postcss-initial"),w=require("postcss-lab-function"),j=require("postcss-logical"),$=require("postcss-media-minmax"),q=require("postcss-nesting"),k=require("postcss-overflow-shorthand"),x=require("postcss-page-break"),S=require("postcss-place"),P=require("css-prefers-color-scheme"),M=require("postcss-pseudo-class-any-link"),F=require("postcss-replace-overflow-wrap"),T=require("postcss-selector-not"),B=require("caniuse-lite"),U=require("fs"),A=require("path");function V(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function E(e){if(e&&e.__esModule)return e;var s=Object.create(null);return e&&Object.keys(e).forEach((function(t){if("default"!==t){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(s,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})),s.default=e,Object.freeze(s)}var I=V(e),N=V(s),C=V(t),D=V(o),J=V(r),R=V(i),_=V(n),z=V(c),L=V(u),G=V(a),H=V(p),K=V(l),Q=V(f),W=V(d),X=V(m),Y=V(b),Z=V(g),ee=V(y),se=V(v),te=V(O),oe=V(h),re=V(w),ie=V(j),ne=V($),ce=V(q),ue=V(k),ae=V(x),pe=V(S),le=V(P),fe=V(M),de=V(F),me=V(T),be=E(B),ge=V(U),ye=V(A);function ve(){return{postcssPlugin:"postcss-system-ui-font",Declaration(e){Oe.test(e.prop)&&(e.value.includes(we.join(", "))||(e.value=e.value.replace(je,$e)))}}}ve.postcss=!0;const Oe=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,he="[\\f\\n\\r\\x09\\x20]",we=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],je=new RegExp(`(^|,|${he}+)(?:system-ui${he}*)(?:,${he}*(?:${we.join("|")})${he}*)?(,|$)`,"i"),$e=`$1${we.join(", ")}$2`,qe={"css-blank-pseudo":"blank-pseudo-class","css-has-pseudo":"has-pseudo-class","css-prefers-color-scheme":"prefers-color-scheme-query","postcss-attribute-case-insensitive":"case-insensitive-attributes","postcss-color-functional-notation":"color-functional-notation","postcss-color-hex-alpha":"hexadecimal-alpha-notation","postcss-color-rebeccapurple":"rebeccapurple-color","postcss-custom-media":"custom-media-queries","postcss-custom-properties":"custom-properties","postcss-custom-selectors":"custom-selectors","postcss-dir-pseudo-class":"dir-pseudo-class","postcss-double-position-gradients":"double-position-gradients","postcss-env-function":"environment-variables","postcss-focus-visible":"focus-visible-pseudo-class","postcss-focus-within":"focus-within-pseudo-class","postcss-font-variant":"font-variant-property","postcss-gap-properties":"gap-properties","postcss-image-set-function":"image-set-function","postcss-initial":"all-property","postcss-lab-function":"lab-function","postcss-logical":"logical-properties-and-values","postcss-media-minmax":"media-query-ranges","postcss-nesting":"nesting-rules","postcss-overflow-shorthand":"overflow-property","postcss-page-break":"break-properties","postcss-place":"place-properties","postcss-pseudo-class-any-link":"any-link-pseudo-class","postcss-replace-overflow-wrap":"overflow-wrap-property","postcss-selector-not":"not-pseudo-class","postcss-system-ui-font-family":"system-ui-font-family"},ke=(()=>{const e={};for(const[s,t]of Object.entries(qe))e[t]=s;return e})(),xe={"all-property":oe.default,"any-link-pseudo-class":fe.default,"blank-pseudo-class":J.default,"break-properties":ae.default,"case-insensitive-attributes":D.default,"color-functional-notation":R.default,"custom-media-queries":L.default,"custom-properties":G.default,"custom-selectors":H.default,"dir-pseudo-class":K.default,"double-position-gradients":Q.default,"environment-variables":W.default,"focus-visible-pseudo-class":X.default,"focus-within-pseudo-class":Y.default,"font-variant-property":Z.default,"gap-properties":ee.default,"has-pseudo-class":se.default,"hexadecimal-alpha-notation":_.default,"image-set-function":te.default,"lab-function":re.default,"logical-properties-and-values":ie.default,"media-query-ranges":ne.default,"nesting-rules":ce.default,"not-pseudo-class":me.default,"overflow-property":ue.default,"overflow-wrap-property":de.default,"place-properties":pe.default,"prefers-color-scheme-query":le.default,"rebeccapurple-color":z.default,"system-ui-font-family":ve};function Se(e,s){return Object.keys(e).map((t=>[].concat(e[t]).map((e=>({[s]:!0,plugin:e,id:t}))))).reduce(((e,s)=>e.concat(s)),[])}function Pe(e){const s=be.features[e];if(s){const e=be.feature(s).stats;return Object.keys(e).reduce(((s,t)=>s.concat(Object.keys(e[t]).filter((s=>0!==e[t][s].indexOf("y"))).map((e=>`${t} ${e}`)))),[])}return["> 0%"]}var Me=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","matches-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","lab-function","rebeccapurple-color","color-mod-function","blank-pseudo-class","break-properties","font-variant-property","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family"];async function Fe(e,s,t,o){const r=function(e){return`:root {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t${t}: ${e[t]};`),s)),[]).join("\n")}\n}\n`}(t),i=function(e){return`${Object.keys(e).reduce(((s,t)=>(s.push(`@custom-media ${t} ${e[t]};`),s)),[]).join("\n")}\n`}(s),n=function(e){return`${Object.keys(e).reduce(((s,t)=>(s.push(`@custom-selector ${t} ${e[t]};`),s)),[]).join("\n")}\n`}(o),c=`${i}\n${n}\n${r}`;await Ve(e,c)}function Te(e,s){return`\n\t${e}: {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t\t'${Ee(t)}': '${Ee(s[t])}'`),e)),[]).join(",\n")}\n\t}`}function Be(e,s){return`export const ${e} = {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t'${Ee(t)}': '${Ee(s[t])}'`),e)),[]).join(",\n")}\n};\n`}function Ue(e,s){return Promise.all([].concat(s).map((async s=>{if(s instanceof Function)await s({customMedia:Ae(e.customMedia),customProperties:Ae(e.customProperties),customSelectors:Ae(e.customSelectors)});else{const t=s===Object(s)?s:{to:String(s)},o=t.toJSON||Ae;if("customMedia"in t||"customProperties"in t||"customSelectors"in t)t.customMedia=o(e.customMedia),t.customProperties=o(e.customProperties),t.customSelectors=o(e.customSelectors);else if("custom-media"in t||"custom-properties"in t||"custom-selectors"in t)t["custom-media"]=o(e.customMedia),t["custom-properties"]=o(e.customProperties),t["custom-selectors"]=o(e.customSelectors);else{const s=String(t.to||""),r=(t.type||ye.default.extname(t.to).slice(1)).toLowerCase(),i=o(e.customMedia),n=o(e.customProperties),c=o(e.customSelectors);"css"===r&&await Fe(s,i,n,c),"js"===r&&await async function(e,s,t,o){const r=`module.exports = {${Te("customMedia",s)},${Te("customProperties",t)},${Te("customSelectors",o)}\n};\n`;await Ve(e,r)}(s,i,n,c),"json"===r&&await async function(e,s,t,o){const r=`${JSON.stringify({"custom-media":s,"custom-properties":t,"custom-selectors":o},null," ")}\n`;await Ve(e,r)}(s,i,n,c),"mjs"===r&&await async function(e,s,t,o){const r=`${Be("customMedia",s)}\n${Be("customProperties",t)}\n${Be("customSelectors",o)}`;await Ve(e,r)}(s,i,n,c)}}})))}function Ae(e){return Object.keys(e).reduce(((s,t)=>(s[t]=String(e[t]),s)),{})}function Ve(e,s){return new Promise(((t,o)=>{ge.default.writeFile(e,s,(e=>{e?o(e):t()}))}))}function Ee(e){return e.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function Ie(e,s){const t=N.default(e,{ignoreUnknownVersions:!0});return"nesting-rules"===s.id&&function(e,s){const t=Pe(e);if(s.some((e=>N.default(t,{ignoreUnknownVersions:!0}).some((s=>s===e)))))return!0;return!1}("css-matches-pseudo",t)?{noIsPseudoSelector:!0}:{}}function Ne(e,s){let t="unknown",o=1/0;for(let r=0;r<s.length;r++){const i=Ce(e,s[r]);i<o&&(o=i,t=s[r])}return{mostSimilar:t,distance:o}}function Ce(e,s){if(!e.length)return s.length;if(!s.length)return e.length;const t=[];for(let o=0;o<=s.length;o++){t[o]=[o];for(let r=1;r<=e.length;r++)t[o][r]=0===o?r:Math.min(t[o-1][r]+1,t[o][r-1]+1,t[o-1][r-1]+(e[r-1]===s[o-1]?0:1))}return t[s.length][e.length]}function De(e,s){if(!e)return!1;if("string"==typeof e)return!0;if(Array.isArray(e)){for(let t=0;t<e.length;t++){if("string"==typeof e[t])return!0;if(e[t]&&s in Object(e[t]))return!0}return!1}return s in Object(e)}const Je=e=>{const s=Object(Object(e).features),t=Object.keys(s),o=Object(Object(e).insertBefore),r=Object(Object(e).insertAfter),i=Object(e).browsers,n="stage"in Object(e)?!1===e.stage?5:parseInt(e.stage)||0:2,c=Object(e).autoprefixer,u=Re(Object(e)),a=!1===c?()=>{}:I.default(Object.assign({overrideBrowserslist:i},c)),p=C.default.concat(Se(o,"insertBefore"),Se(r,"insertAfter")).filter((e=>e.insertBefore||e.id in xe)).sort(((e,s)=>Me.indexOf(e.id)-Me.indexOf(s.id)||(e.insertBefore?-1:s.insertBefore?1:0)||(e.insertAfter?1:s.insertAfter?-1:0))).map((e=>{const s=Pe(e.caniuse);return e.insertBefore||e.insertAfter?{browsers:s,plugin:e.plugin,id:`${e.insertBefore?"before":"after"}-${e.id}`,stage:6}:{browsers:s,plugin:xe[e.id],id:e.id,stage:e.stage}})).filter((e=>e.id in s?s[e.id]:e.stage>=n)).map((e=>{let t,o;return t=Ie(i,e),t=!0===s[e.id]?u?Object.assign({},t,u):void 0:u?Object.assign({},t,u,s[e.id]):Object.assign({},t,s[e.id]),o=e.plugin.postcss?e.plugin(t):e.plugin,{browsers:e.browsers,plugin:o,pluginOptions:t,id:e.id}})),l=N.default(i,{ignoreUnknownVersions:!0}),f=p.filter((e=>e.id in s?s[e.id]:!!function(e){if("importFrom"in Object(e.pluginOptions))switch(e.id){case"custom-media-queries":if(De(e.pluginOptions.importFrom,"customMedia"))return!0;break;case"custom-properties":if(De(e.pluginOptions.importFrom,"customProperties"))return!0;break;case"environment-variables":if(De(e.pluginOptions.importFrom,"environmentVariables"))return!0;break;case"custom-selectors":if(De(e.pluginOptions.importFrom,"customSelectors"))return!0}if("exportTo"in Object(e.pluginOptions))switch(e.id){case"custom-media-queries":if(De(e.pluginOptions.exportTo,"customMedia"))return!0;break;case"custom-properties":if(De(e.pluginOptions.exportTo,"customProperties"))return!0;break;case"environment-variables":if(De(e.pluginOptions.exportTo,"environmentVariables"))return!0;break;case"custom-selectors":if(De(e.pluginOptions.exportTo,"customSelectors"))return!0}return!1}(e)||l.some((s=>N.default(e.browsers,{ignoreUnknownVersions:!0}).some((e=>e===s)))))).map((e=>e.plugin));f.push(a);const d=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(s,{result:o}){!function(e,s,t){const o=Object.keys(ke),r=Object.keys(qe);e.forEach((e=>{if(o.includes(e))return;const i=Ne(e,o),n=Ne(e,r);i.distance<n.distance?s.warn(t,`Unknown feature: "${e}" did you mean: "${i.mostSimilar}"`):s.warn(t,`Unknown feature: "${e}" did you mean: "${qe[n.mostSimilar]}"`)}))}(t,s,o),Object(e).exportTo&&Ue(u.exportTo,e.exportTo)}});return d.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...f,d()]}},Re=e=>{if("importFrom"in e||"exportTo"in e||"preserve"in e){const s={};return"importFrom"in e&&(s.importFrom=e.importFrom),"exportTo"in e&&(s.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in e&&(s.preserve=e.preserve),s}return!1};Je.postcss=!0,module.exports=Je;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import s from"autoprefixer";import e from"browserslist";import t from"cssdb";import o from"postcss-attribute-case-insensitive";import r from"css-blank-pseudo";import i from"postcss-color-functional-notation";import n from"postcss-color-hex-alpha";import c from"postcss-color-rebeccapurple";import p from"postcss-custom-media";import a from"postcss-custom-properties";import u from"postcss-custom-selectors";import l from"postcss-dir-pseudo-class";import m from"postcss-double-position-gradients";import f from"postcss-env-function";import d from"postcss-focus-visible";import b from"postcss-focus-within";import g from"postcss-font-variant";import y from"postcss-gap-properties";import O from"css-has-pseudo";import h from"postcss-image-set-function";import j from"postcss-initial";import v from"postcss-lab-function";import w from"postcss-logical";import k from"postcss-media-minmax";import $ from"postcss-nesting";import x from"postcss-overflow-shorthand";import S from"postcss-page-break";import P from"postcss-place";import M from"css-prefers-color-scheme";import q from"postcss-pseudo-class-any-link";import F from"postcss-replace-overflow-wrap";import T from"postcss-selector-not";import*as B from"caniuse-lite";import U from"fs";import V from"path";function A(){return{postcssPlugin:"postcss-system-ui-font",Declaration(s){E.test(s.prop)&&(s.value.includes(N.join(", "))||(s.value=s.value.replace(C,J)))}}}A.postcss=!0;const E=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,I="[\\f\\n\\r\\x09\\x20]",N=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],C=new RegExp(`(^|,|${I}+)(?:system-ui${I}*)(?:,${I}*(?:${N.join("|")})${I}*)?(,|$)`,"i"),J=`$1${N.join(", ")}$2`,R={"css-blank-pseudo":"blank-pseudo-class","css-has-pseudo":"has-pseudo-class","css-prefers-color-scheme":"prefers-color-scheme-query","postcss-attribute-case-insensitive":"case-insensitive-attributes","postcss-color-functional-notation":"color-functional-notation","postcss-color-hex-alpha":"hexadecimal-alpha-notation","postcss-color-rebeccapurple":"rebeccapurple-color","postcss-custom-media":"custom-media-queries","postcss-custom-properties":"custom-properties","postcss-custom-selectors":"custom-selectors","postcss-dir-pseudo-class":"dir-pseudo-class","postcss-double-position-gradients":"double-position-gradients","postcss-env-function":"environment-variables","postcss-focus-visible":"focus-visible-pseudo-class","postcss-focus-within":"focus-within-pseudo-class","postcss-font-variant":"font-variant-property","postcss-gap-properties":"gap-properties","postcss-image-set-function":"image-set-function","postcss-initial":"all-property","postcss-lab-function":"lab-function","postcss-logical":"logical-properties-and-values","postcss-media-minmax":"media-query-ranges","postcss-nesting":"nesting-rules","postcss-overflow-shorthand":"overflow-property","postcss-page-break":"break-properties","postcss-place":"place-properties","postcss-pseudo-class-any-link":"any-link-pseudo-class","postcss-replace-overflow-wrap":"overflow-wrap-property","postcss-selector-not":"not-pseudo-class","postcss-system-ui-font-family":"system-ui-font-family"},D=(()=>{const s={};for(const[e,t]of Object.entries(R))s[t]=e;return s})(),L={"all-property":j,"any-link-pseudo-class":q,"blank-pseudo-class":r,"break-properties":S,"case-insensitive-attributes":o,"color-functional-notation":i,"custom-media-queries":p,"custom-properties":a,"custom-selectors":u,"dir-pseudo-class":l,"double-position-gradients":m,"environment-variables":f,"focus-visible-pseudo-class":d,"focus-within-pseudo-class":b,"font-variant-property":g,"gap-properties":y,"has-pseudo-class":O,"hexadecimal-alpha-notation":n,"image-set-function":h,"lab-function":v,"logical-properties-and-values":w,"media-query-ranges":k,"nesting-rules":$,"not-pseudo-class":T,"overflow-property":x,"overflow-wrap-property":F,"place-properties":P,"prefers-color-scheme-query":M,"rebeccapurple-color":c,"system-ui-font-family":A};function z(s,e){return Object.keys(s).map((t=>[].concat(s[t]).map((s=>({[e]:!0,plugin:s,id:t}))))).reduce(((s,e)=>s.concat(e)),[])}function G(s){const e=B.features[s];if(e){const s=B.feature(e).stats;return Object.keys(s).reduce(((e,t)=>e.concat(Object.keys(s[t]).filter((e=>0!==s[t][e].indexOf("y"))).map((s=>`${t} ${s}`)))),[])}return["> 0%"]}var H=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","matches-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","lab-function","rebeccapurple-color","color-mod-function","blank-pseudo-class","break-properties","font-variant-property","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family"];async function K(s,e,t,o){const r=function(s){return`:root {\n${Object.keys(s).reduce(((e,t)=>(e.push(`\t${t}: ${s[t]};`),e)),[]).join("\n")}\n}\n`}(t),i=function(s){return`${Object.keys(s).reduce(((e,t)=>(e.push(`@custom-media ${t} ${s[t]};`),e)),[]).join("\n")}\n`}(e),n=function(s){return`${Object.keys(s).reduce(((e,t)=>(e.push(`@custom-selector ${t} ${s[t]};`),e)),[]).join("\n")}\n`}(o),c=`${i}\n${n}\n${r}`;await Z(s,c)}function Q(s,e){return`\n\t${s}: {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t\t'${_(t)}': '${_(e[t])}'`),s)),[]).join(",\n")}\n\t}`}function W(s,e){return`export const ${s} = {\n${Object.keys(e).reduce(((s,t)=>(s.push(`\t'${_(t)}': '${_(e[t])}'`),s)),[]).join(",\n")}\n};\n`}function X(s,e){return Promise.all([].concat(e).map((async e=>{if(e instanceof Function)await e({customMedia:Y(s.customMedia),customProperties:Y(s.customProperties),customSelectors:Y(s.customSelectors)});else{const t=e===Object(e)?e:{to:String(e)},o=t.toJSON||Y;if("customMedia"in t||"customProperties"in t||"customSelectors"in t)t.customMedia=o(s.customMedia),t.customProperties=o(s.customProperties),t.customSelectors=o(s.customSelectors);else if("custom-media"in t||"custom-properties"in t||"custom-selectors"in t)t["custom-media"]=o(s.customMedia),t["custom-properties"]=o(s.customProperties),t["custom-selectors"]=o(s.customSelectors);else{const e=String(t.to||""),r=(t.type||V.extname(t.to).slice(1)).toLowerCase(),i=o(s.customMedia),n=o(s.customProperties),c=o(s.customSelectors);"css"===r&&await K(e,i,n,c),"js"===r&&await async function(s,e,t,o){const r=`module.exports = {${Q("customMedia",e)},${Q("customProperties",t)},${Q("customSelectors",o)}\n};\n`;await Z(s,r)}(e,i,n,c),"json"===r&&await async function(s,e,t,o){const r=`${JSON.stringify({"custom-media":e,"custom-properties":t,"custom-selectors":o},null," ")}\n`;await Z(s,r)}(e,i,n,c),"mjs"===r&&await async function(s,e,t,o){const r=`${W("customMedia",e)}\n${W("customProperties",t)}\n${W("customSelectors",o)}`;await Z(s,r)}(e,i,n,c)}}})))}function Y(s){return Object.keys(s).reduce(((e,t)=>(e[t]=String(s[t]),e)),{})}function Z(s,e){return new Promise(((t,o)=>{U.writeFile(s,e,(s=>{s?o(s):t()}))}))}function _(s){return s.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function ss(s,t){const o=e(s,{ignoreUnknownVersions:!0});return"nesting-rules"===t.id&&function(s,t){const o=G(s);if(t.some((s=>e(o,{ignoreUnknownVersions:!0}).some((e=>e===s)))))return!0;return!1}("css-matches-pseudo",o)?{noIsPseudoSelector:!0}:{}}function es(s,e){let t="unknown",o=1/0;for(let r=0;r<e.length;r++){const i=ts(s,e[r]);i<o&&(o=i,t=e[r])}return{mostSimilar:t,distance:o}}function ts(s,e){if(!s.length)return e.length;if(!e.length)return s.length;const t=[];for(let o=0;o<=e.length;o++){t[o]=[o];for(let r=1;r<=s.length;r++)t[o][r]=0===o?r:Math.min(t[o-1][r]+1,t[o][r-1]+1,t[o-1][r-1]+(s[r-1]===e[o-1]?0:1))}return t[e.length][s.length]}const os=o=>{const r=Object(Object(o).features),i=Object.keys(r),n=Object(Object(o).insertBefore),c=Object(Object(o).insertAfter),p=Object(o).browsers,a="stage"in Object(o)?!1===o.stage?5:parseInt(o.stage)||0:2,u=Object(o).autoprefixer,l=rs(Object(o)),m=!1===u?()=>{}:s(Object.assign({overrideBrowserslist:p},u)),f=t.concat(z(n,"insertBefore"),z(c,"insertAfter")).filter((s=>s.insertBefore||s.id in L)).sort(((s,e)=>H.indexOf(s.id)-H.indexOf(e.id)||(s.insertBefore?-1:e.insertBefore?1:0)||(s.insertAfter?1:e.insertAfter?-1:0))).map((s=>{const e=G(s.caniuse);return s.insertBefore||s.insertAfter?{browsers:e,plugin:s.plugin,id:`${s.insertBefore?"before":"after"}-${s.id}`,stage:6}:{browsers:e,plugin:L[s.id],id:s.id,stage:s.stage}})).filter((s=>s.id in r?r[s.id]:s.stage>=a)).map((s=>{let e,t;return e=ss(p,s),e=!0===r[s.id]?l?Object.assign({},e,l):void 0:l?Object.assign({},e,l,r[s.id]):Object.assign({},e,r[s.id]),t=s.plugin.postcss?s.plugin(e):s.plugin,{browsers:s.browsers,plugin:t,pluginOptions:e,id:s.id}})),d=e(p,{ignoreUnknownVersions:!0}),b=f.filter((s=>s.id in r?r[s.id]:!!function(s){if("importFrom"in s.pluginOptions)switch(s.id){case"custom-media-queries":if(Object.keys(Object(s.pluginOptions.importFrom.customMedia)).length)return!0;break;case"custom-properties":if(Object.keys(Object(s.pluginOptions.importFrom.customProperties)).length)return!0;break;case"environment-variables":if(Object.keys(Object(s.pluginOptions.importFrom.environmentVariables)).length)return!0;break;case"custom-selectors":if(Object.keys(Object(s.pluginOptions.importFrom.customSelectors)).length)return!0}if("exportTo"in s.pluginOptions)switch(s.id){case"custom-media-queries":if(Object.keys(Object(s.pluginOptions.exportTo.customMedia)).length)return!0;break;case"custom-properties":if(Object.keys(Object(s.pluginOptions.exportTo.customProperties)).length)return!0;break;case"environment-variables":if(Object.keys(Object(s.pluginOptions.exportTo.environmentVariables)).length)return!0;break;case"custom-selectors":if(Object.keys(Object(s.pluginOptions.exportTo.customSelectors)).length)return!0}return!1}(s)||d.some((t=>e(s.browsers,{ignoreUnknownVersions:!0}).some((s=>s===t)))))).map((s=>s.plugin));b.push(m);const g=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(s,{result:e}){!function(s,e,t){const o=Object.keys(D),r=Object.keys(R);s.forEach((s=>{if(o.includes(s))return;const i=es(s,o),n=es(s,r);i.distance<n.distance?e.warn(t,`Unknown feature: "${s}" did you mean: "${i.mostSimilar}"`):e.warn(t,`Unknown feature: "${s}" did you mean: "${R[n.mostSimilar]}"`)}))}(i,s,e),Object(o).exportTo&&X(l.exportTo,o.exportTo)}});return g.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...b,g()]}},rs=s=>{if("importFrom"in s||"exportTo"in s||"preserve"in s){const e={};return"importFrom"in s&&(e.importFrom=s.importFrom),"exportTo"in s&&(e.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in s&&(e.preserve=s.preserve),e}return!1};os.postcss=!0;export{os as default};
1
+ import s from"autoprefixer";import e from"browserslist";import o from"cssdb";import t from"postcss-attribute-case-insensitive";import r from"css-blank-pseudo";import i from"postcss-color-functional-notation";import n from"postcss-color-hex-alpha";import c from"postcss-color-rebeccapurple";import p from"postcss-custom-media";import a from"postcss-custom-properties";import u from"postcss-custom-selectors";import l from"postcss-dir-pseudo-class";import m from"postcss-double-position-gradients";import f from"postcss-env-function";import d from"postcss-focus-visible";import b from"postcss-focus-within";import g from"postcss-font-variant";import y from"postcss-gap-properties";import v from"css-has-pseudo";import h from"postcss-image-set-function";import w from"postcss-initial";import O from"postcss-lab-function";import $ from"postcss-logical";import j from"postcss-media-minmax";import k from"postcss-nesting";import x from"postcss-overflow-shorthand";import S from"postcss-page-break";import P from"postcss-place";import M from"css-prefers-color-scheme";import q from"postcss-pseudo-class-any-link";import F from"postcss-replace-overflow-wrap";import T from"postcss-selector-not";import*as B from"caniuse-lite";import U from"fs";import A from"path";function V(){return{postcssPlugin:"postcss-system-ui-font",Declaration(s){E.test(s.prop)&&(s.value.includes(N.join(", "))||(s.value=s.value.replace(C,J)))}}}V.postcss=!0;const E=/(?:^(?:-|\\002d){2})|(?:^font(?:-family)?$)/i,I="[\\f\\n\\r\\x09\\x20]",N=["system-ui","-apple-system","Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans","sans-serif"],C=new RegExp(`(^|,|${I}+)(?:system-ui${I}*)(?:,${I}*(?:${N.join("|")})${I}*)?(,|$)`,"i"),J=`$1${N.join(", ")}$2`,R={"css-blank-pseudo":"blank-pseudo-class","css-has-pseudo":"has-pseudo-class","css-prefers-color-scheme":"prefers-color-scheme-query","postcss-attribute-case-insensitive":"case-insensitive-attributes","postcss-color-functional-notation":"color-functional-notation","postcss-color-hex-alpha":"hexadecimal-alpha-notation","postcss-color-rebeccapurple":"rebeccapurple-color","postcss-custom-media":"custom-media-queries","postcss-custom-properties":"custom-properties","postcss-custom-selectors":"custom-selectors","postcss-dir-pseudo-class":"dir-pseudo-class","postcss-double-position-gradients":"double-position-gradients","postcss-env-function":"environment-variables","postcss-focus-visible":"focus-visible-pseudo-class","postcss-focus-within":"focus-within-pseudo-class","postcss-font-variant":"font-variant-property","postcss-gap-properties":"gap-properties","postcss-image-set-function":"image-set-function","postcss-initial":"all-property","postcss-lab-function":"lab-function","postcss-logical":"logical-properties-and-values","postcss-media-minmax":"media-query-ranges","postcss-nesting":"nesting-rules","postcss-overflow-shorthand":"overflow-property","postcss-page-break":"break-properties","postcss-place":"place-properties","postcss-pseudo-class-any-link":"any-link-pseudo-class","postcss-replace-overflow-wrap":"overflow-wrap-property","postcss-selector-not":"not-pseudo-class","postcss-system-ui-font-family":"system-ui-font-family"},D=(()=>{const s={};for(const[e,o]of Object.entries(R))s[o]=e;return s})(),L={"all-property":w,"any-link-pseudo-class":q,"blank-pseudo-class":r,"break-properties":S,"case-insensitive-attributes":t,"color-functional-notation":i,"custom-media-queries":p,"custom-properties":a,"custom-selectors":u,"dir-pseudo-class":l,"double-position-gradients":m,"environment-variables":f,"focus-visible-pseudo-class":d,"focus-within-pseudo-class":b,"font-variant-property":g,"gap-properties":y,"has-pseudo-class":v,"hexadecimal-alpha-notation":n,"image-set-function":h,"lab-function":O,"logical-properties-and-values":$,"media-query-ranges":j,"nesting-rules":k,"not-pseudo-class":T,"overflow-property":x,"overflow-wrap-property":F,"place-properties":P,"prefers-color-scheme-query":M,"rebeccapurple-color":c,"system-ui-font-family":V};function z(s,e){return Object.keys(s).map((o=>[].concat(s[o]).map((s=>({[e]:!0,plugin:s,id:o}))))).reduce(((s,e)=>s.concat(e)),[])}function G(s){const e=B.features[s];if(e){const s=B.feature(e).stats;return Object.keys(s).reduce(((e,o)=>e.concat(Object.keys(s[o]).filter((e=>0!==s[o][e].indexOf("y"))).map((s=>`${o} ${s}`)))),[])}return["> 0%"]}var H=["custom-media-queries","custom-properties","environment-variables","image-set-function","media-query-ranges","prefers-color-scheme-query","nesting-rules","custom-selectors","any-link-pseudo-class","case-insensitive-attributes","focus-visible-pseudo-class","focus-within-pseudo-class","matches-pseudo-class","not-pseudo-class","logical-properties-and-values","dir-pseudo-class","all-property","color-functional-notation","double-position-gradients","hexadecimal-alpha-notation","lab-function","rebeccapurple-color","color-mod-function","blank-pseudo-class","break-properties","font-variant-property","has-pseudo-class","gap-properties","overflow-property","overflow-wrap-property","place-properties","system-ui-font-family"];async function K(s,e,o,t){const r=function(s){return`:root {\n${Object.keys(s).reduce(((e,o)=>(e.push(`\t${o}: ${s[o]};`),e)),[]).join("\n")}\n}\n`}(o),i=function(s){return`${Object.keys(s).reduce(((e,o)=>(e.push(`@custom-media ${o} ${s[o]};`),e)),[]).join("\n")}\n`}(e),n=function(s){return`${Object.keys(s).reduce(((e,o)=>(e.push(`@custom-selector ${o} ${s[o]};`),e)),[]).join("\n")}\n`}(t),c=`${i}\n${n}\n${r}`;await Z(s,c)}function Q(s,e){return`\n\t${s}: {\n${Object.keys(e).reduce(((s,o)=>(s.push(`\t\t'${_(o)}': '${_(e[o])}'`),s)),[]).join(",\n")}\n\t}`}function W(s,e){return`export const ${s} = {\n${Object.keys(e).reduce(((s,o)=>(s.push(`\t'${_(o)}': '${_(e[o])}'`),s)),[]).join(",\n")}\n};\n`}function X(s,e){return Promise.all([].concat(e).map((async e=>{if(e instanceof Function)await e({customMedia:Y(s.customMedia),customProperties:Y(s.customProperties),customSelectors:Y(s.customSelectors)});else{const o=e===Object(e)?e:{to:String(e)},t=o.toJSON||Y;if("customMedia"in o||"customProperties"in o||"customSelectors"in o)o.customMedia=t(s.customMedia),o.customProperties=t(s.customProperties),o.customSelectors=t(s.customSelectors);else if("custom-media"in o||"custom-properties"in o||"custom-selectors"in o)o["custom-media"]=t(s.customMedia),o["custom-properties"]=t(s.customProperties),o["custom-selectors"]=t(s.customSelectors);else{const e=String(o.to||""),r=(o.type||A.extname(o.to).slice(1)).toLowerCase(),i=t(s.customMedia),n=t(s.customProperties),c=t(s.customSelectors);"css"===r&&await K(e,i,n,c),"js"===r&&await async function(s,e,o,t){const r=`module.exports = {${Q("customMedia",e)},${Q("customProperties",o)},${Q("customSelectors",t)}\n};\n`;await Z(s,r)}(e,i,n,c),"json"===r&&await async function(s,e,o,t){const r=`${JSON.stringify({"custom-media":e,"custom-properties":o,"custom-selectors":t},null," ")}\n`;await Z(s,r)}(e,i,n,c),"mjs"===r&&await async function(s,e,o,t){const r=`${W("customMedia",e)}\n${W("customProperties",o)}\n${W("customSelectors",t)}`;await Z(s,r)}(e,i,n,c)}}})))}function Y(s){return Object.keys(s).reduce(((e,o)=>(e[o]=String(s[o]),e)),{})}function Z(s,e){return new Promise(((o,t)=>{U.writeFile(s,e,(s=>{s?t(s):o()}))}))}function _(s){return s.replace(/\\([\s\S])|(')/g,"\\$1$2").replace(/\n/g,"\\n").replace(/\r/g,"\\r")}function ss(s,o){const t=e(s,{ignoreUnknownVersions:!0});return"nesting-rules"===o.id&&function(s,o){const t=G(s);if(o.some((s=>e(t,{ignoreUnknownVersions:!0}).some((e=>e===s)))))return!0;return!1}("css-matches-pseudo",t)?{noIsPseudoSelector:!0}:{}}function es(s,e){let o="unknown",t=1/0;for(let r=0;r<e.length;r++){const i=os(s,e[r]);i<t&&(t=i,o=e[r])}return{mostSimilar:o,distance:t}}function os(s,e){if(!s.length)return e.length;if(!e.length)return s.length;const o=[];for(let t=0;t<=e.length;t++){o[t]=[t];for(let r=1;r<=s.length;r++)o[t][r]=0===t?r:Math.min(o[t-1][r]+1,o[t][r-1]+1,o[t-1][r-1]+(s[r-1]===e[t-1]?0:1))}return o[e.length][s.length]}function ts(s,e){if(!s)return!1;if("string"==typeof s)return!0;if(Array.isArray(s)){for(let o=0;o<s.length;o++){if("string"==typeof s[o])return!0;if(s[o]&&e in Object(s[o]))return!0}return!1}return e in Object(s)}const rs=t=>{const r=Object(Object(t).features),i=Object.keys(r),n=Object(Object(t).insertBefore),c=Object(Object(t).insertAfter),p=Object(t).browsers,a="stage"in Object(t)?!1===t.stage?5:parseInt(t.stage)||0:2,u=Object(t).autoprefixer,l=is(Object(t)),m=!1===u?()=>{}:s(Object.assign({overrideBrowserslist:p},u)),f=o.concat(z(n,"insertBefore"),z(c,"insertAfter")).filter((s=>s.insertBefore||s.id in L)).sort(((s,e)=>H.indexOf(s.id)-H.indexOf(e.id)||(s.insertBefore?-1:e.insertBefore?1:0)||(s.insertAfter?1:e.insertAfter?-1:0))).map((s=>{const e=G(s.caniuse);return s.insertBefore||s.insertAfter?{browsers:e,plugin:s.plugin,id:`${s.insertBefore?"before":"after"}-${s.id}`,stage:6}:{browsers:e,plugin:L[s.id],id:s.id,stage:s.stage}})).filter((s=>s.id in r?r[s.id]:s.stage>=a)).map((s=>{let e,o;return e=ss(p,s),e=!0===r[s.id]?l?Object.assign({},e,l):void 0:l?Object.assign({},e,l,r[s.id]):Object.assign({},e,r[s.id]),o=s.plugin.postcss?s.plugin(e):s.plugin,{browsers:s.browsers,plugin:o,pluginOptions:e,id:s.id}})),d=e(p,{ignoreUnknownVersions:!0}),b=f.filter((s=>s.id in r?r[s.id]:!!function(s){if("importFrom"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(ts(s.pluginOptions.importFrom,"customMedia"))return!0;break;case"custom-properties":if(ts(s.pluginOptions.importFrom,"customProperties"))return!0;break;case"environment-variables":if(ts(s.pluginOptions.importFrom,"environmentVariables"))return!0;break;case"custom-selectors":if(ts(s.pluginOptions.importFrom,"customSelectors"))return!0}if("exportTo"in Object(s.pluginOptions))switch(s.id){case"custom-media-queries":if(ts(s.pluginOptions.exportTo,"customMedia"))return!0;break;case"custom-properties":if(ts(s.pluginOptions.exportTo,"customProperties"))return!0;break;case"environment-variables":if(ts(s.pluginOptions.exportTo,"environmentVariables"))return!0;break;case"custom-selectors":if(ts(s.pluginOptions.exportTo,"customSelectors"))return!0}return!1}(s)||d.some((o=>e(s.browsers,{ignoreUnknownVersions:!0}).some((s=>s===o)))))).map((s=>s.plugin));b.push(m);const g=()=>({postcssPlugin:"postcss-preset-env",OnceExit:function(s,{result:e}){!function(s,e,o){const t=Object.keys(D),r=Object.keys(R);s.forEach((s=>{if(t.includes(s))return;const i=es(s,t),n=es(s,r);i.distance<n.distance?e.warn(o,`Unknown feature: "${s}" did you mean: "${i.mostSimilar}"`):e.warn(o,`Unknown feature: "${s}" did you mean: "${R[n.mostSimilar]}"`)}))}(i,s,e),Object(t).exportTo&&X(l.exportTo,t.exportTo)}});return g.postcss=!0,{postcssPlugin:"postcss-preset-env",plugins:[...b,g()]}},is=s=>{if("importFrom"in s||"exportTo"in s||"preserve"in s){const e={};return"importFrom"in s&&(e.importFrom=s.importFrom),"exportTo"in s&&(e.exportTo={customMedia:{},customProperties:{},customSelectors:{}}),"preserve"in s&&(e.preserve=s.preserve),e}return!1};rs.postcss=!0;export{rs as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "postcss-preset-env",
3
- "version": "7.2.2",
3
+ "version": "7.2.3",
4
4
  "description": "Convert modern CSS into something browsers understand",
5
5
  "author": "Jonathan Neal <jonathantneal@hotmail.com>",
6
6
  "license": "CC0-1.0",