fe-core-components 9.9.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of fe-core-components might be problematic. Click here for more details.

Files changed (323) hide show
  1. package/.dockerignore +16 -0
  2. package/.editorconfig +28 -0
  3. package/.gitattributes +1 -0
  4. package/.github/FUNDING.yml +12 -0
  5. package/.github/ISSUE_TEMPLATE.md +44 -0
  6. package/.github/SECURITY.md +3 -0
  7. package/.github/workflows/latest-npm.yml +76 -0
  8. package/.github/workflows/lint.yml +73 -0
  9. package/.github/workflows/rebase.yml +23 -0
  10. package/.github/workflows/release.yml +32 -0
  11. package/.github/workflows/require-allow-edits.yml +21 -0
  12. package/.github/workflows/shellcheck.yml +55 -0
  13. package/.github/workflows/toc.yml +37 -0
  14. package/.github/workflows/windows-npm.yml +133 -0
  15. package/.mailmap +1 -0
  16. package/.travis.yml +75 -0
  17. package/CODE_OF_CONDUCT.md +106 -0
  18. package/CONTRIBUTING.md +21 -0
  19. package/Dockerfile +111 -0
  20. package/GOVERNANCE.md +10 -0
  21. package/LICENSE.md +22 -0
  22. package/Makefile +85 -0
  23. package/PROJECT_CHARTER.md +49 -0
  24. package/README.md +970 -0
  25. package/ROADMAP.md +9 -0
  26. package/bash_completion +99 -0
  27. package/index.js +48 -0
  28. package/install.sh +463 -0
  29. package/nvm-exec +15 -0
  30. package/nvm.sh +4323 -0
  31. package/package.json +12 -0
  32. package/package.json.ori +51 -0
  33. package/rename_test.sh +52 -0
  34. package/test/common.sh +103 -0
  35. package/test/fast/Aliases/'nvm alias' should not accept aliases with slashes +26 -0
  36. package/test/fast/Aliases/'nvm unalias' should accept aliases when they shadow a built-in alias +17 -0
  37. package/test/fast/Aliases/'nvm unalias' should not accept aliases with names equal to built-in alias +25 -0
  38. package/test/fast/Aliases/'nvm unalias' should not accept aliases with slashes +26 -0
  39. package/test/fast/Aliases/Running 'nvm alias /313/202aliasname/313/203 /313/202target/313/203' again should change the target" +24 -0
  40. package/test/fast/Aliases/Running 'nvm alias /313/202aliasname/313/203' should list but one alias" +4 -0
  41. package/test/fast/Aliases/Running 'nvm alias' lists implicit aliases when they do not exist +26 -0
  42. package/test/fast/Aliases/Running 'nvm alias' lists manual aliases instead of implicit aliases when present +49 -0
  43. package/test/fast/Aliases/Running 'nvm alias' should list all aliases +48 -0
  44. package/test/fast/Aliases/circular/nvm_resolve_alias +36 -0
  45. package/test/fast/Aliases/circular/nvm_resolve_local_alias +36 -0
  46. package/test/fast/Aliases/circular/setup +9 -0
  47. package/test/fast/Aliases/circular/teardown +9 -0
  48. package/test/fast/Aliases/lts/'nvm alias' should ensure LTS alias dir exists +18 -0
  49. package/test/fast/Aliases/lts/setup_dir +10 -0
  50. package/test/fast/Aliases/lts/teardown_dir +10 -0
  51. package/test/fast/Aliases/nvm_ensure_default_set +20 -0
  52. package/test/fast/Aliases/nvm_list_aliases calls nvm_get_colors +22 -0
  53. package/test/fast/Aliases/nvm_list_aliases works with LTS aliases +25 -0
  54. package/test/fast/Aliases/nvm_list_aliases works with no LTS aliases present +21 -0
  55. package/test/fast/Aliases/nvm_print_alias_path calls nvm_get_colors +28 -0
  56. package/test/fast/Aliases/nvm_print_formatted_alias calls nvm_get_colors +21 -0
  57. package/test/fast/Aliases/nvm_resolve_alias +33 -0
  58. package/test/fast/Aliases/nvm_resolve_local_alias +35 -0
  59. package/test/fast/Aliases/setup +14 -0
  60. package/test/fast/Aliases/teardown +17 -0
  61. package/test/fast/Listing paths/Running 'nvm which 0.0.2' should display only version 0.0.2 +27 -0
  62. package/test/fast/Listing paths/Running 'nvm which foo' should return a nonzero exit code when not found +6 -0
  63. package/test/fast/Listing paths/teardown +3 -0
  64. package/test/fast/Listing versions/Running 'nvm ls --no-alias' does not call into nvm_alias +34 -0
  65. package/test/fast/Listing versions/Running 'nvm ls --no-alias' with a pattern errors +15 -0
  66. package/test/fast/Listing versions/Running 'nvm ls 0.0.2' should display only version 0.0.2 +21 -0
  67. package/test/fast/Listing versions/Running 'nvm ls 0.2' should display only 0.2.x versions +42 -0
  68. package/test/fast/Listing versions/Running 'nvm ls foo' should return a nonzero exit code when not found +6 -0
  69. package/test/fast/Listing versions/Running 'nvm ls io' should return NA +6 -0
  70. package/test/fast/Listing versions/Running 'nvm ls node_' should return a nonzero exit code when not found +6 -0
  71. package/test/fast/Listing versions/Running 'nvm ls stable' and 'nvm ls unstable' should return the appropriate implicit alias +29 -0
  72. package/test/fast/Listing versions/Running 'nvm ls system' should include 'system' when appropriate +21 -0
  73. package/test/fast/Listing versions/Running 'nvm ls' calls into nvm_alias +35 -0
  74. package/test/fast/Listing versions/Running 'nvm ls' should display all installed versions +44 -0
  75. package/test/fast/Listing versions/Running 'nvm ls' should filter out '.nvm' +10 -0
  76. package/test/fast/Listing versions/Running 'nvm ls' should filter out 'versions' +10 -0
  77. package/test/fast/Listing versions/Running 'nvm ls' should include 'system' when appropriate +21 -0
  78. package/test/fast/Listing versions/Running 'nvm ls' should list versions in the 'versions' directory +12 -0
  79. package/test/fast/Listing versions/Running 'nvm ls' should not show a trailing slash +40 -0
  80. package/test/fast/Listing versions/Running 'nvm ls' with node-like versioning vx.x.x should only list a matched version +11 -0
  81. package/test/fast/Listing versions/Running 'nvm ls' with nounset should not fail +23 -0
  82. package/test/fast/Listing versions/Using a nonstandard IFS should not break +19 -0
  83. package/test/fast/Listing versions/teardown +16 -0
  84. package/test/fast/Running 'nvm alias' should create a file in the alias directory +9 -0
  85. package/test/fast/Running 'nvm current' should display current nvm environment +11 -0
  86. package/test/fast/Running 'nvm deactivate' should unset the nvm environment variables +23 -0
  87. package/test/fast/Running 'nvm install' with '--reinstall-packages-from' requires a valid version +57 -0
  88. package/test/fast/Running 'nvm install' with an invalid version fails nicely +13 -0
  89. package/test/fast/Running 'nvm unalias' should remove the alias file +13 -0
  90. package/test/fast/Running 'nvm uninstall' should remove the appropriate directory +12 -0
  91. package/test/fast/Running 'nvm uninstall' with incorrect file permissions fails nicely +14 -0
  92. package/test/fast/Running 'nvm unload' should unset all function and variables +30 -0
  93. package/test/fast/Running 'nvm use foo' where 'foo' is circular aborts +39 -0
  94. package/test/fast/Running 'nvm use iojs' uses latest io.js version +37 -0
  95. package/test/fast/Running 'nvm use system' should work as expected +44 -0
  96. package/test/fast/Running 'nvm use x' should create and change the 'current' symlink +36 -0
  97. package/test/fast/Running 'nvm use x' should not create the 'current' symlink if $NVM_SYMLINK_CURRENT is false +86 -0
  98. package/test/fast/Running 'nvm use' should drop CR char automatically +33 -0
  99. package/test/fast/Set Colors/nvm_echo_with_colors +21 -0
  100. package/test/fast/Set Colors/nvm_err_with_colors +19 -0
  101. package/test/fast/Set Colors/nvm_print_default_alias calls nvm_get_colors +24 -0
  102. package/test/fast/Set Colors/nvm_print_versions calls nvm_get_colors +52 -0
  103. package/test/fast/Sourcing nvm.sh should make the nvm command available +7 -0
  104. package/test/fast/Sourcing nvm.sh should not modify parameters of caller +7 -0
  105. package/test/fast/Unit tests/mocks/LTS_names.txt +7 -0
  106. package/test/fast/Unit tests/mocks/iojs.org-dist-index.tab +42 -0
  107. package/test/fast/Unit tests/mocks/lts-star.txt +1 -0
  108. package/test/fast/Unit tests/mocks/nodejs.org-dist-index.tab +614 -0
  109. package/test/fast/Unit tests/mocks/nodejs.org-download-nightly-index.tab +2576 -0
  110. package/test/fast/Unit tests/mocks/nvm ls-remote iojs.txt +41 -0
  111. package/test/fast/Unit tests/mocks/nvm ls-remote lts.txt +166 -0
  112. package/test/fast/Unit tests/mocks/nvm ls-remote node.txt +613 -0
  113. package/test/fast/Unit tests/mocks/nvm ls-remote.txt +654 -0
  114. package/test/fast/Unit tests/mocks/nvm_ls_remote LTS argon.txt +36 -0
  115. package/test/fast/Unit tests/mocks/nvm_ls_remote LTS nightly argon.txt +1 -0
  116. package/test/fast/Unit tests/mocks/nvm_ls_remote LTS nightly.txt +25 -0
  117. package/test/fast/Unit tests/mocks/nvm_ls_remote LTS.txt +166 -0
  118. package/test/fast/Unit tests/mocks/nvm_ls_remote nightly.txt +146 -0
  119. package/test/fast/Unit tests/mocks/nvm_ls_remote stable nightly.txt +1 -0
  120. package/test/fast/Unit tests/mocks/nvm_ls_remote stable.txt +1 -0
  121. package/test/fast/Unit tests/mocks/nvm_ls_remote.txt +613 -0
  122. package/test/fast/Unit tests/mocks/nvm_ls_remote_iojs.txt +41 -0
  123. package/test/fast/Unit tests/mocks/nvm_make_alias LTS alias calls.txt +8 -0
  124. package/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable nightly.txt +1 -0
  125. package/test/fast/Unit tests/mocks/nvm_print_implicit_alias remote stable.txt +1 -0
  126. package/test/fast/Unit tests/mocks/project_dirs/inside-n_m-nested/node_modules/foo/bar/.gitkeep +0 -0
  127. package/test/fast/Unit tests/mocks/project_dirs/inside-n_m-nested-pkg/node_modules/foo/bar/.gitkeep +0 -0
  128. package/test/fast/Unit tests/mocks/project_dirs/inside-n_m-nested-pkg/node_modules/foo/package.json +0 -0
  129. package/test/fast/Unit tests/mocks/project_dirs/nested-both/a/b/c/d/.gitkeep +0 -0
  130. package/test/fast/Unit tests/mocks/project_dirs/nested-both/node_modules/.gitkeep +0 -0
  131. package/test/fast/Unit tests/mocks/project_dirs/nested-both/package.json +0 -0
  132. package/test/fast/Unit tests/mocks/project_dirs/nested-n_m/a/b/c/d/.gitkeep +0 -0
  133. package/test/fast/Unit tests/mocks/project_dirs/nested-n_m/node_modules/.gitkeep +0 -0
  134. package/test/fast/Unit tests/mocks/project_dirs/nested-pkg/a/b/c/d/.gitkeep +0 -0
  135. package/test/fast/Unit tests/mocks/project_dirs/nested-pkg/package.json +0 -0
  136. package/test/fast/Unit tests/mocks/project_dirs/no-nesting-both/node_modules/.gitkeep +0 -0
  137. package/test/fast/Unit tests/mocks/project_dirs/no-nesting-both/package.json +0 -0
  138. package/test/fast/Unit tests/mocks/project_dirs/no-nesting-n_m/node_modules/.gitkeep +0 -0
  139. package/test/fast/Unit tests/mocks/project_dirs/no-nesting-pkg/package.json +0 -0
  140. package/test/fast/Unit tests/nvm ls-remote +73 -0
  141. package/test/fast/Unit tests/nvm set_colors +52 -0
  142. package/test/fast/Unit tests/nvm version-remote +51 -0
  143. package/test/fast/Unit tests/nvm_add_iojs_prefix +9 -0
  144. package/test/fast/Unit tests/nvm_alias +32 -0
  145. package/test/fast/Unit tests/nvm_alias LTS-N +36 -0
  146. package/test/fast/Unit tests/nvm_alias_path +7 -0
  147. package/test/fast/Unit tests/nvm_change_path +57 -0
  148. package/test/fast/Unit tests/nvm_check_for_help +9 -0
  149. package/test/fast/Unit tests/nvm_clang_version +62 -0
  150. package/test/fast/Unit tests/nvm_command_info +58 -0
  151. package/test/fast/Unit tests/nvm_compare_checksum +72 -0
  152. package/test/fast/Unit tests/nvm_compute_checksum +23 -0
  153. package/test/fast/Unit tests/nvm_curl_libz_support +39 -0
  154. package/test/fast/Unit tests/nvm_curl_use_compression +38 -0
  155. package/test/fast/Unit tests/nvm_curl_version +32 -0
  156. package/test/fast/Unit tests/nvm_die_on_prefix +192 -0
  157. package/test/fast/Unit tests/nvm_download +18 -0
  158. package/test/fast/Unit tests/nvm_ensure_default_set +15 -0
  159. package/test/fast/Unit tests/nvm_ensure_version_installed +63 -0
  160. package/test/fast/Unit tests/nvm_ensure_version_prefix +12 -0
  161. package/test/fast/Unit tests/nvm_find_project_dir +33 -0
  162. package/test/fast/Unit tests/nvm_find_up +25 -0
  163. package/test/fast/Unit tests/nvm_format_version +20 -0
  164. package/test/fast/Unit tests/nvm_get_arch +84 -0
  165. package/test/fast/Unit tests/nvm_get_artifact_compression +22 -0
  166. package/test/fast/Unit tests/nvm_get_checksum +45 -0
  167. package/test/fast/Unit tests/nvm_get_checksum_alg +20 -0
  168. package/test/fast/Unit tests/nvm_get_checksum_binary +20 -0
  169. package/test/fast/Unit tests/nvm_get_colors +79 -0
  170. package/test/fast/Unit tests/nvm_get_default_packages +92 -0
  171. package/test/fast/Unit tests/nvm_get_download_slug +111 -0
  172. package/test/fast/Unit tests/nvm_get_latest missing curl or wget +20 -0
  173. package/test/fast/Unit tests/nvm_get_minor_version +45 -0
  174. package/test/fast/Unit tests/nvm_get_mirror +32 -0
  175. package/test/fast/Unit tests/nvm_has +11 -0
  176. package/test/fast/Unit tests/nvm_has_non_aliased +24 -0
  177. package/test/fast/Unit tests/nvm_has_solaris_binary +32 -0
  178. package/test/fast/Unit tests/nvm_has_system_iojs +27 -0
  179. package/test/fast/Unit tests/nvm_has_system_node +27 -0
  180. package/test/fast/Unit tests/nvm_install_binary_extract +59 -0
  181. package/test/fast/Unit tests/nvm_install_binary_nosource +30 -0
  182. package/test/fast/Unit tests/nvm_install_latest_npm +58 -0
  183. package/test/fast/Unit tests/nvm_install_no_progress_bar +43 -0
  184. package/test/fast/Unit tests/nvm_iojs_prefix +7 -0
  185. package/test/fast/Unit tests/nvm_iojs_version_has_solaris_binary +17 -0
  186. package/test/fast/Unit tests/nvm_is_alias +20 -0
  187. package/test/fast/Unit tests/nvm_is_iojs_version +10 -0
  188. package/test/fast/Unit tests/nvm_is_merged_node_version +10 -0
  189. package/test/fast/Unit tests/nvm_is_natural_num +17 -0
  190. package/test/fast/Unit tests/nvm_is_valid_version +13 -0
  191. package/test/fast/Unit tests/nvm_is_version_installed +54 -0
  192. package/test/fast/Unit tests/nvm_ls_current +39 -0
  193. package/test/fast/Unit tests/nvm_ls_remote +86 -0
  194. package/test/fast/Unit tests/nvm_ls_remote LTS aliases +49 -0
  195. package/test/fast/Unit tests/nvm_ls_remote nightly +65 -0
  196. package/test/fast/Unit tests/nvm_ls_remote_iojs +37 -0
  197. package/test/fast/Unit tests/nvm_make_alias +19 -0
  198. package/test/fast/Unit tests/nvm_node_prefix +7 -0
  199. package/test/fast/Unit tests/nvm_node_version_has_solaris_binary +33 -0
  200. package/test/fast/Unit tests/nvm_normalize_lts +38 -0
  201. package/test/fast/Unit tests/nvm_num_version_groups +24 -0
  202. package/test/fast/Unit tests/nvm_print_alias_path +44 -0
  203. package/test/fast/Unit tests/nvm_print_color_code +20 -0
  204. package/test/fast/Unit tests/nvm_print_default_alias +38 -0
  205. package/test/fast/Unit tests/nvm_print_implicit_alias errors +25 -0
  206. package/test/fast/Unit tests/nvm_print_implicit_alias success +106 -0
  207. package/test/fast/Unit tests/nvm_print_npm_version +28 -0
  208. package/test/fast/Unit tests/nvm_remote_version +78 -0
  209. package/test/fast/Unit tests/nvm_remote_versions +77 -0
  210. package/test/fast/Unit tests/nvm_stdout_is_terminal +32 -0
  211. package/test/fast/Unit tests/nvm_strip_iojs_prefix +10 -0
  212. package/test/fast/Unit tests/nvm_strip_path +18 -0
  213. package/test/fast/Unit tests/nvm_supports_xz +42 -0
  214. package/test/fast/Unit tests/nvm_tree_contains_path +31 -0
  215. package/test/fast/Unit tests/nvm_use_if_needed +24 -0
  216. package/test/fast/Unit tests/nvm_validate_implicit_alias +20 -0
  217. package/test/fast/Unit tests/nvm_version +48 -0
  218. package/test/fast/Unit tests/nvm_version_dir +11 -0
  219. package/test/fast/Unit tests/nvm_version_greater +15 -0
  220. package/test/fast/Unit tests/nvm_version_path +14 -0
  221. package/test/fast/nvm should remove the last trailing slash in $NVM_DIR +18 -0
  222. package/test/fast/setup +14 -0
  223. package/test/fast/setup_dir +18 -0
  224. package/test/fast/teardown +12 -0
  225. package/test/fast/teardown_dir +15 -0
  226. package/test/install_script/install_nvm_from_git +129 -0
  227. package/test/install_script/nvm_check_global_modules +63 -0
  228. package/test/install_script/nvm_detect_profile +118 -0
  229. package/test/install_script/nvm_do_install +8 -0
  230. package/test/install_script/nvm_download +18 -0
  231. package/test/install_script/nvm_install_dir +25 -0
  232. package/test/install_script/nvm_install_with_aliased_dot +24 -0
  233. package/test/install_script/nvm_install_with_node_version +12 -0
  234. package/test/install_script/nvm_profile_is_bash_or_zsh +13 -0
  235. package/test/install_script/nvm_reset +38 -0
  236. package/test/install_script/nvm_source +43 -0
  237. package/test/installation_iojs/install already installed uses it +25 -0
  238. package/test/installation_iojs/install from binary +22 -0
  239. package/test/installation_iojs/install from source +22 -0
  240. package/test/installation_iojs/install two versions and use the latest one +25 -0
  241. package/test/installation_iojs/install version specified in .nvmrc from binary +22 -0
  242. package/test/installation_iojs/install version specified in .nvmrc from source +23 -0
  243. package/test/installation_iojs/install while reinstalling packages +31 -0
  244. package/test/installation_iojs/nvm install v1 works +19 -0
  245. package/test/installation_iojs/setup_dir +5 -0
  246. package/test/installation_iojs/teardown_dir +16 -0
  247. package/test/installation_node/default-packages +123 -0
  248. package/test/installation_node/install LTS +29 -0
  249. package/test/installation_node/install already installed uses it +23 -0
  250. package/test/installation_node/install from binary +23 -0
  251. package/test/installation_node/install from binary with binary flag set +37 -0
  252. package/test/installation_node/install from source +29 -0
  253. package/test/installation_node/install from source implicitly +23 -0
  254. package/test/installation_node/install from source with thread parameter +33 -0
  255. package/test/installation_node/install from source without V8 snapshot for ARM +25 -0
  256. package/test/installation_node/install hook +45 -0
  257. package/test/installation_node/install latest npm +51 -0
  258. package/test/installation_node/install two versions and use the latest one +24 -0
  259. package/test/installation_node/install version specified in .nvmrc from binary +20 -0
  260. package/test/installation_node/install version specified in .nvmrc from source +20 -0
  261. package/test/installation_node/install while reinstalling packages +46 -0
  262. package/test/installation_node/install with --alias +11 -0
  263. package/test/installation_node/install with --default +11 -0
  264. package/test/installation_node/install with --latest-npm +12 -0
  265. package/test/installation_node/setup_dir +5 -0
  266. package/test/installation_node/teardown_dir +18 -0
  267. package/test/mocks/isainfo_amd64 +5 -0
  268. package/test/mocks/isainfo_x86 +5 -0
  269. package/test/mocks/pkg_info_amd64 +4 -0
  270. package/test/mocks/pkg_info_fail +1 -0
  271. package/test/mocks/pkg_info_x86 +1 -0
  272. package/test/mocks/uname_osx_amd64 +5 -0
  273. package/test/mocks/uname_osx_x86 +5 -0
  274. package/test/mocks/uname_smartos_amd64 +5 -0
  275. package/test/mocks/uname_smartos_x86 +5 -0
  276. package/test/slow/Running 'nvm current' should display current nvm environment +9 -0
  277. package/test/slow/node 0.6.21 should install 0.6.21-pre +11 -0
  278. package/test/slow/nvm exec/Preamble works and respects 'silent' flag +30 -0
  279. package/test/slow/nvm exec/Running 'nvm exec --lts' should work +18 -0
  280. package/test/slow/nvm exec/Running 'nvm exec 0.x' should work +15 -0
  281. package/test/slow/nvm exec/Running 'nvm exec' should pick up .nvmrc version +16 -0
  282. package/test/slow/nvm exec/Running 'nvm exec' with help should not parse +9 -0
  283. package/test/slow/nvm exec/setup_dir +10 -0
  284. package/test/slow/nvm exec/teardown_dir +13 -0
  285. package/test/slow/nvm reinstall-packages/Running 'nvm copy-packages $(nvm ls current)' should error out +17 -0
  286. package/test/slow/nvm reinstall-packages/setup_dir +11 -0
  287. package/test/slow/nvm reinstall-packages/should work as expected +31 -0
  288. package/test/slow/nvm reinstall-packages/teardown_dir +13 -0
  289. package/test/slow/nvm reinstall-packages/test-npmlink/index.js +2 -0
  290. package/test/slow/nvm reinstall-packages/test-npmlink/package.json +10 -0
  291. package/test/slow/nvm reinstall-packages/works with no installs +18 -0
  292. package/test/slow/nvm run/Running 'nvm run --harmony --version' should work +8 -0
  293. package/test/slow/nvm run/Running 'nvm run --lts' should work +15 -0
  294. package/test/slow/nvm run/Running 'nvm run 0.x' should error out sensibly when 0.x is not installed +16 -0
  295. package/test/slow/nvm run/Running 'nvm run 0.x' should work +8 -0
  296. package/test/slow/nvm run/Running 'nvm run' should pick up .nvmrc version +12 -0
  297. package/test/slow/nvm run/setup_dir +11 -0
  298. package/test/slow/nvm run/teardown_dir +14 -0
  299. package/test/slow/nvm uninstall/Running 'nvm uninstall 0.12.6' uninstalls v0.12.6 +33 -0
  300. package/test/slow/nvm uninstall/Running 'nvm uninstall' with incorrect file permissions fails nicely +30 -0
  301. package/test/slow/nvm uninstall/setup_dir +4 -0
  302. package/test/slow/nvm uninstall/teardown_dir +5 -0
  303. package/test/slow/nvm use/Running 'nvm use --lts' uses latest LTS version +22 -0
  304. package/test/slow/nvm use/Running 'nvm use --lts=foo' uses latest 'foo' LTS version +22 -0
  305. package/test/slow/nvm use/Running 'nvm use iojs' uses latest io.js version +20 -0
  306. package/test/slow/nvm use/Running 'nvm use node --silent' doesn't print anything +13 -0
  307. package/test/slow/nvm use/Running 'nvm use node' uses latest stable node version +20 -0
  308. package/test/slow/nvm use/Running 'nvm use v1.0.0' uses iojs-v1.0.0 iojs version +20 -0
  309. package/test/slow/nvm use/Running 'nvm use' calls 'nvm_die_on_prefix' +22 -0
  310. package/test/slow/nvm use/setup_dir +23 -0
  311. package/test/slow/nvm use/teardown_dir +22 -0
  312. package/test/slow/nvm_get_latest/nvm_get_latest +101 -0
  313. package/test/slow/nvm_get_latest/nvm_get_latest failed redirect +25 -0
  314. package/test/sourcing/Sourcing nvm.sh global alias bug +30 -0
  315. package/test/sourcing/Sourcing nvm.sh should keep version if one is active +20 -0
  316. package/test/sourcing/Sourcing nvm.sh should use the default if available and no nvm node is loaded +28 -0
  317. package/test/sourcing/Sourcing nvm.sh with --install and .nvmrc should install it +27 -0
  318. package/test/sourcing/Sourcing nvm.sh with --install should install the default +32 -0
  319. package/test/sourcing/Sourcing nvm.sh with --no-use should not use anything +31 -0
  320. package/test/sourcing/Sourcing nvm.sh with no default should return 0 +11 -0
  321. package/test/sourcing/setup +14 -0
  322. package/test/sourcing/teardown +7 -0
  323. package/update_test_mocks.sh +59 -0
