Mematikan aturan eslint untuk jalur tertentu

1346

Untuk mematikan aturan linting untuk baris tertentu di JSHint kami menggunakan aturan berikut:

/* jshint ignore:start*/
$scope.someVar = ConstructorFunction();
/* jshint ignore:end */

Saya telah mencoba mencari yang setara dengan di atas untuk eslint.

runtimeZero
sumber
86
Gunakan eslint-disable-next-line:
Brylie Christopher Oxley
Dimulai dengan ESLint v7, Anda dapat menentukan alasan untuk menonaktifkan aturan yang diberikan dalam komentar yang sama.
Dan Dascalescu

Jawaban:

2157

Anda dapat menggunakan sintaks baris tunggal sekarang:

var thing = new Thing(); // eslint-disable-line no-use-before-define
thing.sayHello();

function Thing() {

     this.sayHello = function() { console.log("hello"); };

}

Atau jika Anda tidak ingin memiliki komentar di baris yang sama dengan kode aktual, dimungkinkan untuk menonaktifkan baris berikutnya:

// eslint-disable-next-line no-use-before-define
var thing = new Thing();

Tautan dokumen yang diminta: http://eslint.org/docs/user-guide/configuring.html#configuring-rules

goofballLogic
sumber
4
Sekarang saya mendapatkan masalah eslint lain: peringatan Inline komentar tak terduga dengan kode no-inline-comments :(
arcseldon
52
Bekerja bagus untukku. Juga jika Anda tidak peduli dengan kekhususan yang bisa Anda lakukan //eslint-disable-linedan tampaknya menonaktifkan semua aturan untuk baris yang diberikan.
KhalilRavanna
7
Untuk beberapa alasan ini tidak berhasil untuk saya; Saya menjalankan eslint 3.8.0. Saya harus menggunakan / * eslint-disable * / dan / * eslint-enable * /. Adakah yang tahu mengapa ini terjadi? Saya suka pendekatan garis tunggal
SomethingOn
8
@ Sesuatu yang memiliki masalah yang sama, ternyata saya telah --no-inline-configmenghidupkan, yangPrevent comments from changing config or rules
tibalt
4
Tidak bekerja dengan "gulp-eslint": "^ 3.0.1". Saya harus menggunakan / * eslint-disable * /
olefrank
529

Anda dapat menggunakan yang berikut ini

/*eslint-disable */

//suppress all warnings between comments
alert('foo');

/*eslint-enable */

Yang sedikit mengubur bagian "aturan konfigurasi" dari dokumen ;

Untuk menonaktifkan peringatan untuk seluruh file, Anda dapat memasukkan komentar di bagian atas file misalnya

/*eslint eqeqeq:0*/

Memperbarui

ESlint kini telah diperbarui dengan cara yang lebih baik menonaktifkan satu baris, lihat jawaban luar biasa @ goofballLogic .

Nick Tomlin
sumber
5
BTW, sepertinya //sintaks komentar tidak berfungsi ...
MonsieurDart
Juga sebagai catatan, saya sedang mencari untuk menonaktifkan eslint untuk satu baris di html. ini bekerja: thumbsup:
Adil H. Raza
223

Anda juga dapat menonaktifkan aturan / aturan tertentu (bukan semua) dengan menentukannya di blok aktifkan (terbuka) dan nonaktifkan (tutup):

/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert */

melalui tautan @ goofballMagic di atas: http://eslint.org/docs/user-guide/configuring.html#configuring-rules

sebuah darren
sumber
6
Pastikan komentar eslint Anda lulus dari eslint! -> Expected exception block, space or tab after '/*' in comment.:)
Rimian
Saya menggunakan kombinasi prettierdan eslintuntuk memformat kode saya. Ini tidak memungkinkan untuk komentar sebaris. Banyak /* eslint-disable-next-line ... */pernyataan yang sulit dibaca dan ditemukan dalam kode.
Bernhard Döbler
78

Dari Mengkonfigurasi ESLint - Menonaktifkan Aturan dengan Komentar Inline :

/* eslint-disable no-alert, no-console */


/* eslint-disable */

alert('foo');

/* eslint-enable */


/* eslint-disable no-alert, no-console */

alert('foo');
console.log('bar');

/* eslint-enable no-alert, no-console */


/* eslint-disable */

alert('foo');


/* eslint-disable no-alert */

alert('foo');


