@exabytellc/utils
Version:
EB react utils to make everything a little easier!
36 lines (30 loc) • 1.1 kB
JavaScript
const { execSync } = require('child_process');
const { readdirSync } = require('fs');
const { resolve } = require('path');
const { select } = require('@inquirer/prompts');
const getEnvs = () => {
const files = readdirSync(resolve(process.cwd()));
return files
.filter(file => file.startsWith('.env.') && file.split('.').length === 3)
.map(file => file.split('.')[2]);
};
const envs = getEnvs();
const choices = [{ value: 'all', name: 'All' }, ...envs.map(env => ({ name: env, value: env }))];
const BuildFromEnv = async () => {
try {
const env = await select({
message: 'Which environment do you want to build?',
choices
});
if (env === 'all') {
envs.forEach(mode => {
execSync(`vite build --mode ${mode}`, { stdio: 'inherit' });
});
} else {
execSync(`vite build --mode ${env}`, { stdio: 'inherit' });
}
} catch (error) {
console.error('Build failed:', error);
}
};
module.exports = BuildFromEnv;