@optro/create-trello-powerup
Version:
Easily create Trello Power-Ups from the Command Line
64 lines (63 loc) • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addDependency = exports.deleteDependency = exports.writeJsonFile = exports.readJsonFile = exports.doesFolderExist = exports.writeToFile = exports.copyFile = exports.copyFolder = exports.deleteFolder = exports.deleteFile = exports.downloadRepo = void 0;
const tslib_1 = require("tslib");
const shell = tslib_1.__importStar(require("shelljs"));
const fs = tslib_1.__importStar(require("fs"));
async function downloadRepo(url, destination) {
shell.exec(`git clone ${url} "${destination}"`);
}
exports.downloadRepo = downloadRepo;
function deleteFile(path) {
shell.rm('-f', path);
}
exports.deleteFile = deleteFile;
function deleteFolder(path) {
shell.rm('-rf', path);
}
exports.deleteFolder = deleteFolder;
function copyFolder(source, destination) {
shell.cp('-R', source, destination);
}
exports.copyFolder = copyFolder;
function copyFile(source, destination) {
shell.cp(source, destination);
}
exports.copyFile = copyFile;
function writeToFile(path, contents) {
fs.writeFileSync(path, contents);
}
exports.writeToFile = writeToFile;
function doesFolderExist(folderName) {
return fs.existsSync(folderName);
}
exports.doesFolderExist = doesFolderExist;
function readJsonFile(filePath) {
const rawFile = fs.readFileSync(filePath, 'utf8');
return JSON.parse(rawFile);
}
exports.readJsonFile = readJsonFile;
function writeJsonFile(filePath, jsonContents) {
const prettyString = JSON.stringify(jsonContents, undefined, 4);
fs.writeFileSync(filePath, prettyString);
}
exports.writeJsonFile = writeJsonFile;
function deleteDependency(filePath, packageName) {
const packageJson = readJsonFile(filePath);
if (packageJson.dependencies[packageName]) {
delete packageJson.dependencies[packageName];
}
else if (packageJson.devDependencies[packageName]) {
delete packageJson.devDependencies[packageName];
}
writeJsonFile(filePath, packageJson);
}
exports.deleteDependency = deleteDependency;
function addDependency(filePath, packageName, packageVersion) {
const packageJson = readJsonFile(filePath);
if (!packageJson.dependencies[packageName]) {
packageJson.dependencies[packageName] = packageVersion;
}
writeJsonFile(filePath, packageJson);
}
exports.addDependency = addDependency;