bitbucket-env-manager
Version:
Deploys Bitbucket Environment
87 lines (75 loc) • 2.06 kB
JavaScript
const inquirer = require('inquirer');
const shell = require('shelljs');
const fs = require('fs-extra');
const path = require('path');
const { paths, names } = require('./config');
const { saveOauthEnvFile } = require('./helpers');
const runInit = async () => {
console.log('Running Init');
try {
const answers = await inquirer.prompt([
/* Pass your questions in here */
{
type: 'input',
name: 'OAUTH_CLIENT',
message: 'Set OAUTH_CLIENT key for bitbucket Oauth Consumer',
},
{
type: 'input',
name: 'OAUTH_SECRET',
message: 'Set OAUTH_SECRET key for bitbucket Oauth Consumer',
},
{
type: 'input',
name: 'WORKSPACE',
message: 'Set WORKSPACE key for bitbucket Oauth Consumer',
},
]);
saveOauthEnvFile({
OAUTH_CLIENT: answers.OAUTH_CLIENT,
OAUTH_SECRET: answers.OAUTH_SECRET,
WORKSPACE: answers.WORKSPACE,
});
} catch (e) {
console.error(e);
} finally {
}
};
const runGenerate = async () => {
console.log('Running Generate');
try {
const answers = await inquirer.prompt([
/* Pass your questions in here */
{
type: 'input',
name: 'folderName',
message: 'Choose a Folder Name For Manager',
default: names.generatedProjectFolder,
},
]);
const folderName = answers.folderName;
if (!folderName) {
throw new Error('No Folder Name');
}
if (fs.existsSync()) {
throw new Error('Folder Name Already Exists!');
}
// Main Folder
const mainFolderPath = path.join(process.cwd(), folderName);
fs.mkdirSync(mainFolderPath);
shell.exec(`cd ${mainFolderPath}`);
const templatePath = paths.templateFolder;
fs.copySync(templatePath, mainFolderPath);
console.warn(
'\nConfigure project_envs/*/info.json file with bitbucket workspace and repo_slug name'
);
} catch (e) {
console.error(e);
} finally {
}
};
module.exports = {
runInit,
runGenerate,
};