Conversely, a warning is issued if it is missing, because that implies that no actual cross-shell testing will take place.
Also, the shell command that determines the set of available test suites is now POSIX-compliant.
- Using `npm test` and `npm run …` scripts defined in package.json now invokes the makefile and runs the test with the same shell that npm was invoked from.
- The makefile can now be invoked directly - supporting utilities from locally installed npm packages are automatically discovered.
- Invoking the makefile without a target errors out with a hint.
- Shell-specific test targets are now named 'test-<shell>'.
- Both 'test-<shell>' targets and the all-shells 'test' target now run all test suites by default.
- On `make TAG=<new-version> release` there must be no uncommitted changes. '<new-version>' can now also be one of the following increment specifiers: 'patch', 'minor', 'major'.
- It is ensure that <new-version>, if not an increment specifier, is a valid semver version number that is higher than the previous release's.
- The previous release tag is now located with a pattern so as to exclude tags that aren't version numbers.
- Switched from lightweight to annotated tags for releases.
Add stable & unstable aliases.
Fixes#336.
With these changes, the following `nvm` commands will now support "stable" and "unstable" default/implicit aliases:
- `ls`/`list`
- `use`
- `alias`
- `run`
- `exec`
- `uninstall`
- `copy-packages`
For these, "stable" will be the latest even minor version that's locally installed; "unstable" will be the latest odd minor version that's locally installed.
In addition, `nvm ls-remote` and `nvm install` will accept the same implicit aliases, however, these will actually call nodejs.org and output the latest even and odd minor versions available for installation.
`nvm alias stable foo` and `nvm alias unstable foo` will *override* the default/implicit aliases. `nvm alias` output will reflect this by showing "(default)" when the alias is not user-defined.