---
title: "FAQ"
description: "Common issues with the named export, style defaults, optional plugins and editors."
canonical_url: "https://vinicunca.dev/eslint/guides/faq"
---
# FAQ

> Common issues with the named export, style defaults, optional plugins and editors.

## `vinicuncaESLint` is not the default export

Use a named import. There is no default export and no `factory` module:

```js
import { vinicuncaESLint } from '@vinicunca/eslint-config';
```

## There is no CLI / setup wizard

Write `eslint.config.js` by hand. `pnpm dlx @antfu/eslint-config` installs **antfu's** package, not this one.

## `Cannot find package 'eslint-plugin-sonarjs'`

You are on v5.7.1 or older. Those versions import `eslint-plugin-sonarjs` at load time but list it as an optional peer. Upgrade to v6, which ships `eslint-plugin-slop` and `eslint-plugin-sonarjs` as dependencies. See [Upgrading from v5 to v6](https://vinicunca.dev/eslint/guides/migrating#upgrading-from-v5-to-v6).

## How do I turn off the anti-slop rules?

They are on by default since v6:

```js
export default vinicuncaESLint({
  antislop: false,
});
```

## Why didn't `stylistic.braceStyle` change `else`?

`STYLISTIC_CONFIG_DEFAULTS.braceStyle` is `'stroustrup'`, but `vinicunca/stylistic/rules` then sets `'style/brace-style': ['error']` with **no options**, which is ESLint Stylistic's default **1tbs**. Vue templates still use `vue/brace-style` with your `braceStyle` value.

To get stroustrup in JS/TS:

```js
export default vinicuncaESLint().override('vinicunca/stylistic/rules', {
  rules: {
    'style/brace-style': ['error', 'stroustrup', { allowSingleLine: true }],
  },
});
```

## `lessOpinionated` does nothing

The option is forwarded into `stylistic()` but never read. `curly`, `antfu/top-level-function` and `style/arrow-parens` stay on. Turn them off with `stylistic.overrides` or `.overrideRules()`.

## `pnpx eslint` / `pnpm dlx eslint` ignores my plugins

Those commands download a **different** ESLint. Use the project binary:

```bash
pnpm eslint
pnpm exec eslint --fix
```

## Can I keep Prettier?

Not on JavaScript or TypeScript. Disable the Prettier extension (`prettier.enable: false`) and let ESLint fix those files. Use `formatters` for CSS/HTML/XML/Markdown/GraphQL/Astro so Prettier runs **inside** ESLint as `format/prettier`.

## How do I turn stylistic rules off?

```js
export default vinicuncaESLint({
  stylistic: false,
});
```

You then need another formatter for JS/TS. Integrations that took `indent` / `quotes` from stylistic (JSON, YAML, Vue templates, Svelte, formatters) fall back to the built-in defaults.

## Vue didn't turn on

The factory looks for `vue`, `nuxt`, `vitepress` or `@slidev/cli` in the project's packages. Set `vue: true` (or `false`) to override detection.

## Type-aware rules are slow

`typescript.tsconfigPath` enables a large `@typescript-eslint` typed set. Narrow `filesTypeAware`, add `ignoresTypeAware`, or drop `tsconfigPath` if you don't need those rules.

## Angular?

Not supported. There is no `angular` option.

## `files` in the first argument throws

The first argument is global options. Put `files` on the second (or later) config object.

## Command comments

`eslint-plugin-command` is always registered (`vinicunca/command/rules`). Remove it with `.remove('vinicunca/command/rules')` if you don't want comment-triggered transforms.


## Sitemap

See the full [sitemap](https://vinicunca.dev/sitemap.md) for all pages.
