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,