48 lines
1.2 KiB
Markdown
48 lines
1.2 KiB
Markdown
# @mintel/tsconfig
|
|
|
|
Centralized TypeScript configurations for all Mintel projects, ensuring consistent compiler settings and modern target environments.
|
|
|
|
## 📦 Configurations
|
|
|
|
### `base.json`
|
|
The foundation for all TypeScript projects in the monorepo.
|
|
- **Target**: `ES2020`
|
|
- **Module Resolution**: `bundler`
|
|
- **Strictness**: `strict: false` (aligned with `klz-2026` standards)
|
|
- **Features**: Enables `esModuleInterop`, `resolveJsonModule`, and `isolatedModules`.
|
|
|
|
### `nextjs.json`
|
|
Extends `base.json` with specific settings for Next.js applications.
|
|
- **Plugins**: Includes the `next` TypeScript plugin for enhanced IDE support.
|
|
- **JSX**: Set to `preserve`.
|
|
|
|
## 🚀 Usage
|
|
|
|
### In a Next.js App
|
|
Create a `tsconfig.json` in your project root:
|
|
```json
|
|
{
|
|
"extends": "@mintel/tsconfig/nextjs.json",
|
|
"compilerOptions": {
|
|
"paths": {
|
|
"@/*": ["./src/*"]
|
|
}
|
|
},
|
|
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx", ".next/types/**/*.ts"],
|
|
"exclude": ["node_modules"]
|
|
}
|
|
```
|
|
|
|
### In a Library Package
|
|
Create a `tsconfig.json` in your package root:
|
|
```json
|
|
{
|
|
"extends": "@mintel/tsconfig/base.json",
|
|
"compilerOptions": {
|
|
"outDir": "./dist",
|
|
"rootDir": "./src"
|
|
},
|
|
"include": ["src"]
|
|
}
|
|
```
|