Commit Graph

188 Commits (2426a0c4b27313e1fa8161c31c7f7dbe1ca17b08)

Author SHA1 Message Date
Jordan Harband 43402df896
[Fix] `nvm_supports_source_options`: work around a bug in bash 3.2
See https://github.com/creationix/nvm/issues/1978#issuecomment-453480231

Fixes #1978.
2019-02-26 16:53:36 -08:00
Jordan Harband 9daf26f0a0
[Tests] `nvm_command_info`: make error output more helpful 2019-02-25 13:17:10 -08:00
Jordan Harband db19450caa
[Fix] `default_packages`: work when the file lacks a trailing newline
Fixes #1995.
2019-02-02 13:45:11 -08:00
Jordan Harband 5c117e6ab3
[Refactor] extract “get default packages” logic to `nvm_get_default_packages` 2019-02-01 13:27:18 -08:00
Jordan Harband c1150c41ab
[Tests] avoid using shopt in zsh 2018-11-26 11:18:11 -08:00
Xandor Schiefer 90cfb5d771
[Fix] `use`: Prepend instead of changing if shadowed by system dirs (fixes #1652) 2018-06-08 15:23:02 +02:00
Joshua Li a5f42d9cea
[Tests] update most mkdirs to use make_fake_{node,iojs} 2018-06-13 10:38:19 -07:00
Jordan Harband c465a83518
[Tests] `nvm ls-remote`: add test for overly-large tab file 2018-05-23 23:48:04 -04:00
Jordan Harband 38b32c27f3
[Tests] update mock data 2018-05-23 23:48:50 -04:00
Peter Dave Hello 113d807e5a
[New] Support `--no-progress` for `nvm install`
Closes #1079.
2017-03-10 01:07:16 +08:00
Peter Dave Hello d5dacdf80f
[Fix] `nvm debug`: Fix sed syntax error in nvm_command_info() 2018-04-17 18:09:47 +08:00
Jordan Harband 918a39a0d0
[Tests] update mocks 2018-04-09 23:29:37 -07:00
Josh Soref 2859a19bbd
[Docs] fix spelling 2018-03-06 04:38:01 +00:00
Peter Dave Hello 2cd2c0f72e Remove useless trailing newlines 2018-02-26 01:01:30 +08:00
Jordan Harband 4846d57c69
`nvm use`: perfect pre-npm-config env var checking 2017-12-05 00:00:18 -08:00
mail6543210 9352f6913a Add symbolic link for printf in case of command-not-found 2017-11-22 02:01:38 +08:00
Xandor Schiefer 334897ae39
Preserve PATH locations order when changing versions 2016-11-14 19:19:39 +02:00
Jordan Harband cbdd41eee2
[New] `nvm install`: add `--latest-npm` option to automatically try to upgrade to the latest working version of `npm`.
- also add `nvm install-latest-npm` top-level command
2017-06-11 14:15:04 -07:00
J Huang 7965796569
[Fix] enable curl compression only on curl >=7.21.0
curl < 7.21.0 will output redirection reponse body to the output when compressed, which will cause tarball is prepended with redirection reponse body and leads to checksum mismatch.

 - add `nvm_curl_use_compression` and `nvm_curl_version`
2017-06-10 15:25:26 +08:00
Weston Ganger 7f3145bc98
[New] add support for `$NVM_DIR/default-packages` file 2017-03-28 09:37:14 -07:00
Jordan Harband 4249b1c2bb
[Fix] `nvm_ensure_version_installed`: add `system` support.
Relates to #1238
2017-03-31 00:52:56 -07:00
Jordan Harband b9f9977cdd
[Fix] `nvm install -s`: npm detection
- add `nvm_use_if_needed`
 - add `nvm_install_npm_if_needed`
2017-03-27 15:00:50 -07:00
Peter Dave Hello 7b253c8c0a
[New] Supercharge `nvm debug` output
Try to get shell version, OS and its version, curl/wget/git version.
2017-03-23 14:48:00 +08:00
Peter Dave Hello 973dfc6d4a [New] Dynamically detect if curl supports `--compressed` 2017-03-23 16:51:20 +08:00
Peter Dave Hello fa3631fee3
[Refactor] Add `nvm_has_non_aliased` 2017-03-20 16:57:26 +08:00
Matthew McEachen 1e6b5ce039
[Fix] stop setting mirror env vars unnecessarily
Fixes #1429
2017-03-16 23:54:55 -07:00
Peter Dave Hello 8e6201b5b1
[Tests] Update test mocks 2017-03-10 18:02:47 +08:00
Peter Dave Hello 65acb403ce
Add `nvm_clang_version` to ensure clang version > 3.5 2016-11-14 12:28:41 +08:00
Peter Dave Hello f7763c8ba9
[Tests] die() in tests should quote "$@" for echo 2016-11-07 03:34:36 +08:00
Qiangjun Ran cadbbced20
[Tests] Replace all dots with backslash dots 2016-11-03 23:44:59 -07:00
Jordan Harband 76fe1ab1c6
[Fix] ensure that `lts/*` points to boron/latest, not argon/earliest.
- update test mocks
 - fix tests for Boron release

Fixes #1268.
2016-10-18 11:33:07 -07:00
Jordan Harband a29d0e49dc
[Tests] improve + update test mocks 2016-09-28 22:42:48 -07:00
Peter Dave Hello 702d52f23b update test mocks 2016-09-29 10:27:24 +08:00
Jordan Harband d12ccb130d
[Fix] `zsh`: when `warncreateglobal` is set, this line warns for some reason. Use `env` to suppress it.
Fixes #1236.
2016-09-18 13:39:50 -07:00
Jordan Harband acbdd9a3fa
[Fix] Fix trailing whitespace in `nvm ls-remote` 2016-09-18 12:26:06 -07:00
Jordan Harband f60edbb6b4
[Tests] update test mocks 2016-09-18 11:58:18 -07:00
Jordan Harband 57c2004ab2
[Breaking] adapt `nvm_install_node_binary` to `nvm_install_binary`, eg, io.js too.
- `nvm_get_checksum` now accepts 5 args (from 3): flavor (node/iojs), type (binary/source), version, slug, compression (xz/gz)
 - `nvm_install_binary` accepts 3 args (from 2): flavor (node/iojs), kind (std), version
 - remove `nvm_install_iojs_binary`
2016-09-02 23:43:46 -07:00
Jordan Harband eba50de75e
Add `nvm_compare_checksum`, `nvm_compute_checksum`, and `nvm_get_checksum` 2016-09-02 23:43:45 -07:00
Jordan Harband 1ac7e236b1 [New] Add `lts/foo` support to remote commands.
- `nvm ls-remote`
 - `nvm version-remote`
 - `nvm install`
 - `nvm uninstall`

Document existing support:
 - `nvm use`
 - `nvm exec`
 - `nvm run`

Fixes #1208.
2016-08-23 10:58:00 -07:00
Jordan Harband d3d768adcd
Add `nvm_get_mirror` 2016-08-10 23:09:54 -07:00
Jordan Harband 9c65197b22
Add `nvm_get_checksum_alg` 2016-08-09 22:24:09 -07:00
Julien Gilli a32b914bab Fix nvm on SmartOS setups using 64 bits pkgsrc repository
On SmartOS setups using 64 bits pkgsrc repositories, `nvm_get_arch`
would not handle pkg_info's output properly.

This would result in nvm not being to install any node binary when
running on SmartOS setups using a 64 bits pkgsrc repository.

This change fixes this problem, and fixes the tests suite on similar
setups.
2016-07-29 14:08:31 -07:00
Jordan Harband 4c010f442e
[Tests] add tests for auto-creation of LTS aliases on `nvm_ls_remote` 2016-07-02 21:21:16 -07:00
Jordan Harband e6606458f7
[Tests] add `nvm version-remote` unit tests. 2016-06-26 13:01:12 -07:00
Jordan Harband d2744014df
[Tests] add some basic `nvm ls-remote` unit tests. 2016-06-25 17:00:19 -07:00
Jordan Harband 4699657e98
Add `--lts=argon` etc, so the LTS line can be targeted. 2016-04-25 00:55:35 -07:00
Jordan Harband 1d908d8256
Add `--lts` support to `nvm version-remote` 2016-04-24 16:26:32 -07:00
Jordan Harband ae07c3c345
Add support for `nvm ls-remote --lts` 2016-04-23 23:47:25 -07:00
Jordan Harband 865d2fe3d6
Include LTS version in `nvm_ls_remote` output. 2016-04-17 23:39:27 -07:00
Quildreen Motta 730b253174 Updates tests for the new output messages 2016-07-05 21:40:45 -03:00
Peter Dave Hello 9e09c30621 update nodejs version list 2016-07-01 23:39:54 +08:00
Jordan Harband 73aa35f508
[Tests] use `$NVM_DIR` instead of relative paths 2016-06-26 15:52:26 -07:00
Jordan Harband ce60b6c44a
[Tests] update test mocks 2016-06-25 17:03:46 -07:00
Jordan Harband eeaddf9ab0
Don’t restrict colors to TTYs.
This restriction prevents subcommands from producing colors and passing them up the tree to the actual TTY.
2016-05-08 21:24:24 -07:00
Jordan Harband 8a138d98ed
[Refactor] Use `awk` to improve version comparison performance 2016-05-05 01:27:17 -07:00
Jordan Harband 1c3f8da6c3
`nvm alias`: factor out alias creation to `nvm_make_alias` 2016-04-27 14:23:34 -07:00
Jordan Harband 2d50606a78
[Tests] flesh out `nvm_print_default_alias` tests 2016-04-30 00:38:49 -07:00
Jordan Harband 379d079c30
[Tests] Ensure color codes are stripped in alias tests. 2016-04-27 17:05:33 -07:00
Jordan Harband ec54c925c1
[Tests] use mocks for `nvm_ls_remote`/`nvm_ls_remote_iojs` tests. 2016-04-27 01:25:56 -07:00
Jordan Harband 4df2a7fca9
`nvm alias`: factor out alias printing logic to functions 2016-04-26 22:29:55 -07:00
Jordan Harband 96afff7af2
[Tests] Set up “mocks” directory, and updater script. 2016-04-19 22:49:49 -07:00
Jordan Harband ac18d01854
[Tests] update index.tab data mocks. 2016-04-18 20:43:08 -07:00
Jordan Harband 731c2f3f70 Add `nvm_get_minor_version` 2016-02-04 11:16:09 -08:00
Jordan Harband de64a2d95f [Fix] `nvm_format_version` should only return 3 version groups 2016-02-06 22:34:49 -08:00
Jordan Harband f279837d5c [Refactor] fix some bugs in `nvm_is_natural_num`, add unit tests. 2015-12-27 13:15:53 -08:00
Jordan Harband 32d184099c [Tests] fix cleanup in nvm_supports_xz unit test 2015-12-27 13:18:28 -08:00
Peter Dave Hello ec9232bb06 update nodejs.org-dist-index.tab and related test
Src: https://iojs.org/dist/index.tab
2015-12-21 20:50:54 +08:00
Jordan Harband 149e5d483d Use real snapshot of iojs.org data for `nvm_ls_remote_iojs` tests. 2015-10-17 12:05:44 -07:00
Jordan Harband 114f27a075 Use `nvm_ls_remote_index_tab` for listing nodejs.org versions.
Enabled by https://github.com/nodejs/build/issues/218, unblocks #870.
2015-10-17 10:34:42 -07:00
Johan Bergström b8e4917646 Use `xz` tarballs if available
Saves us ~25% bandwidth while downloading the payload. This only applies
to hosts that has the `xz` binary and attempts to use iojs 2.3.2 or newer
(this includes nodejs 4.0+ as well). Older targets are unaffected.
2015-10-08 16:45:26 +11:00
Julien Gilli 2d692d9d78 Fix support for installing node on SmartOS
uname on SmartOS cannot be used to guess if 32 and/or 64 bits binaries
are supported, and its output is different than other uname commands on
other operating systems.

This change uses pkg_info to determine what types of binaries pkgsrc
would install. If pkg_info fails to run or is not present, this change
falls back to using isainfo -n, which determines what the kernel
supports.

It allows users to install node binaries on Solaris derivatives. io.js
can also be installed on Solaris derivatives starting with version
v3.3.1.
2015-09-30 22:10:29 -07:00
Jordan Harband 8ee6f30352 Add support for `$NPM_CONFIG_PREFIX` to `nvm_die_on_prefix`.
Fixes #606.
2015-09-23 06:25:55 -07:00
Jordan Harband 1458de7293 Ensure that if `npm config get prefix` is set to something outside `nvm`, that `nvm use` refuses to work.
Fixes #606.
2015-09-21 04:47:37 -07:00
Jordan Harband a1def71062 Add `nvm_die_on_prefix` 2015-09-21 04:47:30 -07:00
Jordan Harband e3528b0d9e Fix `nvm_ensure_version_installed iojs` to not print an empty string for the version. 2015-09-11 10:42:47 +09:00
Jordan Harband f34fef96d8 Add `nvm_is_merged_node_version` 2015-08-28 00:51:18 -07:00
Jordan Harband 8746d63041 Ensure after node v4.0 is released, `stable` will simply refer to the latest node. 2015-08-22 09:45:49 -07:00
Jordan Harband cbf0f12aac Create `nvm_print_npm_version` and use that when printing the `npm` version. 2015-04-12 10:59:17 -07:00
Jordan Harband c34502ebc2 `nvm_num_version_groups` should report 0 when given just a v or a . 2015-04-06 11:10:43 -07:00
Jordan Harband 3d764e6833 Add `nvm_ensure_default_set` 2015-04-05 16:49:29 -07:00
Jordan Harband 82393f5b36 Making sure this test passes whether a system node is installed or not. 2015-04-04 23:49:43 -07:00
Jordan Harband 0d9329435c Create `nvm_ensure_version_installed` 2015-02-22 02:26:27 -08:00
Jordan Harband a0d04d0b6b Preventing an unalias error in tests. 2015-02-22 02:21:00 -08:00
Jordan Harband 12ca8f2607 Add `nvm_is_alias` unit tests.
Fixes 670.
2015-02-20 13:59:08 -08:00
Jordan Harband 3190effedd Add support for `node` and `iojs` implicit aliases. 2015-02-10 23:43:47 -08:00
Jordan Harband e1b7496cf0 Add nvm_is_valid_version 2015-02-01 13:01:40 -08:00
Jordan Harband 24c60e4e51 Fix a bug in nvm_remote_version that was breaking `nvm install stable`/`nvm install unstable`.
Fixes #630.
2015-01-23 12:09:13 -08:00
Jordan Harband 7243bd77d3 Refactor and create `nvm_remote_versions` and `nvm_remote_version`.
Fixes #620 - an oh-my-zsh issue where `nvm install v1` didn't work.
2015-01-21 20:48:25 -08:00
Jordan Harband f1f11e3b7a Ensure `nvm_version node` and `nvm_version node-` report the latest stable node version. 2015-01-19 10:05:36 -08:00
Jordan Harband dbeeb683da Fix `nvm_strip_path` for >= v0.12.0 node, and all io.js versions. 2015-01-18 23:55:26 -08:00
Jordan Harband 39a75e616d Add support for `nvm use node`, `nvm use iojs`, `nvm ls node`, and `nvm ls iojs`
Also add `nvm_version node` and `nvm_version iojs` support.
2015-01-18 20:45:02 -06:00
Jordan Harband 3cf68dc18d Add `nvm_has_system_iojs` 2015-01-18 20:55:48 -06:00
Jordan Harband 58ab2c3128 Add iojs support to `nvm_remote_version` 2015-01-13 02:22:22 -08:00
Jordan Harband d70f0357f5 Add `nvm_ls_remote_iojs` and `nvm ls-remote` support for iojs. 2015-01-13 02:14:29 -08:00
Jordan Harband 5c336a7ccb Make `nvm_print_versions` support iojs via `nvm_version_path`. 2015-01-13 00:49:31 -08:00
Jordan Harband d28703f9e0 Update `nvm_ensure_version_prefix` to support `iojs`-prefixed version strings. 2015-01-12 18:15:51 -08:00
Jordan Harband b7983842aa Add `nvm_add_iojs_prefix` 2015-01-13 00:57:32 -08:00
Jordan Harband c12104cecd Add `nvm_strip_iojs_prefix` 2015-01-12 18:15:25 -08:00
Jordan Harband 98e0655198 Add `nvm_is_iojs_version` 2015-01-12 18:15:15 -08:00
Jordan Harband c46748a379 Add `nvm_node_prefix` 2015-01-13 14:16:35 -08:00