better-trakt
Version:
A Trakt.tv client with native Typescript support and quality of life features
105 lines (74 loc) ⢠3.41 kB
Markdown
# Better Trakt
[](https://github.com/getaugur/better-trakt/blob/main/LICENSE) [](https://www.npmjs.com/package/better-trakt)
> A Trakt.tv client with native Typescript support and quality of life features
## Features
- šµ Browser & Node.js support
- š No auth lock-in
- š„ Able to handle > 1 user [^1]
- š² Tree Shakable
- š Trakt specific http errors
- šļø Built with TypeScript
[^1]: This really shouldn't need be a "feature," but all the other SDKs can only handle 1 user at a time so it is.
## Install
```bash
# npm
npm install better-trakt
# Yarn
yarn add better-trakt
# pnpm
pnpm add better-trakt
```
## Usage
```js
import { Trakt } from 'better-trakt';
const client = new Trakt({
clientId: 'client id',
clientSecret: 'client secret',
});
// get every movie a user has watched
const watchedMovies = await client.users.watchedMovies({ userId: '1234', accessToken: 'abcd123' });
// get the summary for the show with the trakt id of "1"
const show1 = await client.shows.summary('1');
```
_More examples in the [examples folder](https://github.com/getaugur/better-trakt/tree/main/example)._
## Compatibility
ā
: Full Support | š§: Partial Support | ā: No Support
### Runtimes
| Runtime | Supported |
| ------- | :-------: |
| Node.js | ā
|
| Browser | ā
[^2] |
[^2]: See [Axios's supported browsers](https://github.com/axios/axios/#browser-support), _might_ also require a transpiler like [babel](https://babeljs.io/), [esbuild](https://esbuild.github.io/), etc.
### Trakt Api
(All namespaces are planned, this is just what's currently supported.)
| Namespace | Supported |
| ------------------------ | :-------: |
| Authentication - OAuth | ā |
| Authentication - Devices | ā |
| Calendars | ā |
| Checkin | ā |
| Certifications | ā
|
| Comments | ā |
| Countries | ā
|
| Genres | ā
|
| Languages | ā
|
| Lists | ā
|
| Movies | ā
|
| Networks | ā
|
| People | ā |
| Recommendations | ā |
| Scrobble | ā |
| Search | ā |
| Shows | ā
|
| Seasons | ā |
| Episodes | ā |
| Sync | ā |
| Users | š§ |
## Docs
Docs for the latest release can be found at [https://getaugur.github.io/better-trakt/](https://getaugur.github.io/better-trakt/). For a more complete understanding of the api in general please visit [https://trakt.docs.apiary.io/](https://trakt.docs.apiary.io/).
## Getting Images
As described in the offical docs, you need to use 3rd party APIs. Listed below are some libraries we recommend using, all of which have typescript support:
- [moviedb-promise](https://github.com/grantholle/moviedb-promise)
- [omdb](https://github.com/thblt-thlgn/omdb) (has some issues)
## ā ļø Alpha Notice
Until `beter-trakt` reaches `1.0`, there may be breaking changes in new minor versions.