2017-07-27 11:07:05 +00:00
// Generated by CoffeeScript 1.12.7
2016-01-11 19:58:35 +00:00
/ *
2017-06-14 21:20:15 +00:00
Copyright 2016 - 2017 Resin . io
2016-01-11 19:58:35 +00:00
Licensed under the Apache License , Version 2.0 ( the "License" ) ;
you may not use this file except in compliance with the License .
You may obtain a copy of the License at
http : //www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing , software
distributed under the License is distributed on an "AS IS" BASIS ,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND , either express or implied .
See the License for the specific language governing permissions and
limitations under the License .
* /
2017-06-22 16:58:09 +00:00
var Promise , Raven , _ , actions , capitano , capitanoExecuteAsync , errors , events , globalTunnel , plugins , proxy , resin , settings , update , validNodeVersions ;
2017-03-17 17:37:07 +00:00
Raven = require ( 'raven' ) ;
Raven . disableConsoleAlerts ( ) ;
2017-03-23 12:10:15 +00:00
Raven . config ( require ( './config' ) . sentryDsn , {
2017-03-17 17:37:07 +00:00
captureUnhandledRejections : true ,
release : require ( '../package.json' ) . version
2017-04-21 10:10:30 +00:00
} ) . install ( function ( logged , error ) {
console . error ( error ) ;
return process . exit ( 1 ) ;
} ) ;
2016-01-11 19:58:35 +00:00
2017-05-12 09:47:49 +00:00
Raven . setContext ( {
extra : {
2017-06-22 12:48:25 +00:00
args : process . argv ,
node _version : process . version
2017-05-12 09:47:49 +00:00
}
} ) ;
2017-06-22 16:58:09 +00:00
validNodeVersions = require ( '../package.json' ) . engines . node ;
if ( ! require ( 'semver' ) . satisfies ( process . version , validNodeVersions ) ) {
2017-08-09 13:18:16 +00:00
console . warn ( "Warning: this version of Node does not match the requirements of this package.\nThis package expects " + validNodeVersions + ", but you're using " + process . version + ".\nThis may cause unexpected behaviour.\n\nTo upgrade your Node, visit https://nodejs.org/en/download/\n" ) ;
2017-06-22 16:58:09 +00:00
}
2017-06-22 11:32:07 +00:00
2017-04-26 13:16:06 +00:00
globalTunnel = require ( 'global-tunnel-ng' ) ;
settings = require ( 'resin-settings-client' ) ;
try {
proxy = settings . get ( 'proxy' ) || null ;
} catch ( error1 ) {
proxy = null ;
}
globalTunnel . initialize ( proxy ) ;
2017-05-11 11:34:22 +00:00
global . PROXY _CONFIG = globalTunnel . proxyConfig ;
2017-03-22 09:46:06 +00:00
_ = require ( 'lodash' ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
Promise = require ( 'bluebird' ) ;
2015-02-26 15:47:56 +00:00
2017-03-27 09:14:55 +00:00
capitano = require ( 'capitano' ) ;
capitanoExecuteAsync = Promise . promisify ( capitano . execute ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
resin = require ( 'resin-sdk-preconfigured' ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
actions = require ( './actions' ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
errors = require ( './errors' ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
events = require ( './events' ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
plugins = require ( './utils/plugins' ) ;
2016-02-12 18:34:16 +00:00
2017-03-22 09:46:06 +00:00
update = require ( './utils/update' ) ;
2015-02-26 15:47:56 +00:00
2017-03-29 11:03:40 +00:00
require ( 'any-promise/register/bluebird' ) ;
2017-03-22 09:46:06 +00:00
capitano . permission ( 'user' , function ( done ) {
return resin . auth . isLoggedIn ( ) . then ( function ( isLoggedIn ) {
if ( ! isLoggedIn ) {
throw new Error ( 'You have to log in to continue\n\nRun the following command to go through the login wizard:\n\n $ resin login' ) ;
2015-02-26 15:47:56 +00:00
}
2017-03-22 09:46:06 +00:00
} ) . nodeify ( done ) ;
} ) ;
capitano . command ( {
signature : '*' ,
action : function ( ) {
return capitano . execute ( {
command : 'help'
} ) ;
}
} ) ;
2016-07-29 12:32:12 +00:00
2017-03-22 09:46:06 +00:00
capitano . globalOption ( {
signature : 'help' ,
boolean : true ,
alias : 'h'
} ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . info . version ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . help . help ) ;
2015-05-07 15:40:12 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . wizard . wizard ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . auth . login ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . auth . logout ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . auth . signup ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . auth . whoami ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . app . create ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . app . list ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . app . remove ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . app . restart ) ;
2015-06-04 15:54:15 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . app . info ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . list ) ;
2016-09-25 23:49:06 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . supported ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . rename ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . init ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . remove ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . identify ) ;
2016-03-04 13:38:11 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . reboot ) ;
2016-11-01 15:41:16 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . shutdown ) ;
2016-08-09 13:14:50 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . enableDeviceUrl ) ;
2016-08-09 13:14:50 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . disableDeviceUrl ) ;
2016-08-09 13:14:50 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . getDeviceUrl ) ;
2016-08-09 13:14:50 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . hasDeviceUrl ) ;
2015-09-29 18:33:31 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . register ) ;
2015-11-11 19:00:02 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . move ) ;
2015-10-19 18:14:04 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . device . info ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . notes . set ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . keys . list ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . keys . add ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . keys . info ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . keys . remove ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . env . list ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . env . add ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . env . rename ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . env . remove ) ;
2015-09-29 17:03:14 +00:00
2017-06-08 19:58:37 +00:00
capitano . command ( actions . os . versions ) ;
2017-03-22 09:46:06 +00:00
capitano . command ( actions . os . download ) ;
2015-09-29 17:36:29 +00:00
2017-06-12 08:42:08 +00:00
capitano . command ( actions . os . buildConfig ) ;
2017-03-22 09:46:06 +00:00
capitano . command ( actions . os . configure ) ;
2015-09-29 18:52:34 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . os . initialize ) ;
2015-11-10 16:53:34 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . config . read ) ;
2015-11-10 18:27:01 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . config . write ) ;
2016-03-17 20:07:19 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . config . inject ) ;
2015-11-11 14:38:45 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . config . reconfigure ) ;
2016-02-27 02:37:15 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . config . generate ) ;
2015-11-16 02:08:02 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . settings . list ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . logs ) ;
2016-03-28 13:21:25 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . sync ) ;
2016-04-24 19:52:41 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . ssh ) ;
2017-03-08 23:30:24 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . configure ) ;
2017-03-08 23:30:24 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . flash ) ;
2017-03-08 23:30:24 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . logs ) ;
2017-03-08 23:30:24 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . promote ) ;
2017-03-08 23:30:24 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . push ) ;
2017-03-08 23:30:24 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . ssh ) ;
2017-03-08 23:30:24 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . scan ) ;
2017-03-09 19:16:06 +00:00
2017-03-22 09:46:06 +00:00
capitano . command ( actions . local . stop ) ;
2015-08-18 12:53:06 +00:00
2017-06-14 21:20:15 +00:00
capitano . command ( actions . util . availableDrives ) ;
2017-03-24 09:48:14 +00:00
capitano . command ( actions . internal . osInit ) ;
2017-03-29 11:03:40 +00:00
capitano . command ( actions . build ) ;
capitano . command ( actions . deploy ) ;
2017-03-22 09:46:06 +00:00
update . notify ( ) ;
2015-02-26 15:47:56 +00:00
2017-03-22 09:46:06 +00:00
plugins . register ( /^resin-plugin-(.+)$/ ) . then ( function ( ) {
var cli ;
cli = capitano . parse ( process . argv ) ;
return events . trackCommand ( cli ) . then ( function ( ) {
var ref , ref1 ;
if ( ( ref = cli . global ) != null ? ref . help : void 0 ) {
2017-03-27 09:14:55 +00:00
return capitanoExecuteAsync ( {
2017-03-22 09:46:06 +00:00
command : "help " + ( ( ref1 = cli . command ) != null ? ref1 : '' )
} ) ;
}
2017-03-27 09:14:55 +00:00
return capitanoExecuteAsync ( cli ) ;
2017-03-22 09:46:06 +00:00
} ) ;
} ) [ "catch" ] ( errors . handle ) ;