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