open-index/open-npm huggingface dataset:
npm package: @fubar-it-co/tmdb-client
Description: TMDB API client generated with heyAPI
Latest version: 0.0.14

# @fubar-it-co/tmdb-client

TMDB API HTTP client generated with [heyAPI](https://heyapi.dev) from the official [OpenAPI specification](https://developer.themoviedb.org/openapi/tmdb-api.json).

## Features

- **Type-safe**: All endpoints and responses are fully typed
- **TanStack Query integration**: Generated query options for React Query
- **Fetch API**: Lightweight client based on native Fetch API
- **Auto-generated**: Regenerate anytime with `pnpm generate`

## Installation

This package is part of the monorepo. Dependencies are managed at the workspace level.

```bash
pnpm install
```

## Usage

### SDK Functions

```typescript
import { moviePopularList, movieDetails } from '@fubar-it-co/tmdb-client'

// Get popular movies
const { data } = await moviePopularList({ query: { page: 1 } })

// Get movie details
const { data: movie } = await movieDetails({ path: { movie_id: 550 } })
```

### With TanStack Query

```typescript
import { useQuery } from '@tanstack/react-query'
import { moviePopularListOptions, movieDetailsOptions } from '@fubar-it-co/tmdb-client'

// In a React component
const { data, isLoading } = useQuery(moviePopularListOptions({ query: { page: 1 } }))

const { data: movie } = useQuery(movieDetailsOptions({ path: { movie_id: 550 } }))
```

## Configuration

The client is configured in `src/tmdb-config.ts`:

- **Base URL**: `https://api.themoviedb.org`
- **Authentication**: Bearer token from `VITE_TMDB_API_TOKEN` environment variable

### Environment Variables

Create a `.env.local` file at the monorepo root:

```env
VITE_TMDB_API_TOKEN=your_tmdb_bearer_token_here
```

## Regenerating the Client

If the TMDB OpenAPI spec changes, regenerate the client:

```bash
pnpm --filter @fubar-it-co/tmdb-client generate
```

## File Structure

```
packages/http-client/
├── src/
│   ├── client/              # Generated by heyAPI (do not edit)
│   │   ├── client.gen.ts    # HTTP client instance
│   │   ├── sdk.gen.ts       # SDK functions
│   │   ├── types.gen.ts     # TypeScript types
│   │   └── tanstack-query.gen.ts  # TanStack Query options
│   ├── tmdb-config.ts       # Runtime configuration (auth, baseUrl)
│   └── index.ts             # Package entry point
├── openapi-ts.config.ts     # heyAPI configuration
├── package.json
└── tsconfig.json
```

## Publishing

### Local testing with Verdaccio

Start Verdaccio (one-time global install):

```bash
npm install -g verdaccio
verdaccio
```

First time only — register on local Verdaccio (saves token in `.npmrc`):

```bash
cd packages/http-client
npm adduser --registry http://localhost:4873/ --userconfig ../../.npmrc
```

Then publish to Verdaccio:

```bash
./packages/http-client/publish-local.sh patch
```

### Publish to npm

```bash
./packages/http-client/publish.sh patch
```

Requires `NPM_TOKEN` in `.env` at the monorepo root.

## Links

- [TMDB API Documentation](https://developer.themoviedb.org/docs)
- [heyAPI Documentation](https://heyapi.dev)
- [TanStack Query](https://tanstack.com/query)
npm package: @fubasi/bilibilicomics
Description: Node.js client for bilibilicomics.com
Author: aaa4xu
Latest version: 0.2.0

# connectors-bilibilicomics

Node.js client for bilibilicomics.com

### Installing
```
npm install @fubasi/bilibilicomics
```

### Usage
```js
const { BilibilicomicsConnector, BilibilicomicsIdentity } = require('@fubasi/bilibilicomics');
const { promises: fs } = require('fs');

const user = new BilibilicomicsIdentity('example@gmail.com', 'examplepassword');
const client = new BilibilicomicsConnector(user);

client.chapter(98523).then(manifest => {
  // Metadata for chapter
  console.log('Manifest:', manifest);
  // Downloading first chunk of first page
  return client.image(manifest.chunks[0][0]);
}).then(image => {
  console.log('Image size:', image.length);
  // Save chunk to file
  return fs.writeFile('test.jpg', image);
}).then(() => {
  console.log('Done!');
});
```
npm package: @fubasi/connector
Description: This library was generated with [Nx](https://nx.dev).
Author: aaa4xu
Latest version: 0.2.0

# connectors-base

This library was generated with [Nx](https://nx.dev).

## Running unit tests

Run `nx test connectors-base` to execute the unit tests via [Jest](https://jestjs.io).

## Running lint

Run `nx lint connectors-base` to execute the lint via [ESLint](https://eslint.org/).
npm package: @fubasi/http-connector
Description: This library was generated with [Nx](https://nx.dev).
Author: aaa4xu
Latest version: 0.2.0

# connectors-http

This library was generated with [Nx](https://nx.dev).

## Running unit tests

Run `nx test connectors-http` to execute the unit tests via [Jest](https://jestjs.io).

## Running lint

Run `nx lint connectors-http` to execute the lint via [ESLint](https://eslint.org/).
npm package: @fubasi/kkmh
Description: Node.js client for kuaikanmanhua.com
Author: aaa4xu
Latest version: 0.0.2

# connectors-kkmh

Node.js client for kuaikanmanhua.com

### Installing
```
npm install @fubasi/kkmh
```

### Usage
```js
const { KkmhConnector, KkmhIdentity } = require('@fubasi/kkmh');
const { promises: fs } = require('fs');

const user = new KkmhIdentity('+12223334455', 'examplepassword');
const client = new KkmhConnector(user);

client.chapter(382057).then(manifest => {
  // Metadata for chapter
  console.log('Manifest:', manifest);
  // Downloading first chunk of first page
  return client.image(manifest.chunks[0][0]);
}).then(image => {
  console.log('Image size:', image.length);
  // Save chunk to file
  return fs.writeFile('test.jpg', image);
}).then(() => {
  console.log('Done!');
});
```