Skip to content
You are viewing the v1 archive. For current setup guidance, use the v3 docs; the v2 release is preserved at /v2/.

Libraries

The libraries option enables integrations that usually correspond to major project dependencies.

IntegrationEnumUse It WhenAuto-Detected
Tailwind CSSLibrary.TailwindThe project uses Tailwind CSS.Yes
I18nextLibrary.I18nextThe project uses I18next.Yes
StencilLibrary.StencilThe project uses Stencil.Yes
TanStack QueryLibrary.TanstackQueryThe project uses TanStack Query.Yes
TanStack RouterLibrary.TanstackRouterThe project uses TanStack Router.Yes
StorybookLibrary.StorybookThe project uses Storybook.Yes
import { eslintConfig, Library } from '@santi020k/eslint-config-basic'
export default eslintConfig({
libraries: [Library.Tailwind, Library.Storybook]
})
  • The library integrations stay optional, so projects only install and enable what they use.
  • Detection helps the CLI and zero-argument config path, but you can still choose the final composition explicitly.

Tailwind CSS v4 uses a heavy initialization process in its worker threads. In monorepos or complex projects, this can cause ESLint to time out with an error like Atomics.wait() failed: timed-out.

To fix this, it is highly recommended to provide an explicit entryPoint in your ESLint settings. This prevents the plugin from searching your entire workspace for a Tailwind configuration.

You can pass the entryPoint by appending a configuration object to the array returned by eslintConfig:

import { eslintConfig, Library } from '@santi020k/eslint-config-basic'
export default [
...eslintConfig({
libraries: [Library.Tailwind]
}),
{
name: 'project/tailwind-settings',
settings: {
'better-tailwindcss': {
// Point this to your main CSS file (v4) or tailwind.config.js (v3)
entryPoint: './src/index.css'
}
}
}
]

[!TIP] If you are still experiencing timeouts after setting the entryPoint, you can increase the internal worker timeout by setting the SYNCKIT_TIMEOUT environment variable (e.g., SYNCKIT_TIMEOUT=60000 eslint .).

Did this page help?

One click helps us spot documentation that needs another pass. No personal data is sent.