# ESLint Flat Config की बुनियादी बातें — ESLint और Prettier: Code Quality और Formatting

Source: https://www.skillbyai.com/hi/eslint-prettier/eslint-prettier-03

> Recommended rules, globals और custom rule severities के साथ ESLint 9 flat config (eslint.config.js) लिखें।

## Configuration की संरचना

ESLint 9 से configuration `eslint.config.js` (flat config) में रहती है: `files`, `languageOptions` (globals, parser), `plugins` और `rules` वाले objects का array। पुराना `.eslintrc.*` format deprecated है।

## एक पूर्ण config

JavaScript project के लिए flat config: recommended rules और आपके अपने overrides।

```json
// eslint.config.js
import js from '@eslint/js';
import globals from 'globals';

export default [
  js.configs.recommended,
  {
    languageOptions: {
      ecmaVersion: 'latest',
      sourceType: 'module',
      globals: { ...globals.browser, ...globals.node },
    },
    rules: {
      'no-unused-vars': 'warn',
      'no-console': 'warn',
    },
  },
];
```

Output:

```
Configuration loaded successfully
```

## इसे DRY रखें

हर rule हाथ से लिखने के बजाय `js.configs.recommended` (या shared config) से शुरू करें। `semi` जैसे formatting rules Prettier के हैं।

त्वरित जाँच

**Quiz:** ESLint 9 flat config में `files` key क्या करता है?

- [x] Config object को मेल खाती files तक सीमित करता है
- [ ] Plugins install करता है
- [ ] Files हटाता है
- [ ] Prettier options सेट करता है

*Answer:* Config object को मेल खाती files तक सीमित करता है. हर config object विशिष्ट globs को लक्षित कर सकता है।