alert('foo'); // eslint-disable-line

// eslint-disable-next-line
alert('foo');


alert('foo'); // eslint-disable-line no-alert

// eslint-disable-next-line no-alert
alert('foo');


alert('foo'); // eslint-disable-line no-alert, quotes, semi

// eslint-disable-next-line no-alert, quotes, semi
alert('foo');


foo(); // eslint-disable-line example/rule-name
James Skemp
sumber
35

Menjawab

Anda dapat menggunakan komentar sebaris: // eslint-disable-next-line rule-name .

Contoh

// eslint-disable-next-line no-console
console.log('eslint will ignore the no-console on this line of code');

Referensi

ESLint - Menonaktifkan Aturan dengan Komentar Inline

Brylie Christopher Oxley
sumber
31

Komentar umum akhir baris,, // eslint-disable-linetidak memerlukan apa pun setelahnya: tidak perlu mencari kode untuk menentukan apa yang Anda ingin ES Lint abaikan.

Jika Anda perlu mengabaikan sintaks karena alasan apa pun selain debugging cepat, Anda memiliki masalah: mengapa tidak memperbarui konfigurasi delint Anda?

Saya senang // eslint-disable-linemengizinkan saya memasukkan consolepemeriksaan cepat atas suatu layanan, tanpa lingkungan pengembangan menghambat saya karena pelanggaran protokol. (Saya biasanya melarang console, dan menggunakan kelas logging - yang terkadang dibangun berdasarkan console.)

LeeGee
sumber
Jangan tersinggung, tetapi ini adalah solusi yang sama dengan jawaban yang diterima, jadi tidak yakin bagaimana ini membantu?
a darren
25
Jangan lakukan ini. Jika Anda memiliki 5 kesalahan di telepon, semuanya akan diabaikan. Selalu secara eksplisit mengatur aturan yang harus diabaikan atau anak-anak akan membuat kekacauan.
Filip Dupanović
3
@ FilipDupanović Jika programmer Anda dapat membuat kekacauan dalam satu baris kode, hanya karena eslint tidak melihat dari belakang ke belakang untuk satu baris. Benar-benar ada sesuatu yang salah di perusahaan Anda ... Yang mengatakan, mengatakan aturan apa yang ingin Anda abaikan membuatnya lebih jelas mengapa Anda meletakkan garis menonaktifkan di sana di tempat pertama.
Edwin Stoteler
2
@ FilipDupanović Mungkin eslint harus memiliki aturan meta untuk meminta aturan eksplisit untuk diabaikan? Mungkin sudah.
Josef.B
1
@ Josef.B ada aturan non-standar untuk itu: github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/… Ia bekerja dengan sangat baik.
Craig Harley
13

Atau untuk beberapa pengabaian di baris berikutnya, masukkan aturan menggunakan koma

// eslint-disable-next-line class-methods-use-this, no-unused-vars
Raymond Wachaga
sumber
9

Untuk menonaktifkan satu aturan untuk sisa file di bawah ini:

/* eslint no-undef: "off"*/
const uploadData = new FormData();
Farhan Salam
sumber
1
atau/* eslint-disable no-new */
Илья Зеленько
6

Untuk menonaktifkan semua aturan pada baris tertentu:

alert('foo'); // eslint-disable-line
Debbie Ellis
sumber
1

komentar baris tunggal tidak bekerja untuk saya di dalam komponen fungsional yang bodoh, saya telah menggunakan penonaktifan level file dengan menambahkan / * eslint-disable insertEslintErrorDefinitionHere * /

(biasanya jika Anda menggunakan kode vs dan mendapatkan kesalahan eslint, Anda dapat mengklik pada baris yang memberikan kesalahan dan bola lampu akan muncul dalam kode vs, klik kanan pada bola lampu dan pilih opsi penonaktifan dan kode vs akan melakukannya untuk kamu.)

Sid
sumber
-5

Anda dapat menambahkan file yang memberikan kesalahan pada file .eslintignore di proyek Anda. Seperti halnya semua file .vue, tambahkan saja /*.vue

Yubin Shinhmar
sumber
4
ia meminta satu baris, bukan seluruh file
Kevin Danikowski
Dia juga bisa berhenti menggunakan eslint ... Jika Anda hanya akan mengabaikan setiap file yang memiliki masalah mengapa menggunakannya sama sekali?
Ruud Verhoef