open-index/open-npm huggingface dataset:
npm package: @studentsphere/ots-core
Description: Shared interfaces and contracts for Open Timetable Scrapper providers
Author: StudentSphere
Latest version: 1.0.1

<div align="center">
  <img src=".github/assets/logo.png" alt="OTS Logo" width="350" />
  <h1>@studentsphere/ots-core</h1>
</div>

The core library for the Open Timetable Scraper (OTS) ecosystem by StudentSphere.

This package provides the foundational TypeScript interfaces, types, and the base class required to build custom timetable scraper providers. By standardizing the data structures, OTS ensures that any provider can seamlessly integrate with the Open Timetable Scraper server.

## Installation

```bash
npm install @studentsphere/ots-core
```

## What's included?

### `BaseTimetableProvider`
An abstract class that all custom providers must extend. It enforces the implementation of essential metadata and methods:
- `id`: Unique identifier for the provider.
- `name`: Display name of the provider.
- `logo`: URL to the provider's logo.
- `schools`: Array of supported schools/campuses.
- `validateCredentials(credentials)`: Method to verify user login details.
- `getSchedule(credentials, from, to)`: Method to scrape and return the timetable data.

### Core Interfaces
- **`Course`**: The standardized format for a single class/event (includes subject, start/end times, location, teacher, color, etc.).
- **`School`**: Represents a school or campus supported by a provider.
- **`ProviderCredentials`**: Standardized login credentials (identifier and password).

## Building a Provider

If you want to build your own provider, you must extend the `BaseTimetableProvider` class from this package. 

