open-index/open-npm huggingface dataset:
npm package: @flitterjs/react
Description: React integration for Flitter
Latest version: 0.0.2

##  What is this?

Flitter-React is a library designed to simplify the integration of Flitter, a widget-based SVG manipulation framework, with React applications. It enables developers to easily incorporate Flitter's declarative, Flutter-like syntax for data visualization within React projects.

For more details, visit [here](https://flitter.dev).

```bash
npm i flitter-core @flitterjs/react
```
Example of using Flitter widgets in a React component:

```javascript
import { Container, Alignment, Text, TextStyle } from 'flitter-core';
import Widget from '@flitterjs/react';

const App = () => {
  return (
    <Widget
      width="600px"
      height="300px"
      widget={Container({
        alignment: Alignment.center,
        color: 'lightblue',
        child: Text("Hello, Flitter!", style: TextStyle({ fontSize: 30, weight: 'bold' }))
      })}
    />
  );
};
```
npm package: @flitz/errors
Description: Pretty error handling for flitz.
Author: Marcel Joachim Kloubert
Latest version: 0.1.3

[![npm](https://img.shields.io/npm/v/@flitz/errors.svg)](https://www.npmjs.com/package/@flitz/errors) [![supported flitz version](https://img.shields.io/static/v1?label=flitz&message=0.11.5%2B&color=blue)](https://github.com/flitz-js/flitz) [![last build](https://img.shields.io/github/workflow/status/flitz-js/errors/Publish)](https://github.com/flitz-js/errors/actions?query=workflow%3APublish) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/flitz-js/errors/pulls)

# @flitz/errors

> Creates an error handler for [flitz](https://github.com/flitz-js/flitz) with [pretty HTML output](https://github.com/poppinss/youch).

## Install

Run

```bash
npm install --save @flitz/errors
```

from the folder, where your `package.json` is stored.

## Usage

```javascript
const flitz = require('flitz');
const errors = require('@flitz/errors');

const run = async () => {
  const app = flitz();

  app.get('/', async (req, res) => {
    throw new ReferenceError('Oops! Something went wrong!');
  });

  app.setErrorHandler(errors());

  await app.listen(3000);
};

run();
```

Or the TypeScript way:

```typescript
import flitz from 'flitz';
import { errors } from '@flitz/errors';

const run = async () => {
  const app = flitz();

  app.get('/', async (req, res) => {
    throw new ReferenceError('Oops! Something went wrong!');
  });

  app.setErrorHandler(errors());

  await app.listen(3000);
};

run();
```

A possible result could be (the `Show all frames` was checked when took screenshot btw.):

<kbd><img src="https://raw.githubusercontent.com/flitz-js/errors/master/assets/screenshot.jpg" /></kbd>

## TypeScript

TypeScript is optionally supported. The module contains its own [definition files](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html).

## Credits

The module makes use of:

* [Youch!](https://github.com/poppinss/youch) by [Poppinss](https://github.com/poppinss)

## License

MIT © [Marcel Kloubert](https://github.com/mkloubert)
npm package: @flitz/params
Description: Extracts path parameters and makes them available in a flitz request.
Author: Marcel Joachim Kloubert
Latest version: 2.1.0

[![npm](https://img.shields.io/npm/v/@flitz/params.svg)](https://www.npmjs.com/package/@flitz/params) [![supported flitz version](https://img.shields.io/static/v1?label=flitz&message=0.14.0%2B&color=blue)](https://github.com/flitz-js/flitz) [![last build](https://img.shields.io/github/workflow/status/flitz-js/params/Publish)](https://github.com/flitz-js/params/actions?query=workflow%3APublish) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/flitz-js/params/pulls)

# @flitz/params

> Extracts path parameters and makes them available in a [flitz](https://github.com/flitz-js/flitz) request.

## Install

Run

```bash
npm install --save @flitz/params
```

from the folder, where your `package.json` is stored.

## Usage

```javascript
const flitz = require('flitz');
const params = require('@flitz/params');

const run = async () => {
  const app = flitz();

  //        👇👇👇
  app.post( params('/foo/:bar/:baz?'), async (req, res) => {
    res.write('Submitted params: ' + JSON.stringify(req.params, null, 2));
    res.end();
  });

  await app.listen(3000);
};

run();
```

Or the TypeScript way:

```typescript
import flitz from 'flitz';
import { params } from '@flitz/params';

const run = async () => {
  const app = flitz();

  //        👇👇👇
  app.post( params('/foo/:bar/:baz?'), async (req, res) => {
    res.write('Submitted params: ' + JSON.stringify(req.params, null, 2));
    res.end();
  });

  await app.listen(3000);
};

run();
```

## TypeScript

TypeScript is optionally supported. The module contains its own [definition files](https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html).

## Credits

The module makes use of:

* [regexparam](https://github.com/lukeed/regexparam) by [Luke Edwards](https://github.com/lukeed)

## License

MIT © [Marcel Kloubert](https://github.com/mkloubert)
npm package: @flitz/tsconfig
Description: Shared TypeScript config files for flitz projects.
Author: Marcel Joachim Kloubert
Latest version: 0.3.0

# tsconfig

[![npm](https://img.shields.io/npm/v/@flitz/tsconfig.svg)](https://www.npmjs.com/package/@flitz/tsconfig)

Shared [TypeScript](https://www.typescriptlang.org/docs/handbook/tsconfig-json.html) config files for [flitz](https://github.com/flitz-js) projects.

## Install

```
$ npm install --save-dev @flitz/tsconfig
```

## Usage

### tsconfig.json

```json
{
  "extends": "@flitz/tsconfig",
  "compilerOptions": {
    "outDir": "lib",
    "rootDir": "src"
  },
  "exclude": [
    "node_modules",
    "./src/sandbox"
  ]
}
```

## License

MIT © [Marcel Kloubert](https://github.com/mkloubert)
npm package: @fliu7/blessed-js-console
Description: A mouse-driven JS console built directly on neo-blessed
Latest version: 1.0.0

## Overview

Blessed-Js-Console is a mouse-driven JS console built directly on [neo-blessed](https://github.com/embarklabs/neo-blessed).
It is based on [janeway](https://github.com/11ways/janeway) with all other dependencies removed.

## Build

- `git clone` this repo locally and `cd` into it.
- `npm install`
- `npm run build`
- `npm run compress`
- Copy `dist/blessed-js-console.min.js` to your 3rd party directory.

## Usage

See `start.js` for usage examples
npm package: @flix-tech/stencil-i18n
Description: Static translations for stenciljs
Author: FlixMobility Tech
Latest version: 0.0.7

[![Build Status](https://travis-ci.org/flix-tech/stencil-i18n.svg?branch=master)](https://travis-ci.org/flix-tech/stencil-i18n)

# Static translations (Stencil plugin)

Generating staticly translated bundles.

## Getting started

```bash
npm i @flix-tech/stencil-i18n
```

configure it in `stencil.config.js`

```javascript
const { i18n } = require('@flix-tech/stencil-i18n');

...

plugins: [
    ...,
    i18n({
      functionName: 'i18n', // default value is i18n
      dictionaryPath: 'src/i18n',
      srcPath: 'src' // default value is src
    })
  ]
```

Create the dummy function inside src folder to satisfy typescript and have a fallback.

```typescript
export function i18n(key: string, params?: { [index: string]: string | number }): string {
  return key;
}
```

Put the translation files `messages.${locale}.json` into the `dictionaryPath` like specified in the stencil config.
Configure the build task in your `package.json` similar to the following.

```
"build": "for lang in en de; do i18n_locale=$lang stencil build && mkdir -p dist-build/$lang && mv dist/* dist-build/$lang; done && mv dist-build/* dist/ && rm -R dist-build"
```

Be sure to put the `i18n_locale` environment variable containing the same as `messages.${locale}.json` `locale`.
Use the function you defined in `functionName` to translate.
Import the dummy function defined before.

```javascript
const param3 = 'bye';
...
i18n('TRANSLATION.KEY', {
    param1: 1234,
    param2: 'hello',
    param3
});
```

## Angular

To include the resulting components into your angular project do a dynamic import in the app component to have the components in the whole project but be able to also access the `LOCALE_ID`. `YOUR_COMPONENT_NAME` can be the npm name `@scope/package`.

```typescript
import { Component, Inject, LOCALE_ID } from '@angular/core';

@Component({
  selector: 'app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss'],
})
export class AppComponent {
  constructor(@Inject(LOCALE_ID) locale: string) {
    import(`<YOUR_COMPONENT_NAME>/dist/${locale}/loader`).then((webcomponent) => {
      webcomponent.defineCustomElements(window);
    });
  }
}
```
npm package: @flixlix/config-commitlint
Description: Shared commitlint config
Author: Luca Félix
Latest version: 0.0.1

# Shared commitlint configuration

The purpose of the `commitlint` is linting of a commit message to conform the following format:

```js
type(scope?): subject
```

---

## Contents

- [Setup](#setup)
- [Automation](#automation)
- [Usage](#usage)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-commitlint` and its peer dependencies:

  ```sh
  pnpm add -w @flixlix/config-commitlint @commitlint/cli
  ```

- Add commitlint configuration file:

  ```js
  // .commitlintrc.js

  module.exports = require('@flixlix/config-commitlint');
  ```

- Add commitlint scripts:

  ```jsonc
  // package.json

  "scripts": {
    ...
    "commitlint": "commitlint"
    ...
  }
  ```

## Automation

- Setup [➡ husky](../../docs/tools/husky.md) to schedule `commitlint` execution on commit.

## Usage

- **Automatic** validation of commit message with `commitlint` on commit.\
  In case of invalid message, commit will be rejected.

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-eslint-ts
Description: Shared eslint config for monorepo (ts) and lib (ts) packages
Author: Luca Félix
Latest version: 0.0.1

# Shared eslint configuration

The purpose of the `eslint` is linting `javascript` and `typescript` languages (`js`, `ts`, `tsx`).

> This configuration targets **monorepo** packages.

---

## Contents

- [Setup](#setup)
- [Automation](#automation)
- [Usage](#usage)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-eslint-ts` and its peer dependencies:

  ```sh
  pnpm add -w @flixlix/config-eslint-ts eslint
  ```

- Add eslint configuration file:

  ```js
  // .eslintrc.js

  module.exports = require('@flixlix/config-eslint-ts');
  ```

- Add eslint ignore patterns file:

  ```sh
  # .eslintignore

  !.*
  node_modules/

  # Next ignore patterns
  .next/
  .build/
  .coverage/

  # Custom ignore patterns
  ...
  ```

- Add eslint scripts:

  ```jsonc
  // package.json

  "scripts": {
    ...
    "lint": "eslint --ext js,cjs,mjs,ts,tsx",
    "lint:fix": "pnpm lint --fix"
    ...
  }
  ```

## Automation

- Setup [➡ eslint vscode plugin](../../docs/plugins/vscode-eslint.md) to integrate `eslint` with vscode environment.

## Usage

- **Automatic** validation file with `eslint` on save.
- **Automatic** validation of staged files with `eslint` on commit.
- Manual usage from command line:

  ```sh
  pnpm lint .
  pnpm lint:fix .
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-eslint-ts-next
Description: Shared eslint config for app (ts + next) packages
Author: Luca Félix
Latest version: 0.0.1

# Shared eslint configuration

The purpose of the `eslint` is linting `javascript` and `typescript` languages (`js`, `ts`, `tsx`).

> This configuration targets **app next** packages.

---

## Contents

- [Setup](#setup)
- [Usage](#usage)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-eslint-ts-next`:

  ```sh
  pnpm add -w @flixlix/config-eslint-ts-next eslint
  ```

- Add eslint configuration file:

  ```js
  // apps/foo/.eslintrc.js

  module.exports = require('@flixlix/config-eslint-ts-next');
  ```

## Usage

- **Automatic** validation of staged files with `eslint` is handled by monorepo on commit.
- **Automatic** validation file with `eslint` is handled by monorepo on save.
- Manual usage from command line:

  ```sh
  pnpm lint apps/foo
  pnpm lint:fix apps/foo
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-jest-ts
Description: Shared jest config
Author: Luca Félix
Latest version: 0.0.1

# Shared jest configuration

The purpose of the [jest](https://jestjs.io/) is to test `javascript`.

> This configuration targets **lib typescript** packages.

---

## Contents

- [Setup](#setup)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-jest-ts` and its peers dependencies:

  ```sh
  pnpm add -w @flixlix/config-jest-ts jest ts-jest @types/jest
  ```

- Add jest configuration file

  ```js
  // packages/baz/jest.config.js

  module.exports = require('@flixlix/config-jest-ts');
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-jest-ts-react
Description: Shared jest config
Author: Luca Félix
Latest version: 0.0.1

# Shared jest configuration

The purpose of the [jest](https://jestjs.io/) is to test `javascript`.

> This configuration targets **lib react** packages.

---

## Contents

- [Setup](#setup)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-jest-ts-react` and its peers dependencies:

  ```sh
  pnpm add -w @flixlix/config-jest-ts-react jest ts-jest jest-environment-jsdom @testing-library/react
  ```

- Add jest configuration file

  ```js
  // packages/bar/jest.config.js

  module.exports = require('@flixlix/config-jest-ts-react');
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-prettier
Description: Shared prettier config
Author: Luca Félix
Latest version: 0.0.1

# Shared prettier configuration

The purpose of the `prettier` is formatting many language formats (`js`, `ts`, `tsx`, `md`, `json`, `yaml`).

---

## Contents

- [Setup](#setup)
- [Automation](#automation)
- [Usage](#usage)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-prettier` and its peer dependencies:

  ```sh
  pnpm add -w @flixlix/config-prettier prettier
  ```

- Add prettier configuration file:

  ```js
  // .prettierrc.js

  module.exports = require('@flixlix/config-prettier');
  ```

- Add prettier ignore patterns file:

  ```sh
  # .prettierignore

  node_modules/
  pnpm-lock.yaml

  # Next ignore patterns
  .next/
  .build/
  .coverage/

  # Custom ignore patterns
  ...
  ```

- Add prettier scripts:

  ```jsonc
  // package.json

  "scripts": {
    ...
    "format": "prettier",
    "format:check": "pnpm format --check --debug-check",
    "format:fix": "pnpm format --write"
    ...
  }
  ```

## Automation

- Setup [➡ prettier vscode plugin](../../docs/plugins/vscode-prettier.md) to integrate `prettier` with vscode environment.

## Usage

- **Automatic** format file with `prettier` on save.
- **Automatic** format of staged files with `prettier` on commit.
- Manual usage from command line:

  ```sh
  pnpm format:check .
  pnpm format:fix .
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-remark
Description: Shared remark config
Author: Luca Félix
Latest version: 0.0.1

# Shared remark configuration

The purpose of the `remark` is linting, formatting and autogenerate contents of markdown files (.md).

---

## Contents

- [Setup](#setup)
- [Automation](#automation)
- [Usage](#usage)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-remark` and its peer dependencies:

  ```sh
  pnpm add -w @flixlix/config-remark remark remark-cli
  ```

- Add remark configuration file:

  ```js
  // .remarkrc.mjs

  export { default } from '@flixlix/config-remark';
  ```

- Add remark ignore patterns file:

  ```sh
  # .remarkignore

  node_modules/

  # Next ignore patterns
  .next/
  .build/
  .coverage/

  # Custom ignore patterns
  ...
  ```

- Add remark scripts:

  ```jsonc
  // package.json

  "scripts": {
    ...
    "remark": "remark",
    "remark:fix": "pnpm remark --output --"
    ...
  }
  ```

## Automation

- Setup [➡ remark vscode plugin](../../docs/plugins/vscode-remark.md) to integrate `remark` with vscode environment.

## Usage

- **Automatic** validation file with `remark` on save.
- **Automatic** validation of staged files with `remark` on commit.
- Manual usage from command line:

  ```sh
  pnpm remark .
  pnpm remark:fix .
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-ts
Description: Shared typescript config for monorepo (ts) and lib (ts) packages
Author: Luca Félix
Latest version: 0.0.1

# Shared typescript configuration

The purpose of the [typescript](https://www.typescriptlang.org/) is to add strong typing to `javascript`.

> This configuration targets **lib typescript** packages.

---

## Contents

- [Setup](#setup)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-ts` and its peers dependencies:

  ```sh
  pnpm add -w @flixlix/config-ts typescript @types/node
  ```

- Add typescript configuration file

  ```jsonc
  // packages/baz/tsconfig.json

  {
    "extends": "@flixlix/config-ts",
    "compilerOptions": {
      "baseUrl": "src",
      "rootDir": "src"
    },
    "include": ["src"]
  }
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-ts-next
Description: Shared typescript config for app (ts + next) packages
Author: Luca Félix
Latest version: 0.0.1

# Shared typescript configuration

The purpose of the [typescript](https://www.typescriptlang.org/) is to add strong typing to `javascript`.

> This configuration targets **app next** packages.

---

## Contents

- [Setup](#setup)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-ts-next` and its peers dependencies:

  ```sh
  pnpm add -w @flixlix/config-ts-next typescript react react-dom @types/node @types/react @types/react-dom
  ```

- Add typescript configuration file

  ```jsonc
  // apps/foo/tsconfig.json

  {
    "extends": "@flixlix/config-ts-next",
    "compilerOptions": {
      "baseUrl": "src",
      "rootDir": "src"
    },
    "include": ["next-env.d.ts", "src"]
  }
  ```

- Turn **on** `next` externalDir experimental function:

  ```js
  // apps/foo/next.config.js

  {
    ...
    "experimental": {
      "externalDir": true //< for workspaces
    }
    ...
  }
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixlix/config-ts-react
Description: Shared typescript config for lib (ts + react) packages
Author: Luca Félix
Latest version: 0.0.1

# Shared typescript configuration

The purpose of the [typescript](https://www.typescriptlang.org/) is to add strong typing to `javascript`.

> This configuration targets **lib react** packages.

---

## Contents

- [Setup](#setup)
- [Donation](#donation)
- [License](#license)

## Setup

- Add workspace reference to `@flixlix/config-ts-react` and its peers dependencies:

  ```sh
  pnpm add -w @flixlix/config-ts-react typescript react react-dom @types/node @types/react @types/react-dom
  ```

- Add typescript configuration file

  ```jsonc
  // packages/bar/tsconfig.json

  {
    "extends": "@flixlix/config-ts-react",
    "compilerOptions": {
      "baseUrl": "src",
      "rootDir": "src"
    },
    "include": ["src"]
  }
  ```

## Donation

If you found this project helpful, consider\
[**buying me a coffee**](https://www.buymeacoffee.com/flixlix), [**donate by paypal**](https://www.paypal.me/flixlix) or just [**leave a star**](../../../..)⭐\
Thanks for your support, it is much appreciated!

## License

[MIT](LICENSE) © [Luca Félix](https://github.com/flixlix)

---

[⬅ Back](../../README.md)

---
npm package: @flixsync/flixsync-shared-library
Description: Shared TypeScript types and interfaces for the FlixSync Platform
Author: FlixSync Team
Latest version: 1.0.0

# @flixsync/types

Shared TypeScript types and interfaces for the FlixSync Platform.

## Installation

```bash
npm install @flixsync/types
```

## Usage

```typescript
import { User, Movie, Rating, GroupSession } from '@flixsync/types';

// Use the types in your TypeScript project
const user: User = {
  id: 'user-123',
  email: 'user@example.com',
  username: 'moviefan',
  // ... other properties
};
```

## Available Types

### User Types
- `User` - Complete user profile with preferences
- `UserProfile` - User's personal information
- `UserPreferences` - User settings and privacy preferences
- `CreateUserRequest` - Request payload for user creation
- `UpdateUserRequest` - Request payload for user updates
- `LoginRequest` - Login credentials
- `AuthResponse` - Authentication response with JWT tokens

### Movie Types
- `Movie` - Complete movie information with metadata
- `ExternalRating` - Ratings from external sources (IMDB, TMDB, etc.)
- `MovieStreamingAvailability` - Streaming service availability
- `MovieSearchResult` - Search result items
- `MovieSearchRequest` - Search query parameters

### Rating Types
- `Rating` - User movie ratings and reviews
- `CreateRatingRequest` - Request to create a new rating
- `UpdateRatingRequest` - Request to update existing rating
- `RatingStats` - Aggregated rating statistics
- `UserRatingStats` - User-specific rating analytics

### Group Types
- `GroupSession` - Group movie session management
- `GroupMember` - Group member information and preferences
- `GroupSettings` - Group configuration and rules
- `CreateGroupRequest` - Request to create a new group
- `GroupRecommendation` - Group-based movie recommendations

### Recommendation Types
- `Recommendation` - Individual or group recommendations
- `RecommendationReason` - Explanation for recommendations
- `RecommendationRequest` - Request parameters for recommendations
- `PersonalizedRecommendation` - User-specific recommendations
- `GroupRecommendationResult` - Group consensus recommendations

### Streaming Types
- `StreamingService` - Streaming platform information
- `StreamingAvailability` - Movie availability on platforms
- `UserStreamingSubscription` - User's active subscriptions
- `StreamingCoverageReport` - Availability analysis

### Common Types
- `ApiResponse<T>` - Standard API response wrapper
- `PaginatedResponse<T>` - Paginated API responses
- `ApiError` - Error response format
- `HealthCheck` - Service health monitoring
- `ValidationError` - Field validation errors
- `AuditLog` - Action tracking and logging

## Development

```bash
# Install dependencies
npm install

# Build the library
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Watch for changes
npm run watch
```

## License

MIT
npm package: @flixsync/types
Description: Shared TypeScript types and interfaces for the FlixSync Platform
Author: FlixSync Team
Latest version: 1.0.0

# @flixsync/types

Shared TypeScript types and interfaces for the FlixSync Platform.

## Installation

```bash
npm install @flixsync/types
```

## Usage

```typescript
import { User, Movie, Rating, GroupSession } from '@flixsync/types';

// Use the types in your TypeScript project
const user: User = {
  id: 'user-123',
  email: 'user@example.com',
  username: 'moviefan',
  // ... other properties
};
```

## Available Types

### User Types
- `User` - Complete user profile with preferences
- `UserProfile` - User's personal information
- `UserPreferences` - User settings and privacy preferences
- `CreateUserRequest` - Request payload for user creation
- `UpdateUserRequest` - Request payload for user updates
- `LoginRequest` - Login credentials
- `AuthResponse` - Authentication response with JWT tokens

### Movie Types
- `Movie` - Complete movie information with metadata
- `ExternalRating` - Ratings from external sources (IMDB, TMDB, etc.)
- `MovieStreamingAvailability` - Streaming service availability
- `MovieSearchResult` - Search result items
- `MovieSearchRequest` - Search query parameters

### Rating Types
- `Rating` - User movie ratings and reviews
- `CreateRatingRequest` - Request to create a new rating
- `UpdateRatingRequest` - Request to update existing rating
- `RatingStats` - Aggregated rating statistics
- `UserRatingStats` - User-specific rating analytics

### Group Types
- `GroupSession` - Group movie session management
- `GroupMember` - Group member information and preferences
- `GroupSettings` - Group configuration and rules
- `CreateGroupRequest` - Request to create a new group
- `GroupRecommendation` - Group-based movie recommendations

### Recommendation Types
- `Recommendation` - Individual or group recommendations
- `RecommendationReason` - Explanation for recommendations
- `RecommendationRequest` - Request parameters for recommendations
- `PersonalizedRecommendation` - User-specific recommendations
- `GroupRecommendationResult` - Group consensus recommendations

### Streaming Types
- `StreamingService` - Streaming platform information
- `StreamingAvailability` - Movie availability on platforms
- `UserStreamingSubscription` - User's active subscriptions
- `StreamingCoverageReport` - Availability analysis

### Common Types
- `ApiResponse<T>` - Standard API response wrapper
- `PaginatedResponse<T>` - Paginated API responses
- `ApiError` - Error response format
- `HealthCheck` - Service health monitoring
- `ValidationError` - Field validation errors
- `AuditLog` - Action tracking and logging

## Development

```bash
# Install dependencies
npm install

# Build the library
npm run build

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Watch for changes
npm run watch
```

## License

MIT
npm package: @flixy-dev/redis-fluent-keys
Description: Minimal open-source stack to help you ship an open-source package in TS
Latest version: 0.0.1

# Open-source stack

This is a placeholder npm package for the open-source-stack by Forge 42.
It is a full starter stack to develop CJS/ESM compatible npm packages with TypeScript, Vitest, Biome and GitHub Actions.
Find the template here:
https://github.com/forge-42/open-source-stack