From 6fdfa2a9d09c7799b8a2cd1b88f22568ae93b2b3 Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 21 Mar 2023 22:14:48 +0800 Subject: [PATCH] core: support install a npm package as plugin --- packages/hydrooj/bin/commands.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/hydrooj/bin/commands.ts b/packages/hydrooj/bin/commands.ts index 35fa4abf..63e54cdd 100644 --- a/packages/hydrooj/bin/commands.ts +++ b/packages/hydrooj/bin/commands.ts @@ -164,7 +164,10 @@ if (!argv.args[0] || argv.args[0] === 'cli') { throw new Error('Cannot fetch package info.'); } } - // TODO: install from npm and check for update + if (src.startsWith('@hydrooj/')) { + src = child.execSync(`npm info ${src} dist.tarball`, { cwd: os.tmpdir() }).toString().trim(); + if (!src.startsWith('http')) throw new Error('Cannot fetch package info.'); + } if (src.startsWith('http')) { const url = new URL(src); const filename = url.pathname.split('/').pop()!;