Juan Cruz Viotti
9cfce68489
Change license to Apache 2.0
2016-01-03 23:58:51 -04:00
Juan Cruz Viotti
210680c9c9
Lazy load command actions dependencies
...
In my system (MBPr 13), printing the current version takes over 2
seconds:
```sh
$ time ./bin/resin version
2.4.0
./bin/resin version 1.37s user 0.19s system 73% cpu 2.130 total
```
The CLI takes almost all of these time to parse the dependency tree
before returning control over the actually called command.
To mitigate this problem, we only require the NPM dependencies a command
requires when executing such command, and thus prevent dependencies from
being required and parsed unnecessary.
After this improvement, printing the original example (`resin version`)
returns in less than a second (2x improvement):
```sh
$ time ./bin/resin version
2.4.0
./bin/resin version 0.88s user 0.09s system 102% cpu 0.938 total
```
2015-12-07 11:48:54 -03:00
Juan Cruz Viotti
ae8621dc81
Simplify download output message
...
The message displayed the output of the download, which was mainly used
for debugging purposes when developing `device init` and `quickstart`.
2015-11-23 23:38:28 -04:00
Juan Cruz Viotti
7a4f551a47
Use rindle instead of custom waitStream
2015-10-21 10:17:10 -04:00
Juan Cruz Viotti
ec28bd9c9e
Ignore advanced configuration questions by default
...
The advanced questions can be enabled by passing `--advanced` in `os
configure`.
2015-10-19 14:02:57 -04:00
Juan Cruz Viotti
b2425d2c0e
Take device type as an option in os initialize
2015-10-15 09:11:38 -04:00
Juan Cruz Viotti
71ee0a6cf7
Support drive option in os initialize
...
This allows the user to bypass the drive selection dialog.
This option can be used along with `--yes` to make the command
completely non-interactive. For example:
$ resin os initialize rpi.img 'raspberry-pi' --drive /dev/disk2 --yes
2015-10-15 08:14:35 -04:00
Juan Cruz Viotti
58713dc291
Add missing yes
option to os initialize
...
This option is tried to be used within the command, but is not defined
as a formal Capitano option.
2015-10-14 17:49:27 -04:00
Juan Cruz Viotti
445e37ccaf
Call os initialize as an elevated process
...
Currently, the fact that `os initialize` requires elevated permissions
forced us to require calling commands that reuse it, such as `device
init` and `quickstart` with administrator permissions as well.
This ended up causing issues like saving images in the cache that belong
to root, or initializing git repositories that requires `sudo` to
commit.
The solution is to call `os initialize` as a child process preppending
`sudo` within `device init`.
Fixes: https://github.com/resin-io/resin-cli/issues/109
2015-10-01 13:07:53 -04:00
Juan Cruz Viotti
90be01b05d
Make os initialize take a device type instead of a uuid
2015-09-30 14:31:23 -04:00
Juan Cruz Viotti
79d1892b66
Send device type correctly to getManifestBySlug
...
Currently, we we're sending the wholea device object to
`getManifestBySlug`, which ended up in an unsupported device error.
2015-09-30 11:38:34 -04:00
Juan Cruz Viotti
8234f7675a
Uncompress zip packages in os download
...
When downloading an operating system image, if the image is a zip
package, uncompress it automatically.
2015-09-30 10:16:24 -04:00
Juan Cruz Viotti
6377618c12
Use console.info in os download
...
`console.info` calls can be quieted by the `--quiet` option.
2015-09-29 15:15:39 -04:00
Juan Cruz Viotti
d704c10197
Implement os initialize command
...
This command initialized an operating system image with a disk device.
2015-09-29 14:52:34 -04:00
Juan Cruz Viotti
42256384be
Implement os configure
...
This command, given a path to an image and a device uuid, perform
configuration based on the resin-device-type manifests.
2015-09-29 13:47:10 -04:00
Juan Cruz Viotti
f6d8f12ba2
Implement os download command
...
This command download an unconfigured image to both the cache and to the
specified location by the `--output` option.
2015-09-29 13:03:14 -04:00
Juan Cruz Viotti
fdd0e4a966
Implement config injection
2015-06-04 08:06:37 -04:00
Juan Cruz Viotti
e7e8ec296c
Make use of selfupdate
2015-05-14 11:32:18 -03:00
Juan Cruz Viotti
9bb04f43a8
Fix callback not being called on success in os download command
2015-05-11 14:23:34 -03:00
Juan Cruz Viotti
9b0c08bd46
Don't umount in os install as it's already handled in Resin Image
2015-05-11 13:10:06 -03:00
Juan Cruz Viotti
d8ce6648e2
Handle device unmounting in os install command
2015-05-11 10:04:05 -03:00
Juan Cruz Viotti
656f3e5cd9
Make use of resin-image to remove image writing logic from the CLI
2015-05-08 14:26:04 -03:00
Juan Cruz Viotti
c758a5b9ea
Make use of capitano.run() to run subcommands
2015-05-05 17:34:24 -03:00
Juan Cruz Viotti
cd3245a631
Handle device unmounting in os install command
2015-05-02 10:34:11 -04:00
Juan Cruz Viotti
85444a5a6a
Make os download command accept an application name instead of id
2015-04-20 09:06:40 -04:00
Juan Cruz Viotti
caa4fcf754
Bind progress update function to avoid context issues
2015-04-17 10:11:02 -04:00
Juan Cruz Viotti
4a7d3d5945
Mock local Raspberry Pi bundle
2015-04-07 08:10:26 -04:00
Juan Cruz Viotti
4e4428fdbb
Move windosu elevate logic to another module
2015-04-06 16:49:53 -04:00
Juan Cruz Viotti
fa258a84cc
Show a spinner if no progress state in os download command
2015-03-16 11:45:17 -04:00
Juan Cruz Viotti
5efa7309be
Fix bug in device init
2015-03-16 11:06:44 -04:00
Juan Cruz Viotti
4bfe52d73b
Require CLI to be updated when running os install
2015-03-11 08:49:26 -04:00
Juan Cruz Viotti
0cc1765a1e
Regenerate documentation
2015-03-09 19:49:46 -04:00
Juan Cruz Viotti
f0346b1fd0
Allow to interactively configure network for os download
2015-03-09 19:42:43 -04:00
Juan Cruz Viotti
1bb798a8b8
Get rid of automatic cache name generation logic
2015-03-09 12:38:37 -04:00
Juan Cruz Viotti
4aefb15c70
Prevent resin-write infinite loop
2015-03-03 12:39:41 -04:00
Juan Cruz Viotti
b2444feae9
Make use of process.argv[0] instead of hardcoding "node" to windosu
2015-03-03 11:32:56 -04:00
Juan Cruz Viotti
6a83a537c7
Implement basic documentation generation mechanism
2015-03-03 11:32:24 -04:00
Juan Cruz Viotti
9c98adb712
Prevent writing accidentally to system drives
2015-02-25 11:12:58 -04:00
Juan Cruz Viotti
eeee1ce8e1
Implement in place progress bar
2015-02-10 12:55:18 -04:00
Juan Cruz Viotti
e769fdc205
Prevent linter long line warning
2015-02-06 11:11:38 -04:00
Juan Cruz Viotti
ca961d04c5
Pass a ProgressState instance to bar.tick() directly
2015-02-06 08:21:32 -04:00
Juan Cruz Viotti
0dba133b0a
Fix comment spacing
2015-02-05 08:56:52 -04:00
Juan Cruz Viotti
780893b411
Make os download modify options.output directly
2015-02-05 08:53:05 -04:00
Juan Cruz Viotti
bcbb7d8e96
Upgrade to Capitano v1.3.1 and remove unneeded try/catch clause
...
Capitano v1.3.1 introduces support for automatically catching action
sync thrown errors
2015-02-05 08:49:57 -04:00
Juan Cruz Viotti
33b66effc2
Make use of new Resin CLI visuals patterns
2015-02-04 15:17:51 -04:00
Juan Cruz Viotti
3ee228c862
Move os network params options to command-options
2015-02-04 15:17:51 -04:00
Juan Cruz Viotti
3f51739e2e
Send outputFile to done() in os.download
2015-02-04 15:17:50 -04:00
Juan Cruz Viotti
9f4ae4ac3f
Rename current device init to os download
2015-02-04 15:17:50 -04:00
Juan Cruz Viotti
a4a8c4e61a
Simplify os download a bit with _.unary
2015-02-04 15:08:38 -04:00
Juan Cruz Viotti
e7823e2707
Make use of SDK ProgressState enhancement to simplify os download
2015-02-04 15:06:07 -04:00
Juan Cruz Viotti
531a48a158
Fix generateCacheName error not being caught
2015-02-03 13:51:33 -04:00
Juan Cruz Viotti
03c6c72df6
Integrate new progress bar
2015-01-29 14:59:57 -04:00
Juan Cruz Viotti
50325d0f8f
Make use of resin-cli-visuals and get rid of local ui module
2015-01-21 09:50:19 -04:00
Juan Cruz Viotti
9cb84ee612
Allow to quiet download progress bar
2015-01-20 15:41:14 -04:00
Juan Cruz Viotti
f04f6f8702
Move ProgressBar to ui.widgets
2015-01-20 15:10:18 -04:00
Juan Cruz Viotti
d49677581b
Make use of Capitano permissions feature
2015-01-16 09:34:59 -03:00
Juan Cruz Viotti
5abc4e550f
Move command declarations next to their definitions
2015-01-15 14:18:39 -03:00
Juan Cruz Viotti
a6282d2b28
Get rid of log module
...
Didn't provide that much value
2015-01-15 11:36:43 -03:00
Juan Cruz Viotti
3e055b32d2
Update Capitano to v1.2.0 and make use of done callback feature
2015-01-15 10:47:17 -03:00
Juan Cruz Viotti
975e133d5a
Refactor to not use ConnectionParams
2015-01-12 09:12:30 -03:00
Juan Cruz Viotti
5a3254dc5e
Get rid of cache module
2015-01-09 13:41:32 -03:00
Juan Cruz Viotti
05812ba442
Implement and make use of errors.handleCallback()
...
This function is introduced to remove some duplication
2015-01-09 12:22:18 -03:00
Juan Cruz Viotti
d2b0772673
Remove duplication by relying on Capitano's new required option feature
2015-01-08 12:11:10 -03:00
Juan Cruz Viotti
0452916a87
Integrate with connection.ConnectionParams
2015-01-08 10:56:46 -03:00
Juan Cruz Viotti
12f46be691
Partially get rid of nested sdk
2015-01-08 09:39:38 -03:00
Juan Cruz Viotti
1b9c62a50f
Completely decouple client code from server module
2014-12-22 15:40:57 -04:00
Juan Cruz Viotti
cda24c9e1b
Move os.generateCacheName outside Resin SDK
2014-12-22 14:50:54 -04:00
Juan Cruz Viotti
46ebb7b1fd
Move errors.handle() out of resin sdk
2014-12-22 12:47:12 -04:00
Juan Cruz Viotti
2351fa25a0
Move log out of resin sdk
2014-12-22 12:41:14 -04:00
Juan Cruz Viotti
6cfe2bdc49
Make use of Capitano for command line parsing
2014-12-19 09:15:38 -04:00
Juan Cruz Viotti
4b74ec7fc4
Move UI outside resin module
2014-12-05 12:00:15 -04:00
Juan Cruz Viotti
e7495fa72d
Move cli outside of resin module
2014-12-05 11:51:52 -04:00
Juan Cruz Viotti
0c55a4afb6
Integrate CliConf with application
2014-12-05 11:09:31 -04:00
Juan Cruz Viotti
511e753256
Support user defined configuration file
2014-12-03 12:03:54 -04:00
Juan Cruz Viotti
4143b6da49
Namespace directories inside config.directories
2014-12-03 09:26:14 -04:00
Juan Cruz Viotti
ffdd44752a
Integrate nicer progress bar for os:download
2014-12-02 17:40:13 -04:00
Juan Cruz Viotti
2b5d95af3a
Support --output option
2014-12-02 11:53:34 -04:00
Juan Cruz Viotti
7ea4ef84b4
Make use of resin.os.generateCacheName in os action
2014-12-02 11:30:17 -04:00
Juan Cruz Viotti
ccf92411fe
Implemence pace based os download
2014-12-02 11:08:22 -04:00