UNPKG

@hairy/lnv

Version:
74 lines (71 loc) 2.28 kB
import {createRequire as __createRequire} from 'module';var require=__createRequire(import.meta.url); import { authEnvironment, executionScript, loadEnvironment, mergeParseEnvironment, parseUserConfig, readEnvironment } from "./chunk-GE2TWEZE.js"; import { context } from "./chunk-4TCHCY3V.js"; import { run } from "./chunk-NC5LCYHV.js"; import { write } from "./chunk-PKGDPMDM.js"; // src/lnv.ts import process from "node:process"; async function lnv(options) { Object.assign(context, options); await parseUserConfig(); context.entries.push("env"); context.entries.unshift("local"); await readEnvironment(); await authEnvironment(); await loadEnvironment(); await executionScript(); Object.assign(context.parsed, context.before); Object.assign(context.parsed, context.env); Object.assign(context.parsed, context.after); mergeParseEnvironment(); const message = assembleMessage(); if (context.run) { message && console.log(message); console.log(); await run(context.run, context.parsed); } if (context.write) { write(`${process.cwd()}/.env`, context.parsed); console.log(); message && console.log(message); } } function assembleMessage() { const foundParsed = !Object.keys(context.parsed).length; const foundManual = !Object.keys(context.env || {}).length; const foundFiles = !context.parsedFiles.length; if (foundParsed && foundFiles && foundManual) console.log("No environment variables found"); let message = ""; if (foundFiles && !foundManual) { message = context.run ? `Successfully loaded ${context.parsedFiles.join(",")} to runtime environment` : `Successfully loaded ${context.parsedFiles.join(",")} to .env`; } else if (!foundFiles) { message = context.run ? `Successfully loaded ${context.parsedFiles.join(",")} to runtime environment` : `Successfully wrote ${context.parsedFiles.join(",")} to .env`; } if (!foundFiles && !foundManual) message += " and with variables:"; else if (!foundManual) message = "Successfully manual loaded environment variables"; if (context.env) { for (const [key, value] of Object.entries(context.env)) typeof value !== "undefined" && (message += ` ${key}=${value}`); } return message; } export { lnv };