@w5s/eslint-config
v3.40.0
Published
ESLint configuration presets
Readme
W5S ESLint configuration (@w5s/eslint-config)
ESLint configuration presets
Installation
npm install --save-dev @w5s/eslint-configRequires ESLint
9.xor10.x. Optional TypeScript support for4.x,5.x, and6.x.
Usage
Minimal flat config
Create eslint.config.ts in your project root:
import defineConfig from '@w5s/eslint-config';
export default defineConfig();Customize enabled integrations
import defineConfig from '@w5s/eslint-config';
export default defineConfig({
stylistic: { indent: 2 },
yml: true,
});Restricted globals & import paths
import defineConfig from '@w5s/eslint-config';
export default defineConfig({
es: {
// Override/extends restricted globals
restrictedGlobals: (defaultGlobals) => [
...defaultGlobals, // use defaultGlobals.filter(...), to filter
{
message: 'This is a custom global',
name: 'customGlobal',
},
],
// -OR- restrictedGlobals: { ... }, to simply override
// Override/extends restricted globals
restrictedRestrictedImports: (defaultImports) => [
...defaultImports, // use defaultImports.filter(...) to filter
{
message: '@acme/my-library should never be used, use @acme/my-new-library instead',
name: '@acme/my-library',
},
],
// -OR- restrictedGlobals: { ... }, to simply override
},
});Features
- Supported languages :
JS,TS,JSX,JSON,YAML,MARKDOWN - Standalone formatting : no prettier cli/configuration required (uses stylistic plugin)
- Enforce best practices : Airbnb base as default
- Opinionated but customizable
- Supports frameworks :
- UI :
React - Testing :
Jest,Vitest
- UI :
Advanced usage
If you want fine-grained control, the package also exports individual configs:
@w5s/eslint-config/es@w5s/eslint-config/jsonc@w5s/eslint-config/ts@w5s/eslint-config/yml@w5s/eslint-config/test
License
MIT © Julien Polo [email protected]
