X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Flib%2Fplugins%2Fyarn.ts;h=e40351b6e3751cb20c40d086cd798ee1c098111a;hb=ebefc902f59be6c5542c19ff706e310d9dddf75f;hp=35fe1625f4808001f628456759f05d6c8225d751;hpb=f023a19c3eeeea2b014b47fae522a62eab320048;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/lib/plugins/yarn.ts b/server/lib/plugins/yarn.ts index 35fe1625f..e40351b6e 100644 --- a/server/lib/plugins/yarn.ts +++ b/server/lib/plugins/yarn.ts @@ -5,13 +5,17 @@ import { CONFIG } from '../../initializers/config' import { outputJSON, pathExists } from 'fs-extra' import { join } from 'path' -async function installNpmPlugin (name: string, version: string) { +async function installNpmPlugin (npmName: string, version?: string) { // Security check - checkNpmPluginNameOrThrow(name) - checkPluginVersionOrThrow(version) + checkNpmPluginNameOrThrow(npmName) + if (version) checkPluginVersionOrThrow(version) + + let toInstall = npmName + if (version) toInstall += `@${version}` + + const { stdout } = await execYarn('add ' + toInstall) - const toInstall = `${name}@${version}` - await execYarn('add ' + toInstall) + logger.debug('Added a yarn package.', { yarnStdout: stdout }) } async function installNpmPluginFromDisk (path: string) { @@ -44,7 +48,7 @@ async function execYarn (command: string) { await outputJSON(pluginPackageJSON, {}) } - await execShell(`yarn ${command}`, { cwd: pluginDirectory }) + return execShell(`yarn ${command}`, { cwd: pluginDirectory }) } catch (result) { logger.error('Cannot exec yarn.', { command, err: result.err, stderr: result.stderr })