@@ -0,0 +1,31 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ # Remove the stuff we're clobbering.
8
+ [ -e "${NVM_DIR}/versions/io.js/v1.0.0" ] && rm -R "${NVM_DIR}/versions/io.js/v1.0.0"
9
+ [ -e "${NVM_DIR}/versions/io.js/v1.0.1" ] && rm -R "${NVM_DIR}/versions/io.js/v1.0.1"
10
+
11
+ # Install from binary
12
+ nvm install iojs-v1.0.0
13
+
14
+ # Check
15
+ [ -d "${NVM_DIR}/versions/io.js/v1.0.0" ] || die "nvm install iojs-v1.0.0 didn't install"
16
+
17
+ node --version | grep v1.0.0 > /dev/null || die "nvm install didn't use iojs-v1.0.0"
18
+
19
+ npm install -g object-is@0.0.0 || die "npm install -g object-is failed"
20
+ npm list --global | grep object-is > /dev/null || die "object-is isn't installed"
21
+
22
+ nvm ls iojs-1 | grep iojs-v1.0.0 > /dev/null || die "nvm ls iojs-1 didn't show iojs-v1.0.0"
23
+
24
+ nvm install iojs-v1.0.1 --reinstall-packages-from=iojs-1.0.0 || die "nvm install iojs-v1.0.1 --reinstall-packages-from=iojs-1.0.0 failed"
25
+
26
+ [ -d "${NVM_DIR}/versions/io.js/v1.0.1" ] || die "nvm install iojs-v1.0.1 didn't install"
27
+
28
+ nvm use iojs-1
29
+ node --version | grep v1.0.1 > /dev/null || die "nvm use iojs-1 didn't use v1.0.1"
30
+
31
+ npm list --global | grep object-is > /dev/null || die "object-is isn't installed"
@@ -0,0 +1,19 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ NVM_VERSION="v1"
8
+ NVM_PREFIXED_TEST_VERSION="$(nvm ls-remote "$NVM_VERSION" | tail -1 | sed 's/^[ ]*//;s/[ ]*$//')"
9
+ NVM_TEST_VERSION="$(nvm_strip_iojs_prefix "$NVM_PREFIXED_TEST_VERSION")"
10
+
11
+ # Remove the stuff we're clobbering.
12
+ [ -e "../../$NVM_TEST_VERSION" ] && rm -R "../../$NVM_TEST_VERSION"
13
+
14
+ # Install from binary
15
+ nvm install "$NVM_VERSION" || die "nvm install $NVM_VERSION failed"
16
+
17
+ # Check
18
+ [ -d "${NVM_DIR}/versions/io.js/$NVM_TEST_VERSION" ]
19
+ nvm run "$NVM_PREFIXED_TEST_VERSION" --version | grep "$NVM_TEST_VERSION" || die "'nvm run $NVM_PREFIXED_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
@@ -0,0 +1,5 @@
1
+ #!/bin/sh
2
+
3
+ if [ -f ".nvmrc" ]; then
4
+ mv .nvmrc .nvmrc.bak
5
+ fi
@@ -0,0 +1,16 @@
1
+ #!/bin/sh
2
+
3
+ \. ../../nvm.sh
4
+ nvm deactivate
5
+ nvm uninstall iojs-v1.0.0
6
+ nvm uninstall iojs-v1.0.3
7
+ nvm uninstall iojs-v3.3.0
8
+ nvm uninstall iojs-v3.3.1
9
+
10
+ if [ -f ".nvmrc" ]; then
11
+ rm .nvmrc
12
+ fi
13
+
14
+ if [ -f ".nvmrc.bak" ]; then
15
+ mv .nvmrc.bak .nvmrc
16
+ fi
@@ -0,0 +1,123 @@
1
+ #!/bin/sh
2
+
3
+ FILE="$NVM_DIR/default-packages"
4
+
5
+ die () { echo "$@" ; cleanup ; exit 1; }
6
+ setup () {
7
+ if [ -f $FILE ]; then
8
+ ORIG_DEFAULT_PACKAGES=$(cat $FILE)
9
+ mkdir ./tmp/ ||:
10
+ mv $FILE ./tmp/default-packages ||:
11
+ fi
12
+ touch $FILE
13
+ }
14
+ cleanup () {
15
+ rm -rf "$(nvm_version_path v6.10.1)" $FILE
16
+ if [ "$ORIG_DEFAULT_PACKAGES" != "" ]; then
17
+ rm -rf ./tmp/
18
+ echo "$ORIG_DEFAULT_PACKAGES" > $FILE
19
+ fi
20
+ }
21
+
22
+ setup
23
+
24
+ \. ../../nvm.sh
25
+
26
+ cat > $FILE << EOF
27
+ rimraf
28
+ object-inspect@1.0.2
29
+
30
+ # commented-package
31
+
32
+ stevemao/left-pad
33
+ daytime
34
+ EOF
35
+
36
+ printf %s "$(cat "${FILE}")" > $FILE # strip trailing newline
37
+
38
+ nvm install v6.10.1 2>&1
39
+ EXIT_CODE=$?
40
+ [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
41
+
42
+ nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'
43
+ if [ -z "$?" ]; then
44
+ die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to exit with 0, got $?"
45
+ fi
46
+
47
+ nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'daytime'
48
+ if [ -z "$?" ]; then
49
+ die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'daytime'' to exit with 0, got $?"
50
+ fi
51
+
52
+ cleanup
53
+
54
+ setup
55
+
56
+ \. ../../nvm.sh
57
+
58
+ cat > $FILE << EOF
59
+ rimraf
60
+ object-inspect@1.0.2
61
+
62
+ # commented-package
63
+
64
+ stevemao/left-pad
65
+ EOF
66
+
67
+ nvm install v6.10.1 --skip-default-packages 2>&1
68
+ EXIT_CODE=$?
69
+ [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
70
+
71
+ if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'; then
72
+ die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'rimraf'' to be empty"
73
+ fi
74
+
75
+ cleanup
76
+
77
+ setup
78
+
79
+ cat > $FILE << EOF
80
+ not~a~package~name
81
+ EOF
82
+
83
+ nvm install v6.10.1
84
+ EXIT_CODE=$?
85
+ [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
86
+
87
+ if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'; then
88
+ die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'not~a~package~name'' to exit with 1, got $?"
89
+ fi
90
+
91
+ cleanup
92
+
93
+ setup
94
+
95
+ cat > $FILE << EOF
96
+ object-inspect @ 1.0.2
97
+ EOF
98
+
99
+ nvm install v6.10.1 2>&1
100
+ EXIT_CODE=$?
101
+ [ "_$EXIT_CODE" = "_1" ] || die "expected 'nvm install v6.10.1' to exit with 1, got $EXIT_CODE"
102
+
103
+ if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
104
+ die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
105
+ fi
106
+
107
+ cleanup
108
+
109
+ setup
110
+
111
+ rm -rf $FILE
112
+
113
+ nvm install v6.10.1 2>&1
114
+ EXIT_CODE=$?
115
+ [ "_$EXIT_CODE" = "_0" ] || die "expected 'nvm install v6.10.1' to exit with 0, got $EXIT_CODE"
116
+
117
+ if nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'; then
118
+ die "expected 'nvm exec v6.10.1 npm ls -g --depth=0 | grep -q 'object-inspect'' to exit with 1, got $?"
119
+ fi
120
+
121
+ touch $FILE
122
+
123
+ cleanup
@@ -0,0 +1,29 @@
1
+ #!/bin/sh
2
+
3
+ set -eux
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ \. ../../nvm.sh
8
+
9
+ nvm unalias default >/dev/null 2>&1 || die 'unable to unalias default'
10
+
11
+ set +ex # needed for stderr
12
+ OUTPUT="$(nvm install --lts 3 2>&1)"
13
+ set -ex
14
+ EXIT_CODE="$(nvm install --lts 3 >/dev/null 2>&1 && echo $? || echo $?)"
15
+ EXPECTED_OUTPUT="Version '3' (with LTS filter) not found - try \`nvm ls-remote --lts\` to browse available versions."
16
+ [ "${EXIT_CODE}" = 3 ] || die "\`nvm install --lts 3\` did not exit with 3, got >${EXIT_CODE}<"
17
+ [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "\`nvm install --lts 3\` output >${OUTPUT}<, expected >${EXPECTED_OUTPUT}<"
18
+
19
+ set +ex # needed for stderr
20
+ OUTPUT="$(nvm install --lts=argon 3 2>&1)"
21
+ set -ex
22
+ EXIT_CODE="$(nvm install --lts=argon 3 >/dev/null 2>&1 && echo $? || echo $?)"
23
+ EXPECTED_OUTPUT="Version '3' (with LTS filter 'argon') not found - try \`nvm ls-remote --lts=argon\` to browse available versions."
24
+ [ "${EXIT_CODE}" = 3 ] || die "\`nvm install --lts=argon 3\` did not exit with 3, got >${EXIT_CODE}<"
25
+ [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "\`nvm install --lts=argon 3\` output >${OUTPUT}<, expected >${EXPECTED_OUTPUT}<"
26
+
27
+ nvm install --lts 4.2.2 || die 'nvm install --lts 4.2.2 failed'
28
+
29
+ [ "$(nvm current)" = "v4.2.2" ] || die "v4.2.2 not current, got $(nvm_current)"
@@ -0,0 +1,23 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ [ "$(nvm install invalid.invalid 2>&1)" = "Version 'invalid.invalid' not found - try \`nvm ls-remote\` to browse available versions." ] || die "nvm installing an invalid version did not print a nice error message"
8
+
9
+ # Remove the stuff we're clobbering.
10
+ [ -e "${NVM_DIR}/v0.9.7" ] && rm -R "${NVM_DIR}/v0.9.7"
11
+ [ -e "${NVM_DIR}/v0.9.12" ] && rm -R "${NVM_DIR}/v0.9.12"
12
+
13
+ # Install from binary
14
+ nvm install 0.9.7
15
+ nvm install 0.9.12
16
+
17
+ nvm use 0.9.7
18
+
19
+ node --version | grep v0.9.7 || die "precondition failed: node doesn't start at 0.9.7"
20
+
21
+ nvm install 0.9.12
22
+
23
+ node --version | grep v0.9.12 || die "nvm install on already installed version doesn't use it"
@@ -0,0 +1,23 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ nvm unalias default || die 'unable to unalias default'
8
+
9
+ NVM_TEST_VERSION=v0.10.7
10
+
11
+ # Remove the stuff we're clobbering.
12
+ [ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
13
+
14
+ # Install from binary
15
+ nvm install $NVM_TEST_VERSION || die "install $NVM_TEST_VERSION failed"
16
+
17
+ # Check
18
+ [ -d ../../$NVM_TEST_VERSION ]
19
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
20
+
21
+ # ensure default is set
22
+ NVM_CURRENT_DEFAULT="$(nvm_alias default)"
23
+ [ "$NVM_CURRENT_DEFAULT" = "$NVM_TEST_VERSION" ] || die "wrong default alias: $(nvm alias)"
@@ -0,0 +1,37 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ nvm unalias default || die 'unable to unalias default'
8
+
9
+ NVM_TEST_VERSION=v0.10.7
10
+
11
+ # Remove the stuff we're clobbering.
12
+ [ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
13
+
14
+ # Install from binary
15
+ nvm install -b $NVM_TEST_VERSION || die "install $NVM_TEST_VERSION failed"
16
+
17
+ # Check
18
+ [ -d ../../$NVM_TEST_VERSION ]
19
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
20
+
21
+ # ensure default is set
22
+ NVM_CURRENT_DEFAULT="$(nvm_alias default)"
23
+ [ "$NVM_CURRENT_DEFAULT" = "$NVM_TEST_VERSION" ] || die "wrong default alias: $(nvm alias)"
24
+
25
+ # Falls back to source but if -b is set fails binary download.
26
+ OUTPUT="$(nvm install -b 9.0.0 2>&1)"
27
+ EXPECTED_OUTPUT='Binary download failed. Download from source aborted.'
28
+ if [ "${OUTPUT#*$EXPECTED_OUTPUT}" = "${OUTPUT}" ]; then
29
+ die "No source binary flag is active and should have returned >${EXPECTED_OUTPUT}<. Instead it returned >${OUTPUT}<"
30
+ fi
31
+
32
+ # Falls back to source but if -b is not set.
33
+ OUTPUT="$(nvm install 9.0.0 2>&1)"
34
+ EXPECTED_OUTPUT='Binary download failed. Download from source aborted.'
35
+ if [ "${OUTPUT#*$EXPECTED_OUTPUT}" != "${OUTPUT}" ]; then
36
+ die "No source binary flag is active and should have returned >${EXPECTED_OUTPUT}<. Instead it returned >${OUTPUT}<"
37
+ fi
@@ -0,0 +1,29 @@
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ set +e # TODO: fix
8
+ \. ../../nvm.sh
9
+ set -e
10
+
11
+ nvm deactivate || die 'deactivate failed'
12
+
13
+ nvm unalias default || die 'unable to unalias default'
14
+
15
+ NVM_TEST_VERSION=v0.10.7
16
+
17
+ # Remove the stuff we're clobbering.
18
+ nvm uninstall "${NVM_TEST_VERSION}" || die 'nvm uninstall failed'
19
+
20
+ # Install from source
21
+ nvm install -s "${NVM_TEST_VERSION}" || die "'nvm install -s ${NVM_TEST_VERSION}' failed"
22
+
23
+ # Check
24
+ [ -d ../../$NVM_TEST_VERSION ] || die "../../${NVM_TEST_VERSION} is not a directory"
25
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run ${NVM_TEST_VERSION} --version | grep ${NVM_TEST_VERSION}' failed"
26
+
27
+ # ensure default is set
28
+ NVM_CURRENT_DEFAULT="$(nvm_alias default)"
29
+ [ "${NVM_CURRENT_DEFAULT}" = "${NVM_TEST_VERSION}" ] || die "wrong default alias: $(nvm alias)"
@@ -0,0 +1,23 @@
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ set +e # TODO: fix
8
+ \. ../../nvm.sh
9
+ set -e
10
+
11
+ nvm deactivate || die 'deactivate failed'
12
+
13
+ NVM_TEST_VERSION=v0.8.5
14
+
15
+ # Remove the stuff we're clobbering.
16
+ nvm uninstall "${NVM_TEST_VERSION}" || die 'uninstall failed'
17
+
18
+ # Install from source implicitly (v0.8.6 is when binaries started)
19
+ nvm install $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
20
+
21
+ # Check
22
+ [ -d ../../$NVM_TEST_VERSION ]
23
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
@@ -0,0 +1,33 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ NVM_TEST_VERSION=v0.10.7
8
+
9
+ # STAGE 1 #
10
+
11
+ # Remove the stuff we're clobbering.
12
+ [ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
13
+
14
+ # Install from source with 1 make job
15
+ nvm install -s -j 1 $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
16
+
17
+ # Check
18
+ [ -d ../../$NVM_TEST_VERSION ]
19
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
20
+
21
+
22
+
23
+ # STAGE 2 #
24
+
25
+ # Remove the stuff we're clobbering.
26
+ [ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
27
+
28
+ # Install from source with 2 make jobs (and swapped arg order)
29
+ nvm install -j 2 -s $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
30
+
31
+ # Check
32
+ [ -d ../../$NVM_TEST_VERSION ]
33
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
@@ -0,0 +1,25 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ NVM_TEST_VERSION=v0.10.7
8
+
9
+ # Remove the stuff we're clobbering.
10
+ [ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
11
+
12
+ # Fake ARM arch
13
+ nvm_get_arch() {
14
+ echo "armv7l"
15
+ }
16
+
17
+ # Install from source
18
+ nvm install -s $NVM_TEST_VERSION || die "'nvm install -s $NVM_TEST_VERSION' failed"
19
+
20
+ # Check Install
21
+ [ -d ../../$NVM_TEST_VERSION ]
22
+ node --version | grep $NVM_TEST_VERSION || "'node --version | grep $NVM_TEST_VERSION' failed"
23
+
24
+ # Check V8 snapshot isn't compiled
25
+ node -p "if(! process.config.variables.v8_use_snapshot) { console.log('no-snapshot'); }" | grep "no-snapshot" || "'node -p \"if(! process.config.variables.v8_use_snapshot) { console.log('no-snapshot'); }\" | grep \"no-snapshot\"' failed"
@@ -0,0 +1,45 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ . ../../nvm.sh
6
+
7
+ VERSION='v0.11.0'
8
+ VERSION_PATH="$(nvm_version_path "${VERSION}")"
9
+
10
+ succeed() {
11
+ nvm_echo "$@"
12
+ NVM_INSTALL_THIRD_PARTY_HOOK= nvm install "${VERSION}"
13
+ }
14
+
15
+ fail() {
16
+ succeed "$@"
17
+ return 11
18
+ }
19
+
20
+ ! nvm_is_version_installed "${VERSION}" || nvm uninstall "${VERSION}" || die 'uninstall failed'
21
+
22
+ # an existing but empty VERSION_PATH directory should not be enough to satisfy nvm_is_version_installed
23
+ rm -rf "${VERSION_PATH}"
24
+ mkdir -p "${VERSION_PATH}"
25
+ nvm_is_version_installed "${VERSION}" && die 'nvm_is_version_installed check not strict enough'
26
+ rmdir "${VERSION_PATH}"
27
+
28
+ OUTPUT="$(NVM_INSTALL_THIRD_PARTY_HOOK=succeed nvm install "${VERSION}")"
29
+ USE_OUTPUT="$(nvm use "${VERSION}")"
30
+ EXPECTED_OUTPUT="${VERSION} node std binary ${VERSION_PATH}
31
+ Downloading and installing node ${VERSION}...
32
+ ${USE_OUTPUT}"
33
+
34
+ [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<"
35
+
36
+ ! nvm_is_version_installed "${VERSION}" || nvm uninstall "${VERSION}" || die 'uninstall 2 failed'
37
+
38
+ OUTPUT="$(NVM_INSTALL_THIRD_PARTY_HOOK=fail nvm install "${VERSION}" || echo 'failed')"
39
+ USE_OUTPUT="$(nvm use "${VERSION}")"
40
+ EXPECTED_OUTPUT="${VERSION} node std binary ${VERSION_PATH}
41
+ Downloading and installing node ${VERSION}...
42
+ ${USE_OUTPUT}
43
+ failed"
44
+
45
+ [ "${OUTPUT}" = "${EXPECTED_OUTPUT}" ] || die "expected >${EXPECTED_OUTPUT}<; got >${OUTPUT}<"
@@ -0,0 +1,51 @@
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ set +e # todo: fix
8
+ \. ../../nvm.sh
9
+ set -e
10
+
11
+ nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 1'
12
+ nvm install 12.12 >/dev/null 2>&1 || die 'install v12.12 failed'
13
+ nvm install-latest-npm || die 'nvm install-latest-npm failed: 1'
14
+ NPM_VERSION="$(npm --version)"
15
+ nvm_version_greater_than_or_equal_to "${NPM_VERSION}" 7.0.0 \
16
+ && nvm_version_greater 8.0.0 "${NPM_VERSION}" || die "node v12.12 updates to ${NPM_VERSION}; expected v7"
17
+
18
+ nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 1'
19
+ nvm install 4 >/dev/null 2>&1 || die 'install v4 failed'
20
+ nvm install-latest-npm || die 'nvm install-latest-npm failed: 1'
21
+ NPM_VERSION="$(npm --version)"
22
+ nvm_version_greater_than_or_equal_to "${NPM_VERSION}" 5.0.0 || die "node v4.x updates to ${NPM_VERSION}; expected >= v5"
23
+
24
+ nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 2'
25
+ nvm install 1.0 >/dev/null 2>&1 || die 'install v1.0 failed'
26
+ nvm install-latest-npm || die 'nvm install-latest-npm failed: 2'
27
+ NPM_VERSION="$(npm --version)"
28
+ [ "${NPM_VERSION}" = '4.5.0' ] || die "io.js v1.0.x updates to ${NPM_VERSION}; expected v4.5.0"
29
+
30
+ nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 3'
31
+ nvm install 1 >/dev/null 2>&1 || die 'install v1 failed'
32
+ nvm install-latest-npm || die 'nvm install-latest-npm failed: 3'
33
+ NPM_VERSION="$(npm --version)"
34
+ [ "${NPM_VERSION}" = '4.6.1' ] || die "io.js v1.x updates to ${NPM_VERSION}; expected v4.6.1"
35
+
36
+ # export NPM_CONFIG_STRICT_SSL=false # the npm registry tightened up their SSL certs
37
+
38
+ ## Commented because TLS < 1.2 is dropped, and this breaks npm in node < 0.10
39
+ ## https://github.blog/2021-08-23-npm-registry-deprecating-tls-1-0-tls-1-1/#detailed-timeline
40
+ # nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 4'
41
+ # nvm install 0.8.27 >/dev/null 2>&1 || die 'install v0.8 failed'
42
+ # nvm install-latest-npm || die 'nvm install-latest-npm failed: 4'
43
+ # NPM_VERSION="$(npm --version)"
44
+ # [ "${NPM_VERSION}" = '4.5.0' ] || die "node 0.8.27 updates to ${NPM_VERSION}; expected v4.5.0"
45
+
46
+ ## Commented to work around travis-ci breaking 0,6 installs
47
+ # nvm deactivate >/dev/null 2>&1 || die 'unable to deactivate: 5'
48
+ # nvm install 0.6.21 >/dev/null 2>&1 || die 'install v0.6 failed'
49
+ # nvm install-latest-npm || die 'nvm install-latest-npm failed: 5'
50
+ # NPM_VERSION="$(npm --version)"
51
+ # [ "${NPM_VERSION}" = '1.3.26' ] || die "node 0.6.21 updates to ${NPM_VERSION}; expected v1.3.26"
@@ -0,0 +1,24 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ # Remove the stuff we're clobbering.
8
+ [ -e "${NVM_DIR}/v0.9.7" ] && rm -R "${NVM_DIR}/v0.9.7"
9
+ [ -e "${NVM_DIR}/v0.9.12" ] && rm -R "${NVM_DIR}/v0.9.12"
10
+
11
+ # Install from binary
12
+ nvm install 0.9.7 || die "'nvm install 0.9.7' failed"
13
+ nvm i 0.9.12 || die "'nvm i 0.9.12' failed"
14
+
15
+ # Check
16
+ [ -d "${NVM_DIR}/v0.9.7" ] || die "v0.9.7 didn't exist"
17
+ [ -d "${NVM_DIR}/v0.9.12" ] || die "v0.9.12 didn't exist"
18
+
19
+ # Use the first one
20
+ nvm use 0.9.7 || die "'nvm use 0.9.7' failed"
21
+
22
+ # Use the latest one
23
+ nvm use 0.9 || die "'nvm use 0.9' failed"
24
+ node --version | grep v0.9.12 || die "'node --version' was not v0.9.12, got: $(node --version)"
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ NVM_TEST_VERSION=v0.10.7
8
+
9
+ # Remove the stuff we're clobbering.
10
+ [ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
11
+
12
+ # Install from binary
13
+ echo "$NVM_TEST_VERSION" > .nvmrc
14
+
15
+ nvm install || die "'nvm install' failed"
16
+
17
+ # Check
18
+ [ -d ../../$NVM_TEST_VERSION ] || die "./$NVM_TEST_VERSION did not exist"
19
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
20
+ || "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
@@ -0,0 +1,20 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ NVM_TEST_VERSION=v0.10.7
8
+
9
+ # Remove the stuff we're clobbering.
10
+ [ -e ../../$NVM_TEST_VERSION ] && rm -R ../../$NVM_TEST_VERSION
11
+
12
+ # Install from binary
13
+ echo "$NVM_TEST_VERSION" > .nvmrc
14
+
15
+ nvm install -s || "'nvm install -s' failed"
16
+
17
+ # Check
18
+ [ -d ../../$NVM_TEST_VERSION ] || die "$NVM_TEST_VERSION did not exist"
19
+ nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION \
20
+ || die "'nvm run $NVM_TEST_VERSION --version | grep $NVM_TEST_VERSION' failed"
@@ -0,0 +1,46 @@
1
+ #!/bin/sh
2
+
3
+ die () { echo "$@" ; exit 1; }
4
+
5
+ \. ../../nvm.sh
6
+
7
+ # Remove the stuff we're clobbering.
8
+ [ -e "${NVM_DIR}/versions/node/v9.7.0" ] && rm -R "${NVM_DIR}/versions/node/v9.7.0"
9
+ [ -e "${NVM_DIR}/versions/node/v9.10.0" ] && rm -R "${NVM_DIR}/versions/node/v9.10.0"
10
+ [ -e "${NVM_DIR}/versions/node/v4.9.1" ] && rm -R "${NVM_DIR}/versions/node/v4.9.1"
11
+
12
+ # Install from binary
13
+ nvm install 9.7.0
14
+
15
+ # Check
16
+ [ -d "${NVM_DIR}/versions/node/v9.7.0" ] || die "nvm install 9.7.0 didn't install"
17
+
18
+ nvm use 9.7.0
19
+
20
+ node --version | grep v9.7.0 > /dev/null || die "nvm use 9.7.0 failed"
21
+
22
+ npm install -g object-is@0.0.0 || die "npm install -g object-is failed"
23
+ npm list --global | grep object-is > /dev/null || die "object-is isn't installed"
24
+
25
+ nvm ls 9 | grep v9.7.0 > /dev/null || die "nvm ls 9 didn't show v9.7.0"
26
+
27
+ nvm install 9.10.0 --reinstall-packages-from=9 || die "nvm install 9.10.0 --reinstall-packages-from=9 failed"
28
+
29
+ [ -d "${NVM_DIR}/versions/node/v9.10.0" ] || die "nvm install 9.10.0 didn't install"
30
+
31
+ nvm use 9
32
+ node --version | grep v9.10.0 > /dev/null || die "nvm ls 9 didn't use v9.10.0"
33
+
34
+ npm list --global | grep object-is > /dev/null || die "object-is isn't installed"
35
+
36
+
37
+ # LTS
38
+
39
+ nvm install --lts=argon --reinstall-packages-from=9 || die "nvm install 9.10.0 --reinstall-packages-from=9 failed"
40
+
41
+ [ -d "${NVM_DIR}/versions/node/v4.9.1" ] || die "nvm install 4.9.1 didn't install"
42
+
43
+ nvm use --lts=argon
44
+ node --version | grep v4.9.1 > /dev/null || die "nvm ls --lts=argon didn't use v4.9.1"
45
+
46
+ npm list --global | grep object-is > /dev/null || die "object-is isn't installed"
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ \. ../../nvm.sh
8
+
9
+ nvm install --alias=9 9.11.2 || die '`nvm install --alias=9 9.11.2` failed'
10
+
11
+ TERM=dumb nvm alias | grep '9 -> 9.11.2 (-> v9.11.2 \*)' || die 'did not make the expected alias'
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+
3
+ set -ex
4
+
5
+ die () { echo "$@" ; exit 1; }
6
+
7
+ \. ../../nvm.sh
8
+
9
+ nvm install --default node || die '`nvm install --default` failed'
10
+
11
+ TERM=dumb nvm alias | grep "default -> node (-> $(nvm version node) \*)" || die 'did not make the expected alias'