You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 7-8.RSVP
Socket
Socket
Sign inDemoInstall

node-addon-api

Package Overview
Dependencies
Maintainers
5
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.7.1 to 2.0.0

doc/async_progress_worker.md

63

CHANGELOG.md
# node-addon-api Changelog
## 2019-11-21 Version 2.0.0, @NickNaso
### Notable changes:
#### API
- Added `Napi::AsyncProgressWorker` api.
- Added error checking on `Napi::ThreadSafeFunction::GetContext`.
- Added copy constructor to `Napi::ThreadSafeFunction`.
- Added `Napi::ThreadSafeFunction::Ref` and `Napi::ThreadSafeFunction::Unref` to `Napi::ThreadSafeFunction`.
- Added `Napi::Object::AddFinalizer` method.
- Use `napi_add_finalizer()` to attach data when building against N-API 5.
- Added `Napi::Date` api.
- Added `Napi::ObjectWrap::Finalize` method.
#### Documentation
- Added documentation for `Napi::AsyncProgressWorker`.
- Improve `Napi::AsyncWorker` documentation.
- Added documentation for `Napi::Object::AddFinalizer` method.
- Improved documentation for `Napi::ThreadSafeFunction`.
- Improved documentation about the usage of CMake as build tool.
- Some minor corrections all over the documentation.
#### TEST
- Added test cases for `Napi::AsyncProgressWorker` api.
- Added test cases for `Napi::Date` api.
- Added test cases for new features added to `Napi::ThreadSafeFunction`.
### Commmits
* [[`c881168d49`](https://github.com/nodejs/node-addon-api/commit/c881168d49)] - **tsfn**: add error checking on GetContext (#583) (Kevin Eady) [#583](https://github.com/nodejs/node-addon-api/pull/583)
* [[`24d75dd82f`](https://github.com/nodejs/node-addon-api/commit/24d75dd82f)] - Merge pull request #588 from NickNaso/add-asyncprogress-worker-readme (Nicola Del Gobbo)
* [[`aa79e37b62`](https://github.com/nodejs/node-addon-api/commit/aa79e37b62)] - Merge pull request #587 from timrach/patch-1 (Nicola Del Gobbo)
* [[`df75e08c2b`](https://github.com/nodejs/node-addon-api/commit/df75e08c2b)] - **tsfn**: support direct calls to underlying napi\_tsfn (Kevin Eady) [#58](https://github.com/nodejs/node-addon-api/pull/58)
* [[`2298dfae58`](https://github.com/nodejs/node-addon-api/commit/2298dfae58)] - **doc**: Added AsyncProgressWorker to readme (NickNaso)
* [[`b3609d33b6`](https://github.com/nodejs/node-addon-api/commit/b3609d33b6)] - Fix return type and declaration of setter callback (Tim Rach)
* [[`295e560f55`](https://github.com/nodejs/node-addon-api/commit/295e560f55)] - **test**: improve guards for experimental features (legendecas)
* [[`2e71842f63`](https://github.com/nodejs/node-addon-api/commit/2e71842f63)] - **tsfn**: Implement copy constructor (Kevin Eady) [#546](https://github.com/nodejs/node-addon-api/pull/546)
* [[`650562cab9`](https://github.com/nodejs/node-addon-api/commit/650562cab9)] - **src**: implement AsyncProgressWorker (legendecas) [#529](https://github.com/nodejs/node-addon-api/pull/529)
* [[`bdfd14101f`](https://github.com/nodejs/node-addon-api/commit/bdfd14101f)] - **src**: attach data with napi\_add\_finalizer (Gabriel Schulhof) [#577](https://github.com/nodejs/node-addon-api/pull/577)
* [[`9e955a802b`](https://github.com/nodejs/node-addon-api/commit/9e955a802b)] - **doc**: change node.js to Node.js per guideline (#579) (Tobias Nießen) [#579](https://github.com/nodejs/node-addon-api/pull/579)
* [[`b42e21e3a9`](https://github.com/nodejs/node-addon-api/commit/b42e21e3a9)] - **build**: move node/6 to travis allowed failures and add node/13 (#573) (Gabriel Schulhof)
* [[`8d6132f609`](https://github.com/nodejs/node-addon-api/commit/8d6132f609)] - **doc**: improve AsyncWorker docs (#571) (legendecas) [#571](https://github.com/nodejs/node-addon-api/pull/571)
* [[`bc8fc23627`](https://github.com/nodejs/node-addon-api/commit/bc8fc23627)] - **test**: do not run TSFN tests on NAPI\_VERSION \< 4 (legendecas) [#576](https://github.com/nodejs/node-addon-api/pull/576)
* [[`bcc1d58fc4`](https://github.com/nodejs/node-addon-api/commit/bcc1d58fc4)] - implement Object::AddFinalizer (Gabriel Schulhof)
* [[`e9a4bcd52a`](https://github.com/nodejs/node-addon-api/commit/e9a4bcd52a)] - **doc**: updates Make.js doc to current best practices (Jim Schlight) [#558](https://github.com/nodejs/node-addon-api/pull/558)
* [[`b513d1aa7a`](https://github.com/nodejs/node-addon-api/commit/b513d1aa7a)] - **doc**: fix return type of ArrayBuffer::Data (Tobias Nießen) [#552](https://github.com/nodejs/node-addon-api/pull/552)
* [[`34c11cf0a4`](https://github.com/nodejs/node-addon-api/commit/34c11cf0a4)] - **src**: disallow copying, double close of scopes (legendecas) [#566](https://github.com/nodejs/node-addon-api/pull/566)
* [[`ce139a05e8`](https://github.com/nodejs/node-addon-api/commit/ce139a05e8)] - **src**: make failure of closing scopes fatal (legendecas) [#566](https://github.com/nodejs/node-addon-api/pull/566)
* [[`740c79823e`](https://github.com/nodejs/node-addon-api/commit/740c79823e)] - **src**: add Env() to AsyncContext (Rolf Timmermans) [#568](https://github.com/nodejs/node-addon-api/pull/568)
* [[`ea9ce1c801`](https://github.com/nodejs/node-addon-api/commit/ea9ce1c801)] - **tsfn**: add wrappers for Ref and Unref (Kevin Eady) [#561](https://github.com/nodejs/node-addon-api/pull/561)
* [[`2e1769e1a3`](https://github.com/nodejs/node-addon-api/commit/2e1769e1a3)] - **error**: remove unnecessary if condition (legendecas) [#562](https://github.com/nodejs/node-addon-api/pull/562)
* [[`828f223a87`](https://github.com/nodejs/node-addon-api/commit/828f223a87)] - **doc**: fix spelling in ObjectWrap doc (#563) (Tobias Nießen) [#563](https://github.com/nodejs/node-addon-api/pull/563)
* [[`dd9fa8a4a8`](https://github.com/nodejs/node-addon-api/commit/dd9fa8a4a8)] - **doc**: move Arunesh and Taylor to Emeritus (#540) (Michael Dawson) [#540](https://github.com/nodejs/node-addon-api/pull/540)
* [[`cf8b8415df`](https://github.com/nodejs/node-addon-api/commit/cf8b8415df)] - **doc**: add Kevin to the list of collaborators (#539) (Michael Dawson) [#539](https://github.com/nodejs/node-addon-api/pull/539)
* [[`5d6aeae7b5`](https://github.com/nodejs/node-addon-api/commit/5d6aeae7b5)] - **build**: enable travis for fast PR check (legendecas)
* [[`6192e705cd`](https://github.com/nodejs/node-addon-api/commit/6192e705cd)] - **src**: add napi\_date (Mathias Küsel) [#497](https://github.com/nodejs/node-addon-api/pull/497)
* [[`7b1ee96d52`](https://github.com/nodejs/node-addon-api/commit/7b1ee96d52)] - **doc**: update prebuild\_tools.md (Nurbol Alpysbayev) [#527](https://github.com/nodejs/node-addon-api/pull/527)
* [[`0b4f3a5b8c`](https://github.com/nodejs/node-addon-api/commit/0b4f3a5b8c)] - **tsfn**: fix crash on releasing tsfn (legendecas) [#532](https://github.com/nodejs/node-addon-api/pull/532)
* [[`c3c8814d2f`](https://github.com/nodejs/node-addon-api/commit/c3c8814d2f)] - implement virutal ObjectWrap::Finalize (Michael Price) [#515](https://github.com/nodejs/node-addon-api/pull/515)
## 2019-07-23 Version 1.7.1, @NickNaso

@@ -4,0 +67,0 @@

2

doc/array_buffer.md

@@ -126,5 +126,5 @@ # ArrayBuffer

```cpp
T* Napi::ArrayBuffer::Data() const;
void* Napi::ArrayBuffer::Data() const;
```
Returns a pointer the wrapped data.

@@ -48,2 +48,12 @@ # AsyncContext

### Env
Requests the environment in which the async context has been initially created.
```cpp
Napi::Env Env() const;
```
Returns the `Napi::Env` environment in which the async context has been created.
## Operator

@@ -50,0 +60,0 @@

@@ -7,3 +7,3 @@ # Asynchronous operations

In the Node.js model of execution the event loop thread represents the thread
where JavaScript code is executing. The node.js guidance is to avoid blocking
where JavaScript code is executing. The Node.js guidance is to avoid blocking
other work queued on the event loop thread. Therefore, we need to do this work on

@@ -10,0 +10,0 @@ another thread.

@@ -10,4 +10,4 @@ # AsyncWorker

a thread is available for execution the `Napi::AsyncWorker::Execute` method will
be invoked. Once `Napi::AsyncWorker::Execute` completes either
`Napi::AsyncWorker::OnOK` or `Napi::AsyncWorker::OnError` will be invoked. Once
be invoked. Once `Napi::AsyncWorker::Execute` completes either
`Napi::AsyncWorker::OnOK` or `Napi::AsyncWorker::OnError` will be invoked. Once
the `Napi::AsyncWorker::OnOK` or `Napi::AsyncWorker::OnError` methods are

@@ -42,3 +42,3 @@ complete the `Napi::AsyncWorker` instance is destructed.

Cancels queued work if it has not yet been started. If it has already started
executing, it cannot be cancelled. If cancelled successfully neither
executing, it cannot be cancelled. If cancelled successfully neither
`OnOK` nor `OnError` will be called.

@@ -95,10 +95,10 @@

This method is used to execute some tasks out of the **event loop** on a libuv
This method is used to execute some tasks outside of the **event loop** on a libuv
worker thread. Subclasses must implement this method and the method is run on
a thread other than that running the main event loop. As the method is not
a thread other than that running the main event loop. As the method is not
running on the main event loop, it must avoid calling any methods from node-addon-api
or running any code that might invoke JavaScript. Instead, once this method is
complete any interaction through node-addon-api with JavaScript should be implemented
in the `Napi::AsyncWorker::OnOK` method which runs on the main thread and is
invoked when the `Napi::AsyncWorker::Execute` method completes.
in the `Napi::AsyncWorker::OnOK` method and `Napi::AsyncWorker::OnError` which run
on the main thread and are invoked when the `Napi::AsyncWorker::Execute` method completes.

@@ -112,5 +112,6 @@ ```cpp

This method is invoked when the computation in the `Execute` method ends.
The default implementation runs the Callback optionally provided when the AsyncWorker class
was created. The callback will by default receive no arguments. To provide arguments,
override the `GetResult()` method.
The default implementation runs the `Callback` optionally provided when the
`AsyncWorker` class was created. The `Callback` will by default receive no
arguments. The arguments to the `Callback` can be provided by overriding the
`GetResult()` method.

@@ -122,5 +123,5 @@ ```cpp

This method returns the arguments passed to the Callback invoked by the default
This method returns the arguments passed to the `Callback` invoked by the default
`OnOK()` implementation. The default implementation returns an empty vector,
providing no arguments to the Callback.
providing no arguments to the `Callback`.

@@ -136,3 +137,3 @@ ```cpp

enabled or if an error was set through a call to `Napi::AsyncWorker::SetError`.
The default implementation calls the callback provided when the `Napi::AsyncWorker`
The default implementation calls the `Callback` provided when the `Napi::AsyncWorker`
class was created, passing in the error as the first parameter.

@@ -181,3 +182,3 @@

operations ends. The given function is called from the main event loop thread.
- `[in] resource_name`: Null-terminated strings that represents the
- `[in] resource_name`: Null-terminated string that represents the
identifier for the kind of resource that is being provided for diagnostic

@@ -199,3 +200,3 @@ information exposed by the async_hooks API.

operations ends. The given function is called from the main event loop thread.
- `[in] resource_name`: Null-terminated strings that represents the
- `[in] resource_name`: Null-terminated string that represents the
identifier for the kind of resource that is being provided for diagnostic

@@ -235,3 +236,3 @@ information exposed by the async_hooks API.

operations ends. The given function is called from the main event loop thread.
- `[in] resource_name`: Null-terminated strings that represents the
- `[in] resource_name`: Null-terminated string that represents the
identifier for the kind of resource that is being provided for diagnostic

@@ -254,3 +255,3 @@ information exposed by the async_hooks API.

operations ends. The given function is called from the main event loop thread.
- `[in] resource_name`: Null-terminated strings that represents the
- `[in] resource_name`: Null-terminated string that represents the
identifier for the kind of resource that is being provided for diagnostic

@@ -287,3 +288,3 @@ information exposed by the async_hooks API.

- `[in] env`: The environment in which to create the `Napi::AsyncWorker`.
- `[in] resource_name`: Null-terminated strings that represents the
- `[in] resource_name`: Null-terminated string that represents the
identifier for the kind of resource that is being provided for diagnostic

@@ -304,3 +305,3 @@ information exposed by the async_hooks API.

- `[in] env`: The environment in which to create the `Napi::AsyncWorker`.
- `[in] resource_name`: Null-terminated strings that represents the
- `[in] resource_name`: Null-terminated string that represents the
identifier for the kind of resource that is being provided for diagnostic

@@ -348,3 +349,3 @@ information exposed by the async_hooks API.

The code below show a basic example of `Napi::AsyncWorker` the implementation:
The code below shows a basic example of `Napi::AsyncWorker` the implementation:

@@ -387,3 +388,3 @@ ```cpp

The following code shows an example on how to create and use an `Napi::AsyncWorker`
The following code shows an example of how to create and use an `Napi::AsyncWorker`.

@@ -399,3 +400,3 @@ ```cpp

Value Echo(const CallbackInfo& info) {
// You need to check the input data here
// You need to validate the arguments here.
Function cb = info[1].As<Function>();

@@ -402,0 +403,0 @@ std::string in = info[0].As<String>();

@@ -260,2 +260,10 @@ # Basic Types

#### IsDate
```cpp
bool Napi::Value::IsDate() const;
```
Returns `true` if the underlying value is a JavaScript `Date` or `false`
otherwise.
#### ToBoolean

@@ -262,0 +270,0 @@ ```cpp

@@ -23,3 +23,3 @@ # Class property and descriptor

Napi::Value GetValue(const Napi::CallbackInfo &info);
Napi::Value SetValue(const Napi::CallbackInfo &info);
void SetValue(const Napi::CallbackInfo &info, const Napi::Value &value);
};

@@ -56,3 +56,3 @@

Napi::Value Example::SetValue(const Napi::CallbackInfo &info, const Napi::Value &value) {
void Example::SetValue(const Napi::CallbackInfo &info, const Napi::Value &value) {
Napi::Env env = info.Env();

@@ -62,3 +62,2 @@ // ...

this->_value = arg.DoubleValue();
return this->GetValue(info);
}

@@ -65,0 +64,0 @@

# CMake.js
**CMake.js** is a build tool that allow native addon developer to compile their
C++ code into executable form. It works like **[node-gyp](node-gyp.md)** but
instead of Google's **gyp** format it is base on **CMake** build system.
[**CMake.js**](https://github.com/cmake-js/cmake-js) is a build tool that allow native addon developers to compile their
C or C++ code into executable form. It works like **[node-gyp](node-gyp.md)** but
instead of Google's [**gyp**](https://gyp.gsrc.io) tool it is based on the [**CMake**](https://cmake.org) build system.
## **CMake** reference
## Quick Start
- [Installation](https://www.npmjs.com/package/cmake-js#installation)
- [How to use](https://www.npmjs.com/package/cmake-js#usage)
### Install CMake
CMake.js requires that CMake be installed. Installers for a variety of platforms can be found on the [CMake website](https://cmake.org).
### Install CMake.js
For developers, CMake.js is typically installed as a global package:
```bash
npm install -g cmake-js
cmake-js --help
```
> For *users* of your native addon, CMake.js should be configured as a dependency in your `package.json` as described in the [CMake.js documentation](https://github.com/cmake-js/cmake-js).
### CMakeLists.txt
Your project will require a `CMakeLists.txt` file. The [CMake.js README file](https://github.com/cmake-js/cmake-js#usage) shows what's necessary.
### NAPI_VERSION
When building N-API addons, it's crucial to specify the N-API version your code is designed to work with. With CMake.js, this information is specified in the `CMakeLists.txt` file:
```
add_definitions(-DNAPI_VERSION=3)
```
Since N-API is ABI-stable, your N-API addon will work, without recompilation, with the N-API version you specify in `NAPI_VERSION` and all subsequent N-API versions.
In the absence of a need for features available only in a specific N-API version, version 3 is a good choice as it is the version of N-API that was active when N-API left experimental status.
### NAPI_EXPERIMENTAL
The following line in the `CMakeLists.txt` file will enable N-API experimental features if your code requires them:
```
add_definitions(-DNAPI_EXPERIMENTAL)
```
### node-addon-api
If your N-API native add-on uses the optional [**node-addon-api**](https://github.com/nodejs/node-addon-api#node-addon-api-module) C++ wrapper, the `CMakeLists.txt` file requires additional configuration information as described on the [CMake.js README file](https://github.com/cmake-js/cmake-js#n-api-and-node-addon-api).
## Example
A working example of an N-API native addon built using CMake.js can be found on the [node-addon-examples repository](https://github.com/nodejs/node-addon-examples/tree/master/build_with_cmake#building-n-api-addons-using-cmakejs).
## **CMake** Reference
- [Installation](https://github.com/cmake-js/cmake-js#installation)
- [How to use](https://github.com/cmake-js/cmake-js#usage)
- [Using N-API and node-addon-api](https://github.com/cmake-js/cmake-js#n-api-and-node-addon-api)
- [Tutorials](https://www.npmjs.com/package/cmake-js#tutorials)
- [Use case in the works - ArrayFire.js](https://www.npmjs.com/package/cmake-js#use-case-in-the-works---arrayfirejs)
- [Tutorials](https://github.com/cmake-js/cmake-js#tutorials)
- [Use case in the works - ArrayFire.js](https://github.com/cmake-js/cmake-js#use-case-in-the-works---arrayfirejs)

@@ -19,2 +68,2 @@ Sometimes finding the right settings is not easy so to accomplish at most

- [CMake documentation](https://cmake.org/)
- [CMake.js wiki](https://github.com/cmake-js/cmake-js/wiki)
- [CMake.js wiki](https://github.com/cmake-js/cmake-js/wiki)

@@ -164,3 +164,3 @@ # Object Wrap

static and instance properties and methods of the class.
See: [`Class propertry and descriptor`](class_property_descriptor.md).
See: [`Class property and descriptor`](class_property_descriptor.md).
* `[in] data`: User-provided data passed to the constructor callback as `data`

@@ -188,3 +188,3 @@ property of the `Napi::CallbackInfo`.

instance properties and methods of the class.
See: [`Class propertry and descriptor`](class_property_descriptor.md).
See: [`Class property and descriptor`](class_property_descriptor.md).
* `[in] data`: User-provided data passed to the constructor callback as `data`

@@ -195,2 +195,13 @@ property of the `Napi::CallbackInfo`.

### Finalize
Provides an opportunity to run cleanup code that requires access to the `Napi::Env`
before the wrapped native object instance is freed. Override to implement.
```cpp
virtual void Finalize(Napi::Env env);
```
- `[in] env`: `Napi::Env`.
### StaticMethod

@@ -197,0 +208,0 @@

@@ -140,2 +140,36 @@ # Object

### AddFinalizer()
```cpp
template <typename Finalizer, typename T>
inline void AddFinalizer(Finalizer finalizeCallback, T* data);
```
- `[in] finalizeCallback`: The function to call when the object is garbage-collected.
- `[in] data`: The data to associate with the object.
Associates `data` with the object, calling `finalizeCallback` when the object is garbage-collected. `finalizeCallback`
has the signature
```cpp
void finalizeCallback(Napi::Env env, T* data);
```
where `data` is the pointer that was passed into the call to `AddFinalizer()`.
### AddFinalizer()
```cpp
template <typename Finalizer, typename T, typename Hint>
inline void AddFinalizer(Finalizer finalizeCallback,
T* data,
Hint* finalizeHint);
```
- `[in] data`: The data to associate with the object.
- `[in] finalizeCallback`: The function to call when the object is garbage-collected.
Associates `data` with the object, calling `finalizeCallback` when the object is garbage-collected. An additional hint
may be given. It will also be passed to `finalizeCallback`, which has the signature
```cpp
void finalizeCallback(Napi::Env env, T* data, Hint* hint);
```
where `data` and `hint` are the pointers that were passed into the call to `AddFinalizer()`.
### DefineProperty()

@@ -142,0 +176,0 @@

@@ -12,3 +12,3 @@ # Prebuild tools

The following list report two of the tools that are compatible with **N-API**:
The following list report known tools that are compatible with **N-API**:

@@ -15,0 +15,0 @@ - **[node-pre-gyp](https://www.npmjs.com/package/node-pre-gyp)**

@@ -61,3 +61,6 @@ # ThreadSafeFunction

Returns a non-empty `Napi::ThreadSafeFunction` instance.
Returns a non-empty `Napi::ThreadSafeFunction` instance. When using this
constructor, only use the `Blocking(void*)` / `NonBlocking(void*)` overloads;
the `Callback` and templated `data*` overloads should _not_ be used. See below
for additional details.

@@ -175,2 +178,5 @@ ### New

**These specific function overloads should only be used on a `ThreadSafeFunction`
created via `ThreadSafeFunction::New`.**
```cpp

@@ -191,2 +197,13 @@ napi_status Napi::ThreadSafeFunction::BlockingCall(DataType* data, Callback callback) const

**These specific function overloads should only be used on a `ThreadSafeFunction`
created via `ThreadSafeFunction(napi_threadsafe_function)`.**
```cpp
napi_status Napi::ThreadSafeFunction::BlockingCall(void* data) const
napi_status Napi::ThreadSafeFunction::NonBlockingCall(void* data) const
```
- `data`: Data to pass to `call_js_cb` specified when creating the thread-safe
function via `napi_create_threadsafe_function`.
Returns one of:

@@ -193,0 +210,0 @@ - `napi_ok`: The call was successfully added to the queue.

@@ -13,2 +13,3 @@ # Value

- [`Napi::Buffer`](buffer.md)
- [`Napi::Date`](date.md)
- [`Napi::External`](external.md)

@@ -230,2 +231,10 @@ - [`Napi::Function`](function.md)

### IsDate
```cpp
bool Napi::Value::IsDate() const;
```
Returns a `bool` indicating if this `Napi::Value` is a JavaScript date.
### As

@@ -232,0 +241,0 @@

@@ -6,46 +6,202 @@ {

"contributors": [
"Abhishek Kumar Singh (https://github.com/abhi11210646)",
"Alba Mendez (https://github.com/jmendeth)",
"Andrew Petersen (https://github.com/kirbysayshi)",
"Anisha Rohra (https://github.com/anisha-rohra)",
"Anna Henningsen (https://github.com/addaleax)",
"Arnaud Botella (https://github.com/BotellaA)",
"Arunesh Chandra (https://github.com/aruneshchandra)",
"Ben Berman (https://github.com/rivertam)",
"Benjamin Byholm (https://github.com/kkoopa)",
"Bill Gallafent (https://github.com/gallafent)",
"Bruce A. MacNaughton (https://github.com/bmacnaughton)",
"Cory Mickelson (https://github.com/corymickelson)",
"David Halls (https://github.com/davedoesdev)",
"Dongjin Na (https://github.com/nadongguri)",
"Eric Bickle (https://github.com/ebickle)",
"Gabriel Schulhof (https://github.com/gabrielschulhof)",
"Gus Caplan (https://github.com/devsnek)",
"Hitesh Kanwathirtha (https://github.com/digitalinfinity)",
"Jake Barnes (https://github.com/DuBistKomisch)",
"Jake Yoon (https://github.com/yjaeseok)",
"Jason Ginchereau (https://github.com/jasongin)",
"Jim Schlight (https://github.com/jschlight)",
"Jinho Bang (https://github.com/romandev)",
"joshgarde (https://github.com/joshgarde)",
"Kevin Eady (https://github.com/KevinEady)",
"Konstantin Tarkus (https://github.com/koistya)",
"Kyle Farnung (https://github.com/kfarnung)",
"Luciano Martorella (https://github.com/lmartorella)",
"Matteo Collina (https://github.com/mcollina)",
"Michael Dawson (https://github.com/mhdawson)",
"Michele Campus (https://github.com/kYroL01)",
"Mikhail Cheshkov (https://github.com/mcheshkov)",
"Nicola Del Gobbo (https://github.com/NickNaso)",
"Nick Soggin (https://github.com/iSkore)",
"Philipp Renoth (https://github.com/DaAitch)",
"Rolf Timmermans (https://github.com/rolftimmermans)",
"Ross Weir (https://github.com/ross-weir)",
"Ryuichi Okumura (https://github.com/okuryu)",
"Sampson Gao (https://github.com/sampsongao)",
"Sam Roberts (https://github.com/sam-github)",
"Taylor Woll (https://github.com/boingoing)",
"Thomas Gentilhomme (https://github.com/fraxken)",
"Tux3 (https://github.com/tux3)",
"Yohei Kishimoto (https://github.com/morokosi)"
{
"name": "Abhishek Kumar Singh",
"url": "https://github.com/abhi11210646"
},
{
"name": "Alba Mendez",
"url": "https://github.com/jmendeth"
},
{
"name": "Andrew Petersen",
"url": "https://github.com/kirbysayshi"
},
{
"name": "Anisha Rohra",
"url": "https://github.com/anisha-rohra"
},
{
"name": "Anna Henningsen",
"url": "https://github.com/addaleax"
},
{
"name": "Arnaud Botella",
"url": "https://github.com/BotellaA"
},
{
"name": "Arunesh Chandra",
"url": "https://github.com/aruneshchandra"
},
{
"name": "Ben Berman",
"url": "https://github.com/rivertam"
},
{
"name": "Benjamin Byholm",
"url": "https://github.com/kkoopa"
},
{
"name": "Bill Gallafent",
"url": "https://github.com/gallafent"
},
{
"name": "Bruce A. MacNaughton",
"url": "https://github.com/bmacnaughton"
},
{
"name": "Cory Mickelson",
"url": "https://github.com/corymickelson"
},
{
"name": "David Halls",
"url": "https://github.com/davedoesdev"
},
{
"name": "Dongjin Na",
"url": "https://github.com/nadongguri"
},
{
"name": "Eric Bickle",
"url": "https://github.com/ebickle"
},
{
"name": "Gabriel Schulhof",
"url": "https://github.com/gabrielschulhof"
},
{
"name": "Gus Caplan",
"url": "https://github.com/devsnek"
},
{
"name": "Hitesh Kanwathirtha",
"url": "https://github.com/digitalinfinity"
},
{
"name": "Jake Barnes",
"url": "https://github.com/DuBistKomisch"
},
{
"name": "Jake Yoon",
"url": "https://github.com/yjaeseok"
},
{
"name": "Jason Ginchereau",
"url": "https://github.com/jasongin"
},
{
"name": "Jim Schlight",
"url": "https://github.com/jschlight"
},
{
"name": "Jinho Bang",
"url": "https://github.com/romandev"
},
{
"name": "joshgarde",
"url": "https://github.com/joshgarde"
},
{
"name": "Kevin Eady",
"url": "https://github.com/KevinEady"
},
{
"name": "Konstantin Tarkus",
"url": "https://github.com/koistya"
},
{
"name": "Kyle Farnung",
"url": "https://github.com/kfarnung"
},
{
"name": "legendecas",
"url": "https://github.com/legendecas"
},
{
"name": "Luciano Martorella",
"url": "https://github.com/lmartorella"
},
{
"name": "Mathias Küsel",
"url": "https://github.com/mathiask88"
},
{
"name": "Matteo Collina",
"url": "https://github.com/mcollina"
},
{
"name": "Michael Dawson",
"url": "https://github.com/mhdawson"
},
{
"name": "Michael Price",
"url": "https://github.com/mikepricedev"
},
{
"name": "Michele Campus",
"url": "https://github.com/kYroL01"
},
{
"name": "Mikhail Cheshkov",
"url": "https://github.com/mcheshkov"
},
{
"name": "Nicola Del Gobbo",
"url": "https://github.com/NickNaso"
},
{
"name": "Nick Soggin",
"url": "https://github.com/iSkore"
},
{
"name": "Nurbol Alpysbayev",
"url": "https://github.com/anurbol"
},
{
"name": "Philipp Renoth",
"url": "https://github.com/DaAitch"
},
{
"name": "Rolf Timmermans",
"url": "https://github.com/rolftimmermans"
},
{
"name": "Ross Weir",
"url": "https://github.com/ross-weir"
},
{
"name": "Ryuichi Okumura",
"url": "https://github.com/okuryu"
},
{
"name": "Sampson Gao",
"url": "https://github.com/sampsongao"
},
{
"name": "Sam Roberts",
"url": "https://github.com/sam-github"
},
{
"name": "Taylor Woll",
"url": "https://github.com/boingoing"
},
{
"name": "Thomas Gentilhomme",
"url": "https://github.com/fraxken"
},
{
"name": "Tim Rach",
"url": "https://github.com/timrach"
},
{
"name": "Tobias Nießen",
"url": "https://github.com/tniessen"
},
{
"name": "Tux3",
"url": "https://github.com/tux3"
},
{
"name": "Yohei Kishimoto",
"url": "https://github.com/morokosi"
}
],

@@ -59,3 +215,13 @@ "dependencies": {},

"homepage": "https://github.com/nodejs/node-addon-api",
"keywords": ["n-api", "napi", "addon", "native", "bindings", "c", "c++", "nan", "node-addon-api"],
"keywords": [
"n-api",
"napi",
"addon",
"native",
"bindings",
"c",
"c++",
"nan",
"node-addon-api"
],
"license": "MIT",

@@ -79,3 +245,3 @@ "main": "index.js",

},
"version": "1.7.1"
"version": "2.0.0"
}

@@ -49,3 +49,3 @@ # **node-addon-api module**

## **Current version: 1.7.1**
## **Current version: 2.0.0**

@@ -79,2 +79,3 @@ (See [CHANGELOG.md](CHANGELOG.md) for complete Changelog)

- [Number](doc/number.md)
- [Date](doc/date.md)
- [BigInt](doc/bigint.md)

@@ -111,2 +112,3 @@ - [Boolean](doc/boolean.md)

- [AsyncContext](doc/async_context.md)
- [AsyncProgressWorker](doc/async_progress_worker.md)
- [Thread-safe Functions](doc/threadsafe_function.md)

@@ -184,3 +186,2 @@ - [Promises](doc/promises.md)

| Anna Henningsen | [addaleax](https://github.com/addaleax) |
| Arunesh Chandra | [aruneshchandra](https://github.com/aruneshchandra) |
| Gabriel Schulhof | [gabrielschulhof](https://github.com/gabrielschulhof) |

@@ -190,4 +191,4 @@ | Hitesh Kanwathirtha | [digitalinfinity](https://github.com/digitalinfinity) |

| Michael Dawson | [mhdawson](https://github.com/mhdawson) |
| Kevin Eady | [KevinEady](https://github.com/KevinEady)
| Nicola Del Gobbo | [NickNaso](https://github.com/NickNaso) |
| Taylor Woll | [boingoing](https://github.com/boingoing) |

@@ -197,5 +198,7 @@ ### Emeritus

| ------------------- | ----------------------------------------------------- |
| Arunesh Chandra | [aruneshchandra](https://github.com/aruneshchandra) |
| Benjamin Byholm | [kkoopa](https://github.com/kkoopa) |
| Jason Ginchereau | [jasongin](https://github.com/jasongin) |
| Sampson Gao | [sampsongao](https://github.com/sampsongao) |
| Taylor Woll | [boingoing](https://github.com/boingoing) |

@@ -202,0 +205,0 @@ <a name="license"></a>

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc