feat: multi-module iteration
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
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 <command> [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);
|
||||
Reference in New Issue
Block a user