Generator .eslintrc
Ten generator tworzy gotową konfigurację .eslintrc.json na podstawie czterech wyborów: środowisko przeglądarki lub Node, obsługa TypeScript i obsługa React. Podpina eslint:recommended, odpowiednie wtyczki TypeScript lub React oraz kilka sensownych nadpisań reguł, dzięki czemu możesz wkleić wynik do swojego projektu.
Jak wygenerować konfigurację ESLint
-
1
Wybierz środowisko
Wybierz, czy kod działa w przeglądarce, w Node.js, czy w obu. Generator ustawia odpowiednie wpisy `env`, plus `es2022`.
-
2
Włącz TypeScript
Zaznacz TypeScript, a generator doda `@typescript-eslint/parser` i zalecaną wtyczkę TypeScript.
-
3
Włącz React
Zaznacz React, a generator doda `eslint-plugin-react` z jego zalecanym presetem.
-
4
Generuj
Kliknij przycisk, a konfiguracja zostanie utworzona jako czytelnie sformatowany JSON.
-
5
Skopiuj do projektu
Wklej wynik do `.eslintrc.json` i zainstaluj wtyczki, do których się odwołuje.
Co zawiera wygenerowana konfiguracja
Generator zawsze zaczyna od eslint:recommended i dodaje dokładnie to, co wynika z Twoich wyborów:
envzbrowseri/lubnode, pluses2022@typescript-eslint/parseriplugin:@typescript-eslint/recommended, gdy TypeScript jest włączonyplugin:react/recommended, gdy React jest włączonyno-consoleino-unused-varsustawione nawarn
Wynik to zwykły obiekt JSON w klasycznym formacie .eslintrc.json, gotowy do wklejenia i rozbudowy o własne reguły.
Konfiguracja flat a starsza
ESLint 9 wycofał format .eslintrc.* na rzecz konfiguracji flat (eslint.config.js). Kluczowe różnice:
| Aspekt | Starsza (.eslintrc) | Flat (eslint.config.js) |
|---|---|---|
| Format | JSON, YAML albo CommonJS | Moduł JavaScript ESM albo CommonJS |
| Rozszerzanie | extends: ["plugin:react/recommended"] |
Rozproszenie do tablicy: ...reactPlugin.configs.recommended |
| Nadpisania | Tablica overrides ze wzorcami glob |
Wiele obiektów w eksportowanej tablicy |
| Zmienne globalne | env: { browser: true } |
languageOptions.globals z jawnymi importami |
| Ignorowanie | Plik .eslintignore |
Pole ignores w tablicy konfiguracji |
Nowe projekty powinny używać konfiguracji flat. Istniejące projekty mogą pozostać na starszej przez linię 10.x, ale migracja jest zalecana.
Ekosystem wtyczek
Typowe wtyczki projektu React/TS:
@typescript-eslint/eslint-plugin
@typescript-eslint/parser
eslint-plugin-react
eslint-plugin-react-hooks
eslint-plugin-jsx-a11y
eslint-plugin-import
eslint-config-prettier
To sześć pakietów dla jednej umiarkowanie opiniotwórczej konfiguracji. Generator dodaje te, które wybierzesz, więc instalujesz tylko to, na co powołuje się konfiguracja.
Współistnienie z Prettier
Prettier zajmuje się formatowaniem; ESLint poprawnością i stylem wykraczającym poza formatowanie. Aby uniknąć konfliktów:
- Zainstaluj
eslint-config-prettieri dodaj go jako OSTATNI element w extends/config. - Wyłącza on każdą regułę ESLint kolidującą z wynikiem Prettier.
- Uruchamiaj Prettier osobno (przy zapisie w edytorze, w haku pre-commit, w CI).
Nie używaj eslint-plugin-prettier w nowych projektach; spowalnia ESLint, uruchamiając Prettier wewnątrz ESLint. Rozdziel oba narzędzia.
Wskazówki do dostrajania reguł
- Zacznij luźno, dokręcaj stopniowo. Włączaj ostrzeżenia przed błędami.
- Nadpisuj dla testów. Pliki testowe często potrzebują rozluźnionego
no-unused-expressionsi dostępnych globalnych Jest. - Nadpisuj dla skryptów. Skrypty buildowe mogą potrzebować globalnych Node bez dodawania
env: nodeglobalnie. - Dokumentuj nadpisania. Każde nadpisanie reguły zasługuje na komentarz wyjaśniający dlaczego.
Konfiguracja zgodna z twoim edytorem
VS Code wymaga zainstalowanego i skonfigurowanego rozszerzenia ESLint. Dodaj to do ustawień obszaru roboczego, aby uzyskać auto-naprawę przy zapisie:
{
"editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" },
"eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
}
Najczęściej zadawane pytania
Dla nowych projektów, konfiguracji flat (eslint.config.js). Ten generator zwraca klasyczny format .eslintrc.json, który ESLint czyta natywnie w trybie legacy; tabela porównawcza powyżej pokazuje, co się zmienia, jeśli migrujesz później.
Tak, jeśli używasz TypeScript. @typescript-eslint/parser oraz @typescript-eslint/eslint-plugin włączają linting świadomy TypeScript. Dla reguł świadomych typów (nie tylko składni) skonfiguruj też parser z project: './tsconfig.json'.
Zwykle przez brakujące zależności deweloperskie w CI. Upewnij się, że @typescript-eslint/*, wtyczki i wersja ESLint zgadzają się między lokalnym środowiskiem a CI. Używaj npm ci (nie npm install) w CI, by respektować plik blokady.
Nie. Twoje wybory służą tylko do wygenerowania konfiguracji; nie są zapisywane ani udostępniane osobom trzecim.
Powiązane narzędzia
Tabela ASCII
Pełna tabela ASCII od 0 do 127 z zapisem dziesiętnym, szesnastkowym, ósemkowym i binarnym oraz notacją numerycznych odwołań HTML, w tym kodami sterującymi NUL, LF i DEL.
Referencja znaków HTML
Przeszukiwalna lista encji HTML wraz z ich kodami nazwanymi i liczbowymi oraz kopiowaniem jednym kliknięciem specjalnych znaków i symboli.
Skróty klawiaturowe
Wyszukuj udokumentowane skróty domyślne VS Code, Chrome i Bash z GNU Readline w macOS, Windows i Linux.
Generator EditorConfig
Wygeneruj plik .editorconfig z własnymi regułami stylu i rozmiaru wcięć, końca linii, kodowania i białych znaków, aby uzyskać spójne formatowanie w różnych IDE i edytorach.
Walidator adresów e-mail
Zweryfikuj adres e-mail: sprawdzenie składni RFC 5322, sprawdzenie rekordu MX w czasie rzeczywistym oraz szczegóły dotyczące części lokalnej, domeny i długości. Żadna wiadomość nie jest wysyłana.
Ściągawka do Markdown
Praktyczna ściągawka Markdown z prawdziwym podglądem i przykładami gotowymi do skopiowania: nagłówki, listy, tabele, kod, linki, obrazy i składnia GFM.
Narzędzie jest dostępne w innych językach
- Generador de ESLintrc [ES]
- เครื่องสร้าง ESLintrc [TH]
- ESLintrc-generator [NL]
- ESLintrc 생성기 [KO]
- Générateur d'ESLintrc [FR]
- ESLintrc-generator [SV]
- Generator ESLintrc [ID]
- Gerador de ESLintrc [PT]
- ESLintrc-Generator [DE]
- ESLintrc生成器 [ZH]
- ESLintrc Üreticisi [TR]
- ESLintrc ジェネレーター [JA]
- ESLintrc Generator [EN]
- Bộ tạo ESLintrc [VI]
- مولد ESLintrc [AR]
- Generatore ESLintrc [IT]
- Генератор ESLintrc [RU]