Cordova, an SDK offering from Apache that enables the development of mobile apps using web technologies (HTML, JS, CSS). It forms the set of libraries on which other successful app development frameworks like PhoneGp and Ionic were built on. To develop non-native apps in these frameworks will require the Cordova CLI pre-installed.
What we need
For installation we need the NodeJS, because we need npm to install Cordova.
For app development with Cordova,
Installation
First to check if Cordova has been installed
cordova --version
If installed, the version of the application will be displayed. To install, enter the line into the terminal:
npm install -g cordova
Add sudo
at the beginning if installing on a Mac OS. Instructions for getting started on using Cordova can be found on the Apache Cordova website, https://cordova.apache.org/.
Installation Log
npm install -g cordova
npm ERR! Darwin 14.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "cordova"
npm ERR! node v6.9.4
npm ERR! npm v3.10.10
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! at Error (native)
npm ERR! { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! at Error (native)
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/bg-air-mac/npm-debug.log
/usr/local/lib/
folder and re-ran the command
npm WARN deprecated node-uuid@1.4.7: use uuid module instead
/usr/local/bin/cordova -> /usr/local/lib/node_modules/cordova/bin/cordova
/usr/local/lib
└─┬ cordova@6.4.0
├─┬ cordova-common@1.5.1
│ ├── ansi@0.3.1
│ ├─┬ bplist-parser@0.1.1
│ │ └── big-integer@1.6.17
│ ├── cordova-registry-mapper@1.1.15
│ ├─┬ elementtree@0.1.6
│ │ └── sax@0.3.5
│ ├─┬ glob@5.0.15
│ │ ├─┬ inflight@1.0.6
│ │ │ └── wrappy@1.0.2
│ │ ├── inherits@2.0.3
│ │ ├── once@1.4.0
│ │ └── path-is-absolute@1.0.1
│ ├─┬ minimatch@3.0.3
│ │ └─┬ brace-expansion@1.1.6
│ │ ├── balanced-match@0.4.2
│ │ └── concat-map@0.0.1
│ ├─┬ osenv@0.1.4
│ │ ├── os-homedir@1.0.2
│ │ └── os-tmpdir@1.0.2
│ ├─┬ plist@1.2.0
│ │ ├── base64-js@0.0.8
│ │ ├── util-deprecate@1.0.2
│ │ ├── xmlbuilder@4.0.0
│ │ └── xmldom@0.1.27
│ ├── q@1.4.1
│ ├── semver@5.3.0
│ ├── shelljs@0.5.3
│ ├── underscore@1.8.3
│ └── unorm@1.4.1
├─┬ cordova-lib@6.4.0
│ ├─┬ aliasify@1.9.0
│ │ └─┬ browserify-transform-tools@1.5.3
│ │ └─┬ falafel@1.2.0
│ │ ├── acorn@1.2.2
│ │ ├── foreach@2.0.5
│ │ ├── isarray@0.0.1
│ │ └── object-keys@1.0.11
│ ├─┬ cordova-create@1.0.1
│ │ ├── cordova-app-hello-world@3.11.0
│ │ └── shelljs@0.3.0
│ ├─┬ cordova-fetch@1.0.1
│ │ ├─┬ dependency-ls@1.0.0
│ │ │ └── q@1.4.1
│ │ ├── is-url@1.2.2
│ │ ├── q@1.4.1
│ │ └─┬ shelljs@0.7.6
│ │ ├─┬ glob@7.1.1
│ │ │ └── fs.realpath@1.0.0
│ │ ├── interpret@1.0.1
│ │ └── rechoir@0.6.2
│ ├─┬ cordova-js@4.2.0
│ │ └─┬ browserify@13.1.0
│ │ ├── assert@1.3.0
│ │ ├─┬ browser-pack@6.0.2
│ │ │ ├─┬ combine-source-map@0.7.2
│ │ │ │ ├── convert-source-map@1.1.3
│ │ │ │ ├── inline-source-map@0.6.2
│ │ │ │ ├── lodash.memoize@3.0.4
│ │ │ │ └── source-map@0.5.6
│ │ │ └── umd@3.0.1
│ │ ├─┬ browser-resolve@1.11.2
│ │ │ └── resolve@1.1.7
│ │ ├─┬ browserify-zlib@0.1.4
│ │ │ └── pako@0.2.9
│ │ ├─┬ buffer@4.9.1
│ │ │ ├── base64-js@1.2.0
│ │ │ ├── ieee754@1.1.8
│ │ │ └── isarray@1.0.0
│ │ ├─┬ concat-stream@1.5.2
│ │ │ ├─┬ readable-stream@2.0.6
│ │ │ │ └── isarray@1.0.0
│ │ │ └── typedarray@0.0.6
│ │ ├─┬ console-browserify@1.1.0
│ │ │ └── date-now@0.1.4
│ │ ├── constants-browserify@1.0.0
│ │ ├─┬ crypto-browserify@3.11.0
│ │ │ ├─┬ browserify-cipher@1.0.0
│ │ │ │ ├─┬ browserify-aes@1.0.6
│ │ │ │ │ └── buffer-xor@1.0.3
│ │ │ │ ├─┬ browserify-des@1.0.0
│ │ │ │ │ └─┬ des.js@1.0.0
│ │ │ │ │ └── minimalistic-assert@1.0.0
│ │ │ │ └── evp_bytestokey@1.0.0
│ │ │ ├─┬ browserify-sign@4.0.0
│ │ │ │ ├── bn.js@4.11.6
│ │ │ │ ├── browserify-rsa@4.0.1
│ │ │ │ ├─┬ elliptic@6.3.2
│ │ │ │ │ ├── brorand@1.0.6
│ │ │ │ │ └── hash.js@1.0.3
│ │ │ │ └─┬ parse-asn1@5.0.0
│ │ │ │ └── asn1.js@4.9.1
│ │ │ ├── create-ecdh@4.0.0
│ │ │ ├─┬ create-hash@1.1.2
│ │ │ │ ├── cipher-base@1.0.3
│ │ │ │ └── ripemd160@1.0.1
│ │ │ ├── create-hmac@1.1.4
│ │ │ ├─┬ diffie-hellman@5.0.2
│ │ │ │ └── miller-rabin@4.0.0
│ │ │ ├── pbkdf2@3.0.9
│ │ │ ├── public-encrypt@4.0.0
│ │ │ └── randombytes@2.0.3
│ │ ├── defined@1.0.0
│ │ ├── deps-sort@2.0.0
│ │ ├── domain-browser@1.1.7
│ │ ├── duplexer2@0.1.4
│ │ ├── events@1.1.1
│ │ ├─┬ has@1.0.1
│ │ │ └── function-bind@1.1.0
│ │ ├── htmlescape@1.1.1
│ │ ├── https-browserify@0.0.1
│ │ ├─┬ insert-module-globals@7.0.1
│ │ │ ├── is-buffer@1.1.4
│ │ │ └─┬ lexical-scope@1.2.0
│ │ │ └── astw@2.0.0
│ │ ├─┬ JSONStream@1.3.0
│ │ │ └── jsonparse@1.3.0
│ │ ├─┬ labeled-stream-splicer@2.0.0
│ │ │ └── stream-splicer@2.0.0
│ │ ├─┬ module-deps@4.0.8
│ │ │ ├── cached-path-relative@1.0.0
│ │ │ ├─┬ detective@4.3.2
│ │ │ │ └── acorn@3.3.0
│ │ │ └── stream-combiner2@1.1.1
│ │ ├── os-browserify@0.1.2
│ │ ├─┬ parents@1.0.1
│ │ │ └── path-platform@0.11.15
│ │ ├── path-browserify@0.0.0
│ │ ├── process@0.11.9
│ │ ├── querystring-es3@0.2.1
│ │ ├── read-only-stream@2.0.0
│ │ ├─┬ readable-stream@2.2.2
│ │ │ ├── buffer-shims@1.0.0
│ │ │ ├── core-util-is@1.0.2
│ │ │ ├── isarray@1.0.0
│ │ │ └── process-nextick-args@1.0.7
│ │ ├── resolve@1.2.0
│ │ ├─┬ shasum@1.0.2
│ │ │ ├── json-stable-stringify@0.0.1
│ │ │ └── sha.js@2.4.8
│ │ ├─┬ shell-quote@1.6.1
│ │ │ ├── array-filter@0.0.1
│ │ │ ├── array-map@0.0.0
│ │ │ ├── array-reduce@0.0.0
│ │ │ └── jsonify@0.0.0
│ │ ├── stream-browserify@2.0.1
│ │ ├─┬ stream-http@2.6.3
│ │ │ ├── builtin-status-codes@3.0.0
│ │ │ └── to-arraybuffer@1.0.1
│ │ ├── string_decoder@0.10.31
│ │ ├── subarg@1.0.0
│ │ ├─┬ syntax-error@1.1.6
│ │ │ └── acorn@2.7.0
│ │ ├── through2@2.0.3
│ │ ├── timers-browserify@1.4.2
│ │ ├── tty-browserify@0.0.0
│ │ ├─┬ url@0.11.0
│ │ │ ├── punycode@1.3.2
│ │ │ └── querystring@0.2.0
│ │ ├─┬ util@0.10.3
│ │ │ └── inherits@2.0.1
│ │ ├─┬ vm-browserify@0.0.4
│ │ │ └── indexof@0.0.1
│ │ └── xtend@4.0.1
│ ├─┬ cordova-serve@1.0.1
│ │ ├─┬ compression@1.6.2
│ │ │ ├─┬ accepts@1.3.3
│ │ │ │ └── negotiator@0.6.1
│ │ │ ├── bytes@2.3.0
│ │ │ ├── compressible@2.0.9
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ ├── on-headers@1.0.1
│ │ │ └── vary@1.1.0
│ │ ├─┬ express@4.14.0
│ │ │ ├── array-flatten@1.1.1
│ │ │ ├── content-disposition@0.5.1
│ │ │ ├── content-type@1.0.2
│ │ │ ├── cookie@0.3.1
│ │ │ ├── cookie-signature@1.0.6
│ │ │ ├── depd@1.1.0
│ │ │ ├── encodeurl@1.0.1
│ │ │ ├── escape-html@1.0.3
│ │ │ ├── etag@1.7.0
│ │ │ ├─┬ finalhandler@0.5.0
│ │ │ │ ├── statuses@1.3.1
│ │ │ │ └── unpipe@1.0.0
│ │ │ ├── fresh@0.3.0
│ │ │ ├── merge-descriptors@1.0.1
│ │ │ ├── methods@1.1.2
│ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ ├── parseurl@1.3.1
│ │ │ ├── path-to-regexp@0.1.7
│ │ │ ├─┬ proxy-addr@1.1.3
│ │ │ │ ├── forwarded@0.1.0
│ │ │ │ └── ipaddr.js@1.2.0
│ │ │ ├── qs@6.2.0
│ │ │ ├── range-parser@1.2.0
│ │ │ ├─┬ send@0.14.1
│ │ │ │ ├── destroy@1.0.4
│ │ │ │ ├─┬ http-errors@1.5.1
│ │ │ │ │ └── setprototypeof@1.0.2
│ │ │ │ └── mime@1.3.4
│ │ │ ├── serve-static@1.11.1
│ │ │ ├─┬ type-is@1.6.14
│ │ │ │ └── media-typer@0.3.0
│ │ │ └── utils-merge@1.0.0
│ │ └── q@1.4.1
│ ├─┬ dep-graph@1.1.0
│ │ └── underscore@1.2.1
│ ├─┬ init-package-json@1.9.4
│ │ ├── glob@6.0.4
│ │ ├─┬ npm-package-arg@4.2.0
│ │ │ └── hosted-git-info@2.1.5
│ │ ├── promzard@0.3.0
│ │ ├─┬ read@1.0.7
│ │ │ └── mute-stream@0.0.7
│ │ ├─┬ read-package-json@2.0.4
│ │ │ ├── glob@6.0.4
│ │ │ ├─┬ json-parse-helpfulerror@1.0.3
│ │ │ │ └── jju@1.3.0
│ │ │ └─┬ normalize-package-data@2.3.5
│ │ │ └─┬ is-builtin-module@1.0.0
│ │ │ └── builtin-modules@1.1.1
│ │ ├─┬ validate-npm-package-license@3.0.1
│ │ │ ├─┬ spdx-correct@1.0.2
│ │ │ │ └── spdx-license-ids@1.2.2
│ │ │ └── spdx-expression-parse@1.0.4
│ │ └─┬ validate-npm-package-name@2.2.2
│ │ └── builtins@0.0.7
│ ├── nopt@3.0.6
│ ├─┬ npm@2.15.11
│ │ ├── abbrev@1.0.9
│ │ ├── ansi@0.3.1
│ │ ├── ansi-regex@2.0.0
│ │ ├── ansicolors@0.3.2
│ │ ├── ansistyles@0.1.3
│ │ ├── archy@1.0.0
│ │ ├── async-some@1.0.2
│ │ ├── block-stream@0.0.9
│ │ ├── char-spinner@1.0.1
│ │ ├── chmodr@1.0.2
│ │ ├── chownr@1.0.1
│ │ ├── cmd-shim@2.0.2
│ │ ├─┬ columnify@1.5.4
│ │ │ └─┬ wcwidth@1.0.0
│ │ │ └─┬ defaults@1.0.3
│ │ │ └── clone@1.0.2
│ │ ├─┬ config-chain@1.1.10
│ │ │ └── proto-list@1.2.4
│ │ ├─┬ dezalgo@1.0.3
│ │ │ └── asap@2.0.3
│ │ ├── editor@1.0.0
│ │ ├── fs-vacuum@1.2.9
│ │ ├─┬ fs-write-stream-atomic@1.0.8
│ │ │ └── iferr@0.1.5
│ │ ├── fstream@1.0.10
│ │ ├─┬ fstream-npm@1.1.1
│ │ │ └── fstream-ignore@1.0.5
│ │ ├── github-url-from-git@1.4.0
│ │ ├── github-url-from-username-repo@1.0.2
│ │ ├─┬ glob@7.0.6
│ │ │ ├── fs.realpath@1.0.0
│ │ │ └── path-is-absolute@1.0.0
│ │ ├── graceful-fs@4.1.6
│ │ ├── hosted-git-info@2.1.5
│ │ ├── imurmurhash@0.1.4
│ │ ├── inflight@1.0.5
│ │ ├── inherits@2.0.3
│ │ ├── ini@1.3.4
│ │ ├─┬ init-package-json@1.9.4
│ │ │ ├─┬ glob@6.0.4
│ │ │ │ └── path-is-absolute@1.0.0
│ │ │ └── promzard@0.3.0
│ │ ├── lockfile@1.0.1
│ │ ├─┬ lru-cache@4.0.1
│ │ │ ├── pseudomap@1.0.2
│ │ │ └── yallist@2.0.0
│ │ ├─┬ minimatch@3.0.3
│ │ │ └─┬ brace-expansion@1.1.6
│ │ │ ├── balanced-match@0.4.2
│ │ │ └── concat-map@0.0.1
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├─┬ node-gyp@3.4.0
│ │ │ └─┬ path-array@1.0.1
│ │ │ └─┬ array-index@1.0.0
│ │ │ ├─┬ debug@2.2.0
│ │ │ │ └── ms@0.7.1
│ │ │ └─┬ es6-symbol@3.1.0
│ │ │ ├── d@0.1.1
│ │ │ └─┬ es5-ext@0.10.12
│ │ │ └── es6-iterator@2.0.0
│ │ ├── nopt@3.0.6
│ │ ├── normalize-git-url@3.0.2
│ │ ├─┬ normalize-package-data@2.3.5
│ │ │ └─┬ is-builtin-module@1.0.0
│ │ │ └── builtin-modules@1.1.0
│ │ ├── npm-cache-filename@1.0.2
│ │ ├── npm-install-checks@1.0.7
│ │ ├── npm-package-arg@4.1.0
│ │ ├─┬ npm-registry-client@7.2.1
│ │ │ ├─┬ concat-stream@1.5.2
│ │ │ │ ├─┬ readable-stream@2.0.6
│ │ │ │ │ ├── core-util-is@1.0.2
│ │ │ │ │ ├── isarray@1.0.0
│ │ │ │ │ ├── process-nextick-args@1.0.7
│ │ │ │ │ ├── string_decoder@0.10.31
│ │ │ │ │ └── util-deprecate@1.0.2
│ │ │ │ └── typedarray@0.0.6
│ │ │ └── retry@0.10.0
│ │ ├── npm-user-validate@0.1.5
│ │ ├─┬ npmlog@2.0.4
│ │ │ ├─┬ are-we-there-yet@1.1.2
│ │ │ │ └── delegates@1.0.0
│ │ │ └─┬ gauge@1.2.7
│ │ │ ├── has-unicode@2.0.0
│ │ │ ├─┬ lodash.pad@4.4.0
│ │ │ │ ├── lodash._baseslice@4.0.0
│ │ │ │ ├── lodash._basetostring@4.12.0
│ │ │ │ └── lodash.tostring@4.1.4
│ │ │ ├── lodash.padend@4.5.0
│ │ │ └── lodash.padstart@4.5.0
│ │ ├── once@1.4.0
│ │ ├── opener@1.4.1
│ │ ├─┬ osenv@0.1.3
│ │ │ ├── os-homedir@1.0.0
│ │ │ └── os-tmpdir@1.0.1
│ │ ├── path-is-inside@1.0.1
│ │ ├─┬ read@1.0.7
│ │ │ └── mute-stream@0.0.5
│ │ ├─┬ read-installed@4.0.3
│ │ │ ├── debuglog@1.0.1
│ │ │ ├── readdir-scoped-modules@1.0.2
│ │ │ └── util-extend@1.0.1
│ │ ├─┬ read-package-json@2.0.4
│ │ │ ├─┬ glob@6.0.4
│ │ │ │ └── path-is-absolute@1.0.0
│ │ │ └─┬ json-parse-helpfulerror@1.0.3
│ │ │ └── jju@1.3.0
│ │ ├─┬ readable-stream@2.1.5
│ │ │ ├── buffer-shims@1.0.0
│ │ │ ├── core-util-is@1.0.2
│ │ │ ├── isarray@1.0.0
│ │ │ ├── process-nextick-args@1.0.7
│ │ │ ├── string_decoder@0.10.31
│ │ │ └── util-deprecate@1.0.2
│ │ ├── realize-package-specifier@3.0.1
│ │ ├─┬ request@2.74.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├── aws4@1.4.1
│ │ │ ├─┬ bl@1.1.2
│ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │ ├── core-util-is@1.0.2
│ │ │ │ ├── isarray@1.0.0
│ │ │ │ ├── process-nextick-args@1.0.7
│ │ │ │ ├── string_decoder@0.10.31
│ │ │ │ └── util-deprecate@1.0.2
│ │ │ ├── caseless@0.11.0
│ │ │ ├─┬ combined-stream@1.0.5
│ │ │ │ └── delayed-stream@1.0.0
│ │ │ ├── extend@3.0.0
│ │ │ ├── forever-agent@0.6.1
│ │ │ ├─┬ form-data@1.0.0-rc4
│ │ │ │ └── async@1.5.2
│ │ │ ├─┬ har-validator@2.0.6
│ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ ├── escape-string-regexp@1.0.5
│ │ │ │ │ ├── has-ansi@2.0.0
│ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ ├─┬ commander@2.9.0
│ │ │ │ │ └── graceful-readlink@1.0.1
│ │ │ │ ├─┬ is-my-json-valid@2.13.1
│ │ │ │ │ ├── generate-function@2.0.0
│ │ │ │ │ ├─┬ generate-object-property@1.2.0
│ │ │ │ │ │ └── is-property@1.0.2
│ │ │ │ │ ├── jsonpointer@2.0.0
│ │ │ │ │ └── xtend@4.0.1
│ │ │ │ └─┬ pinkie-promise@2.0.1
│ │ │ │ └── pinkie@2.0.4
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├── boom@2.10.1
│ │ │ │ ├── cryptiles@2.0.5
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └── sntp@1.0.9
│ │ │ ├─┬ http-signature@1.1.1
│ │ │ │ ├── assert-plus@0.2.0
│ │ │ │ ├─┬ jsprim@1.3.0
│ │ │ │ │ ├── extsprintf@1.0.2
│ │ │ │ │ ├── json-schema@0.2.2
│ │ │ │ │ └── verror@1.3.6
│ │ │ │ └─┬ sshpk@1.9.2
│ │ │ │ ├── asn1@0.2.3
│ │ │ │ ├── assert-plus@1.0.0
│ │ │ │ ├── dashdash@1.14.0
│ │ │ │ ├── ecc-jsbn@0.1.1
│ │ │ │ ├── getpass@0.1.6
│ │ │ │ ├── jodid25519@1.0.2
│ │ │ │ ├── jsbn@0.1.0
│ │ │ │ └── tweetnacl@0.13.3
│ │ │ ├── is-typedarray@1.0.0
│ │ │ ├── isstream@0.1.2
│ │ │ ├── json-stringify-safe@5.0.1
│ │ │ ├─┬ mime-types@2.1.11
│ │ │ │ └── mime-db@1.23.0
│ │ │ ├── node-uuid@1.4.7
│ │ │ ├── oauth-sign@0.8.2
│ │ │ ├── qs@6.2.1
│ │ │ ├── stringstream@0.0.5
│ │ │ ├── tough-cookie@2.3.1
│ │ │ └── tunnel-agent@0.4.3
│ │ ├── retry@0.10.0
│ │ ├── rimraf@2.5.4
│ │ ├── semver@5.1.0
│ │ ├─┬ sha@2.0.1
│ │ │ └─┬ readable-stream@2.0.2
│ │ │ ├── core-util-is@1.0.1
│ │ │ ├── isarray@0.0.1
│ │ │ ├── process-nextick-args@1.0.3
│ │ │ ├── string_decoder@0.10.31
│ │ │ └── util-deprecate@1.0.1
│ │ ├── slide@1.1.6
│ │ ├── sorted-object@2.0.0
│ │ ├── spdx-license-ids@1.2.2
│ │ ├── strip-ansi@3.0.1
│ │ ├── tar@2.2.1
│ │ ├── text-table@0.2.0
│ │ ├── uid-number@0.0.6
│ │ ├── umask@1.1.0
│ │ ├─┬ validate-npm-package-license@3.0.1
│ │ │ ├── spdx-correct@1.0.2
│ │ │ └─┬ spdx-expression-parse@1.0.2
│ │ │ └── spdx-exceptions@1.0.4
│ │ ├─┬ validate-npm-package-name@2.2.2
│ │ │ └── builtins@0.0.7
│ │ ├─┬ which@1.2.11
│ │ │ └── isexe@1.1.2
│ │ ├── wrappy@1.0.2
│ │ └── write-file-atomic@1.1.4
│ ├── opener@1.4.1
│ ├── properties-parser@0.2.3
│ ├─┬ request@2.47.0
│ │ ├── aws-sign2@0.5.0
│ │ ├─┬ bl@0.9.5
│ │ │ └── readable-stream@1.0.34
│ │ ├── caseless@0.6.0
│ │ ├─┬ combined-stream@0.0.7
│ │ │ └── delayed-stream@0.0.5
│ │ ├── forever-agent@0.5.2
│ │ ├─┬ form-data@0.1.4
│ │ │ ├── async@0.9.2
│ │ │ └── mime@1.2.11
│ │ ├─┬ hawk@1.1.1
│ │ │ ├── boom@0.4.2
│ │ │ ├── cryptiles@0.2.2
│ │ │ ├── hoek@0.9.1
│ │ │ └── sntp@0.2.4
│ │ ├─┬ http-signature@0.10.1
│ │ │ ├── asn1@0.1.11
│ │ │ ├── assert-plus@0.1.5
│ │ │ └── ctype@0.5.3
│ │ ├── json-stringify-safe@5.0.1
│ │ ├── mime-types@1.0.2
│ │ ├── node-uuid@1.4.7
│ │ ├── oauth-sign@0.4.0
│ │ ├── qs@2.3.3
│ │ ├── stringstream@0.0.5
│ │ └── tunnel-agent@0.4.3
│ ├── semver@4.3.6
│ ├── shelljs@0.3.0
│ ├─┬ tar@1.0.2
│ │ ├── block-stream@0.0.9
│ │ └─┬ fstream@1.0.10
│ │ └─┬ rimraf@2.5.4
│ │ └── glob@7.1.1
│ ├── unorm@1.3.3
│ ├── valid-identifier@0.0.1
│ └─┬ xcode@0.8.9
│ ├── pegjs@0.9.0
│ └─┬ simple-plist@0.1.4
│ ├─┬ bplist-creator@0.0.4
│ │ └── stream-buffers@0.2.6
│ └── bplist-parser@0.0.6
├─┬ insight@0.8.4
│ ├── async@1.5.2
│ ├─┬ chalk@1.1.3
│ │ ├── ansi-styles@2.2.1
│ │ ├── escape-string-regexp@1.0.5
│ │ ├── has-ansi@2.0.0
│ │ ├── strip-ansi@3.0.1
│ │ └── supports-color@2.0.0
│ ├─┬ configstore@1.4.0
│ │ ├── graceful-fs@4.1.11
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├── uuid@2.0.3
│ │ ├─┬ write-file-atomic@1.3.1
│ │ │ ├── imurmurhash@0.1.4
│ │ │ └── slide@1.1.6
│ │ └── xdg-basedir@2.0.0
│ ├─┬ inquirer@0.10.1
│ │ ├── ansi-escapes@1.4.0
│ │ ├── ansi-regex@2.1.1
│ │ ├─┬ cli-cursor@1.0.2
│ │ │ └─┬ restore-cursor@1.0.1
│ │ │ ├── exit-hook@1.1.1
│ │ │ └── onetime@1.1.0
│ │ ├── cli-width@1.1.1
│ │ ├── figures@1.7.0
│ │ ├── lodash@3.10.1
│ │ ├─┬ readline2@1.0.1
│ │ │ ├── code-point-at@1.1.0
│ │ │ ├── is-fullwidth-code-point@1.0.0
│ │ │ └── mute-stream@0.0.5
│ │ ├── run-async@0.1.0
│ │ ├── rx-lite@3.1.2
│ │ └── through@2.3.8
│ ├─┬ lodash.debounce@3.1.1
│ │ └── lodash._getnative@3.9.1
│ ├── object-assign@4.1.1
│ ├─┬ os-name@1.0.3
│ │ ├─┬ osx-release@1.1.0
│ │ │ └── minimist@1.2.0
│ │ └── win-release@1.1.1
│ ├─┬ request@2.79.0
│ │ ├── aws-sign2@0.6.0
│ │ ├── aws4@1.5.0
│ │ ├── caseless@0.11.0
│ │ ├─┬ combined-stream@1.0.5
│ │ │ └── delayed-stream@1.0.0
│ │ ├── extend@3.0.0
│ │ ├── forever-agent@0.6.1
│ │ ├─┬ form-data@2.1.2
│ │ │ └── asynckit@0.4.0
│ │ ├─┬ har-validator@2.0.6
│ │ │ ├─┬ commander@2.9.0
│ │ │ │ └── graceful-readlink@1.0.1
│ │ │ ├─┬ is-my-json-valid@2.15.0
│ │ │ │ ├── generate-function@2.0.0
│ │ │ │ ├─┬ generate-object-property@1.2.0
│ │ │ │ │ └── is-property@1.0.2
│ │ │ │ └── jsonpointer@4.0.1
│ │ │ └─┬ pinkie-promise@2.0.1
│ │ │ └── pinkie@2.0.4
│ │ ├─┬ hawk@3.1.3
│ │ │ ├── boom@2.10.1
│ │ │ ├── cryptiles@2.0.5
│ │ │ ├── hoek@2.16.3
│ │ │ └── sntp@1.0.9
│ │ ├─┬ http-signature@1.1.1
│ │ │ ├── assert-plus@0.2.0
│ │ │ ├─┬ jsprim@1.3.1
│ │ │ │ ├── extsprintf@1.0.2
│ │ │ │ ├── json-schema@0.2.3
│ │ │ │ └── verror@1.3.6
│ │ │ └─┬ sshpk@1.10.2
│ │ │ ├── asn1@0.2.3
│ │ │ ├── assert-plus@1.0.0
│ │ │ ├── bcrypt-pbkdf@1.0.0
│ │ │ ├─┬ dashdash@1.14.1
│ │ │ │ └── assert-plus@1.0.0
│ │ │ ├── ecc-jsbn@0.1.1
│ │ │ ├─┬ getpass@0.1.6
│ │ │ │ └── assert-plus@1.0.0
│ │ │ ├── jodid25519@1.0.2
│ │ │ ├── jsbn@0.1.0
│ │ │ └── tweetnacl@0.14.5
│ │ ├── is-typedarray@1.0.0
│ │ ├── isstream@0.1.2
│ │ ├─┬ mime-types@2.1.14
│ │ │ └── mime-db@1.26.0
│ │ ├── oauth-sign@0.8.2
│ │ └── qs@6.3.0
│ ├─┬ tough-cookie@2.3.2
│ │ └── punycode@1.4.1
│ └── uuid@3.0.1
├─┬ nopt@3.0.1
│ └── abbrev@1.0.9
├── q@1.0.1
├── underscore@1.7.0
└─┬ update-notifier@0.5.0
├── is-npm@1.0.0
├─┬ latest-version@1.0.1
│ └─┬ package-json@1.2.0
│ ├─┬ got@3.3.1
│ │ ├─┬ duplexify@3.5.0
│ │ │ ├─┬ end-of-stream@1.0.0
│ │ │ │ └── once@1.3.3
│ │ │ └── stream-shift@1.0.0
│ │ ├── infinity-agent@2.0.3
│ │ ├── is-redirect@1.0.0
│ │ ├── is-stream@1.1.0
│ │ ├── lowercase-keys@1.0.0
│ │ ├── nested-error-stacks@1.0.2
│ │ ├── object-assign@3.0.0
│ │ ├── prepend-http@1.0.4
│ │ ├── read-all-stream@3.1.0
│ │ └── timed-out@2.0.0
│ └─┬ registry-url@3.1.0
│ └─┬ rc@1.1.6
│ ├── deep-extend@0.4.1
│ ├── ini@1.3.4
│ └── strip-json-comments@1.0.4
├─┬ repeating@1.1.3
│ └─┬ is-finite@1.0.2
│ └── number-is-nan@1.0.1
├── semver-diff@2.1.0
└── string-length@1.0.1