node-pre-gyp - Node.js tool for easy binary deployment of C++ addons

  •        84

node-pre-gyp stands between npm and node-gyp and offers a cross-platform method of binary deployment.For a hello world example of a module packaged with node-pre-gyp see https://github.com/springmeyer/node-addon-example and the wiki for real world examples.

https://github.com/mapbox/node-pre-gyp

Dependencies:

mkdirp : ^0.5.1
nopt : ^4.0.1
npmlog : ^4.0.2
rc : ^1.1.7
request : 2.81.0
hawk : 3.1.3
rimraf : ^2.6.1
semver : ^5.3.0
detect-libc : ^1.0.2
tar : ^2.2.1
tar-pack : ^3.4.0

Tags
Implementation
License
Platform

   




Related Projects

node-gyp - Node.js native addon build tool

  •    Python

node-gyp is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js. It bundles the gyp project used by the Chromium team and takes away the pain of dealing with the various differences in build platforms. It is the replacement to the node-waf program which is removed for node v0.8. If you have a native addon for node that still has a wscript file, then you should definitely add a binding.gyp file to support the latest versions of node.Multiple target versions of node are supported (i.e. 0.8, ..., 4, 5, 6, etc.), regardless of what version of node is actually installed on your system (node-gyp downloads the necessary development files or headers for the target version).

nbind - :sparkles: Magical headers that make your C++ library accessible from JavaScript :rocket:

  •    C++

nbind is a set of headers that make your C++11 library accessible from JavaScript. With a single #include statement, your C++ compiler generates the necessary bindings without any additional tools. Your library is then usable as a Node.js addon or, if compiled to asm.js with Emscripten, directly in web pages without any plugins. nbind works with the autogypi dependency management tool, which sets up node-gyp to compile your library without needing any configuration (other than listing your source code file names).

node-fibers - Fiber/coroutine support for v8 and node.

  •    C++

Fibers, sometimes called coroutines, are a powerful tool which expose an API to jump between multiple call stacks from within a single thread. This can be useful to make code written for a synchronous library play nicely in an asynchronous environment. Note: node-fibers uses node-gyp for building. To manually invoke the build process, you can use node-gyp rebuild. This will put the compiled extension in build/Release/fibers.node. However, when you do require('fibers'), it will expect the module to be in, for example, bin/linux-x64-v8-3.11/fibers.node. You can manually put the module here every time you build, or you can use the included build script. Either npm install or node build -f will do this for you. If you are going to be hacking on node-fibers, it may be worthwhile to first do node-gyp configure and then for subsequent rebuilds you can just do node-gyp build which will be faster than a full npm install or node-gyp rebuild.

node-gyp - Node.js native addon build tool

  •    Python

Node.js native addon build tool

mapbox-gl-native - Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node

  •    C++

A library for embedding interactive, customizable vector maps into native applications on multiple platforms. It takes stylesheets that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using OpenGL. Mapbox GL JS is the WebGL-based counterpart, designed for use on the Web.If your platform or hybrid application framework isn’t listed here, consider embedding Mapbox GL JS using the standard Web capabilities on your platform.


react-native-mapbox-gl - A Mapbox GL react native module for creating custom maps

  •    Java

Mapbox is the location data platform for mobile and web applications. We provide building blocks to add location features like maps, search, and navigation into any experience you create. Use our simple and powerful APIs & SDKs and our open source libraries for interactivity and control.Not a Mapbox user yet? Sign up for an account here. Once you’re signed in, all you need to start building is a Mapbox access token. Use this same short code with all of our interactive mapping libraries, Python and JavaScript SDKs, and directly against our REST APIs. You can create and manage your access tokens on your Mapbox Account page.

sql.js - SQLite compiled to JavaScript through Emscripten

  •    Javascript

sql.js is a port of SQLite to JavaScript, by compiling the SQLite C code with Emscripten. It uses a virtual database file stored in memory, and thus doesn't persist the changes made to the database. However, it allows you to import any existing sqlite file, and to export the created database as a javascript typed array. There is no C bindings or node-gyp compilation here, sql.js is a simple javascript file, that can be used like any traditional javascript library. If you are building a native application in javascript (using Electron for instance), or are working in node.js, you will likely prefer to use a native binding of SQLite to javascript.

topcube - Webkit Bindings for node

  •    Javascript

Gives node developers a way to have a desktop GUI to their node servers using HTML5 + CSS3 as the GUI platform.The windows client currently downloads a custom compiled binary client that uses the Chromium Embedded Framework. If you're interested in building the client yourself or making modifications see mapbox/cefclient.

