core: fix command parser

pull/366/head
undefined 2 years ago
parent 7785c7ee19
commit e31396468f

@ -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.');

@ -1,6 +1,6 @@
{ {
"name": "hydrooj", "name": "hydrooj",
"version": "3.13.10", "version": "3.13.11",
"bin": "bin/hydrooj.js", "bin": "bin/hydrooj.js",
"main": "src/loader", "main": "src/loader",
"module": "src/loader", "module": "src/loader",

Loading…
Cancel
Save