16 lines
584 B
TypeScript
16 lines
584 B
TypeScript
/** 读取 monorepo 根 `.env` 写入 `process.env`(tsx/node 不会自动加载)。 */
|
||
import { readFileSync } from "node:fs";
|
||
import { resolve, dirname } from "node:path";
|
||
import { fileURLToPath } from "node:url";
|
||
|
||
try {
|
||
const rootEnv = resolve(dirname(fileURLToPath(import.meta.url)), "../../../.env");
|
||
const env = readFileSync(rootEnv, "utf-8");
|
||
for (const line of env.split("\n")) {
|
||
const [key, ...vals] = line.split("=");
|
||
if (key && !key.startsWith("#")) {
|
||
process.env[key.trim()] ??= vals.join("=").trim();
|
||
}
|
||
}
|
||
} catch {}
|