tsarr 2.2.0 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,7 +3,8 @@
3
3
  *TypeScript-arr (pronounced "Tsar" /tsɑr/ - a Slavic king/emperor)*
4
4
 
5
5
  [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
6
- [![Bun](https://img.shields.io/badge/Bun-000000?style=flat-square&logo=bun&logoColor=white)](https://bun.sh)
6
+ [![Node.js](https://img.shields.io/badge/Node.js-339933?style=flat-square&logo=node.js&logoColor=white)](https://nodejs.org/)
7
+ [![npm](https://img.shields.io/npm/v/tsarr?style=flat-square)](https://www.npmjs.com/package/tsarr)
7
8
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://opensource.org/licenses/MIT)
8
9
  [![CI](https://github.com/robbeverhelst/Tsarr/workflows/CI/badge.svg)](https://github.com/robbeverhelst/Tsarr/actions)
9
10
 
@@ -14,9 +15,10 @@ Tsarr provides type-safe TypeScript clients and a CLI for all Servarr APIs, gene
14
15
  ## Features
15
16
 
16
17
  - 🛡️ **Type-safe** - Generated from official Swagger/OpenAPI specs
17
- - ⚡ **Bun-optimized** - Leverages native fetch API
18
+ - ⚡ **Universal** - Works with Node.js, Bun, and as standalone binaries
18
19
  - 📦 **Modular** - Separate clients for each Servarr app
19
20
  - 💻 **CLI included** - Manage all Servarr apps from the terminal
21
+ - 🚀 **Multi-platform** - Available via npm, Homebrew, Docker, Scoop, Chocolatey, AUR, Nix, and pre-built binaries
20
22
 
21
23
  ## Supported Servarr Apps
22
24
 
@@ -29,14 +31,86 @@ Tsarr provides type-safe TypeScript clients and a CLI for all Servarr APIs, gene
29
31
 
30
32
  ## Installation
31
33
 
34
+ ### npm / Node.js
35
+
32
36
  ```bash
33
37
  # As a dependency (SDK)
34
- bun add tsarr
38
+ npm install tsarr
35
39
 
36
40
  # As a global CLI
41
+ npm install -g tsarr
42
+
43
+ # Or run directly without installing
44
+ npx tsarr doctor
45
+ ```
46
+
47
+ ### Bun
48
+
49
+ ```bash
50
+ bun add tsarr
37
51
  bun add -g tsarr
52
+ bunx tsarr doctor
53
+ ```
54
+
55
+ ### Homebrew (macOS / Linux)
56
+
57
+ ```bash
58
+ brew install robbeverhelst/tsarr/tsarr
59
+ ```
60
+
61
+ ### Pre-built Binaries
62
+
63
+ Download standalone binaries from [GitHub Releases](https://github.com/robbeverhelst/tsarr/releases) — no runtime needed:
64
+
65
+ | Platform | Download |
66
+ |---|---|
67
+ | macOS (Apple Silicon) | `tsarr-darwin-arm64` |
68
+ | macOS (Intel) | `tsarr-darwin-x64` |
69
+ | Linux (x64) | `tsarr-linux-x64` |
70
+ | Linux (arm64) | `tsarr-linux-arm64` |
71
+ | Windows (x64) | `tsarr-windows-x64.exe` |
72
+
73
+ ```bash
74
+ # Example: Linux x64
75
+ curl -L https://github.com/robbeverhelst/tsarr/releases/latest/download/tsarr-linux-x64 -o tsarr
76
+ chmod +x tsarr
77
+ sudo mv tsarr /usr/local/bin/
38
78
  ```
39
79
 
80
+ ### Docker
81
+
82
+ ```bash
83
+ docker run --rm ghcr.io/robbeverhelst/tsarr doctor
84
+ docker run --rm -v ~/.config/tsarr:/root/.config/tsarr ghcr.io/robbeverhelst/tsarr radarr movie list
85
+ ```
86
+
87
+ ### Scoop (Windows)
88
+
89
+ > **Note:** Requires adding the tsarr bucket first.
90
+
91
+ ```powershell
92
+ scoop bucket add tsarr https://github.com/robbeverhelst/scoop-tsarr
93
+ scoop install tsarr
94
+ ```
95
+
96
+ ### Chocolatey (Windows)
97
+
98
+ > **Note:** Chocolatey packaging is prepared but may still be pending moderation. See [docs/distribution.md](./docs/distribution.md).
99
+
100
+ ```powershell
101
+ choco install tsarr
102
+ ```
103
+
104
+ ### AUR (Arch Linux)
105
+
106
+ ```bash
107
+ yay -S tsarr-bin
108
+ ```
109
+
110
+ ### Nix
111
+
112
+ Nix packaging is prepared under [`packaging/nix/flake.nix`](./packaging/nix/flake.nix), but shared distribution still requires a maintainer submission. See [docs/distribution.md](./docs/distribution.md) for the setup and submission flow.
113
+
40
114
  ## CLI
41
115
 
42
116
  ### Setup
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AAmKA,eAAO,MAAM,MAAM,qDAWjB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/config.ts"],"names":[],"mappings":"AA4KA,eAAO,MAAM,MAAM,qDAWjB,CAAC"}
@@ -7,10 +7,18 @@ export declare const doctor: import("citty").CommandDef<{
7
7
  readonly type: "boolean";
8
8
  readonly description: "Output as table";
9
9
  };
10
+ readonly plain: {
11
+ readonly type: "boolean";
12
+ readonly description: "Output as TSV (no colors, for piping)";
13
+ };
10
14
  readonly quiet: {
11
15
  readonly type: "boolean";
12
16
  readonly alias: "q";
13
17
  readonly description: "Output service names only";
14
18
  };
19
+ readonly select: {
20
+ readonly type: "string";
21
+ readonly description: "Cherry-pick fields (comma-separated, JSON mode)";
22
+ };
15
23
  }>;
16
24
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;EA8EjB,CAAC"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/doctor.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;EAsFjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lidarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lidarr.ts"],"names":[],"mappings":"AA6MA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
1
+ {"version":3,"file":"lidarr.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/lidarr.ts"],"names":[],"mappings":"AA+MA,eAAO,MAAM,MAAM,qDAKlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,GAAG,EACnD,SAAS,EAAE,WAAW,EAAE,uDAgIzB"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/service.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAK/D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,GAAG,EACnD,SAAS,EAAE,WAAW,EAAE,uDAwIzB"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;KACrC,CAAC;CACH;AAED,QAAA,MAAM,QAAQ,0EAA2E,CAAC;AAE1F,QAAA,MAAM,kBAAkB,QAAyC,CAAC;AAClE,QAAA,MAAM,iBAAiB,gBAAgB,CAAC;AAsExC,wBAAgB,UAAU,IAAI,cAAc,CA+B3C;AA0CD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAsBhF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAG7D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAI5D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS9D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,IAAI,CAoB9E;AAcD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAKhD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAMnF;AAED,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/cli/config.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;KACrC,CAAC;CACH;AAED,QAAA,MAAM,QAAQ,0EAA2E,CAAC;AAE1F,QAAA,MAAM,kBAAkB,QAAyC,CAAC;AAClE,QAAA,MAAM,iBAAiB,gBAAgB,CAAC;AAwExC,wBAAgB,UAAU,IAAI,cAAc,CA+B3C;AA0CD,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAsBhF;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAG7D;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAI5D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAS9D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,UAAO,GAAG,IAAI,CAoB9E;AAcD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAKhD;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAMnF;AAED,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env bun
1
+ #!/usr/bin/env node
2
2
  export {};
3
3
  //# sourceMappingURL=index.d.ts.map