@nomadmystic/wordpress-scaffold-cli
Version:
This project is created to speed up WordPress development
88 lines (87 loc) • 3.33 kB
JavaScript
import MessagingUtils from '../../utils/messaging-utils.js';
export default class CreateObjectArrays {
static readComposerObjects = async (values, composerAlreadyExists = false) => {
try {
if (composerAlreadyExists) {
await MessagingUtils.displayColoredMessage('Looks like you already have a composer.json file, so this will not be scaffolded', 'red');
await MessagingUtils.displayColoredMessage('See documentation on how to autoload classes with psr-4', 'yellow');
console.log("\n");
return [];
}
const updateObjectsArray = await this.createComposerObjects(values);
return updateObjectsArray;
}
catch (err) {
console.log('CreateObjectArrays.readComposerObjects()');
console.error(err);
}
};
static createComposerObjects = async (values) => {
try {
const updateObjectsArray = [
{
fileName: 'composer.json',
stringToUpdate: 'SCAFFOLD_NAME',
updateString: values.safeName,
},
{
fileName: 'composer.json',
stringToUpdate: 'SCAFFOLD_DESCRIPTION',
updateString: values.description,
},
{
fileName: 'composer.json',
stringToUpdate: 'PASCAL_NAME',
updateString: values.namespace,
},
{
fileName: 'composer.json',
stringToUpdate: 'PATH_TO_COMPOSER',
updateString: '',
},
];
return updateObjectsArray;
}
catch (err) {
console.log('createComposerObjects()');
console.error(err);
}
};
static readPackageObjects = async (values, packageAlreadyExists = false) => {
try {
if (packageAlreadyExists) {
await MessagingUtils.displayColoredMessage('Looks like you already have a package.json file, so this will not be scaffolded', 'red');
await MessagingUtils.displayColoredMessage('See documentation on Node.js', 'yellow');
console.log("\n");
return [];
}
const updateObjectsArray = await this.createPackageObjects(values);
return updateObjectsArray;
}
catch (err) {
console.log('CreateObjectArrays.readPackageObjects()');
console.error(err);
}
};
static createPackageObjects = async (values) => {
try {
const updateObjectsArray = [
{
fileName: 'package.json',
stringToUpdate: 'SCAFFOLD_NAME',
updateString: values.safeName,
},
{
fileName: 'package.json',
stringToUpdate: 'SCAFFOLD_DESCRIPTION',
updateString: values.description,
},
];
return updateObjectsArray;
}
catch (err) {
console.log('readPackageObjects()');
console.error(err);
}
};
}