Designed to provide consistent rules and configurations across projects with minimal setup.
Welcome to the Obvia presets — a shared foundation for linting and typing rules across the ecosystem. This package continuously tracks the latest modern releases of ESLint and TypeScript, ensuring every project stays aligned. It’s not meant to be a static config, but a living set of presets that evolve with the ecosystem. If following the latest versions fits your workflow, this package offers a reliable way to keep all your projects consistent and up‑to‑date.
- Unified rules → Consistent ESLint and TypeScript configs across all Obvia projects
- Always modern → Tracks the latest ESLint and TypeScript releases
- Minimal setup → Drop‑in presets, no need to reinvent configs
- Ecosystem alignment → Ensures every package and project follows the same standards
- Onboarding‑friendly → Simplifies developer experience for new contributors
All presets are bundled in a single package — no need to install separate configs for each framework
pnpm add --save-dev @obvia/presetsChoose the preset that matches your project and add it to eslint.config.js
// Base → General rules for most projects
import { base } from "@obvia/presets/base-eslint"
// React → Rules for react and react Hooks
import { react } from "@obvia/presets/react-eslint"
// Next.js → Optimized rules for next.js applications
import { next } from "@obvia/presets/next-eslint"
export default [
base,
// react,
// next,
]Extend the corresponding config in your tsconfig.json
// Base → General Typescript rules
{
"extends": "@obvia/presets/base-config"
}
// React → Typescript config for react projects
{
"extends": "@obvia/presets/react-config"
}
// Next.js → Typescript config for next.js projects
{
"extends": "@obvia/presets/next-config"
}The roadmap shows both the currently available presets and the planned additions.
| Preset | Description | Path | Status |
|---|---|---|---|
| Base | General typescript + eslint rules for most projects | @obvia/presets/base-* |
✅ Available |
| React | Additional rules for react and react hooks | @obvia/presets/react-* |
✅ Available |
| Next | Optimized rules for next.js applications | @obvia/presets/next-* |
✅ Available |
| Vue | Rules optimized for vue.js applications | (coming soon) | 🔜 Planned |
| Nuxt | Configurations for nuxt.js projects | (coming soon) | 🔜 Planned |
If you think there is a security vulnerability in the Presets, you can help resolve the issue immediately by sending an e-mail to Selçuk Çukur at hello@selcukcukur.me. Please do not publicly post security vulnerabilities.
Presets project is published as open source. The MIT License is used, which is one of the well-known open source coding licenses. You can get detailed information about the license terms by visiting the link below.