@aristobyte-ui/typescript-config
Centralized TypeScript configuration presets for the AristoByte UI ecosystem.
Opinionated, consistent, and production-ready.
🚀 Overview
@aristobyte-ui/typescript-config
provides shared TypeScript configurations that enforce strict standards across all AristoByte UI packages.
This ensures:
- 🔒 Consistency across the monorepo ecosystem.
- ⚡ Developer Velocity by removing redundant boilerplate.
- 📦 Scalability with unified upgrades and evolving presets.
- 🧹 Clean output with correct declaration mapping for distributable packages.
📦 Installation
yarn add -D @aristobyte-ui/typescript-config
npm install -D @aristobyte-ui/typescript-config
pnpm add -D @aristobyte-ui/typescript-config
🛠 Usage
In your tsconfig.json,
extend one of the provided presets.
Base configuration (for libraries):
{
"extends": "@aristobyte-ui/typescript-config/base",
"compilerOptions": {
"outDir": "dist",
"declarationDir": "dist/types"
},
"include": ["src", "index.ts"]
}
React packages:
{
"extends": "@aristobyte-ui/typescript-config/react",
"include": ["components", "index.ts"],
"exclude": ["dist", "node_modules"]
}
Next.js projects:
{
"extends": "@aristobyte-ui/typescript-config/next",
"include": ["app", "pages", "components"],
"exclude": ["dist", "node_modules"]
}
Package-ready builds (library publishing):
{
"extends": "@aristobyte-ui/typescript-config/package",
"include": ["src"],
"exclude": ["dist", "node_modules"]
}
📂 Presets Available
base
→ Strict, modern TypeScript defaults for libraries.
react
→ Extends base
with React + JSX optimizations.
next
→ Opinionated config optimized for Next.js projects.
package
→ Publishing-friendly output with declarations and ESNext module resolution.
🔧 Example in a Package
package.json
:
{
"name": "@aristobyte-ui/button",
"version": "1.0.0",
"scripts": {
"build": "tsup"
},
"devDependencies": {
"@aristobyte-ui/typescript-config": "*",
"typescript": "^5.8.3"
}
}
tsconfig.json
:
{
"extends": "@aristobyte-ui/typescript-config/react",
"include": ["components", "index.ts"]
}
📊 Why This Matters
strict: true | Eliminates runtime edge cases early |
noUncheckedIndexedAccess: true | Safer array/object access |
declaration: true | Ensures correct .d.ts output |
jsx: react-jsx | Optimized for React 17+ and beyond |
incremental | Faster rebuilds in monorepo workflows |
moduleResolution: NodeNext | Modern interoperability for ESM/CJS |
🏆 Philosophy
At AristoByte UI, we believe configuration should empower, not obstruct.
This package encapsulates our best practices into ready-to-consume presets that evolve alongside the ecosystem.
📜 License
MIT © AristoByte
🛡 Shields Showcase