@samitouri / QOSami-HFS / commits / 331bd8dd

new CLI commands: download-plugin, list-plugins

Massimo Melina committed Jun 6, 2024 at 10:05 UTC 331bd8dd306e7ebfd1f460525b78e5ca0e79f140
2 files changed +14 -2
src/api.plugins.ts
+1 -1
@@ -2,7 +2,7 @@
2
3 import {
4 AvailablePlugin, enablePlugins, getAvailablePlugins, getPluginConfigFields, mapPlugins, Plugin, pluginsConfig,
5 - PATH as PLUGINS_PATH, enablePlugin, getPluginInfo, setPluginConfig, isPluginEnabled, isPluginRunning,
5 + PATH as PLUGINS_PATH, enablePlugin, getPluginInfo, setPluginConfig, isPluginRunning,
6 stopPlugin, startPlugin, CommonPluginInterface, getMissingDependencies,
7 } from './plugins'
8 import _ from 'lodash'
src/commands.ts
+13 -1
@@ -8,8 +8,9 @@ import { openAdmin } from './listen'
8 import yaml from 'yaml'
9 import { argv, BUILD_TIMESTAMP, VERSION } from './const'
10 import { createInterface } from 'readline'
11 -import { startPlugin, stopPlugin } from './plugins'
11 +import { getAvailablePlugins, mapPlugins, startPlugin, stopPlugin } from './plugins'
12 import { purgeFileAttr } from './fileAttr'
13 +import { downloadPlugin } from './github'
14
15 if (!argv.updating)
16 try {
@@ -123,6 +124,17 @@ const commands = {
124 params: '<name>',
125 cb: stopPlugin,
126 },
127 + 'download-plugin': {
128 + params: '<githubUser/repo>',
129 + cb: downloadPlugin,
130 + },
131 + 'list-plugins': {
132 + params: '',
133 + cb() {
134 + mapPlugins(p => console.log('ON:', p.id), false)
135 + getAvailablePlugins().map(p => console.log('OFF:', p.id))
136 + }
137 + },
138 'purge-file-attr': {
139 params: '',
140 cb: purgeFileAttr,