const { config } = require('dotenv'); const { spawnSync } = require('child_process'); const { existsSync } = require('fs'); const { resolve } = require('path'); const apiRoot = resolve(__dirname, '..'); const envFile = process.env.DUKANG_ENV_FILE ?? (process.env.APP_ENV === 'staging' ? '.env.staging' : '.env.production'); const envPath = resolve(apiRoot, envFile); if (!existsSync(envPath)) { console.error(`[with-api-env] 未找到 ${envPath}`); process.exit(1); } config({ path: envPath, override: true }); const args = process.argv.slice(2); if (args.length === 0) { console.error('用法: node scripts/with-api-env.cjs [args...]'); process.exit(1); } const result = spawnSync(args[0], args.slice(1), { cwd: apiRoot, stdio: 'inherit', env: process.env, shell: true, }); process.exit(result.status ?? 1);