0.3.0 • Published 2 years ago
tmdb-ts-api v0.3.0
The Movie Databse TypeScript API
WARNING: This is a work-in-progress (v0.0.x
). Once v1
is released I'll
consider the API stable. For now, there may be lots of changes.
Upcoming
- Convert to monorepo
- Add changeset CLI to monorepo
- Caching
- Add image pre-render
- Add ability to cache image URLS
- Add ability to cache api responses
- Testing
- Add Vitest unit tests to package
- Test TMDB API calls with zod schema validator
- Add Cypress integration tests to UI components (and/or js-dom Vietest tests)
- Add sqlite3 database cache to package (bring your own cache)
- UI
- Reusable React components (for examples and docs)
- Ability to overwrite default TailwindCSS styles (or extend)
- Ability to set TailwindCSS theme
- Ability to set link component (for Next.js vs remix)
- Add Astro site (docs + examples)
- Showcase examples
- Document how to use API
- Compare performance of examples
- Compare hosting costs of examples
- Add page transition element (see example)
- Add NextJS Example
- with proxy URL
- Nested layout
- OG image
- Server components
- Incremental Static Regeneration (compared to server components)
- tRPC example (NextJS + React Native)
- with proxy URL
- with tRPC
- cache React Native images
- Add Fly.io Remix example
- with proxy URL
- fly.io sqlite3 cache
- Add Cloudflare Remix example
- with proxy URL
- Cloudflare Workers KV
- Cloudflare images
- Astro example
- with proxy URL (SSR)
How to install
Install the tmdb-ts-api
npm package.
npm install tmdb-ts-api
yarn add tmdb-ts-api
How to configure
Add the following environmental varaibles to your .env
file.
TMDB_API_KEY="your key goes here"
TMDB_API_PROXY_URL="server side endpoint"
How to use
Create a new instance of Tmbd
and use it!
// 1. Import Tmdb dependency
import { Tmdb } from 'tmdb-ts-api'
// 2. Create new instance of Tmdb
const tmdb = new Tmdb()
// 3. Get movie details
const details = await tmdb.movie.getDetails('603')
console.log(details)
How to publish
Coming soon