node-binary - Unpack multibyte binary values from buffers and streams

  •    Javascript

Unpack multibyte binary values from buffers and streams. You can specify the endianness and signedness of the fields to be unpacked too.This module is a cleaner and more complete version of bufferlist's binary module that runs on pre-allocated buffers instead of a linked list.

node-gdal - Node.js bindings for GDAL (Geospatial Data Abstraction Library)

  •    C++

Read and write raster and vector geospatial datasets straight from Node.js with this native GDAL binding. GDAL 2.0.1 (GEOS 3.4.2, Proj.4 4.8.0) comes bundled, so node-gdal will work straight out of the box. To get started, browse the API Documentation or examples. This binding is a collaboration between Natural Atlas and Mapbox. Its contributors are Brandon Reavis, Brian Reavis, Dane Springmeyer, Zac McCormick, and others.

windows-build-tools - :package: Install C++ Build Tools for Windows using npm

  •    TypeScript

After installation, npm will automatically execute this module, which downloads and installs Visual C++ Build Tools, provided free of charge by Microsoft. These tools are required to compile popular native modules. If not already installed, it will also install Python 2.7, configuring your machine and npm appropriately. Both installations are conflict-free, meaning that they do not mess with existing installations of Visual Studio, C++ Build Tools, or Python. If you see anything that indicates otherwise, please file a bug.

mapbox-gl-js - Interactive, thoroughly customizable maps in the browser, powered by vector tiles and WebGL

  •    Javascript

Mapbox GL JS is a JavaScript library for interactive, customizable vector maps on the web. It takes map styles that conform to the Mapbox Style Specification, applies them to vector tiles that conform to the Mapbox Vector Tile Specification, and renders them using WebGL.Mapbox GL JS is part of the cross-platform Mapbox GL ecosystem, which also includes compatible native SDKs for applications on Android, iOS, macOS, Qt, and React Native. Mapbox provides building blocks to add location features like maps, search, and navigation into any experience you create. To get started with GL JS or any of our other building blocks, sign up for a Mapbox account.

tileserver-gl - Vector and raster maps with GL styles

  •    Javascript

Vector and raster maps with GL styles. Server side rendering by Mapbox GL Native. Map tile server for Mapbox GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc. Make sure you have Node.js version 6 installed (running node -v it should output something like v6.11.3).

node-iOS - Native node bindings to iOS functionality (vibrate, acceleromoter, geoservices, etc.)

  •    C++

Native node bindings to iOS functionality (vibrate, acceleromoter, geoservices, etc.)

mapbox-gl-native

  •    C++

Render Mapbox styles in mobile, desktop, and node applications using C++ and OpenGL

node-time - "time.h" bindings for Node.js

  •    Javascript

This module offers simple bindings for the C time.h APIs. It also offers an extended native Date object with getTimezone() and setTimezone() functions, which aren't normally part of JavaScript.A special Date constructor that returns a "super" Date instance, that has magic timezone capabilities! You can also pass a timezone as the last argument in order to have a Date instance in the specified timezone.

node-msgpack - A space-efficient object serialization library for NodeJS

  •    Javascript

node-msgpack is an addon for NodeJS that provides an API for serializing and de-serializing JavaScript objects using the MessagePack library. The performance of this addon compared to the native JSON object isn't too bad, and the space required for serialized data is far less than JSON. node-msgpack is currently slower than the built-in JSON.stringify() and JSON.parse() methods. In recent versions of node.js, the JSON functions have been heavily optimized. node-msgpack is still more compact, and we are currently working performance improvements. Testing shows that, over 500k iterations, msgpack.pack() is about 5x slower than JSON.stringify(), and msgpack.unpack() is about 3.5x slower than JSON.parse().

libui-node - Node bindings for libui, an awesome native UI library for Unix, OSX and Windows

  •    C++

Node.js bindings for libui library. libui is a lightweight, portable GUI library that uses the native GUI technologies of each platform it supports.

v8pp - Bind C++ functions and classes into V8 JavaScript engine

  •    C++

The library is suitable to make Node.js and io.js addons. See addons document.

node-lame - Node.js native bindings to libmp3lame & libmpg123

  •    C++

For all your async streaming MP3 encoding/decoding needs, there's node-lame! This module hooks into libmp3lame, the library that the lame command uses, to provide Encoder and Decoder streams to NodeJS.node-lame comes bundled with its own copy of libmp3lame and libmpg123, so there's no need to have them installed on your system.