MCPcopy Index your code
hub / github.com/digitalinfinity/generator-napi-module

github.com/digitalinfinity/generator-napi-module @v0.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.0 ↗ · + Follow
30 symbols 48 edges 11 files 0 documented · 0% updated 2y ago★ 433 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

generator-napi-module NPM version Build Status Dependency Status

A yeoman generator to create a next-generation Node native module using N-API

Use this module to quickly generate a skeleton module using N-API, the new API for Native addons introduced in Node 8. This module automatically sets up your gyp files to use node-addon-api, the C++ wrappers for N-API and generates a wrapper JS module. Optionally, it can even configure the generated project to use TypeScript instead!

Installation

First, install Yeoman and generator-napi-module using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-napi-module

Create a directory for your N-API module:

mkdir <moduleName>
cd <moduleName>

Then generate your new project:

yo napi-module

This will generate a really simple N-API module- think of this as the Hello world of N-API modules. If you want a slightly more complicated module that is similar to what you'd write in a real world N-API module, run the following command:

yo napi-module --intermediate

Getting To Know Yeoman

  • Yeoman has a heart of gold.
  • Yeoman is a person with feelings and opinions, but is very easy to work with.
  • Yeoman can be too opinionated at times but is easily convinced not to be.
  • Feel free to learn more about Yeoman.

Contributing

This project accepts pull requests! To contribute a change: 1. Fork this repo 2. Run npm install to install your dependencies 3. Make your changes 4. Run npm run build to compile the TypeScript file 5. Run npm run test to verify that the unit tests pass 6. Run npm link to "install" your generator 7. Create a scratch directory: 7.1. Run yo napi-module 7.2. Run npm test

If all looks good, submit your PR!

License

MIT © Hitesh Kanwathirtha

Extension points exported contracts — how you extend this code

IGeneratorProps (Interface)
(no doc)
src/app/index.ts
I (Interface)
(no doc)
generators/app/templates/lib/binding_intermediate.ts
ICreatePackageJsonResult (Interface)
(no doc)
src/app/index.ts

Core symbols most depended-on inside this repo

greet
called by 3
generators/app/templates/lib/binding_intermediate.ts
getValidModuleName
called by 2
src/app/index.ts
getCppFileName
called by 2
src/app/index.ts
promptForTemplate
called by 1
src/app/index.ts
updatePackageJsonForTypeScript
called by 1
src/app/index.ts
createPackageJson
called by 0
src/app/index.ts
constructor
called by 0
src/app/index.ts
prompting
called by 0
src/app/index.ts

Shape

Function 15
Method 7
Class 5
Interface 3

Languages

TypeScript87%
C++13%

Modules by API surface

src/app/index.ts13 symbols
generators/app/templates/lib/binding_intermediate.ts6 symbols
__tests__/app.js4 symbols
generators/app/templates/test/test_binding_intermediate.js2 symbols
generators/app/templates/src/module.cc2 symbols
generators/app/templates/test/test_binding.js1 symbols
generators/app/templates/src/module_intermediate.h1 symbols
generators/app/templates/src/module_intermediate.cc1 symbols

For agents

$ claude mcp add generator-napi-module \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page