# fuse-shared-library

> Cross-platform FUSE libraries for OSX/Linux

Latest version **1.1.1** (published 2020-01-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install fuse-shared-library
pnpm add fuse-shared-library
yarn add fuse-shared-library
bun add fuse-shared-library
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.1 |
| Published | 2020-01-14 |
| First published | 2019-04-11 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 5.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 7 |
| Author | Andrew Osheroff |
| Maintainers | andrewosh |
| Keywords | fuse |

## Links

- npm: https://www.npmjs.com/package/fuse-shared-library
- Repository: https://github.com/fuse-friends/fuse-shared-library
- Homepage: https://github.com/fuse-friends/fuse-shared-library#readme
- Issues: https://github.com/fuse-friends/fuse-shared-library/issues
- npm.io page: https://npm.io/package/fuse-shared-library

## Dependencies (3)

- [fuse-shared-library-linux](https://npm.io/package/fuse-shared-library-linux.md) ^1.0.1
- [fuse-shared-library-darwin](https://npm.io/package/fuse-shared-library-darwin.md) ^1.0.3
- [fuse-shared-library-linux-arm](https://npm.io/package/fuse-shared-library-linux-arm.md) ^1.0.0

## Recent versions

- 1.1.1 (latest) — 2020-01-14
- 1.1.0 — 2020-01-14
- 1.0.2 — 2019-12-17
- 1.0.1 — 2019-04-12
- 1.0.0 — 2019-04-11

## README

# fuse-shared-library
Cross-platform prebuilt FUSE libraries for OSX/Linux.

This module will dynamically require either [fuse-shared-library-linux](https://github.com/fuse-friends/fuse-shared-library-linux) or [fuse-shared-library-darwin](https://github.com/fuse-friends/fuse-shared-library-darwin).

## Installation
```
npm i fuse-shared-library --save
```

## Usage

``` js
const libfuse = require('fuse-shared-library')

console.log(libfuse.lib) // path to the shared library
console.log(libfuse.include) // path to the include folder

// tells you if libfuse has been configured on this machine
libfuse.isConfigured(function (err, yes) { })

// configure libfuse on this machine (requires root access)
// but only needs to run once
libfuse.configure(function (err) { })

// unconfigures libfuse on this machine
libfuse.unconfigure(function (err) { })
```

You should configure libfuse using the above API before using the
shared library, otherwise the program using fuse will error.

You can remove the folder manually if you want to remove fuse or use the
`unconfigure` api listed above.

The shared library itself is contained within the module and not copied
or installed anywhere. You should move the shared library next to your
program after linking it as that is where your binary will try and load it from.

Using a GYP file this can be done like this:

```
{
  "targets": [{
    "target_name": "fuse_example",
    "include_dirs": [
      # include it like this
      "<!(node -e \"require('fuse-shared-library/include')\")"
    ],
    "libraries": [
      # link it like this
      "<!(node -e \"require('fuse-shared-library/lib')\")"
    ],
    "sources": [
      "your_program.cc"
    ]
  }, {
    # setup a postinstall target that copies the shared library
    # next to the produces node library
    "target_name": "postinstall",
    "type": "none",
    "dependencies": ["fuse_example"],
    "copies": [{
      "destination": "build/Release",
      "files": [ "<!(node -e \"require('fuse-shared-library/lib')\")" ],
    }]
  }]
}
```

## License

MIT

---
_Source: https://npm.io/package/fuse-shared-library · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
