{"id":13527303,"url":"https://github.com/prebuild/node-gyp-build","last_synced_at":"2025-04-13T20:18:58.035Z","repository":{"id":16490684,"uuid":"80025832","full_name":"prebuild/node-gyp-build","owner":"prebuild","description":"Build tool and bindings loader for node-gyp that supports prebuilds","archived":false,"fork":false,"pushed_at":"2024-11-19T14:43:07.000Z","size":54,"stargazers_count":117,"open_issues_count":30,"forks_count":40,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-10T20:49:32.423Z","etag":null,"topics":["native-modules","node-gyp","nodejs","prebuild","prebuildify"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/prebuild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-25T15:12:39.000Z","updated_at":"2025-04-08T13:20:32.000Z","dependencies_parsed_at":"2024-02-26T01:49:28.199Z","dependency_job_id":"b5a8ca6f-6e7e-48fe-88b6-0bd56dc751c5","html_url":"https://github.com/prebuild/node-gyp-build","commit_stats":{"total_commits":92,"total_committers":15,"mean_commits":6.133333333333334,"dds":0.3586956521739131,"last_synced_commit":"8f2180d036e9f1015b1b92029f5ea632a6b827db"},"previous_names":["mafintosh/node-gyp-build"],"tags_count":40,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fnode-gyp-build","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fnode-gyp-build/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fnode-gyp-build/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/prebuild%2Fnode-gyp-build/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/prebuild","download_url":"https://codeload.github.com/prebuild/node-gyp-build/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248774990,"owners_count":21159534,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["native-modules","node-gyp","nodejs","prebuild","prebuildify"],"created_at":"2024-08-01T06:01:45.345Z","updated_at":"2025-04-13T20:18:58.009Z","avatar_url":"https://github.com/prebuild.png","language":"JavaScript","readme":"# node-gyp-build\n\n\u003e Build tool and bindings loader for [`node-gyp`][node-gyp] that supports prebuilds.\n\n```\nnpm install node-gyp-build\n```\n\n[![Test](https://github.com/prebuild/node-gyp-build/actions/workflows/test.yml/badge.svg)](https://github.com/prebuild/node-gyp-build/actions/workflows/test.yml)\n\nUse together with [`prebuildify`][prebuildify] to easily support prebuilds for your native modules.\n\n## Usage\n\n\u003e **Note.** Prebuild names have changed in [`prebuildify@3`][prebuildify] and `node-gyp-build@4`. Please see the documentation below.\n\n`node-gyp-build` works similar to [`node-gyp build`][node-gyp] except that it will check if a build or prebuild is present before rebuilding your project.\n\nIt's main intended use is as an npm install script and bindings loader for native modules that bundle prebuilds using [`prebuildify`][prebuildify].\n\nFirst add `node-gyp-build` as an install script to your native project\n\n``` js\n{\n  ...\n  \"scripts\": {\n    \"install\": \"node-gyp-build\"\n  }\n}\n```\n\nThen in your `index.js`, instead of using the [`bindings`](https://www.npmjs.com/package/bindings) module use `node-gyp-build` to load your binding.\n\n``` js\nvar binding = require('node-gyp-build')(__dirname)\n```\n\nIf you do these two things and bundle prebuilds with [`prebuildify`][prebuildify] your native module will work for most platforms\nwithout having to compile on install time AND will work in both node and electron without the need to recompile between usage.\n\nUsers can override `node-gyp-build` and force compiling by doing `npm install --build-from-source`.\n\nPrebuilds will be attempted loaded from `MODULE_PATH/prebuilds/...` and then next `EXEC_PATH/prebuilds/...` (the latter allowing use with `zeit/pkg`)\n\n## Supported prebuild names\n\nIf so desired you can bundle more specific flavors, for example `musl` builds to support Alpine, or targeting a numbered ARM architecture version.\n\nThese prebuilds can be bundled in addition to generic prebuilds; `node-gyp-build` will try to find the most specific flavor first. Prebuild filenames are composed of _tags_. The runtime tag takes precedence, as does an `abi` tag over `napi`. For more details on tags, please see [`prebuildify`][prebuildify].\n\nValues for the `libc` and `armv` tags are auto-detected but can be overridden through the `LIBC` and `ARM_VERSION` environment variables, respectively.\n\n## License\n\nMIT\n\n[prebuildify]: https://github.com/prebuild/prebuildify\n[node-gyp]: https://www.npmjs.com/package/node-gyp\n","funding_links":[],"categories":["JavaScript","nodejs"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprebuild%2Fnode-gyp-build","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprebuild%2Fnode-gyp-build","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprebuild%2Fnode-gyp-build/lists"}