The `brew test` tests were failing as they were unable to include
`test/unit/assertions`. This is because it's a gem and we were setting
the `GEM_HOME` so system gems were being ignored.
While I was there and examining the `$LOAD_PATH`: reduce the number of
things we add there by using `Bundler.with_clean_env` and only adding
`HOMEBREW_LIBRARY_PATH` in the `$LOAD_PATH` if it isn't already there
(which it always is [and has to be] for integration tests).
This also seems to have the side effect of speeding up integration
tests from 1m26s to 1m8s on my machine.
As discussed in bbatsov/rubocop#3344, there are situations where
this is the shortest and most idiomatic way to convert a value
to a boolean - particularly for checking values which can be
nil or truthy.
Avoiding printing the weird message e.g:
```
It was migrated from homebrew/science to homebrew/core.
You can access it again by running:
brew tap homebrew/core
```
add support for styles prefixed with a r,v,V and an optional _ ,
and styles with four groups of digits, seperated by periods;
combinations of the two are also supported
instead of writing a .npmrc file, which simplifies the code.
npm_cache_config is still preserved for backwarts compatiblility and
usage int he kibana@n formulas in core.
This tells npm pack to don't run prepublish scripts at all.
I think this is the best default because:
* most modules don't have a prepublish script at all and aren't affected
by this change
* most prepublish scripts are calling devDeps, which would fail in our
case, because (dev)Deps aren't installed at npm pack time until #2820
gets resolved
* we favor npm registry tarball for formula downloads, which are already
prepublished, so we would in the best case needlessly run prepublish
a second time and in the worst case it would fail (because a clean
step is required before running prepublish a second time in a row)
* This change does the right thing for >99% of all the packages and
would only affect packages with prepublish scripts downloaded from a
non-npm registry tarball (like github tarballs) and with a prepublish
script wich does no't require any devDep (unlike for cross platform)
This fixes some edge cases where verbose output from a prepublish script
could break our npm pack package name detection code by only using the
last line of the output printed by npm itself containing the desired
package name.
By telling node-pre-gyp and prebuild to don't pull prebuild binaries and
instead build them from source. This still may not work for some custom
third party scripts for pulling prebuild binaries.