@calljmp/cli
Version:
3 lines (2 loc) • 1.79 kB
JavaScript
;var f=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var g=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty;var d=(n,e)=>{for(var r in e)a(n,r,{get:e[r],enumerable:!0})},l=(n,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of m(e))!h.call(n,t)&&t!==r&&a(n,t,{get:()=>e[t],enumerable:!(i=p(e,t))||i.enumerable});return n};var v=(n,e,r)=>(r=n!=null?f(g(n)):{},l(e||!n||!n.__esModule?a(r,"default",{value:n,enumerable:!0}):r,n)),j=n=>l(a({},"__esModule",{value:!0}),n);var x={};d(x,{readEnv:()=>u,readVariables:()=>w,resolveEnvFiles:()=>W});module.exports=j(x);var c=v(require("fs/promises")),s=v(require("path"));function E(n){const e=n.trim(),r=e.indexOf("=");if(r===-1)return{key:e,value:""};const i=e.substring(0,r).trim();let t=e.substring(r+1).trim();return(t.startsWith('"')&&t.endsWith('"')||t.startsWith("'")&&t.endsWith("'"))&&(t=t.slice(1,-1)),{key:i,value:t}}async function u(n){const e=i=>c.default.readFile(i,"utf-8").catch(()=>"").then(t=>t.split(`
`).filter(o=>o.trim()&&!o.trim().startsWith("#"))).then(t=>t.map(o=>E(o)));return(await Promise.all([n].flat().map(e))).flat()}function W(n,e){return[s.default.join(n,".env"),s.default.join(n,`.env.${e}`),s.default.join(n,".service.env"),s.default.join(n,`.service.env.${e}`)]}async function w(n,e){const r={},i=(t,o)=>{if(t in r)throw new Error(`Duplicate key found in .env: ${t}`);r[t]=o};for(const t of await u([s.default.join(n,".env"),s.default.join(n,`.env.${e}`)]))t.key.startsWith("CALLJMP_")&&i(t.key.replace("CALLJMP_",""),t.value);for(const t of await u([s.default.join(n,".service.env"),s.default.join(n,`.service.env.${e}`)]))i(t.key,t.value);return r}0&&(module.exports={readEnv,readVariables,resolveEnvFiles});