@tada5hi/eslint-config
Table of Contents
Installation
npm install --save-dev @tada5hi/eslint-config eslint
For TypeScript support, also install:
npm install --save-dev typescript-eslint typescript
For Vue support, also install:
npm install --save-dev eslint-plugin-vue
Usage
Create an eslint.config.js (or eslint.config.mjs) in your project root.
The package exports an async factory function that returns an ESLint flat config array.
JavaScript
import eslintConfig from '@tada5hi/eslint-config';
export default eslintConfig();
TypeScript
import eslintConfig from '@tada5hi/eslint-config';
export default eslintConfig({
typescript: true,
});
With type-aware linting:
import eslintConfig from '@tada5hi/eslint-config';
export default eslintConfig({
typescript: { project: './tsconfig.json' },
});
Vue
import eslintConfig from '@tada5hi/eslint-config';
export default eslintConfig({
vue: true,
});
Vue + TypeScript
import eslintConfig from '@tada5hi/eslint-config';
export default eslintConfig({
typescript: { project: './tsconfig.json' },
vue: true,
});
Options
| Option | Type | Default | Description |
|---|---|---|---|
typescript |
boolean | TypeScriptOptions |
auto-detect | Enable TypeScript rules. Pass { project: './tsconfig.json' } for type-aware linting, or { project: true } for projectService. |
vue |
boolean | VueOptions |
auto-detect | Enable Vue rules. When TypeScript is also enabled, the TS parser is automatically configured for .vue files. |
User Overrides
Additional flat config objects can be passed as variadic arguments after the options:
import eslintConfig from '@tada5hi/eslint-config';
export default eslintConfig(
{ typescript: true },
{
rules: {
'no-console': 'off',
},
},
{
ignores: ['dist/**'],
},
);
Auto-Detection
When typescript or vue options are not explicitly set, the factory auto-detects whether to enable them by checking if the typescript or vue packages are installed. This means in most cases you can simply use:
import eslintConfig from '@tada5hi/eslint-config';
export default eslintConfig();
What's Included
The config always includes these rule sets:
- JavaScript -
@eslint/jsrecommended + best-practice rules, ES6+ enforcement - Stylistic -
@stylistic/eslint-pluginfor indent (4 spaces), quotes (single), max line length (150) - Imports -
eslint-plugin-import-xfor import ordering, cycle detection, and more - Unicorn -
eslint-plugin-unicornfor modern JS patterns (node: protocol, Array.isArray, etc.)
Conditionally adds:
- TypeScript -
typescript-eslintrecommended rules, base-rule swaps, type-aware rules - Vue -
eslint-plugin-vueflat/recommended, html-indent (4 spaces), TS parser for.vuefiles
License
Made with 💚
Published under MIT License.
Related Packages
Shared ESLint flat config for Vue.js projects (deprecated — use @tada5hi/eslint-...
Shared ESLint flat config for Vue.js + TypeScript projects (deprecated — use @ta...
Version History
| Version | Released | License |
|---|---|---|
| 2.4.0 | Apache-2.0 | |
| 2.3.1 | Apache-2.0 | |
| 2.3.0 | Apache-2.0 | |
| 2.2.0 | Apache-2.0 | |
| 2.1.0 | Apache-2.0 | |
| 2.0.2 | Apache-2.0 | |
| 2.0.1 | Apache-2.0 | |
| 2.0.0 | MIT | |
| 1.2.12 | MIT | |
| 1.2.11 | MIT | |
| 1.2.10 | MIT | |
| 1.2.9 | MIT | |
| 1.2.8 | MIT | |
| 1.2.7 | MIT | |
| 1.2.6 | MIT | |
| 1.2.5 | MIT | |
| 1.2.4 | MIT | |
| 1.2.3 | MIT | |
| 1.2.2 | MIT | |
| 1.2.1 | MIT | |
| 1.2.0 | MIT | |
| 1.1.9 | MIT | |
| 1.1.8 | MIT | |
| 1.1.7 | MIT | |
| 1.1.6 | MIT | |
| 1.1.5 | MIT | |
| 1.1.4 | MIT | |
| 1.1.3 | MIT | |
| 1.1.2 | MIT | |
| 1.1.1 | MIT |
Showing the latest 30 of 53. See every release on npm