For a complete step-by-step guide and a working template, please check out the [@studentsphere/ots-provider-example](https://www.npmjs.com/package/@studentsphere/ots-provider-example) package.

## License

MIT
npm package: @studib/file-uploader
Description: Một thư viện JS nhỏ hỗ trợ các tác vụ liên quan đến File
Author: KhoaTr197
Latest version: 0.1.1

# File Uploader

Thư viện tải tệp đơn giản được xây dựng bằng , **TypeScript**.

[![Giấy phép](https://img.shields.io/badge/Giấy%20phép-MIT-yellow.svg)](LICENSE)
[![TypeScript](https://img.shields.io/badge/TypeScript-7.x-orange.svg)](https://www.typescriptlang.org/)

## Mục lục

- [Tổng quan](#tổng-quan)
- [Tính năng](#tính-năng)
- [Cài đặt](#cài-đặt)
- [Sử dụng](#sử-dụng)
- [Đóng góp](#đóng-góp)
- [Giấy phép](#giấy-phép)
- [Liên hệ](#liên-hệ)

## Tổng quan

**File Uploader** là một thư viện nhẹ, giúp hỗ trợ phát triển các tác vụ liên quan đến File. Dự án sử dụng:

- **TypeScript** để đảm bảo an toàn kiểu dữ liệu.

Dự án bắt đầu từ template chính thức **TypeScript** và mở rộng với tính năng xử lý tệp bằng **HTML5 File API**.

## Tính năng

- **Xác thực tệp**: Kiểm tra kích thước, loại tệp và số lượng.
- **TypeScript**: Toàn bộ mã nguồn được định kiểu rõ ràng.

## Cài đặt

```bash
  npm install @studib/file-uploader
  //-- or --//
  yarn add @studib/file-uploader
  //-- or --//
  pnpm install @studib/file-uploader
```

## Sử dụng

```js
import { FileUploaderUploader } from "@studib/file-uploader";

function App() {
  const [preview, setPreview] = useState("");

  const handleFile = async (e) => {
    const file = e.target.files?.[0];
    if (!file) return;

    const processor = new FileProcessor();
    processor.use(new ImagePreviewPlugin({ size: 150 }));

    const result = await processor.process(file);
    setPreview(result.metadata.thumbnailURL);
  };

  return (
    <div>
      <input type="file" accept="image/*" onChange={handleFile} />
      {preview && <img src={preview} alt="Preview" />}
    </div>
  );
}
```

## Giấy phép

Dự án được cấp phép theo MIT License. Xem chi tiết tại LICENSE.

## Liên hệ

Khoa Trần - [GitHub @KhoaTr197](https://github.com/KhoaTr197)
Liên kết dự án: [File Uploader](https://github.com/KhoaTr197/file-uploader)
npm package: @studimax/array-capacity
Description: A fully extended Array with max capacity
Author: Maxime Scharwath
Latest version: 1.0.1

# @studimax/array-capacity

[![npm](https://img.shields.io/npm/v/@studimax/array-capacity)](https://www.npmjs.com/package/@studimax/array-capacity)
[![Code: TypeScript](https://img.shields.io/badge/made%20with-typescript-blue.svg?logo=typescript&logoColor=white)](https://github.com/microsoft/TypeScript)
[![Made By: StudiMax](https://img.shields.io/badge/made%20by-studimax-red.svg)](https://github.com/studimax)

A fully extended Array with max capacity

## Installation
```bash
npm install @studimax/array-capacity
# or
yarn add @studimax/array-capacity
```

## Usage
The usage of ArrayCapacity is the same as the native Array. 
The only difference is that you cannot push more elements than the capacity.
```ts
import ArrayCapacity from '@studimax/array-capacity';

const array = new ArrayCapacity(2);
array.push(1,2,3,4,5,6);
// [1,2]
array[0] = 0;
array[2] = 5;
// [0,2]
array[2] // undefined
```
### Options
- `capacity`: The maximum number of elements that can be stored in the Array.
- `transformer`: transform the value before pushing it into the Array.
- `validator`: validate the value before pushing it into the Array. If the value is invalid, it will be ignored and the value will not be pushed.

Validator and Transformer are both optional, but validator will be called after transformer.

```ts
import ArrayCapacity from '@studimax/array-capacity';
const array = new ArrayCapacity({
  capacity: 2,
  validator: (value) => value > 0,
  transformer: (value) => value * 2,
});
array.push(-2, -1, 0, 1, 2);
// [0,2]
```
npm package: @studimax/elo
Description: Elo rating system
Author: Maxime Scharwath
Latest version: 1.0.1

# @studimax/elo

[![npm](https://img.shields.io/npm/v/@studimax/elo)](https://www.npmjs.com/package/@studimax/elo)
[![Code: TypeScript](https://img.shields.io/badge/made%20with-typescript-blue.svg?logo=typescript&logoColor=white)](https://github.com/microsoft/TypeScript)
[![Made By: StudiMax](https://img.shields.io/badge/made%20by-studimax-red.svg)](https://github.com/studimax)

Implementation of [Elo](https://en.wikipedia.org/wiki/Elo_rating_system) rating system.

## Installation
```bash
npm install @studimax/elo
# or
yarn add @studimax/elo
```

## Usage
### Calculate calculatePerformance
```ts
/**
* Calculates the probability to win based on the rating of the opponent.
* @param Ra Elo rating of hero A.
* @param Rb Elo rating of hero B.
*/
calculatePerformance(Ra: number, Rb: number): {Ea: number; Eb: number};
```
```ts
import Elo from '@studimax/elo';

const elo = new Elo();

/** Caclculate performance **/
const {Ea, Eb} = elo.calculatePerformance(1613, 1609);
// Ea: 0.506
// Eb: 0.494
```
### Calculate Rating
```ts
/**
* Calculates the expected score of a hero based on the rating of the other hero.
* @param Ra Elo rating of hero A.
* @param Rb Elo rating of hero B.
* @param S Expected score of hero A. (0 <= S <= 1)
*/
calculateRating(Ra: number, Rb: number, S = 1): {Rb: number; Ra: number};
```
```ts
const elo = new Elo({kFactor: 20});
const {Ra, Rb} = elo.calculateRating(1800, 2005, 1); // 1 = win
// Ra: ~1815
// Rb: ~1990
```
```ts
const elo = new Elo({kFactor: 20});
const {Ra, Rb} = elo.calculateRating(1800, 2005, 0.5); // 0.5 = draw
// Ra: ~1805
// Rb: ~2000
```
```ts
const elo = new Elo({kFactor: 20});
const {Ra, Rb} = elo.calculateRating(1800, 2005, 0); // 0 = loss
// Ra: ~1795
// Rb: ~2010
```
npm package: @studimax/event
Description: A fully typed Node Event
Author: Maxime Scharwath
Latest version: 1.0.1

# @studimax/event

[![npm](https://img.shields.io/npm/v/@studimax/event)](https://www.npmjs.com/package/@studimax/event)
[![Code: TypeScript](https://img.shields.io/badge/made%20with-typescript-blue.svg?logo=typescript&logoColor=white)](https://github.com/microsoft/TypeScript)
[![Made By: StudiMax](https://img.shields.io/badge/made%20by-studimax-red.svg)](https://github.com/studimax)

A fully typed Node Event system.

## Installation
```bash
npm install @studimax/event
# or
yarn add @studimax/event
```

## Usage

Define an `EventMap` type that allows your IDE to autocomplete your event handlers and emitters.

```ts
import { EventEmitter } from '@studimax/event'
type MyEvents = {
    start: () => void;
    end: (at:Date) => void;
};
const emitter = new EventEmitter<MyEvents>();

emitter.on('start', () => {
    console.log('started');
});
emitter.on('end', (at:Date) => {
    console.log('ended at', at);
});

emitter.emit('start');
emitter.emit('end', new Date());
```
### SubEventEmitter
SubEventEmitter can receive events from his parent, but parent can't listen to events from his children.
```ts
import { EventEmitter } from '@studimax/event';

type MyEvents = {
    start: () => void;
    end: (at:Date) => void;
};
const emitter = new EventEmitter<MyEvents>();

const subEmitter = emitter.subEmitter();

emitter.on('start', () => {
    console.log('parent started');
});

subEmitter.on('start', () => {
    console.log('child started');
});

emitter.emit('start'); // parent and child received the event
subEmitter.emit('start'); // only child started received the event
```

### Additional methods
- `removeChildrenListener(event, listener)`: Remove listeners in children too of a specific event.
- `removeAllChildrenListeners(event?)`: Remove all listeners in children too of a specific event.
- `getChildren()`: Get all children EventEmitter.
- `hasChild(child)`: Check if a child EventEmitter is in the children list.
- `link(child)`: Link a child EventEmitter.
- `unlink(child)`: Unlink a child EventEmitter or all children if no child is specified.
- `isLinked()`: Check if a child EventEmitter is linked to his parent.
- `link(parent)`: Link to a parent EventEmitter.
- `unlink()`: Unlink from a parent EventEmitter.
npm package: @studimax/ts
Description: A simple templating system
Author: Maxime Scharwath
Latest version: 1.0.1

# @studimax/ts

[![npm](https://img.shields.io/npm/v/@studimax/ts)](https://www.npmjs.com/package/@studimax/ts)
[![Code: TypeScript](https://img.shields.io/badge/made%20with-typescript-blue.svg?logo=typescript&logoColor=white)](https://github.com/microsoft/TypeScript)
[![Made By: StudiMax](https://img.shields.io/badge/made%20by-studimax-red.svg)](https://github.com/studimax)

A tiny template engine for JavaScript and TypeScript with no dependencies.

## Installation
```bash
npm install @studimax/ts
# or
yarn add @studimax/ts
```

## Usage
```ts
import ts from '@studimax/ts';

ts('Hello {world} !', {world: 'World'}) // Hello World !
ts('{a.small.hello} {a.big.world} !', {a: {small: {hello: 'hello'}, big: {world: 'WORLD'}}}) // hello WORLD !
ts('Hello {world} !', {}) // Hello {world} !
```
npm package: @studio-core-labs/three-core
Description: Reusable Three.js scene and animation engine for Studio apps
Latest version: 0.2.0

# @studio-core-labs/three-core

A reusable bundle of the Three.js scene, animation timeline, and smart object tooling extracted from the Studio app. It exposes the same module structure as the original `three_core` folder so other applications can import the `Engine`, `SceneTemplate`, animation helpers, and material utilities without copying code.

## Usage

```bash
npm install @studio-core-labs/three-core
```

Make sure the consuming app already depends on a compatible version of `three` (declared as a peer dependency). The package currently ships unbundled ES modules under `src/`, so it works with bundlers like Vite, Webpack, and esbuild.

## Development

This package lives in a sibling repository to the Studio Rails app. Update the source under `src/` and keep the public API exported from `src/index.js` in sync with the modules the Studio front-end consumes.

Before publishing to npm, bump the version in `package.json` and run your chosen bundler/build step if you add one.
```
npm package: @studio-fes/layer-base
Description: Base Nuxt layer with shared utilities, components, and configurations for building modern web applications.
Author: studio fes
Latest version: 0.2.17

# @studio-fes/layer-base

Base Nuxt layer with shared utilities, components, and configurations for building modern web applications.

## Features

### 🎨 Styling & Animations
- **UnoCSS**: Utility-first CSS framework with Wind preset
- **GSAP**: Professional-grade animation library with custom easings

### 🖼️ Media Optimization
- **Nuxt Image**: Optimized image component with lazy loading
- **Nuxt Fonts**: Automatic font optimization
- **Unlazy**: Advanced lazy loading utilities

### ⚡ Developer Experience
- **VueUse**: Collection of Vue composition utilities
- **Nuxt Scripts**: Optimized third-party script loading
- **TypeScript**: Full type safety

## Installation

```bash
npm install @studio-fes/layer-base
```

## Usage

Extend this layer in your `nuxt.config.ts`:

```typescript
export default defineNuxtConfig({
  extends: ['@studio-fes/layer-base']
})
```

## What's Included

### Components

#### `<Image>`
Optimized image component with lazy loading support.

```vue
<template>
  <Image :image="image" />
</template>
```

#### `<Text>`
Text component with interpolation support.

```vue
<template>
  <Text text="Your text here" />
</template>
```

### Composables

#### `useGSAP()`
GSAP animation utilities with custom easings.

```typescript
const { gsap } = useGSAP()

gsap.to(element, { duration: 1, x: 100 })
```

#### `useLockBody()`
Lock/unlock body scroll (useful for modals).

```typescript
const { lock, unlock } = useLockBody()

onMounted(() => lock())
onUnmounted(() => unlock())
```


### Utils

Custom GSAP easings and utility functions are available in `utils/`.

## Configuration

The layer provides sensible defaults in `nuxt.config.ts`:

```typescript
{
  modules: [
    '@unocss/nuxt',
    'gsap-nuxt-module',
    '@nuxt/image',
    '@nuxt/fonts',
    '@nuxt/scripts',
    '@unlazy/nuxt',
    '@vueuse/nuxt',
  ],
  runtimeConfig: {
    public: {
      baseUrl: 'http://localhost:3000',
      imageDomain: '',
      imageProvider: ''
    }
  }
}
```

## Development

```bash
# Install dependencies
pnpm install

# Develop with playground
pnpm dev

# Build
pnpm build

# Lint
pnpm lint
```

## Extending

Create a new layer that extends this one:

```typescript
// nuxt.config.ts
export default defineNuxtConfig({
  extends: ['@studio-fes/layer-base'],
  // Your custom configuration
})
```

## License

MIT
npm package: @studio-fes/layer-strapi
Description: Create Nuxt extendable layer with this GitHub template.
Author: studio fes
Latest version: 0.2.17

# Nuxt Layer Starter

Create Nuxt extendable layer with this GitHub template.

## Setup

Make sure to install the dependencies:

```bash
pnpm install
```

## Working on your layer

Your layer is at the root of this repository, it is exactly like a regular Nuxt project, except you can publish it on NPM.

## Distributing your layer

Your Nuxt layer is shaped exactly the same as any other Nuxt project, except you can publish it on NPM.

To do so, you only have to check if `files` in `package.json` are valid, then run:

```bash
npm publish --access public
```

Once done, your users will only have to run:

```bash
npm install --save your-layer
```

Then add the dependency to their `extends` in `nuxt.config`:

```ts
defineNuxtConfig({
  extends: 'your-layer'
})
```

## Development Server

Start the development server on http://localhost:3000

```bash
pnpm dev
```

## Production

Build the application for production:

```bash
pnpm build
```

Or statically generate it with:

```bash
pnpm generate
```

Locally preview production build:

```bash
pnpm preview
```

Checkout the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.
npm package: @studio-freight/eslint-config-base-js
Description: This package includes the shareable ESLint configuration used by [Studio Freight](https://github.com/studio-freight) on Vanilla JS based websites.
Author: Franco Arza
Latest version: 1.1.6

# @studio-freight/eslint-config-base-js

This package includes the shareable ESLint configuration used by [Studio Freight](https://github.com/studio-freight) on Vanilla JS based websites.

## Usage

Install this package:

`npm install --save-dev @studio-freight/eslint-config-base-js`

or

`yarn add --dev @studio-freight/eslint-config-base-js`

Then create a file named `.eslintrc` with following contents in the root folder of your project:

```js
{
	"extends":  "base-js"
}
```

you're gucci.

## Includes

### [Standard rules](https://github.com/standard/standard)

### Prettier settings:

```js
{
	useTabs:  false,
	tabWidth:  2,
	printWidth:  80,
	singleQuote:  false,
	trailingComma:  "none",
	jsxBracketSameLine:  false,
	semi:  false
}
```

make sure you have the following setting enabled in VSCode:

```js
"editor.codeActionsOnSave": {
	"source.fixAll": true
}
```

since prettier is already included here, you don't need to run any prettifying tools on your end, eslint already does that for you, you're welcome!
npm package: @studio-freight/eslint-config-base-react
Description: This package includes the shareable ESLint configuration used by [Studio Freight](https://github.com/studio-freight) on React/Next.js based websites.
Author: Franco Arza
Latest version: 1.3.4

# @studio-freight/eslint-config-base-react

This package includes the shareable ESLint configuration used by [Studio Freight](https://github.com/studio-freight) on React/Next.js based websites.

## Usage

Install this package:

`npm install --save-dev @studio-freight/eslint-config-base-react`

or

`yarn add --dev @studio-freight/eslint-config-base-react`

Then create a file named `.eslintrc` with following contents in the root folder of your project:

```js
{
	"extends":  "@studio-freight/eslint-config-base-react"
}
```

you're gucci.

## Includes

### [ESLINT Standard React](https://github.com/standard/eslint-config-standard-react)

### Prettier settings:

```js
{
	useTabs:  false,
	tabWidth:  2,
	printWidth:  80,
	singleQuote:  false,
	trailingComma:  "none",
	jsxBracketSameLine:  false,
	semi:  false
}
```

make sure you have the following setting enabled in VSCode:

```js
"editor.codeActionsOnSave": {
	"source.fixAll": true
}
```

since prettier is already included here, you don't need to run any prettifying tools on your end, eslint already does that for you, you're welcome!
npm package: @studio-freight/stylelint-config-base-css
Description: This package includes the shareable Stylelint configuration used by [Studio Freight](https://github.com/studio-freight) on every website.
Author: Franco Arza
Latest version: 1.1.5

# @studio-freight/stylelint-config-base-css

This package includes the shareable Stylelint configuration used by [Studio Freight](https://github.com/studio-freight) on every website.

## Usage

Install this package:

`npm install --save-dev @studio-freight/stylelint-config-base-css`

or

`yarn add --dev @studio-freight/stylelint-config-base-css`

Then create a file named `.stylelintrc` with following contents in the root folder of your project:

```js
{
  "extends": "@studio-freight/stylelint-config-base-css"
}
```

you're gucci.

## Includes

### [Standard rules](https://github.com/stylelint/stylelint-config-standard)

### [High Performance Animation](https://github.com/kristerkari/stylelint-high-performance-animation)

### Prettier settings:

```js
{
	useTabs:  false,
	tabWidth:  2,
	printWidth:  80,
	singleQuote:  false,
	trailingComma:  "none",
	jsxBracketSameLine:  false,
	semi:  false
}
```

make sure you have the following setting enabled in VSCode:

```js
"editor.codeActionsOnSave": {
	"source.fixAll": true
}
```

since prettier is already included here, you don't need to run any prettifying tools on your end, stylelint already does that for you, you're welcome!
npm package: @studio-freight/tempus
Description: one rAF to rule them all
Author: @studio-freight
Latest version: 0.0.44
Deprecated: The '@studio-freight/tempus' package has been renamed to 'tempus'. Please update your dependencies: npm install tempus and visit the documentation: https://www.npmjs.com/package/tempus

## Purpose
Tempus allows you to merge all your `requestAnimationFrame` (rAF) loops in one for better performance and gives you better control over their execution priority.

## Installation

```bash
$ npm i @studio-freight/tempus
```

## Usage

```javascript
import Tempus from '@studio-freight/tempus'

function onFrame(time, deltaTime) {
  // called every frame
}

// subscribe
const unsubscribe = Tempus.add(onFrame, 0)

// unsubscribe
unsubscribe()
// OR
Tempus.remove(onFrame)
```

## Methods

- `add(callback, priority)`
- `remove(callback)`

## Examples

### GSAP
```js
gsap.ticker.remove(gsap.updateRoot);
Tempus.add((time) => {
  gsap.updateRoot(time / 1000);
}, 0);
```

### Lenis
```js
Tempus.add((time) => {
  lenis.raf(time)
}, 0);
```
npm package: @studio-helga/eslint-config
Description: ESLint configuration for Studio Helga projects
Author: Studio Helga
Latest version: 1.0.2

# @studio-helga/eslint-config

Base ESLint configuration for Studio Helga projects.

## Installation

```bash
npm install --save-dev @studio-helga/eslint-config eslint
```

## Usage

Create an `.eslintrc.js` file in your project root:

```javascript
module.exports = {
  extends: ['@studio-helga/eslint-config'],
};
```

Or extend your existing ESLint configuration:

```javascript
module.exports = {
  extends: [
    '@studio-helga/eslint-config',
    // your other configs...
  ],
};
```

## What's included

- TypeScript support
- Prettier integration
- Import sorting
- Common ESLint rules for TypeScript projects

## Peer Dependencies

- `eslint` (^8.0.0 || ^9.0.0)

## License

MIT
npm package: @studio-helga/eslint-config-react
Description: ESLint React configuration for Studio Helga projects
Author: Studio Helga
Latest version: 1.0.3

# @studio-helga/eslint-config-react

ESLint configuration for React projects at Studio Helga.

## Installation

```bash
npm install --save-dev @studio-helga/eslint-config-react @studio-helga/eslint-config eslint react
```

## Usage

Create an `.eslintrc.js` file in your project root:

```javascript
module.exports = {
  extends: ['@studio-helga/eslint-config-react'],
};
```

## What's included

- Extends `@studio-helga/eslint-config`
- React and React Hooks rules
- JSX accessibility rules
- TypeScript React support

## Peer Dependencies

- `eslint` (^8.0.0 || ^9.0.0)
- `react` (^17.0.0 || ^18.0.0)

## License

MIT
npm package: @studio-helga/prettier-config
Description: Shared Prettier configuration for Studio Helga projects
Author: Studio Helga
Latest version: 1.0.0

# @studio-helga/prettier-config

Prettier configuration for Studio Helga projects.

## Installation

```bash
npm install --save-dev @studio-helga/prettier-config prettier
```

## Usage

### Option 1: package.json

Add to your `package.json`:

```json
{
  "prettier": "@studio-helga/prettier-config"
}
```

### Option 2: .prettierrc.js

Create a `.prettierrc.js` file:

```javascript
module.exports = require('@studio-helga/prettier-config');
```

### Option 3: .prettierrc.json

Create a `.prettierrc.json` file:

```json
"@studio-helga/prettier-config"
```

## Configuration

This config includes:

- Semi-colons enabled
- Print width: 80 characters
- Double quotes (singleQuote: false)
- 2-space indentation
- Bracket spacing enabled
- Trailing commas for ES5 compatibility

## Peer Dependencies

- `prettier` (^3.0.0)

## License

MIT
npm package: @studio-helga/typescript-config
Description: TypeScript configuration for Studio Helga projects
Author: Studio Helga
Latest version: 1.0.0

# @studio-helga/typescript-config

TypeScript configuration for Studio Helga projects.

## Installation

```bash
npm install --save-dev @studio-helga/typescript-config typescript
```

## Usage

### Base Configuration

Create a `tsconfig.json` file in your project root:

```json
{
  "extends": "@studio-helga/typescript-config/base.json",
  "compilerOptions": {
    "outDir": "dist"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}
```

### Next.js Configuration

For Next.js projects:

```json
{
  "extends": "@studio-helga/typescript-config/nextjs.json",
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
  "exclude": ["node_modules"]
}
```

### React Library Configuration

For React libraries:

```json
{
  "extends": "@studio-helga/typescript-config/react-library.json",
  "compilerOptions": {
    "outDir": "dist"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist", "**/*.test.*", "**/*.spec.*"]
}
```

## Available Configurations

- `base.json` - Base TypeScript configuration
- `nextjs.json` - Configuration for Next.js projects
- `react-library.json` - Configuration for React libraries

## Peer Dependencies

- `typescript` (^5.0.0)

## License

MIT