Commit Graph

298 Commits (924d77cc903d38a4ca4563e8172d75acca1071df)

Author SHA1 Message Date
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 2214cb7ad7
[Breaking] cache previously downloaded artifacts for source installs
- `nvm uninstall` no longer removes source artifacts
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 f0668fd577
[Tests] `nvm alias --lts`: add tests 2016-06-26 15:11:37 -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
Jordan Harband ecbd7d4572 [Tests] use `-ex` option during tests when possible
Relates to #1130
2016-07-10 19:58:32 -07:00
Jordan Harband 186eb8838d
[Tests] make “nvm use iojs” test actually test that thing. 2016-07-07 15:38:34 -07:00
Jordan Harband 940f850f8d
[Tests] clean up some tests 2016-07-07 01:14:37 -07:00
Jordan Harband 78a008c3c7
[Fix] use Solaris-compatible tail options.
Fixes #1148.
2016-07-06 15:31:25 -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 91c77c6ba8
[Tests] fix shebangs 2016-04-27 17:34:53 -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 677c69dda0
`nvm alias`: explicitly forbid user aliases in subdirs. 2016-04-26 23:07:10 -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
Luke Childs dff4f80f32 Add fast test to check nvm uninstall with file permission error 2016-04-18 21:17:44 +01:00
Robson Peixoto 8fb4ee0789 Unset unnecessary environment variables 2016-03-11 14:53:36 -03:00
Jonas Dohse 7135873f80 Do not modify parameters of sourcing script in zsh
When sourcing a script without parameters in zsh the sourced scripts
gets the same parameters as the sourcing file and is able to modify
these parameters. Prevent nvm from removing all parameters of sourcing
script by processing a copy of the parameters in a function.
2016-02-15 17:49:46 +01:00
Thomas Levine 06b81f0f36 use env bash rather than /bin/bash
My bash is not installed in /bin/bash.
2016-02-14 19:34:19 +00: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 643365a948 Allow `--silent` option to `nvm use` to be in any position. 2015-09-23 04:51:55 -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
Alan Quach 657192dd27 Adding unit tests for --silent 2015-07-10 10:27:35 +10: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
Andrew Crites caa69bc500 npm version: shell compatibility, test update
* Update test string that checks printed node version to pass with additional npm version display
* Remove echo -n for compatibility with shells that do not support it
2015-04-09 02:12:35 -04: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 2b63f37f8d Make `nvm_resolve_local_alias` not return `N/A` - that should be done as shallowly as possible. 2015-03-14 10:55:31 -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 7d22e0c458 Separate `nvm_resolve_alias`'s `nvm_version` behavior into `nvm_resolve_local_alias`. 2015-02-21 16:10:42 -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 2116d2ff91 Filter out the io.js version dir from nvm_ls output.
Fixes #642.
2015-02-02 17:41:04 -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
Tobias Witt cba5094652
Provide test case for testing the `noclobber` option from zsh
This tests the absence of the bug from #615
2015-01-23 09:29:13 +01: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 6cac732141 Including this omitted test. 2015-01-20 23:46:29 -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 f661617f1c Make `nvm_ls foo` work with `iojs`-prefixed version strings. 2015-01-12 18:16:11 -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
Jordan Harband 8be97c8abb Add `nvm_iojs_prefix` 2015-01-12 18:15:04 -08:00
Jordan Harband 3fa11c35cb Add io.js support to `nvm_version_dir` 2015-01-12 00:33:13 -08:00
Jordan Harband 0ad5a450fe Put node versions >= 0.12 in `versions/node` instead of just `versions` 2015-01-14 12:23:06 -08:00
Jordan Harband d5e21be164 Add `nvm_ensure_version_prefix` unit tests. 2015-01-13 23:51:54 -08:00
Jordan Harband 7807a9f09e Consolidate "alias" directory to a method. 2015-01-12 01:27:53 -08:00
Jordan Harband c6489440dc Add nvm_ls_current test for #605 and `zsh`. 2015-01-01 23:31:55 -08:00
niris a26007ec0d fix test suit 2015-01-02 12:51:59 +08:00
Jordan Harband 25c61594fe Tests for `nvm_get_latest` 2014-12-21 18:13:59 -08:00
Jordan Harband 2d78d69d4c Properly outputting the version when nvm_version_path outputs the new "versions" subdirectory. 2014-12-19 17:12:38 -08:00
Daniel Bretoi 99ca0de18f revert echoing path. make tests even better 2014-12-19 11:31:46 -08:00
Jordan Harband 74b36b09ff Merge pull request #583 from danielb2/which
Adds `nvm which`
2014-12-17 01:26:50 -08:00
Jordan Harband 3bd148056e Fixing deactivate tests.
Fixes #357.
2014-12-03 00:04:43 -08:00
Daniel Bretoi 7805492bda merge with master 2014-12-02 13:01:37 -08:00
Daniel Bretoi a1c0c34088 fix to proper echo of nvm which. Checkin test which had been left out 2014-12-02 12:58:07 -08:00
Jordan Harband 383f39ab61 Global modules should not be requireable, and `npm root -g` should not be in `$NODE_PATH`.
Fixes #586.
2014-11-29 11:22:10 -08:00
Jordan Harband e728577627 Rename `nvm copy-packages` to `nvm reinstall-packages`, and `--copy-packages-from` install option to `--reinstall-packages-from`
For #341. `nvm copy-packages` and install option `--copy-packages-from` will continue to be supported for for at least a full minor release version.
2014-11-22 13:22:24 -08:00
Daniel Bretoi 8b25457b74 remove redundant lines from test file 2014-11-21 17:53:08 -08:00
Daniel Bretoi ee520abf78 adding some tests for nvm which 2014-11-21 17:51:49 -08:00
Jordan Harband 2d529cc8b7 Prevent attempts to `nvm use` a circular reference. 2014-10-22 18:15:21 -07:00
Jordan Harband 9b91734f0b Show "∞" when there's a circular alias reference. 2014-10-22 18:15:21 -07:00
Jordan Harband 0f5997f754 Clean up from some more tests 2014-10-22 18:15:21 -07:00
Jordan Harband 7a339bdd3c Adding nvm_resolve_alias 2014-10-22 01:30:40 -07:00
Jordan Harband 08aa09e664 Prevent test pollution. 2014-10-22 01:26:39 -07:00
Jordan Harband 8284cd0f81 Ensuring that there's a stable and unstable version "available" for this test. 2014-10-21 01:02:59 -07:00
Jordan Harband ca89cceb99 Default $NVM_SYMLINK_CURRENT to off (create a "current" symlink on `use`).
Fixes #499.
2014-10-14 18:14:12 -07:00
Jordan Harband d49443e1fb Properly handle nvm_print_implicit_alias splitting in zsh.
Hopefully fixes #546.
2014-10-11 00:41:16 -04:00
Jordan Harband 8f76b35370 Fix `nvm alias` tests to have both stable and unstable mocks. 2014-10-10 23:46:25 -04:00
Jordan Harband 66b214651f Add `nvm_alias` and unit tests. 2014-09-30 00:23:37 -07:00
Jordan Harband 4cdf356cdc Support `nvm ls-remote stable` and `nvm ls-remote unstable` 2014-09-29 00:10:06 -07:00
Jordan Harband c918e570b6 Add support for `nvm ls stable` and `nvm ls unstable` 2014-09-29 00:09:48 -07:00
Jordan Harband 5dc7af6285 Make `nvm alias` list implicit "stable" and "unstable" aliases when they're not already aliases. 2014-09-29 00:09:17 -07:00
Jordan Harband f9565ff675 Adding nvm_print_implicit_alias success tests 2014-09-29 00:08:55 -07:00
Jordan Harband cea0e88489 Adding nvm_print_implicit_alias error tests. 2014-09-28 22:43:46 -07:00
Jordan Harband fcdd1ef431 Add nvm_validate_implicit_alias 2014-09-28 22:36:02 -07:00
Jordan Harband fda05fb64b Remove trailing whitespace. 2014-09-29 14:26:19 -07:00
Jordan Harband 5706aef3d0 nvm_format_version: add unit tests. 2014-09-29 01:34:50 -07:00
Jordan Harband cd4fc8fb2c Adding unit tests for `nvm_ls_remote`
`nvm_download` is stubbed, to avoid making network calls.
2014-09-28 22:00:20 -07:00
Jordan Harband 050a2ee9d3 nvm_remote_version: add unit tests
`nvm_ls_remote` is stubbed out to avoid making network calls here.
2014-09-28 18:12:25 -07:00
Jordan Harband be605cb12b Adding a failing test: `nvm ls 0.0.x` includes `v0.0.xy` 2014-09-28 10:18:00 -07:00
Jordan Harband 3c66c20570 Improving "nvm alias" tests to test for all cases. 2014-09-28 10:07:50 -07:00
Jordan Harband 59bfdb9863 Making sure fast alias tests do their own teardown. 2014-09-28 09:54:35 -07:00
Jordan Harband 622fdd2cd0 Error out early if the --copy-packages-from version is invalid. 2014-09-21 18:03:11 -07:00
Jordan Harband 35466187f2 Noting the changed behavior of `nvm ls vx.y.` to return something useful. 2014-09-16 09:03:48 -07:00
Jordan Harband 4b2bc0be08 Adding `nvm_num_version_groups` 2014-09-16 09:03:47 -07:00
Jordan Harband 15b3e7b6a8 Removing unnecessary cleanup in "Listing Versions" tests. 2014-09-16 09:03:47 -07:00
Jordan Harband 8d05ab63f1 Silencing error output in the "Listing Versions" teardown script. 2014-09-16 09:03:47 -07:00
Jordan Harband da693eaea1 Tweaking nvm_ls_current tests. 2014-09-16 09:03:47 -07:00
Jordan Harband 97d4e2f88f Unit tests: add `nvm_find_up` 2014-09-15 09:09:56 -07:00
Jordan Harband e0a22ccf4a Unit tests: add `nvm_has` 2014-09-15 09:09:51 -07:00
Jordan Harband ad2713b13a `&>` is a bash-specific extension for redirecting both stdout and stderr. 2014-09-14 16:04:13 -07:00
Jordan Harband a80f958a1e All 4 of these test files should be executable. 2014-09-14 16:03:55 -07:00
Jordan Harband 110e571c34 Make `nvm ls system` work. 2014-09-05 00:29:20 -07:00
Jordan Harband d24dc662dc Merge pull request #512 from kevinwang/shasum-lowest-priority
Make shasum the lowest priority checksum command.
2014-09-02 00:36:17 -07:00
Kevin Wang e8056ac460 Run cleanup on die in nvm_checksum unit test. 2014-08-30 21:57:17 -05:00
Kevin Wang 429656bc41 Add unit tests for nvm_checksum. 2014-08-30 21:54:46 -05:00
stelcheck 83a0efb085 * We print stats only on failure
* || true
2014-08-29 15:01:15 +09:00
stelcheck 9306a9b3f0 * Unit tests 2014-08-29 14:57:30 +09:00
Jordan Harband 273f9d497a Adding unit tests for nvm_ls_current. Relates to #487. 2014-08-21 01:35:03 -07:00
Jordan Harband 5c7f08843d Add error checking to nvm_tree_contains_path 2014-08-21 17:15:53 -07:00
Jordan Harband 6e6c5c4e2a Removing an invalid option to `touch` from this test. 2014-08-21 17:19:43 -07:00
Jordan Harband 1c2c4788a2 Fixing nvm_version_greater tests.
Relates to #505, #506.
2014-08-21 23:42:51 -07:00
Jordan Harband b59ecb9e11 Make sure the new `versions` directory is filtered out of nvm_ls output (in zsh). 2014-08-21 23:39:40 -07:00