]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - scripts/plugin/install.ts
feat(server): add redis sentinel support (#5593)
[github/Chocobozzz/PeerTube.git] / scripts / plugin / install.ts
index 8e9c9897f437a26260996a169d301145eb52d4ad..138f34446ef81ea8f687b49ba205a1e07672c06a 100755 (executable)
@@ -1,25 +1,22 @@
+import { program } from 'commander'
+import { isAbsolute } from 'path'
 import { initDatabaseModels } from '../../server/initializers/database'
-import * as program from 'commander'
 import { PluginManager } from '../../server/lib/plugins/plugin-manager'
-import { isAbsolute } from 'path'
 
 program
-  .option('-n, --pluginName [pluginName]', 'Plugin name to install')
-  .option('-v, --pluginVersion [pluginVersion]', 'Plugin version to install')
-  .option('-p, --pluginPath [pluginPath]', 'Path of the plugin you want to install')
+  .option('-n, --npm-name [npmName]', 'Plugin to install')
+  .option('-v, --plugin-version [pluginVersion]', 'Plugin version to install')
+  .option('-p, --plugin-path [pluginPath]', 'Path of the plugin you want to install')
   .parse(process.argv)
 
-if (!program['pluginName'] && !program['pluginPath']) {
-  console.error('You need to specify a plugin name with the desired version, or a plugin path.')
-  process.exit(-1)
-}
+const options = program.opts()
 
-if (program['pluginName'] && !program['pluginVersion']) {
-  console.error('You need to specify a the version of the plugin you want to install.')
+if (!options.npmName && !options.pluginPath) {
+  console.error('You need to specify a plugin name with the desired version, or a plugin path.')
   process.exit(-1)
 }
 
-if (program['pluginPath'] && !isAbsolute(program['pluginPath'])) {
+if (options.pluginPath && !isAbsolute(options.pluginPath)) {
   console.error('Plugin path should be absolute.')
   process.exit(-1)
 }
@@ -34,6 +31,11 @@ run()
 async function run () {
   await initDatabaseModels(true)
 
-  const toInstall = program['pluginName'] || program['pluginPath']
-  await PluginManager.Instance.install(toInstall, program['pluginVersion'], !!program['pluginPath'])
+  const toInstall = options.npmName || options.pluginPath
+  await PluginManager.Instance.install({
+    toInstall,
+    version: options.pluginVersion,
+    fromDisk: !!options.pluginPath,
+    register: false
+  })
 }