javascript - Pentru o configurație plată, cum rulez ESLint din linia de comandă?
Pentru eslint.config.js (configurație flat), ce comandă ar trebui să folosesc atunci când verific fișierele *.js recursiv din linia de comandă? 1
Cu eslintrc.js sau eslintrc.json, am folosit npx eslint . --ext .js, așa cum este sugerat aici. Până acum, a funcționat întotdeauna bine.
Dar când încerc asta cu eslint.config.js, răspunsul în linia de comandă este:
Opțiune invalidă ''--ext'' - poate ați vrut ''-c''? Folosiți eslint.config.js, unele opțiuni din linia de comandă nu mai sunt disponibile. Vă rugăm să consultați https://eslint.org/docs/latest/use/command-line-interface pentru detalii.
Nu am găsit nicio soluție la linkul sugerat.
Fișierul meu eslint.config.js se află în directorul în care încerc să rulez comanda lint. 2
import eslintJs from '@eslint/js';
import globals from 'globals';
export default [
eslintJs.configs.recommended,
{
// files: ['**/*.js', '**/*.cjs', '**/*.mjs'], // = default, not needed
languageOptions: { globals: { ...globals.node } },
rules: { 'no-unused-vars': ['warn', { argsIgnorePattern: '^_' }] },
},
];
package.json :
{
"name": "flat-config",
"devDependencies": {
"eslint": "^8.52.0"
},
"private": true,
"type": "module"
}
Am rulat npm install înainte de a rula npx eslint . --ext .js.
În scop demonstrativ, am un mic fișier bad-code.js :
const hiUnused = 'hi there';
const hello='Hello world';
const unusedFunc = function(unusedVariable) { console.log('hi!') }
consoler.log(hello);
Dacă și când ESLint funcționează, mă aștept să răspundă cu trei avertismente și o eroare.
warning 'hiUnused' never used
warning 'unusedFunc' never used
warning 'unusedVariable' never used
error 'consoler' not defined
1 Include eticheta TypeScript pentru că mă aștept ca întrebarea și răspunsurile corespunzătoare să fie foarte asemănătoare pentru TypeScript.
2 Include linia files: ['**/*.js', '**/*.cjs', '**/*.mjs'], pentru a indica că implicit, ESLint potrivește **/*.js, **/*.cjs și **/*.mjs. Comentarea acesteia sau lăsarea ei ar trebui să nu facă nicio diferență.
Răspuns #1
Ce comandă ar trebui să folosesc atunci când fac lint la fișierele
*.jsrecursiv din linia de comandă?
Încearcă: 1
npx eslint **/*.js
Acesta va verifica toate fișierele *.js din directorul curent și toate subdirectoarele sale.
Comanda npx eslint **/*.js funcționează la fel de bine pentru fișierele de tip vechi .eslintrc.* cât și pentru cele noi eslint.config.js.
Pentru fișierul tău demo, bad-code.js, ESLint răspunde:
1:7 warning 'hiUnused' is assigned a value but never used no-unused-vars
3:7 warning 'unusedFunc' is assigned a value but never used no-unused-vars
3:29 warning 'unusedVariable' is defined but never used.
Allowed unused args must match /^_/u no-unused-vars
4:1 error 'consoler' is not defined no-undef
^click pentru a mări
1 Acesta este din documentație. Doar filtrează tot ce ține de configurare.
(Ignoră ESLINT_USE_FLAT_CONFIG=true și --config some-other-file.js.)
