https://github.com/sonicdoe/grunt-node-gyp
Run node-gyp commands from Grunt
https://github.com/sonicdoe/grunt-node-gyp
grunt gruntplugin node-gyp nodejs
Last synced: 6 months ago
JSON representation
Run node-gyp commands from Grunt
- Host: GitHub
- URL: https://github.com/sonicdoe/grunt-node-gyp
- Owner: sonicdoe
- License: other
- Created: 2013-08-25T15:49:05.000Z (about 12 years ago)
- Default Branch: develop
- Last Pushed: 2022-05-26T07:39:04.000Z (over 3 years ago)
- Last Synced: 2025-03-24T05:13:37.190Z (6 months ago)
- Topics: grunt, gruntplugin, node-gyp, nodejs
- Language: CoffeeScript
- Homepage:
- Size: 295 KB
- Stars: 5
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# grunt-node-gyp [](https://github.com/sonicdoe/grunt-node-gyp/actions?query=workflow%3ACI)
> Run `node-gyp` commands from Grunt
## Getting started
If you haven’t used [Grunt](https://gruntjs.com) before, be sure to check out the [Getting started](https://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](https://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you’re familiar with that process, you may install this plugin with this command:
```console
$ npm install grunt-node-gyp --save-dev
```Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-node-gyp')
```You’ll also need to install all necessary build tools. Take a look at [`node-gyp`’s readme](https://github.com/nodejs/node-gyp#installation) for installation instructions. You don’t need to install `node-gyp` globally, however, as it already comes with `grunt-node-gyp`.
## The “gyp” task
### Overview
In your project’s Gruntfile, add a section named `gyp` to the data object passed into `grunt.initConfig()`.
```js
grunt.initConfig({
gyp: {
options: {
// Task-specific options go here.
},
your_target: {
// Target-specific file lists and/or options go here.
}
}
})
```### Options
#### command
Type: `String`
Default value: `rebuild``node-gyp` command to execute.
Supported commands are `configure`, `build`, `clean` and `rebuild`. See [node-gyp’s readme](https://github.com/nodejs/node-gyp#commands) for command descriptions.
#### options.debug
Type: `Boolean`
Default value: `false`Create a debug build.
#### options.arch
Type: `String`
Default value: Your processor’s architectureSet the target architecture: `ia32`, `x64` or `arm`.
### Usage examples
#### Default options
This would be equivalent to `node-gyp rebuild`.
```console
$ grunt gyp:addon
``````js
grunt.initConfig({
gyp: {
addon: {}
}
})
```#### Configure a debug build
This would be equivalent to `node-gyp configure --debug`.
```console
$ grunt gyp:customTarget
``````js
grunt.initConfig({
gyp: {
customTarget: {
command: 'configure',
options: {
debug: true
}
}
}
})
```#### Build an ARM build
This would be equivalent to `node-gyp build --arch=arm`.
```console
$ grunt gyp:arm
``````js
grunt.initConfig({
gyp: {
arm: {
command: 'build',
options: {
arch: 'arm'
}
}
}
})
```## Running tests
```console
$ npm install
$ npm test
```The test suite might take a while as compiling takes time. You may need to install the Node.js header files beforehand:
```console
$ npx node-gyp install
```## Changelog
This project follows [Semantic Versioning 2](https://semver.org).
- v5.0.0 (2020-11-15):
- Update `node-gyp` to v7
- Add support for `node-gyp` v4 and later
- Drop support for `node-gyp` versions older than v3
- Drop support for Grunt v0.4
- Drop support for Node.js versions older than v10
- v4.0.0 (2017-07-03):
- Fix SDK being downloaded to the local directory when using `node-gyp` v3.5 or later
- Drop support for Node.js versions older than v4
- v3.1.0 (2016-06-19): Add support for Grunt v1
- v3.0.0 (2015-09-08): Update `node-gyp` to v3
- v2.0.0 (2015-05-25): Update `node-gyp` to v2
- v1.0.0 (2015-02-14): Improve clarity of error messages by passing `node-gyp`’s error on
- v0.5.0 (2014-12-02): Add [`arch` option](https://github.com/sonicdoe/grunt-node-gyp#optionsarch)
- v0.4.1 (2014-08-25): Fix rebuild not stopping execution if one of the commands has failed
- v0.4.0 (2014-07-01): Update `node-gyp` to v1
- v0.3.0 (2014-03-05): Update `node-gyp` to v0.13
- v0.2.1 (2014-02-21): Fix borked v0.2.0 release
- v0.2.0 (2013-11-21): Update `node-gyp` to v0.12
- v0.1.0 (2013-08-25): Initial release## License
`grunt-node-gyp` is licensed under the BSD 2-Clause license. See [`LICENSE`](./LICENSE) for the full license text.