---
title: "Framework Integrations"
description: "Enable optional framework configs for React, Vue, Next.js, Svelte, Astro, Solid, UnoCSS, and Angular."
---

> Documentation Index
> Fetch the complete documentation index at: https://code-style.pages.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 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

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  react: true,
})
```

```bash
bun add -D @eslint-react/eslint-plugin eslint-plugin-react-hooks eslint-plugin-react-refresh
```

```bash
pnpm add -D @eslint-react/eslint-plugin eslint-plugin-react-hooks eslint-plugin-react-refresh
```

```bash
npm install -D @eslint-react/eslint-plugin eslint-plugin-react-hooks eslint-plugin-react-refresh
```

## Next.js

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  nextjs: true,
})
```

```bash
bun add -D @next/eslint-plugin-next
```

```bash
pnpm add -D @next/eslint-plugin-next
```

```bash
npm install -D @next/eslint-plugin-next
```

:::note
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:

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  vue: true,
})
```

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

## Svelte

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  svelte: true,
})
```

```bash
bun add -D eslint-plugin-svelte
```

```bash
pnpm add -D eslint-plugin-svelte
```

```bash
npm install -D eslint-plugin-svelte
```

## Astro

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  astro: true,
})
```

```bash
bun add -D eslint-plugin-astro
```

```bash
pnpm add -D eslint-plugin-astro
```

```bash
npm install -D eslint-plugin-astro
```

## Solid

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  solid: true,
})
```

```bash
bun add -D eslint-plugin-solid
```

```bash
pnpm add -D eslint-plugin-solid
```

```bash
npm install -D eslint-plugin-solid
```

## UnoCSS

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  unocss: true,
})
```

```bash
bun add -D @unocss/eslint-plugin
```

```bash
pnpm add -D @unocss/eslint-plugin
```

```bash
npm install -D @unocss/eslint-plugin
```

## Angular

```ts title="eslint.config.ts"
import pleaseai from '@pleaseai/eslint-config'

export default pleaseai({
  angular: true,
})
```

```bash
bun add -D @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser
```

```bash
pnpm add -D @angular-eslint/eslint-plugin @angular-eslint/eslint-plugin-template @angular-eslint/template-parser
```

```bash
npm install -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:

```ts title="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](/en/eslint-config/advanced#config-composer) only when `overrides` isn't granular enough.

Source: https://code-style.pages.dev/en/eslint-config/frameworks/index.mdx
