ESLint Config

Framework Integrations

Enable optional framework configs for React, Vue, Next.js, Svelte, Astro, Solid, UnoCSS, and Angular.

Framework Integrations

@pleaseai/eslint-config inherits the full matrix of optional framework configs from @antfu/eslint-config. Each one is opt-in — pass the corresponding flag to pleaseai() and install any peer dependencies the integration needs.

React

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  react: true,
})
bun add -D @eslint-react/eslint-plugin eslint-plugin-react-hooks eslint-plugin-react-refresh

Next.js

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  nextjs: true,
})
bun add -D @next/eslint-plugin-next
Enable react: true alongside nextjs: true if you want the React rules on top of Next.js-specific ones.

Vue

Vue support is auto-detected from your package.json. You rarely need to enable it explicitly, but you can:

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  vue: true,
})

For Nuxt projects, see the dedicated Nuxt Integration guide — it pairs this config with @nuxt/eslint so the Nuxt module provides auto-import awareness on top.

Svelte

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  svelte: true,
})
bun add -D eslint-plugin-svelte

Astro

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  astro: true,
})
bun add -D eslint-plugin-astro

Solid

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  solid: true,
})
bun add -D eslint-plugin-solid

UnoCSS

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  unocss: true,
})
bun add -D @unocss/eslint-plugin

Angular

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  angular: true,
})
bun add -D @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser

Per-Integration Rule Overrides

Every framework integration accepts an overrides object so you can tune rules without replacing the whole preset:

eslint.config.ts
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  vue: {
    overrides: {
      'vue/operator-linebreak': ['error', 'before'],
    },
  },
  typescript: {
    overrides: {
      'ts/consistent-type-definitions': ['error', 'interface'],
    },
  },
})

This is the preferred extension point — reach for the Config Composer only when overrides isn't granular enough.

Copyright © 2026