# CreateConfigOptions

`interface` in `eslint-config` · v2.5.0

<https://seedcord.org/docs/packages/eslint-config/2.5.0/interfaces/create-config-options>

```ts
interface CreateConfigOptions
```

## Properties

### generalIgnores

```ts
generalIgnores?: string[]
```

Additional glob patterns to extend the shared ignore list

### mdxFiles

```ts
mdxFiles?: string[]
```

File globs to lint as MDX (typically every `.mdx`). Registers the `eslint-mdx` parser + `mdx`
plugin and runs `no-unused-expressions` on embedded JS/JSX. Does not lint markdown prose.

### registerImportPlugin

```ts
registerImportPlugin?: ImportPluginLevel
```

How much of the `eslint-plugin-import-x` rule set to run. Drop to `'fast'` when lint time
matters more than catching import cycles and deprecated imports.

### registerSecurityPlugin

```ts
registerSecurityPlugin?: boolean
```

Toggle registration of the `eslint-plugin-security` plugin

### registerTsdocPlugin

```ts
registerTsdocPlugin?: boolean
```

Toggle registration of the `eslint-plugin-tsdoc` plugin

### registerTypescriptConfigs

```ts
registerTypescriptConfigs?: TypescriptConfigsLevel
```

Toggle registration of TypeScript ESLint configs. `'no-type-checked'` keeps the presets and
turns off the rules that read the type checker, the slowest ones in a run. The parser keeps
its `project` either way, since the seedcord and discordjs rules read types of their own.

`'rules-only'` applies seedcord's TypeScript rules without the typescript-eslint presets. Use it
when another config in the array already loads the `@typescript-eslint` plugin, like
`eslint-config-next`. ESLint throws when two configs load different copies of one plugin.

### registerUnicornPlugin

```ts
registerUnicornPlugin?: boolean
```

Toggle registration of the `eslint-plugin-unicorn` plugin. unicorn requires eslint =10.4, so
consumers still on eslint 9 must set this to `false`.

### relativeImports

```ts
relativeImports?: RelativeImportsMode
```

`'parent'` reports an import path that starts with `../`. A `./` import and a path alias like
`#src/...` pass.

### tailwindCalleeFunctions

```ts
tailwindCalleeFunctions?: string[]
```

Function names whose string arguments are scanned for non-canonical Tailwind classes. The `tw`
tagged template is handled by [`tailwindTaggedTemplates`](/docs/packages/eslint-config/2.5.0/interfaces/create-config-options#tailwind-tagged-templates).

 ['cn']

### tailwindEntryPoint

```ts
tailwindEntryPoint?: string
```

Absolute path to the consumer's Tailwind entry CSS (`@import 'tailwindcss'`). When set, the
canonical-class rules run as `warn`, off when omitted. Shared packages without a `globals.css`
can pass a sibling app's entry via [`resolveSharedTailwindEntry`](/docs/packages/eslint-config/2.5.0/functions/resolve-shared-tailwind-entry). Requires `tailwindcss`.

### tailwindTaggedTemplates

```ts
tailwindTaggedTemplates?: string[]
```

Tagged-template names whose content is scanned for non-canonical Tailwind classes. Only
`better-tailwindcss` supports tagged templates.

 ['tw']

### tsconfigRootDir

```ts
tsconfigRootDir?: string
```

Root directory for TypeScript configuration

### userConfigs

```ts
userConfigs?: FlatConfigItem[]
```

Additional user-defined ESLint configuration items to merge
