mirror of
https://github.com/balena-io/balena-cli.git
synced 2024-12-19 21:57:51 +00:00
a803d4f646
Since we're now forcing users to rely on `npm` directly for updates, we can also get rid of plugin commands that attempt to install/update/remove using npm programatically and require users to use `npm` directly as well. This commit removes the following commands: - `plugins` - `plugin install` - `plugin update` - `plugin remove` Despite plugin related commands being removed, *the functionality that scans for plugins and registers them remains intact*.
83 lines
2.1 KiB
CoffeeScript
83 lines
2.1 KiB
CoffeeScript
_ = require('lodash')
|
|
async = require('async')
|
|
capitano = require('capitano')
|
|
resin = require('resin-sdk')
|
|
actions = require('./actions')
|
|
errors = require('./errors')
|
|
plugins = require('./plugins')
|
|
update = require('./utils/update')
|
|
|
|
capitano.permission 'user', (done) ->
|
|
resin.auth.isLoggedIn().then (isLoggedIn) ->
|
|
if not isLoggedIn
|
|
throw new Error ('You have to log in')
|
|
.nodeify(done)
|
|
|
|
capitano.command
|
|
signature: '*'
|
|
action: ->
|
|
capitano.execute(command: 'help')
|
|
|
|
# ---------- Info Module ----------
|
|
capitano.command(actions.info.version)
|
|
|
|
# ---------- Help Module ----------
|
|
capitano.command(actions.help.help)
|
|
|
|
# ---------- Wizard Module ----------
|
|
capitano.command(actions.wizard.wizard)
|
|
|
|
# ---------- Auth Module ----------
|
|
capitano.command(actions.auth.login)
|
|
capitano.command(actions.auth.logout)
|
|
capitano.command(actions.auth.signup)
|
|
capitano.command(actions.auth.whoami)
|
|
|
|
# ---------- App Module ----------
|
|
capitano.command(actions.app.create)
|
|
capitano.command(actions.app.list)
|
|
capitano.command(actions.app.remove)
|
|
capitano.command(actions.app.restart)
|
|
capitano.command(actions.app.associate)
|
|
capitano.command(actions.app.info)
|
|
|
|
# ---------- Device Module ----------
|
|
capitano.command(actions.device.list)
|
|
capitano.command(actions.device.rename)
|
|
capitano.command(actions.device.init)
|
|
capitano.command(actions.device.await)
|
|
capitano.command(actions.device.info)
|
|
capitano.command(actions.device.remove)
|
|
capitano.command(actions.device.identify)
|
|
|
|
# ---------- Notes Module ----------
|
|
capitano.command(actions.notes.set)
|
|
|
|
# ---------- Keys Module ----------
|
|
capitano.command(actions.keys.list)
|
|
capitano.command(actions.keys.add)
|
|
capitano.command(actions.keys.info)
|
|
capitano.command(actions.keys.remove)
|
|
|
|
# ---------- Env Module ----------
|
|
capitano.command(actions.env.list)
|
|
capitano.command(actions.env.add)
|
|
capitano.command(actions.env.rename)
|
|
capitano.command(actions.env.remove)
|
|
|
|
# ---------- Logs Module ----------
|
|
capitano.command(actions.logs)
|
|
|
|
update.notify()
|
|
|
|
async.waterfall([
|
|
|
|
(callback) ->
|
|
plugins.register('resin-plugin-', callback)
|
|
|
|
(callback) ->
|
|
cli = capitano.parse(process.argv)
|
|
capitano.execute(cli, callback)
|
|
|
|
], errors.handle)
|