Home

Awesome

Node Native Extension Boilerplate

Build Status

A very approachable node native extension.

This repository serves as a nearly minimal native extension built on Nan with enough tooling to also make it a great starting point for more complex projects.

Building

To compile the extension for the first time, run

$ npm i
$ npm run configure
$ npm run build

All subsequent builds only need npm run build

You can confirm everything built correctly by running the test suite.

Working With the Extension Locally

After building:

$ node
> var NativeExtension = require('./')
undefined
> NativeExtension.aString()
'This is a thing.'
> NativeExtension.aBoolean()
false
> NativeExtension.nothing()
undefined
> 

To run tests:

$ npm test

or to run test continuously

$ npm test -- watch

The Parts

FileContents
NativeExtension.ccRepresents the top level of the module. C++ constructs that are exposed to javascript are exported here
functions.ccExample top-level functions. These functions demonstrate how to build and return various js types.
index.jsThe main entry point for the node dependency
binding.gypDescribes your node native extention to the build system (node-gyp). As you add source files to the project, you should also add them to the binding file.