37f4b3e11f
Co-Authored-By: Claude Code <noreply@anthropic.com>
17 lines
705 B
TypeScript
17 lines
705 B
TypeScript
// packages/storage/test/load-env.ts —— 与 services/api/test/load-env.ts 同约定:
|
||
// Jest 侧唯一 env 来源是仓库根 .env。本包嵌套层级与 api 不同(packages/storage/test
|
||
// vs services/api/test),故向上查找 pnpm-workspace.yaml 定位仓库根,不硬编码层数。
|
||
import { existsSync } from 'node:fs';
|
||
import { dirname, join } from 'node:path';
|
||
import { config } from 'dotenv';
|
||
|
||
let dir = __dirname;
|
||
while (!existsSync(join(dir, 'pnpm-workspace.yaml'))) {
|
||
const parent = dirname(dir);
|
||
if (parent === dir) {
|
||
throw new Error('load-env: 未找到 pnpm-workspace.yaml,无法定位仓库根(.env)');
|
||
}
|
||
dir = parent;
|
||
}
|
||
config({ path: join(dir, '.env') });
|