# get-calibre-tools

> get calibre tools

Latest version **1.0.0** (published 2018-12-18) · MIT license · 0 weekly downloads

## Install

```sh
npm install get-calibre-tools
pnpm add get-calibre-tools
yarn add get-calibre-tools
bun add get-calibre-tools
```

## 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.0.0 |
| Published | 2018-12-18 |
| First published | 2018-12-18 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 1 |
| Unpacked size | 13.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 4 |
| Author | Black-Hole |
| Maintainers | black_hole |
| Keywords | get-calibre-tools, get-calibre, calibre-tools, calibre, calibre-customize, calibre-debug, calibre-server, calibre-smtp, calibredb, ebook-convert, ebook-edit, ebook-meta, ebook-polish, ebook-viewer, fetch-ebook-metadata, lrf2lrs, lrfviewer, lrs2lrf, web2disk |

## Links

- npm: https://www.npmjs.com/package/get-calibre-tools
- Repository: https://github.com/BlackHole1/get-calibre-tools
- Homepage: https://github.com/BlackHole1/get-calibre-tools#readme
- Issues: https://github.com/BlackHole1/get-calibre-tools/issues
- npm.io page: https://npm.io/package/get-calibre-tools

## Dependencies (1)

- [winreg](https://npm.io/package/winreg.md) ^1.2.4

## Alternatives

- [@expo/fingerprint](https://npm.io/package/@expo/fingerprint.md) — 6.2M weekly downloads
- [@azure/monitor-opentelemetry-exporter](https://npm.io/package/@azure/monitor-opentelemetry-exporter.md) — 850.0K weekly downloads
- [@azure/monitor-opentelemetry](https://npm.io/package/@azure/monitor-opentelemetry.md) — 624.0K weekly downloads
- [@posthog/ai](https://npm.io/package/@posthog/ai.md) — 423.3K weekly downloads
- [fakefilter](https://npm.io/package/fakefilter.md) — 63.9K weekly downloads

## Recent versions

- 1.0.0 (latest) — 2018-12-18

## README

# get-calibre-tools

[![Github License](https://img.shields.io/github/license/BlackHole1/get-calibre-tools.svg?logo=appveyor&longCache=true&style=flat-square)](https://github.com/BlackHole1/get-calibre-tools) [![Github Stars](https://img.shields.io/github/stars/BlackHole1/get-calibre-tools.svg?logo=appveyor&longCache=true&style=flat-square)](https://github.com/BlackHole1/get-calibre-tools)

If you use this project, you can click star to support it.

[中文文档](https://github.com/BlackHole1/get-calibre-tools/blob/master/README-zh.md)

> Provide an API to get the calibre tool

This library is used to get the following tools:

* calibre
* calibre
* calibre-customize
* calibre-debug
* calibre-server
* calibre-smtp
* calibredb
* ebook-convert
* ebook-edit
* ebook-meta
* ebook-polish
* ebook-viewer
* fetch-ebook-metadata
* lrf2lrs
* lrfviewer
* lrs2lrf
* web2diskcalibre-customize
* calibre-debug
* calibre-server
* calibre-smtp
* calibredb
* ebook-convert
* ebook-edit
* ebook-meta
* ebook-polish
* ebook-viewer
* fetch-ebook-metadata
* lrf2lrs
* lrfviewer
* lrs2lrf
* web2disk

`get-calibre-tools` will search for calibre on your computer.

* In the mac, will find the `/Applications/calibre.app/Contents/console.app/Contents/MacOS/` directory.
* In the linux, will find the `/usr/bin/` directory
* In the windows, will find the `C:\Program Files (x86)\Calibre2\` directory. If not, it will also look up the registry field: `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\`

**If not, you will get an error and prompt you to set the path manually using the setPath method.**

## Use

### Under normal circumstances

```js
const getCalibreTools = require('get-calibre-tools');

getCalibreTools('ebook-meta')
  .catch(e => {
    console.log(e);
  })
  .then(path => {
    console.log(path) // => file path
  })
```

### File not found

```js
const getCalibreTools = require('get-calibre-tools');

getCalibreTools('ebook-meta')
  .catch(e => {
    console.log(e); // => [get-calibre-tools]: Did not find ebook-meta(.exe) file. Please use the setPath method to manually specify the path.
  })
  .then(path => {

  })
```

### use the `setPath` method to manually specify the path

The set path will be written to the local file for later value.

```js
getCalibreTools.setPath(`D:\Program Files\Calibre2\ebook-meta.exe`)
  .catch(e => {
    console.log(e);
  })
  .then(path => {
    console.log(path)
  });
```

### Clear configuration file

Clear the configuration file when the path in the configuration file has changed

#### Clear all configurations

```js
getCalibreTools.clearConfig()
  .catch(e => {
    console.log(e);
  })
  .then(() => {
    console.log('success');
  })
```

#### Clear the specified configuration

```shell
$ cat ~/.calibre-node/calibrePath.txt
calibredb=/Applications/calibre.app/Contents/console.app/Contents/MacOS/calibredb
ebook-meta=/Applications/calibre.app/Contents/console.app/Contents/MacOS/ebook-meta
ebook-edit=/Applications/calibre.app/Contents/console.app/Contents/MacOS/ebook-edit
```

```js
getCalibreTools.clearConfig('ebook-meta')
  .catch(e => {
    console.log(e);
  })
  .then(() => {
    console.log('success');
  });
```

```shell
$ cat ~/.calibre-node/calibrePath.txt
calibredb=/Applications/calibre.app/Contents/console.app/Contents/MacOS/calibredb
ebook-edit=/Applications/calibre.app/Contents/console.app/Contents/MacOS/ebook-edit
```

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