open-index/open-npm huggingface dataset:
npm package: @napi-ffi/get-symbol-from-current-process-h
Description: C function to get a symbol from the current process
Author: Anna Henningsen
Latest version: 1.0.4

# @napi-ffi/get-symbol-from-current-process-h

[![CI](https://github.com/napi-ffi/get-symbol-from-current-process-h/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/napi-ffi/get-symbol-from-current-process-h/actions/workflows/ci.yml)
[![npm version](https://img.shields.io/npm/v/@napi-ffi/get-symbol-from-current-process-h.svg)](https://www.npmjs.com/package/@napi-ffi/get-symbol-from-current-process-h)
[![npm downloads](https://img.shields.io/npm/dm/@napi-ffi/get-symbol-from-current-process-h.svg)](https://www.npmjs.com/package/@napi-ffi/get-symbol-from-current-process-h)
[![License: ISC](https://img.shields.io/badge/License-ISC-blue.svg)](./LICENSE)

> Cross-platform C function to get a symbol from the current process

This package provides a header-only C library for retrieving symbols from the current process in a cross-platform manner. It works on Unix-like systems (using `dlsym`) and Windows (using `GetProcAddress`).

Originally authored by [Anna Henningsen](https://github.com/addaleax) as part of the [node-ffi-napi](https://github.com/node-ffi-napi) project. This is a maintained fork under the [@napi-ffi](https://github.com/napi-ffi) organization.

## Installation

Install with npm:

```bash
npm install @napi-ffi/get-symbol-from-current-process-h
```

## Usage

### In your `binding.gyp`:

```python
'include_dirs': [
  "<!@(node -p \"require('@napi-ffi/get-symbol-from-current-process-h').include\")"
]
```

### In your C/C++ code:

```c
#include <get-symbol-from-current-process.h>

void* sym = get_symbol_from_current_process("my_function");
if (sym != NULL) {
  // Use the symbol
}
```

## API

### `void* get_symbol_from_current_process(const char* name)`

Retrieves a symbol from the current process by name.

**Parameters:**
- `name`: The name of the symbol to retrieve (must not be NULL)

**Returns:**
- Pointer to the symbol if found
- `NULL` if the symbol is not found or an error occurs



This package requires Node.js >= 20.0.0

## License

ISC License - See [LICENSE](LICENSE) file for details
npm package: @napi-ffi/get-uv-event-loop-napi-h
Description: C function to get the current libuv event loop for N-API
Author: Anna Henningsen
Latest version: 1.0.6

@napi-ffi/get-uv-event-loop-napi-h
===================================
### C function to get the current libuv event loop for N-API

[![CI](https://github.com/napi-ffi/get-uv-event-loop-napi-h/actions/workflows/ci.yml/badge.svg)](https://github.com/napi-ffi/get-uv-event-loop-napi-h/actions/workflows/ci.yml)
[![NPM Version](https://img.shields.io/npm/v/@napi-ffi/get-uv-event-loop-napi-h.svg?style=flat)](https://npmjs.org/package/@napi-ffi/get-uv-event-loop-napi-h)
[![NPM Downloads](https://img.shields.io/npm/dm/@napi-ffi/get-uv-event-loop-napi-h.svg?style=flat)](https://npmjs.org/package/@napi-ffi/get-uv-event-loop-napi-h)

> Forked from [node-ffi-napi/get-uv-event-loop-napi-h](https://github.com/node-ffi-napi/get-uv-event-loop-napi-h) to maintain and modernize the project while preserving the original APIs.

Installation
------------

Install with `npm`:

``` bash
$ npm install @napi-ffi/get-uv-event-loop-napi-h
```

Usage
-----

In your `binding.gyp`:

```python
    'include_dirs': ["<!@(node -p \"require('@napi-ffi/get-uv-event-loop-napi-h').include\")"],
```

(Just have `"<!@(node -p \"require('@napi-ffi/get-uv-event-loop-napi-h').include\")"` somewhere in that list, ok?)

In your C code:

```c
#include <get-uv-event-loop-napi.h>

uv_loop_t* loop = get_uv_event_loop(env);
```
npm package: @napi-ffi/ref-union-di
Description: Create ABI-compliant "union" instances on top of Buffers
Author: Anna Henningsen
Latest version: 1.0.2

@napi-ffi/ref-union-di
======================
### Create ABI-compliant "[union][]" instances on top of Buffers

[![CI](https://github.com/napi-ffi/ref-union-di/actions/workflows/ci.yml/badge.svg)](https://github.com/napi-ffi/ref-union-di/actions/workflows/ci.yml)
[![NPM Version](https://img.shields.io/npm/v/@napi-ffi/ref-union-di.svg?style=flat)](https://npmjs.org/package/@napi-ffi/ref-union-di)
[![NPM Downloads](https://img.shields.io/npm/dm/@napi-ffi/ref-union-di.svg?style=flat)](https://npmjs.org/package/@napi-ffi/ref-union-di)

> Forked from [node-ffi-napi/ref-union-di](https://github.com/node-ffi-napi/ref-union-di) to maintain and modernize the project while preserving the original APIs.

**Note**: The only difference to `ref-union` is that this module takes its
dependency on `ref` via dependency injection, so that it is easier to use
e.g. `ref-napi` instead.

Installation
------------

Install with `npm`:

``` bash
$ npm install @napi-ffi/ref-union-di
```


Examples
--------

``` js
var ref = require('@napi-ffi/ref-napi')
var Union = require('@napi-ffi/ref-union-di')(ref)

// a couple typedefs
var int = ref.types.int
var float = ref.types.float
var string = ref.types.CString

// define a Union type with 3 data fields
var u_tag = new Union({
    ival: int
  , fval: float
  , sval: string
})

// the size of the union matches the largest data type in the union type
u_tag.size === string.size

// and you can create new instances of the union type
var tag = new u_tag
tag.ival = 5
```


License
-------

(The MIT License)

Copyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


[union]: http://wikipedia.org/wiki/Union_(computer_science)
npm package: @napi-ffi/setimmediate-napi
Description: `setImmediate()` for N-API code
Author: Anna Henningsen
Latest version: 1.0.6

@napi-ffi/setimmediate-napi
===========================
### `setImmediate()` for N-API code

[![CI](https://github.com/napi-ffi/setimmediate-napi/actions/workflows/ci.yml/badge.svg)](https://github.com/napi-ffi/setimmediate-napi/actions/workflows/ci.yml)
[![NPM Version](https://img.shields.io/npm/v/@napi-ffi/setimmediate-napi.svg?style=flat)](https://npmjs.org/package/@napi-ffi/setimmediate-napi)
[![NPM Downloads](https://img.shields.io/npm/dm/@napi-ffi/setimmediate-napi.svg?style=flat)](https://npmjs.org/package/@napi-ffi/setimmediate-napi)

> Forked from [node-ffi-napi/setimmediate-napi](https://github.com/node-ffi-napi/setimmediate-napi) to maintain and modernize the project while preserving the original APIs.

Installation
------------

Install with `npm`:

``` bash
$ npm install @napi-ffi/setimmediate-napi
```

Usage
-----

In your `binding.gyp`:

```python
    'include_dirs': ["<!@(node -p \"require('node-addon-api').include\")",
                     "<!@(node -p \"require('@napi-ffi/setimmediate-napi').include\")"],
```

(Just have `"<!@(node -p \"require('@napi-ffi/setimmediate-napi').include\")"` somewhere in that list, ok?)

In your C++ code:

```c++
#include <setimmediate.h>

int a = 10;
SetImmediate(env, [a]() {
  /* do something with a ... */
});
```

Keep in mind:
- You need to use `Reference`s to keep track of JS objects, since this code runs asynchronously.
- Use `MakeCallback` rather than `Call` to make sure Node.js can track your async context.
- This function can be invoked even when executing JS code itself is not allowed.
npm package: @napi-rs/blake-hash-android-arm-eabi
Description: This is the **arm-linux-androideabi** binary for `@napi-rs/blake-hash`
Latest version: 1.3.1

# `@napi-rs/blake-hash-android-arm-eabi`

This is the **arm-linux-androideabi** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-darwin-x64
Description: This is the **x86_64-apple-darwin** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-darwin-x64`

This is the **x86_64-apple-darwin** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-freebsd-x64
Description: This is the **x86_64-unknown-freebsd** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-freebsd-x64`

This is the **x86_64-unknown-freebsd** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-linux-arm-gnueabihf
Description: This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-linux-arm64-gnu
Description: This is the **aarch64-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-linux-arm64-musl
Description: This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-linux-ppc64-gnu
Description: This is the **powerpc64le-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-linux-ppc64-gnu`

This is the **powerpc64le-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-linux-s390x-gnu
Description: This is the **s390x-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-linux-s390x-gnu`

This is the **s390x-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-linux-x64-musl
Description: This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-win32-arm64-msvc
Description: This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-win32-ia32-msvc
Description: This is the **i686-pc-windows-msvc** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-win32-ia32-msvc`

This is the **i686-pc-windows-msvc** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/blake-hash-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/blake-hash`
Latest version: 1.3.6

# `@napi-rs/blake-hash-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/blake-hash`
npm package: @napi-rs/canvas-icudtl-win32-x64
Description: External icu dat for Windows x64
Latest version: 0.0.3

# `@napi-rs/canvas-icudtl-win32-x64`

External ICU dat for [canvas](https://github.com/Brooooooklyn/canvas) Windows x64 platform.

https://github.com/google/skia/blob/master/third_party/icu/SkLoadICU.cpp#L6
npm package: @napi-rs/cli
Description: Cli tools for napi-rs
Author: LongYinan
Latest version: 3.6.1

# `@napi-rs/cli`

[![Download](https://img.shields.io/npm/dm/@napi-rs/cli)](https://www.npmjs.com/package/@napi-rs/cli)
[![Install size](https://packagephobia.com/badge?p=@napi-rs/cli)](https://packagephobia.com/result?p=@napi-rs/cli)
<a href="https://discord.gg/SpWzYHsKHs">
<img src="https://img.shields.io/discord/874290842444111882.svg?logo=discord&style=flat-square"
    alt="chat" />
</a>

> Cli tools for napi-rs

```sh
# or npm, pnpm
yarn add @napi-rs/cli -D
yarn napi build
```

## Commands

| Command         | desc                                                           | docs                                                |
| --------------- | -------------------------------------------------------------- | --------------------------------------------------- |
| new             | create new napi-rs project                                     | [./docs/new.md](./docs/new.md)                      |
| build           | build napi-rs project                                          | [./docs/build.md](./docs/build.md)                  |
| create-npm-dirs | Create npm package dirs for different platforms                | [./docs/create-npm-dirs](./docs/create-npm-dirs.md) |
| artifacts       | Copy artifacts from Github Actions into specified dir          | [./docs/artifacts.md](./docs/artifacts.md)          |
| rename          | Rename the napi-rs project                                     | [./docs/rename.md](./docs/rename.md)                |
| universalize    | Combile built binaries into one universal binary               | [./docs/universalize.md](./docs/universalize.md)    |
| version         | Update version in created npm packages by `create-npm-dirs`    | [./docs/version.md](./docs/version.md)              |
| pre-publish     | Update package.json and copy addons into per platform packages | [./docs/pre-publish.md](./docs/pre-publish.md)      |

### Debug mode

```bash
DEBUG="napi:*" napi [command]
```
npm package: @napi-rs/clipboard
Description: > 🚀 Help me to become a full-time open-source developer by [sponsoring me on Github](https://github.com/sponsors/Brooooooklyn)
Latest version: 1.1.3

# `@napi-rs/clipboard`

> 🚀 Help me to become a full-time open-source developer by [sponsoring me on Github](https://github.com/sponsors/Brooooooklyn)

Manipulate Clipboard in Node.js via native API.

It's a Node.js binding for [1Password/aboard](https://github.com/1Password/arboard) with additions from [rgwood/clipboard-anywhere](https://github.com/rgwood/clipboard-anywhere)

[![install size](https://packagephobia.com/badge?p=@napi-rs/clipboard)](https://packagephobia.com/result?p=@napi-rs/clipboard)
[![Downloads](https://img.shields.io/npm/dm/@napi-rs/clipboard.svg?sanitize=true)](https://npmcharts.com/compare/@napi-rs/clipboard?minimal=true)

## API

### Text

```js
import { Clipboard } from '@napi-rs/clipboard'

const clipboard = new Clipboard()

clipboard.setText('😅')
clipboard.getText() // '😅'
```

### Image

```js
import { join } from 'path'
import { fileURLToPath } from 'url'

import { Clipboard } from '@napi-rs/clipboard'
import { Transformer } from '@napi-rs/image'

const image = new Transformer(
  readFileSync(join(fileURLToPath(import.meta.url), '..', 'test.png'))
)
const { width, height } = await image.metadata()
const rawPixels = await image.rawPixels()
// Only accept raw RGBA pixels
clipboard.setImage(width, height, image)

// You can paste image now
```
npm package: @napi-rs/clipboard-linux-arm-gnueabihf
Description: This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/clipboard`
Latest version: 1.1.3

# `@napi-rs/clipboard-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/clipboard`
npm package: @napi-rs/clipboard-linux-arm64-musl
Description: This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/clipboard`
Latest version: 1.1.3

# `@napi-rs/clipboard-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/clipboard`
npm package: @napi-rs/clipboard-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/clipboard`
Latest version: 1.1.3

# `@napi-rs/clipboard-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/clipboard`
npm package: @napi-rs/clipboard-linux-x64-musl
Description: This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/clipboard`
Latest version: 1.1.3

# `@napi-rs/clipboard-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/clipboard`
npm package: @napi-rs/clipboard-win32-arm64-msvc
Description: This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/clipboard`
Latest version: 1.1.3

# `@napi-rs/clipboard-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/clipboard`
npm package: @napi-rs/clipboard-win32-ia32-msvc
Description: This is the **i686-pc-windows-msvc** binary for `@napi-rs/clipboard`
Latest version: 1.1.3

# `@napi-rs/clipboard-win32-ia32-msvc`

This is the **i686-pc-windows-msvc** binary for `@napi-rs/clipboard`
npm package: @napi-rs/clipboard-win32-x64-msvc
Description: This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/clipboard`
Latest version: 1.1.3

# `@napi-rs/clipboard-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/clipboard`
npm package: @napi-rs/cross-toolchain
Description: Create cross-toolchain from https://github.com/rust-cross/manylinux-cross/tree/main
Author: LongYinan
Latest version: 1.0.3

# `@napi-rs/cross-toolchain`

Create cross-toolchain from https://github.com/rust-cross/manylinux-cross/tree/main

With this package, you can download cross-toolchain from npm, and don't need to start a docker.
npm package: @napi-rs/datafusion
Description: Apache DataFusion Node.js binding
Latest version: 0.0.1

# `@napi-rs/datafusion`

![https://github.com/Brooooooklyn/datafusion-node/actions](https://github.com/Brooooooklyn/datafusion-node/workflows/CI/badge.svg)

> Apache DataFusion Node.js binding

# Usage

```ts
import { col, SessionContext } from '@napi-rs/datafusion'

const ctx = new SessionContext()
const df = await ctx.readCsv('./__test__/example.csv')
await df
  .filter(col('a').ltEq(col('b')))
  .limit(0, 100)
  .show()
```
npm package: @napi-rs/ed25519
Description: ed25519 key generation, signing, and verification.
Latest version: 1.2.1

# `@napi-rs/ed25519`

![https://github.com/Brooooooklyn/node-ed25519/actions](https://github.com/Brooooooklyn/node-ed25519/workflows/CI/badge.svg)
[![install size](https://packagephobia.com/badge?p=@napi-rs/ed25519)](https://packagephobia.com/result?p=@napi-rs/ed25519)
[![Downloads](https://img.shields.io/npm/dm/@napi-rs/ed25519.svg?sanitize=true)](https://npmcharts.com/compare/@napi-rs/ed25519?minimal=true)

> [ed25519-dalek](https://github.com/dalek-cryptography/ed25519-dalek) binding for Node.js.

## Install

```
yarn add @napi-rs/ed25519
```

## Performance

Compare with [noble-ed25519](https://github.com/paulmillr/noble-ed25519/)

### Generate KeyPair

```text
┌─────────┬────────────────────┬──────────┬────────────────────┬──────────┬─────────┐
│ (index) │ Task Name          │ ops/sec  │ Average Time (ns)  │ Margin   │ Samples │
├─────────┼────────────────────┼──────────┼────────────────────┼──────────┼─────────┤
│ 0       │ '@napi-rs/ed25519' │ '84,313' │ 11860.560927010862 │ '±1.19%' │ 42157   │
│ 1       │ '@noble/ed25519'   │ '7,735'  │ 129267.36039296696 │ '±0.67%' │ 3868    │
└─────────┴────────────────────┴──────────┴────────────────────┴──────────┴─────────┘
```

### Sign

```text
┌─────────┬────────────────────┬──────────┬────────────────────┬──────────┬─────────┐
│ (index) │ Task Name          │ ops/sec  │ Average Time (ns)  │ Margin   │ Samples │
├─────────┼────────────────────┼──────────┼────────────────────┼──────────┼─────────┤
│ 0       │ '@napi-rs/ed25519' │ '48,326' │ 20692.732246316882 │ '±2.57%' │ 24164   │
│ 1       │ '@noble/ed25519'   │ '4,115'  │ 243012.00291544604 │ '±0.52%' │ 2058    │
└─────────┴────────────────────┴──────────┴────────────────────┴──────────┴─────────┘
```

### Verify

```text
┌─────────┬────────────────────┬──────────┬────────────────────┬──────────┬─────────┐
│ (index) │ Task Name          │ ops/sec  │ Average Time (ns)  │ Margin   │ Samples │
├─────────┼────────────────────┼──────────┼────────────────────┼──────────┼─────────┤
│ 0       │ '@napi-rs/ed25519' │ '34,145' │ 29286.012651555568 │ '±0.13%' │ 17073   │
│ 1       │ '@noble/ed25519'   │ '923'    │ 1083121.3181818079 │ '±0.36%' │ 462     │
└─────────┴────────────────────┴──────────┴────────────────────┴──────────┴─────────┘
```

## API

```typescript
export function generateKeyPair(): {
  publicKey: Uint8Array
  privateKey: Uint8Array
}

export function sign(privateKey: Uint8Array, message: Uint8Array): Uint8Array

export function verify(publicKey: Uint8Array, message: Uint8Array, signature: Uint8Array): boolean
```
npm package: @napi-rs/ed25519-linux-arm-gnueabihf
Description: ed25519 key generation, signing, and verification.
Latest version: 1.2.1

# `@napi-rs/ed25519-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/ed25519`
npm package: @napi-rs/escape
Description: Escape a string for use in HTML or the inverse
Latest version: 1.0.1

# `@napi-rs/fast-escape`

![actions](https://github.com/napi-rs/fast-escape/workflows/CI/badge.svg)

## Install this package

```
yarn add @napi-rs/fast-escape
```

## Support matrix

|                  | node12 | node14 | node16 |
| ---------------- | ------ | ------ | ------ |
| Windows x64      | ✓      | ✓      | ✓      |
| Windows x32      | ✓      | ✓      | ✓      |
| Windows arm64    | ✓      | ✓      | ✓      |
| macOS x64        | ✓      | ✓      | ✓      |
| macOS arm64      | ✓      | ✓      | ✓      |
| Linux x64 gnu    | ✓      | ✓      | ✓      |
| Linux x64 musl   | ✓      | ✓      | ✓      |
| Linux arm gnu    | ✓      | ✓      | ✓      |
| Linux arm64 gnu  | ✓      | ✓      | ✓      |
| Linux arm64 musl | ✓      | ✓      | ✓      |
| Android arm64    | ✓      | ✓      | ✓      |
| FreeBSD x64      | ✓      | ✓      | ✓      |

## Performance

```
Model Name: MacBook Pro
Model Identifier: MacBookPro15,1
Processor Name: 6-Core Intel Core i9
Processor Speed: 2.9 GHz
Number of Processors: 1
Total Number of Cores: 6
L2 Cache (per Core): 256 KB
L3 Cache: 12 MB
Hyper-Threading Technology: Enabled
Memory: 32 GB
```

```js
napi x 799 ops/sec ±0.38% (93 runs sampled)
napi#buff x 980 ops/sec ±1.39% (92 runs sampled)
napi#asyncBuff x 805 ops/sec ±1.33% (75 runs sampled)
javascript x 586 ops/sec ±1.40% (81 runs sampled)
Escape html benchmark # Large input bench suite: Fastest is napi#buff
napi x 2,158,169 ops/sec ±0.59% (93 runs sampled)
napi#buff x 2,990,077 ops/sec ±0.73% (93 runs sampled)
napi#asyncBuff x 66,540 ops/sec ±3.02% (77 runs sampled)
javascript x 1,951,484 ops/sec ±0.31% (92 runs sampled)
Escape html benchmark # Small input bench suite: Fastest is napi#buff
```

## Develop requirements

- Install latest `Rust`
- Install `NodeJS@10+` which supports `N-API`
- Install `yarn@1.x`

## Test in local

- `yarn`
- `yarn build`
- `yarn test`

And you will see:

```bash
$ ava --verbose

  ✔ escape html
  ─

  1 test passed
✨  Done in 1.47s.
```

## Release package

Ensure you have set you **NPM_TOKEN** in `Github` project setting.

In `Settings -> Secrets`, add **NPM_TOKEN** into it.

When you want release package:

```
yarn version [xxx]

git push --follow-tags
```

Github actions will do the rest job for you.
npm package: @napi-rs/keyring
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring`

![https://github.com/Brooooooklyn/keyring-node/actions](https://github.com/Brooooooklyn/keyring-node/workflows/CI/badge.svg)
[![install size](https://packagephobia.com/badge?p=@napi-rs/keyring)](https://packagephobia.com/result?p=@napi-rs/keyring)
[![Downloads](https://img.shields.io/npm/dm/@napi-rs/keyring.svg?sanitize=true)](https://npmcharts.com/compare/@napi-rs/keyring?minimal=true)

> https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs

# Usage

```js
import { Entry } from '@napi-rs/keyring'

const entry = new Entry('my_service', 'my_name')
entry.setPassword('topS3cr3tP4$$w0rd')
const password = entry.getPassword()
console.log('My password is ', password)
entry.deletePassword()
```
npm package: @napi-rs/keyring-freebsd-x64
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-freebsd-x64`

This is the **x86_64-unknown-freebsd** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-linux-arm-gnueabihf
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-linux-arm64-gnu
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-linux-arm64-musl
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-linux-riscv64-gnu
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-linux-riscv64-gnu`

This is the **riscv64gc-unknown-linux-gnu** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-linux-x64-gnu
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-linux-x64-musl
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-win32-arm64-msvc
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-win32-ia32-msvc
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-win32-ia32-msvc`

This is the **i686-pc-windows-msvc** binary for `@napi-rs/keyring`
npm package: @napi-rs/keyring-win32-x64-msvc
Description: https://github.com/hwchen/keyring-rs Node.js binding via https://napi.rs
Latest version: 1.2.0

# `@napi-rs/keyring-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/keyring`
npm package: @napi-rs/lzma
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma`

![https://github.com/Brooooooklyn/lzma/actions](https://github.com/Brooooooklyn/lzma/workflows/CI/badge.svg)
![](https://img.shields.io/npm/dm/@napi-rs/lzma.svg?sanitize=true)
[![Install size](https://packagephobia.com/badge?p=@napi-rs/lzma)](https://packagephobia.com/result?p=@napi-rs/lzma)

[lzma-rs](https://docs.rs/lzma-rs) binding to Node.js via [napi-rs](https://napi.rs).

> 🚀 Help me to become a full-time open-source developer by [sponsoring me on Github](https://github.com/sponsors/Brooooooklyn)

## Install

```
yarn add @napi-rs/lzma
```

## Support matrix

|                       | node14 | node16 | node18 | node20 |
| --------------------- | ------ | ------ | ------ | ------ |
| Windows x64           | ✓      | ✓      | ✓      | ✓      |
| Windows x32           | ✓      | ✓      | ✓      | ✓      |
| Windows arm64         | ✓      | ✓      | ✓      | ✓      |
| macOS x64             | ✓      | ✓      | ✓      | ✓      |
| macOS arm64 (m chips) | ✓      | ✓      | ✓      | ✓      |
| Linux x64 gnu         | ✓      | ✓      | ✓      | ✓      |
| Linux x64 musl        | ✓      | ✓      | ✓      | ✓      |
| Linux arm gnu         | ✓      | ✓      | ✓      | ✓      |
| Linux arm64 gnu       | ✓      | ✓      | ✓      | ✓      |
| Linux arm64 musl      | ✓      | ✓      | ✓      | ✓      |
| Android arm64         | ✓      | ✓      | ✓      | ✓      |
| Android armv7         | ✓      | ✓      | ✓      | ✓      |
| FreeBSD x64           | ✓      | ✓      | ✓      | ✓      |

## API

### xz

```js
import { compress, decompress } from '@napi-rs/lzma/xz'

const compressed = await compress('Hello napi-rs 🚀')

const decompressed = await decompress(compressed)

console.log(decompressed.toString('utf8')) // Hello napi-rs 🚀
```

### lzma

```js
import { compress, decompress } from '@napi-rs/lzma/lzma'

const compressed = await compress('Hello napi-rs 🚀')

const decompressed = await decompress(compressed)

console.log(decompressed.toString('utf8')) // Hello napi-rs 🚀
```

### lzma2

```js
import { compress, decompress } from '@napi-rs/lzma/lzma2'

const compressed = await compress('Hello napi-rs 🚀')

const decompressed = await decompress(compressed)

console.log(decompressed.toString('utf8')) // Hello napi-rs 🚀
```
npm package: @napi-rs/lzma-android-arm-eabi
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-android-arm-eabi`

This is the **arm-linux-androideabi** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-freebsd-x64
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-freebsd-x64`

This is the **x86_64-unknown-freebsd** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-arm-gnueabihf
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-arm64-gnu
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-arm64-musl
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-ppc64-gnu
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-ppc64-gnu`

This is the **powerpc64le-unknown-linux-gnu** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-riscv64-gnu
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-riscv64-gnu`

This is the **riscv64gc-unknown-linux-gnu** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-s390x-gnu
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-s390x-gnu`

This is the **s390x-unknown-linux-gnu** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-x64-gnu
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-linux-x64-musl
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-wasm32-wasi
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-wasm32-wasi`

This is the **wasm32-wasi-preview1-threads** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-win32-arm64-msvc
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-win32-ia32-msvc
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-win32-ia32-msvc`

This is the **i686-pc-windows-msvc** binary for `@napi-rs/lzma`
npm package: @napi-rs/lzma-win32-x64-msvc
Description: https://docs.rs/lzma-rs binding to Node.js via https://napi.rs
Latest version: 1.4.5

# `@napi-rs/lzma-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/lzma`
npm package: @napi-rs/macos-alias
Description: ## Usage
Latest version: 0.0.4

# `@napi-rs/macos-alias`

## Usage

### Yarn

Set the `resolutions` field in your `package.json` to use this package:

```json
"resolutions": {
  "macos-alias": "npm:@napi-rs/macos-alias@latest"
}
```
npm package: @napi-rs/nice-linux-arm-gnueabihf
Description: https://linux.die.net/man/2/nice binding for Node.js
Latest version: 1.1.1

# `@napi-rs/nice-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/nice`
npm package: @napi-rs/notify
Description: https://github.com/notify-rs/notify Node.js binding via https://napi.rs
Latest version: 0.0.1

# `@napi-rs/notify`

![https://github.com/Brooooooklyn/notify/actions](https://github.com/Brooooooklyn/notify/workflows/CI/badge.svg)

[notify](https://github.com/notify-rs/notify) Node.js binding via [napi-rs](https://napi.rs).

## Install this package

```
yarn add @napi-rs/notify
```

## Support matrix

### Operating Systems

|                  | node12 | node14 | node16 |
| ---------------- | ------ | ------ | ------ |
| Windows x64      | ✓      | ✓      | ✓      |
| Windows x32      | ✓      | ✓      | ✓      |
| Windows arm64    | ✓      | ✓      | ✓      |
| macOS x64        | ✓      | ✓      | ✓      |
| macOS arm64      | ✓      | ✓      | ✓      |
| Linux x64 gnu    | ✓      | ✓      | ✓      |
| Linux x64 musl   | ✓      | ✓      | ✓      |
| Linux arm gnu    | ✓      | ✓      | ✓      |
| Linux arm64 gnu  | ✓      | ✓      | ✓      |
| Linux arm64 musl | ✓      | ✓      | ✓      |
| Android arm64    | ✓      | ✓      | ✓      |
| FreeBSD x64      | ✓      | ✓      | ✓      |

## API

```ts
const unwatch = watch('/some/path/to/watch', (err: Error | null, event: NotifyEvent) => {
  // some logic
})

unwatch() // unwatch later

```
npm package: @napi-rs/notify-linux-arm-gnueabihf
Description: https://github.com/notify-rs/notify Node.js binding via https://napi.rs
Latest version: 0.0.1

# `@napi-rs/notify-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/notify`
npm package: @napi-rs/notify-win32-arm64-msvc
Description: https://github.com/notify-rs/notify Node.js binding via https://napi.rs
Latest version: 0.0.1

# `@napi-rs/notify-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/notify`
npm package: @napi-rs/notify-win32-x64-msvc
Description: https://github.com/notify-rs/notify Node.js binding via https://napi.rs
Latest version: 0.0.1

# `@napi-rs/notify-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/notify`
npm package: @napi-rs/package-template
Description: Template project for writing node package with napi-rs
Latest version: 1.0.0

# `@napi-rs/package-template`

![https://github.com/napi-rs/package-template/actions](https://github.com/napi-rs/package-template/workflows/CI/badge.svg)

> Template project for writing node package with napi-rs.

## Install this test package

```
yarn add @napi-rs/package-template
```

## Support matrix

### Operating Systems

| Linux x64/aarch64 | macOS x64/aarch64 | Windows x64 |
| ----------------- | ----------------- | ----------- |
| ✓                 | ✓                 | ✓           |

### NodeJS

| Node10 | Node 12 | Node14 | Node15 |
| ------ | ------- | ------ | ------ |
| ✓      | ✓       | ✓      | ✓      |

## Ability

### Build

After `yarn build/npm run build` command, you can see `index.[darwin|win32|linux].node` file in project root. This is the native addon built from [lib.rs](./src/lib.rs).

### Test

With [ava](https://github.com/avajs/ava), run `yarn test/npm run test` to testing native addon. You can also switch to another testing framework if you want.

### CI

With github actions, every commits and pull request will be built and tested automatically in [`node@10`, `node@12`, `@node14`] x [`macOS`, `Linux`, `Windows`] matrix. You will never be afraid of the native addon broken in these platforms.

### Release

Release native package is very difficult in old days. Native packages may ask developers who use its to install `build toolchains` like `gcc/llvm` , `node-gyp` or something more.

With `Github actions`, we can easily prebuild `binary` for major platforms. And with `N-API`, we should never afraid of **ABI Compatible**.

The other problem is how to deliver prebuild `binary` to users. Download it in `postinstall` script is a common way which most packages do it right now. The problem of this solution is it introduced many other packages to download binary which has not been used by `runtime codes`. The other problem is some user may not easily download the binary from `github/CDN` if they are behind private network (But in most case, they have a private NPM mirror).

In this package we choose a better way to solve this problem. We release different `npm packages` for different platform. And add it to `optionalDependencies` before release the `Major` package to npm.

`NPM` will choose which native package should download from `registry` automatically. You can see [npm](./npm) dir for details. And you can also run `yarn add @napi-rs/package-template` to see how it works.

## Develop requirements

- Install latest `Rust`
- Install `NodeJS@10+` which fully supported `N-API`
- Install `yarn@1.x`

## Test in local

- yarn
- yarn build
- yarn test

And you will see:

```bash
$ ava --verbose

  ✔ sync function from native code
  ✔ sleep function from native code (201ms)
  ─

  2 tests passed
✨  Done in 1.12s.
```

## Release package

Ensure you have set you **NPM_TOKEN** in `Github` project setting.

In `Settings -> Secrets`, add **NPM_TOKEN** into it.

When you want release package:

```
yarn version [xxx]

git push --follow-tags
```

Github actions will do the rest job for you.
npm package: @napi-rs/package-template-linux-arm-gnueabihf
Description: Template project for writing node package with napi-rs
Latest version: 0.1.0

# `@napi-rs/package-template-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/package-template`
npm package: @napi-rs/package-template-pnpm
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template`

![https://github.com/napi-rs/package-template/actions](https://github.com/napi-rs/package-template/workflows/CI/badge.svg)

> Template project for writing node packages with napi-rs.

# Usage

1. Click **Use this template**.
2. **Clone** your project.
3. Run `pnpm install` to install dependencies.
4. Run `npx napi rename -n [name]` command under the project folder to rename your package.

## Install this test package

```
pnpm add @napi-rs/package-template
```

## Usage

### Build

After `pnpm build` command, you can see `package-template.[darwin|win32|linux].node` file in project root. This is the native addon built from [lib.rs](./src/lib.rs).

### Test

With [ava](https://github.com/avajs/ava), run `pnpm test` to testing native addon. You can also switch to another testing framework if you want.

### CI

With GitHub Actions, each commit and pull request will be built and tested automatically in [`node@18`, `node@20`] x [`macOS`, `Linux`, `Windows`] matrix. You will never be afraid of the native addon broken in these platforms.

### Release

Release native package is very difficult in old days. Native packages may ask developers who use it to install `build toolchain` like `gcc/llvm`, `node-gyp` or something more.

With `GitHub actions`, we can easily prebuild a `binary` for major platforms. And with `N-API`, we should never be afraid of **ABI Compatible**.

The other problem is how to deliver prebuild `binary` to users. Downloading it in `postinstall` script is a common way that most packages do it right now. The problem with this solution is it introduced many other packages to download binary that has not been used by `runtime codes`. The other problem is some users may not easily download the binary from `GitHub/CDN` if they are behind a private network (But in most cases, they have a private NPM mirror).

In this package, we choose a better way to solve this problem. We release different `npm packages` for different platforms. And add it to `optionalDependencies` before releasing the `Major` package to npm.

`NPM` will choose which native package should download from `registry` automatically. You can see [npm](./npm) dir for details. And you can also run `pnpm add @napi-rs/package-template` to see how it works.

## Develop requirements

- Install the latest `Rust`
- Install `Node.js@16+` which fully supported `Node-API`
- Run `corepack enable`

## Test in local

- pnpm
- pnpm build
- pnpm test

And you will see:

```bash
$ ava --verbose

  ✔ sync function from native code
  ✔ sleep function from native code (201ms)
  ─

  2 tests passed
✨  Done in 1.12s.
```

## Release package

Ensure you have set your **NPM_TOKEN** in the `GitHub` project setting.

In `Settings -> Secrets`, add **NPM_TOKEN** into it.

When you want to release the package:

```
npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]

git push
```

GitHub actions will do the rest job for you.
npm package: @napi-rs/package-template-pnpm-android-arm-eabi
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-android-arm-eabi`

This is the **armv7-linux-androideabi** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-freebsd-x64
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-freebsd-x64`

This is the **x86_64-unknown-freebsd** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-linux-arm-gnueabihf
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-linux-arm64-gnu
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-linux-arm64-musl
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-linux-x64-gnu
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-linux-x64-musl
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-wasm32-wasi
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-wasm32-wasi`

This is the **wasm32-wasi-preview1-threads** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-win32-arm64-msvc
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-win32-ia32-msvc
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-win32-ia32-msvc`

This is the **i686-pc-windows-msvc** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/package-template-pnpm-win32-x64-msvc
Description: Template project for writing node package with napi-rs
Latest version: 1.1.1

# `@napi-rs/package-template-pnpm-win32-x64-msvc`

This is the **x86_64-pc-windows-msvc** binary for `@napi-rs/package-template-pnpm`
npm package: @napi-rs/simple-git-android-arm-eabi
Description: This is the **armv7-linux-androideabi** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-android-arm-eabi`

This is the **armv7-linux-androideabi** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-darwin-x64
Description: This is the **x86_64-apple-darwin** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-darwin-x64`

This is the **x86_64-apple-darwin** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-freebsd-x64
Description: This is the **x86_64-unknown-freebsd** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-freebsd-x64`

This is the **x86_64-unknown-freebsd** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-arm-gnueabihf
Description: This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-linux-arm-gnueabihf`

This is the **armv7-unknown-linux-gnueabihf** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-arm64-gnu
Description: This is the **aarch64-unknown-linux-gnu** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-linux-arm64-gnu`

This is the **aarch64-unknown-linux-gnu** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-arm64-musl
Description: This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-linux-arm64-musl`

This is the **aarch64-unknown-linux-musl** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-powerpc64le-gnu
Description: This is the **powerpc64le-unknown-linux-gnu** binary for `@napi-rs/simple-git`
Latest version: 0.1.19

# `@napi-rs/simple-git-linux-powerpc64le-gnu`

This is the **powerpc64le-unknown-linux-gnu** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-ppc64-gnu
Description: This is the **powerpc64le-unknown-linux-gnu** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-linux-ppc64-gnu`

This is the **powerpc64le-unknown-linux-gnu** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-s390x-gnu
Description: This is the **s390x-unknown-linux-gnu** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-linux-s390x-gnu`

This is the **s390x-unknown-linux-gnu** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-x64-gnu
Description: This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-linux-x64-gnu`

This is the **x86_64-unknown-linux-gnu** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-linux-x64-musl
Description: This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-linux-x64-musl`

This is the **x86_64-unknown-linux-musl** binary for `@napi-rs/simple-git`
npm package: @napi-rs/simple-git-win32-arm64-msvc
Description: This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/simple-git`
Latest version: 0.1.22

# `@napi-rs/simple-git-win32-arm64-msvc`

This is the **aarch64-pc-windows-msvc** binary for `@napi-rs/simple-git`