@puls-atlas/cli
Version:
The Puls Atlas CLI tool for managing Atlas projects
37 lines • 1.27 kB
JavaScript
import composer from '../auth/composer.js';
import replaceVars from './replaceVars.js';
import createSecrets from './createSecrets.js';
import createTaskQueue from './createTaskQueue.js';
import addDefaultRoles from './addDefaultRoles.js';
import createLocalEnvFile from './createLocalEnvFile.js';
import createRealtimeDatabase from './createRealtimeDatabase.js';
import createFirestoreDatabase from './createFirestoreDatabase.js';
import { logger } from './../../utils/index.js';
export default async (options = {}) => {
const steps = [];
if (Object.keys(options).length === 0) {
steps.push(replaceVars, composer, addDefaultRoles, createSecrets, createTaskQueue, createLocalEnvFile, createFirestoreDatabase);
} else {
if (options['secrets']) {
steps.push(createSecrets);
}
if (options['localEnv']) {
steps.push(createLocalEnvFile);
}
if (options['database']) {
steps.push(createFirestoreDatabase, createRealtimeDatabase);
}
if (options['taskQueue']) {
steps.push(createTaskQueue);
}
}
for await (const step of steps) {
try {
await step();
} catch (error) {
return Promise.reject(error);
}
}
logger.success('Atlas initialized successfully.');
return Promise.resolve();
};