|
|
@ -87,42 +87,35 @@ if (!argv.args[0] || argv.args[0] === 'cli') {
|
|
|
|
fs.removeSync(dir);
|
|
|
|
fs.removeSync(dir);
|
|
|
|
console.log('Successfully restored.');
|
|
|
|
console.log('Successfully restored.');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
cli.command('addon add <name>').action((name) => {
|
|
|
|
cli.command('addon [operation] [name]').action((operation, name) => {
|
|
|
|
for (let i = 0; i < addons.length; i++) {
|
|
|
|
if (operation && !['add', 'remove', 'create'].includes(operation)) {
|
|
|
|
if (addons[i] === name) {
|
|
|
|
console.log('Unknown operation.');
|
|
|
|
addons.splice(i, 1);
|
|
|
|
return;
|
|
|
|
break;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (operation === 'create') {
|
|
|
|
|
|
|
|
name ||= '/root/addon';
|
|
|
|
|
|
|
|
fs.mkdirSync(name);
|
|
|
|
|
|
|
|
child.execSync('yarn init -y', { cwd: name });
|
|
|
|
|
|
|
|
fs.mkdirSync(`${name}/templates`);
|
|
|
|
|
|
|
|
fs.mkdirSync(`${name}/locales`);
|
|
|
|
|
|
|
|
fs.mkdirSync(`${name}/public`);
|
|
|
|
addons.push(name);
|
|
|
|
addons.push(name);
|
|
|
|
addons = Array.from(new Set(addons));
|
|
|
|
console.log(`Addon created at ${name}`);
|
|
|
|
console.log('Current Addons: ', addons);
|
|
|
|
return;
|
|
|
|
fs.writeFileSync(addonPath, JSON.stringify(addons, null, 2));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
if (operation && name) {
|
|
|
|
cli.command('addon remove <name>').action((name) => {
|
|
|
|
|
|
|
|
for (let i = 0; i < addons.length; i++) {
|
|
|
|
for (let i = 0; i < addons.length; i++) {
|
|
|
|
if (addons[i] === name) {
|
|
|
|
if (addons[i] === name) {
|
|
|
|
addons.splice(i, 1);
|
|
|
|
addons.splice(i, 1);
|
|
|
|
break;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (operation === 'add' && name) addons.push(name);
|
|
|
|
addons = Array.from(new Set(addons));
|
|
|
|
addons = Array.from(new Set(addons));
|
|
|
|
console.log('Current Addons: ', addons);
|
|
|
|
console.log('Current Addons: ', addons);
|
|
|
|
fs.writeFileSync(addonPath, JSON.stringify(addons, null, 2));
|
|
|
|
fs.writeFileSync(addonPath, JSON.stringify(addons, null, 2));
|
|
|
|
});
|
|
|
|
});
|
|
|
|
cli.command('addon create [name]').action((name) => {
|
|
|
|
|
|
|
|
name ||= '/root/addon';
|
|
|
|
|
|
|
|
fs.mkdirSync(name);
|
|
|
|
|
|
|
|
child.execSync('yarn init -y', { cwd: name });
|
|
|
|
|
|
|
|
fs.mkdirSync(`${name}/templates`);
|
|
|
|
|
|
|
|
fs.mkdirSync(`${name}/locales`);
|
|
|
|
|
|
|
|
fs.mkdirSync(`${name}/public`);
|
|
|
|
|
|
|
|
addons.push(name);
|
|
|
|
|
|
|
|
console.log(`Addon created at ${name}`);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
cli.command('addon').action(() => {
|
|
|
|
|
|
|
|
console.log('Current Addons: ', addons);
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
cli.help();
|
|
|
|
cli.help();
|
|
|
|
cli.parse();
|
|
|
|
cli.parse();
|
|
|
|
if (!cli.matchedCommand) console.log('Unknown command.');
|
|
|
|
if (!cli.matchedCommand) console.log('Unknown command.');
|
|
|
|