core: install: save metadata

This commit is contained in:
undefined committed 2022-11-06 09:22:22 +08:00
1 parent 3c97ff74a9
commit 90528f15d1
1 file changed
+14 -2
+14 -2
View File
@@ -127,11 +127,16 @@ if (!argv.args[0] || argv.args[0] === 'cli') {
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('install [package]').action(async (src) => { cli.command('install [package]').action(async (_src) => {
if (!_src) {
cli.outputHelp();
return;
}
if (yarnVersion !== 1) throw new Error('Yarn 1 is required.'); if (yarnVersion !== 1) throw new Error('Yarn 1 is required.');
const addonDir = path.join(hydroPath, 'addons'); const addonDir = path.join(hydroPath, 'addons');
let newAddonPath: string = ''; let newAddonPath: string = '';
fs.ensureDirSync(addonDir); fs.ensureDirSync(addonDir);
let src = _src;
if (!src.startsWith('http')) { if (!src.startsWith('http')) {
try { try {
src = child.execSync(`yarn info ${src} dist.tarball`, { cwd: os.tmpdir() }) src = child.execSync(`yarn info ${src} dist.tarball`, { cwd: os.tmpdir() })
@@ -164,8 +169,15 @@ if (!argv.args[0] || argv.args[0] === 'cli') {
console.log('Installing depedencies'); console.log('Installing depedencies');
child.execSync('yarn --production', { stdio: 'inherit', cwd: newAddonPath }); child.execSync('yarn --production', { stdio: 'inherit', cwd: newAddonPath });
child.execSync(`hydrooj addon add '${newAddonPath}'`); child.execSync(`hydrooj addon add '${newAddonPath}'`);
fs.writeFileSync(path.join(newAddonPath, '__metadata__'), JSON.stringify({
src: _src,
lastUpdate: Date.now(),
}));
}); });
cli.help(); cli.help();
cli.parse(); cli.parse();
if (!cli.matchedCommand) console.log('Unknown command.'); if (!cli.matchedCommand) {
console.log('Unknown command.');
cli.outputHelp();
}
} }