index.cjs 2.1 KB

1
  1. "use strict";var e=require("postcss-value-parser"),t=require("fs"),n=require("path");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var a=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,a.get?a:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i=a(e),s=a(t),o=a(n),u=(e,t)=>{const n=i.default(e);return n.walk((e=>{if((e=>e&&"function"===e.type&&"env"===e.value)(e)){const[n]=e.nodes;"word"===n.type&&void 0!==t[n.value]&&(e.nodes=[],e.type="word",e.value=t[n.value])}})),n.toString()};function c(e){return Object.assign({},Object(e).environmentVariables||Object(e)["environment-variables"])}function l(e){return e.map((e=>{if(e instanceof Promise)return e;if(e instanceof Function)return e();const t=e===Object(e)?e:{from:String(e)};if(t.environmentVariables||t["environment-variables"])return t;const n=String(t.from||"");return{type:(t.type||o.default.extname(n).slice(1)).toLowerCase(),from:n}})).reduce((async(e,t)=>{const{type:n,from:a}=await t;return"js"===n||"cjs"===n?Object.assign(e,await async function(e){var t;return c(await(t=o.default.resolve(e),Promise.resolve().then((function(){return r(require(t))}))))}(a)):"json"===n?Object.assign(e,await async function(e){return c(await f(o.default.resolve(e)))}(a)):Object.assign(e,c(await t))}),{})}const f=async e=>JSON.parse(await(e=>new Promise(((t,n)=>{s.default.readFile(e,"utf8",((e,a)=>{e?n(e):t(a)}))})))(e));function v(e){const t=l([].concat(Object(e).importFrom||[]));return{postcssPlugin:"postcss-env-fn",async AtRule(e,{result:n}){let a;try{a=u(e.params,await t)}catch(t){e.warn(n,`Failed to parse params '${e.params}' as an environment value. Leaving the original value intact.`)}void 0!==a&&a!==e.params&&(e.params=a)},async Declaration(e,{result:n}){let a;try{a=u(e.value,await t)}catch(t){e.warn(n,`Failed to parse value '${e.value}' as an environment value. Leaving the original value intact.`)}void 0!==a&&a!==e.value&&(e.value=a)}}}v.postcss=!0,module.exports=v;