BREAKING CHANGE: the `Gyp` class exported is now created using
ECMAScript classes and therefore might have small differences to classes
that were previously created with `util.inherits`.
BREAKING CHANGE: All internal functions have been coverted to return
promises and no longer accept callbacks. This is not a breaking change
for users but may be breaking to consumers of `node-gyp` if you are
requiring internal functions directly.
In addition:
* moved module.exports to the bottom
* no single-line if statements
* no if statements without a {
* const for requires
* array declarations get spaces inside [ ]
* 'use strict' in all .js files
PR-URL: https://github.com/nodejs/node-gyp/pull/1794
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: João Reis <reis@janeasystems.com>
Multiple reports of this failing, seems to be due to node wrapping tools
that mess with the require extensions. So let's be explicit about it.
PR-URL: https://github.com/nodejs/node-gyp/pull/1787
Reviewed-By: Reviewed-By: Richard Lau <riclau@uk.ibm.com>
- Uses `.eslintrc.yaml` for configuration
- `npm run lint` is part of `npm test`
PR-URL: https://github.com/nodejs/node-gyp/pull/1497
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Reviewed-By: João Reis <reis@janeasystems.com>
- Removes "module dependencies" comments and things that, IMHO, don't add
too much value. Happy to add back if helps some people when reading
through `node-gyp`.
- DRY up `lib/process-release.js`.
- Removes a bunch of extra blank lines, as well as random spaces.
PR-URL: https://github.com/nodejs/node-gyp/pull/1508
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Overrides the location where node-gyp will look for (and download to)
the node.js SDK.
For harmonization with the --nodedir flag, `osenv.home()` is now used
instead of `process.env.HOME || process.env.USERPROFILE`.
`osenv.home()` defaults to the built-in `os.homedir()` when available
and falls back to sane defaults based on the platform.
`%USERPROFILE%` is now preferred on Windows and `%HOME%` is ignored;
similarly, UNIX systems ignore `$USERPROFILE` from now on. Neither
behavior made much sense, IMO.
Fixes: https://github.com/nodejs/node-gyp/issues/21
PR-URL: https://github.com/nodejs/node-gyp/pull/916
Reviewed-By: Rod Vagg <rod@vagg.org>
Add an option for overriding the default CA chain that is used when
downloading the tarball. This matches the npm option of the same
name and gets implicitly passed through the `npm_config_cafile`
environment variable.
Fixes: https://github.com/nodejs/node-gyp/issues/695
PR-URL: https://github.com/nodejs/node-gyp/pull/837
Reviewed-By: Rod Vagg <rod@vagg.org>
this way one could add short jobs alias, similar to make(1):
$ node-gyp build -j 1
unfortunately it's not exactly the same as make, as -j1 is not
understood by nopt i guess
Older linkers don't have the -T flag.
This is a somewhat experimental feature, so if user's want "thin"
archives, they can specify `--thin` to revert to the original behavior.
* adds a '--loglevel' switch to node-gyp which accepts the same values as npm
* now the '--verbose' flag is simply an alias to '--loglevel=verbose'
* this simplifies the code a bit, since any logging logic is now removed
* more log levels! it's mostly verbose() and info() being used
* still need to go back and move some of logging calls to a better level
So you can pass node-gyp-specific flags to npm, and node-gyp will
automatically use them:
$ npm install weak --nodedir=`pwd` --prefix=`pwd`
Part of #70.