Menonaktifkan semua aturan yang tidak diperlukan atau mungkin bertentangan dengan Prettier.
Ini memungkinkan Anda menggunakan konfigurasi favorit yang dapat dibagikan tanpa membiarkan pilihan gayanya menghalangi saat menggunakan Prettier.
Perhatikan bahwa konfigurasi ini hanya menonaktifkan aturan , jadi masuk akal jika menggunakannya bersama dengan beberapa konfigurasi lainnya.
Instal eslint-config-prettier:
npm install --save-dev eslint-config-prettier
Tambahkan eslint-config-prettier ke konfigurasi ESLint Anda – baik ke eslintrc atau ke eslint.config.js (konfigurasi datar).
eslintrc: Tambahkan "prettier"
ke array "extends" di file .eslintrc.*
Anda. Pastikan untuk meletakkannya terakhir, sehingga mendapat kesempatan untuk menimpa konfigurasi lainnya.
{
"extends" : [
" some-other-config-you-use " ,
" prettier "
]
}
eslint.config.js (konfigurasi datar): Impor eslint-config-prettier, dan masukkan ke dalam susunan konfigurasi – setelah konfigurasi lain yang ingin Anda timpa.
import someConfig from "some-other-config-you-use" ;
import eslintConfigPrettier from "eslint-config-prettier" ;
export default [
someConfig ,
eslintConfigPrettier ,
] ;
Terakhir, jalankan alat pembantu CLI untuk menemukan masalah di bagian "rules"
pada konfigurasi Anda.
Menggunakan eslint-plugin-lebih cantik? Lihat konfigurasi yang direkomendasikan eslint-plugin-prettier.
eslint-config-prettier tidak hanya menonaktifkan aturan inti , tetapi juga beberapa plugin berikut secara otomatis:
Catatan: Anda mungkin menemukan panduan di Internet yang mengatakan Anda juga harus memperluas hal-hal seperti
"prettier/react"
. Sejak eslint-config-prettier versi 8.0.0, yang perlu Anda perluas hanyalah"prettier"
! Itu termasuk semua plugin.
Dengan konfigurasi datar, Anda dapat menentukan nama plugin! Misalnya:
import typescriptEslint from "@typescript-eslint/eslint-plugin" ;
import eslintConfigPrettier from "eslint-config-prettier" ;
export default [
{
plugins : {
// You’d typically use one of the following two:
// typescriptEslint: typescriptEslint,
// typescriptEslint,
// But in this example we give it another name.
// It might be tempting to use something shorter like “ts”:
ts : typescriptEslint , // Don’t do this!
} ,
rules : {
// With eslintrc, this is _always_ called:
// @typescript-eslint/indent
// But in eslint.config.js (flat config), the name chosen above in `plugins` is used.
"ts/indent" : "error" , // Don’t do this!
} ,
} ,
eslintConfigPrettier ,
] ;
Anda mungkin berharap eslint-config-prettier mematikan ts/indent
, tetapi ternyata tidak! Karena eslint-config-prettier hanya mematikan @typescript-eslint/indent
. Ia tidak dapat mengetahui apa yang Anda pilih untuk memanggil plugin tersebut. Hal yang sama untuk alat pembantu CLI.
Cukup tetap berpegang pada nama plugin resmi dan semuanya akan baik-baik saja.
Jika Anda menemukan konfigurasi bersama yang menggunakan nama plugin non-standar, mintalah mereka untuk menggunakan nama standar.
Beberapa aturan yang dinonaktifkan oleh eslint-config-prettier mungkin tidak digunakan lagi, atau bahkan dihapus dari ESLint. Ini baik-baik saja, tetapi jika Anda benar-benar perlu menghilangkan aturan yang tidak digunakan lagi dan dihapus, Anda dapat melakukannya dengan mengatur variabel lingkungan ESLINT_CONFIG_PRETTIER_NO_DEPRECATED
ke nilai yang tidak kosong. Misalnya:
env ESLINT_CONFIG_PRETTIER_NO_DEPRECATED=true npx eslint-find-rules --deprecated index.js
eslint-config-prettier juga dilengkapi dengan alat CLI kecil untuk membantu Anda memeriksa apakah konfigurasi Anda berisi aturan yang tidak diperlukan atau bertentangan dengan Prettier. Berikut cara menjalankannya:
npx eslint-config-prettier path/to/main.js
(Ubah path/to/main.js
ke file yang ada di proyek Anda.)
Sekarang, mari kita lihat apa fungsinya dan mengapa Anda ingin menggunakannya.
Contoh eslintrc ini mengaktifkan aturan "indent"
yang bertentangan :
{
"extends" : [
" some-other-config-you-use " ,
" prettier "
],
"rules" : {
"indent" : " error "
}
}
Untuk eslintrc, meskipun konfigurasi "prettier"
dapat menonaktifkan aturan bermasalah di "some-other-config-you-use"
, konfigurasi tersebut tidak dapat menyentuh "rules"
! (Begitulah cara kerja ESLint – memungkinkan Anda mengganti konfigurasi yang Anda perluas.) Alat pembantu CLI melaporkan bahwa "indent"
bertentangan dengan Prettier, sehingga Anda dapat menghapusnya. (Itu bagus – menyederhanakan konfigurasi Anda!)
Contoh eslint.config.js (konfigurasi datar) ini juga mengaktifkan aturan konflik "indent"
:
import someConfig from "some-other-config-you-use" ;
import eslintConfigPrettier from "eslint-config-prettier" ;
export default [
someConfig ,
eslintConfigPrettier ,
{
rules : {
indent : "error" ,
} ,
} ,
] ;
Dengan format “flat config” ESLint yang baru, Anda dapat mengontrol hal-hal apa yang mengesampingkan apa yang Anda lakukan sendiri. Salah satu cara menyelesaikan konflik di atas adalah dengan menyusun ulang objek konfigurasi sehingga eslint-config-prettier menjadi yang terakhir:
import someConfig from "some-other-config-you-use" ;
import eslintConfigPrettier from "eslint-config-prettier" ;
export default [
someConfig ,
{
rules : {
indent : "error" ,
} ,
} ,
eslintConfigPrettier , // eslint-config-prettier last
] ;
Namun, melihat konfigurasi di atas mungkin terasa membingungkan. Sepertinya kita mengaktifkan aturan indent
, namun kenyataannya aturan tersebut dinonaktifkan berkat baris eslintConfigPrettier
di bawahnya. Sebaliknya, Anda mungkin ingin memiliki aturan sendiri setelah eslint-config-prettier dan menjalankan alat pembantu CLI untuk mencari tahu masalahnya, sehingga Anda dapat menghapus aturan yang bertentangan dari file konfigurasi sekaligus (menyederhanakan konfigurasi Anda).
Secara teori, Anda perlu menjalankan alat untuk setiap file dalam proyek Anda agar 100% yakin bahwa tidak ada aturan yang bertentangan, karena ESLint mendukung aturan berbeda untuk file berbeda. Biasanya Anda memiliki aturan yang hampir sama untuk semua file, jadi cukup baik menjalankan perintah pada satu file. Namun jika Anda menggunakan beberapa file konfigurasi atau penggantian, Anda dapat menyediakan beberapa file untuk diperiksa:
npx eslint-config-prettier index.js test/index.js legacy/main.js
Sama seperti ESLint itu sendiri, Anda dapat mengontrol alat pembantu CLI eslint-config-prettier menggunakan variabel lingkungan ESLINT_USE_FLAT_CONFIG
:
ESLINT_USE_FLAT_CONFIG=true
: Hanya gunakan eslint.config.js (konfigurasi datar).ESLINT_USE_FLAT_CONFIG=false
: Hanya gunakan file eslintrc.Peringatan
Untuk eslint.config.js (konfigurasi datar), alat pembantu CLI mengimporeslint/use-at-your-own-risk
yang dapat rusak kapan saja.
Versi eslint-config-prettier sebelum 7.0.0 memiliki alat CLI yang sedikit berbeda dan dijalankan dengan cara berbeda. Misalnya:
npx eslint --print-config index.js | npx eslint-config-prettier-check
Jika Anda menemukan sesuatu seperti itu di tutorial, seperti inilah tampilan perintahnya di versi 7.0.0 atau lebih baru:
npx eslint-config-prettier index.js
Ada beberapa aturan yang dinonaktifkan oleh eslint-config-prettier yang sebenarnya dapat diaktifkan dalam beberapa kasus.
--fix
. Untuk kemudahan penggunaan maksimal, aturan khusus dinonaktifkan secara default (asalkan Anda menyertakan semua hal yang diperlukan dalam "extends"
). Jika Anda menginginkannya, Anda perlu menentukannya secara eksplisit di konfigurasi ESLint Anda.
Aturan ini mungkin menimbulkan masalah jika menggunakan eslint-plugin-prettier dan --fix
.
Lihat masalah arrow-body-style
dan prefer-arrow-callback
untuk detailnya.
Ada beberapa cara untuk menonaktifkan aturan ini:
"plugin:prettier/recommended"
di "extends"
Anda. Itu konfigurasi yang direkomendasikan eslint- plugin -prettier."prettier/prettier"
di "extends"
Anda. (Ya, ada aturan yang disebut "prettier/prettier"
dan konfigurasi yang disebut "prettier/prettier"
.) Tidak masalah pendekatan mana yang Anda gunakan. "plugin:prettier/recommended"
mungkin yang paling mudah.
Catatan: Alat CLI hanya melaporkan hal ini sebagai masalah jika aturan "prettier/prettier"
diaktifkan untuk file yang sama.
Aturan ini aman digunakan jika Anda tidak menggunakan eslint-plugin-prettier. Dengan kata lain, jika Anda menjalankan eslint --fix
dan prettier --write
sebagai langkah terpisah.
Aturan ini memerlukan pilihan tertentu.
Jika sebuah blok (misalnya setelah if
, else
, for
atau while
) hanya berisi satu pernyataan, JavaScript mengizinkan penghilangan tanda kurung kurawal di sekitar pernyataan tersebut. Aturan ini berlaku jika atau kapan kurung kurawal opsional tersebut harus dihilangkan.
Jika Anda menggunakan opsi "multi-line"
atau "multi-or-nest"
, aturan tersebut dapat bertentangan dengan Prettier.
Misalnya, opsi "multi-line"
mengizinkan baris ini:
if ( cart . items && cart . items [ 0 ] && cart . items [ 0 ] . quantity === 0 ) updateCart ( cart ) ;
Namun, Prettier mungkin menganggap antrean terlalu panjang dan mengubahnya menjadi hal berikut, yang tidak diperbolehkan oleh opsi "multi-line"
:
if ( cart . items && cart . items [ 0 ] && cart . items [ 0 ] . quantity === 0 )
updateCart ( cart ) ;
Jika Anda menyukai aturan ini, aturan ini dapat digunakan dengan baik dengan Prettier selama Anda tidak menggunakan opsi "multi-line"
atau "multi-or-nest"
.
Contoh konfigurasi ESLint:
{
"rules" : {
"curly" : [ " error " , " all " ]
}
}
(Hal berikut juga berlaku untuk @typescript-eslint/lines-around-comment.)
Aturan ini dapat digunakan dengan opsi tertentu.
Aturan ini mengharuskan baris kosong sebelum dan/atau sesudah komentar. Prettier mempertahankan baris kosong, dengan dua pengecualian:
Secara default, ESLint memerlukan baris kosong di atas komentar dalam kasus ini:
if ( result ) {
/* comment */
return result ;
}
Namun, Prettier menghapus baris kosong:
if ( result ) {
/* comment */
return result ;
}
Jika Anda menyukai aturan ini, aturan ini dapat digunakan dengan baik dengan Prettier selama Anda menambahkan beberapa konfigurasi tambahan untuk mengizinkan komentar di awal dan akhir blok, objek, dan array.
Contoh konfigurasi ESLint:
{
"rules" : {
"lines-around-comment" : [
" error " ,
{
"beforeBlockComment" : true ,
"afterBlockComment" : true ,
"beforeLineComment" : true ,
"afterLineComment" : true ,
"allowBlockStart" : true ,
"allowBlockEnd" : true ,
"allowObjectStart" : true ,
"allowObjectEnd" : true ,
"allowArrayStart" : true ,
"allowArrayEnd" : true
}
]
}
}
(Hal berikut juga berlaku untuk vue/max-len.)
Aturan ini memerlukan perhatian khusus saat menulis kode.
Biasanya, Prettier menangani panjang garis maksimum secara otomatis. Namun, ada beberapa kasus di mana Prettier tidak dapat melakukan apa pun, misalnya untuk string panjang, ekspresi reguler, dan komentar. Itu perlu dipisahkan oleh manusia.
Jika Anda ingin menerapkan kebijakan panjang garis maksimum yang lebih ketat daripada yang dapat diberikan secara otomatis oleh Prettier, Anda dapat mengaktifkan aturan ini. Ingatlah untuk tetap menyinkronkan opsi max-len
dan opsi printWidth
Prettier.
Ingatlah bahwa Anda mungkin harus sedikit memfaktorkan ulang kode jika Prettier memformat baris dengan cara yang tidak disetujui oleh aturan max-len
.
Contoh konfigurasi ESLint:
{
"rules" : {
"max-len" : [ " error " , { "code" : 80 , "ignoreUrls" : true }]
}
}
Aturan ini memerlukan pilihan tertentu.
Misalnya, aturan tersebut dapat memperingatkan tentang baris ini:
var x = a => 1 ? 2 : 3 ;
Dengan {allowParens: true}
(default sejak ESLint 6.0.0), menambahkan tanda kurung dianggap sebagai cara yang valid untuk menghindari kebingungan panah:
var x = a => ( 1 ? 2 : 3 ) ;
Meskipun Prettier tetap menggunakan tanda kurung tersebut, ia akan menghapus tanda kurung tersebut jika barisnya cukup panjang untuk menimbulkan jeda baris:
EnterpriseCalculator . prototype . calculateImportantNumbers = inputNumber =>
1 ? 2 : 3 ;
Dengan {allowParens: false}
, ESLint menyarankan untuk beralih ke pengembalian eksplisit:
var x = a => { return 1 ? 2 : 3 ; } ;
Itu tidak menyebabkan masalah dengan Prettier.
Jika Anda menyukai aturan ini, aturan ini dapat digunakan dengan baik dengan Prettier selama allowParens
tidak aktif.
Contoh konfigurasi ESLint:
{
"rules" : {
"no-confusing-arrow" : [ " error " , { "allowParens" : false }]
}
}
(Catatan: Alat pembantu CLI menganggap {allowParens: true}
sebagai default, yang berlaku sejak ESLint 6.0.0. Alat ini akan menghasilkan peringatan jika Anda menggunakan default meskipun Anda menggunakan ESLint versi lama. Ini tidak ada salahnya menyetel {allowParens: false}
secara eksplisit meskipun secara teknis berlebihan. Dengan cara ini Anda siap untuk peningkatan ESLint di masa mendatang dan alat CLI dapat dibuat tetap sederhana.)
Aturan ini memerlukan perhatian khusus saat menulis kode.
Aturan ini melarang pencampuran operator tertentu, seperti &&
dan ||
.
Misalnya, aturan tersebut dapat memperingatkan tentang baris ini:
var foo = a + b * c ;
Aturannya menyarankan penambahan tanda kurung, seperti ini:
var foo = a + ( b * c ) ;
Namun, Prettier menghapus banyak tanda kurung yang “tidak perlu”, mengembalikannya ke:
var foo = a + b * c ;
Jika Anda ingin menggunakan aturan ini dengan Prettier, Anda perlu membagi ekspresi menjadi variabel lain:
var bar = b * c ;
var foo = a + bar ;
Perlu diingat bahwa Prettier mencetak beberapa tanda kurung yang “tidak perlu”:
var foo = ( a && b ) || c ;
Contoh konfigurasi ESLint:
{
"rules" : {
"no-mixed-operators" : " error "
}
}
Aturan ini memerlukan pilihan tertentu.
Aturan ini melarang penggunaan karakter tab. Secara default aturan melarang semua karakter tab. Itu dapat digunakan dengan baik dengan Prettier selama Anda tidak mengonfigurasi Prettier untuk membuat indentasi menggunakan tab.
Untungnya, aturan tersebut dapat dikonfigurasi agar berfungsi terlepas dari apakah Prettier menggunakan spasi atau tab: allowIndentationTabs
ke true
. Dengan cara ini Prettier menangani lekukan Anda, sementara no-tabs
menangani karakter tab potensial di mana pun dalam kode Anda.
Contoh konfigurasi ESLint:
{
"rules" : {
"no-tabs" : [ " error " , { "allowIndentationTabs" : true }]
}
}
Aturan ini memerlukan perhatian khusus saat menulis kode.
Aturan ini melarang ekspresi multiline yang membingungkan dimana baris baru tampak seperti mengakhiri pernyataan, padahal sebenarnya tidak.
Misalnya, aturan tersebut dapat memperingatkan tentang hal ini:
var hello = "world"
[ 1 , 2 , 3 ] . forEach ( addNumber )
Prettier biasanya memformatnya sedemikian rupa sehingga jelas bahwa titik koma tidak ada:
var hello = "world" [ ( 1 , 2 , 3 ) ] . forEach ( addNumber ) ;
Namun, ada kasus di mana Prettier memecah sesuatu menjadi beberapa baris sehingga terjadi konflik no-unexpected-multiline
.
const value = text . trim ( ) . split ( "n" ) [ position ] . toLowerCase ( ) ;
Namun, Prettier membaginya menjadi beberapa baris, sehingga menyebabkan konflik:
const value = text
. trim ( )
. split ( "n" )
[ position ] . toLowerCase ( ) ;
Jika Anda menyukai aturan ini, aturan ini biasanya dapat digunakan dengan Prettier tanpa masalah, namun terkadang Anda mungkin perlu menonaktifkan aturan tersebut untuk sementara atau memfaktorkan ulang kode Anda.
const value = text
. trim ( )
. split ( "n" )
// eslint-disable-next-line no-unexpected-multiline
[ position ] . toLowerCase ( ) ;
// Or:
const lines = text . trim ( ) . split ( "n" ) ;
const value = lines [ position ] . toLowerCase ( ) ;
Catatan: Jika Anda mengaktifkan aturan ini, Anda harus menjalankan ESLint dan Prettier sebagai dua langkah terpisah (dan ESLint terlebih dahulu) untuk mendapatkan nilai apa pun darinya. Jika tidak, Prettier mungkin memformat ulang kode Anda sedemikian rupa sehingga ESLint tidak pernah mendapat kesempatan untuk melaporkan apa pun (seperti yang terlihat pada contoh pertama).
Contoh konfigurasi:
{
"rules" : {
"no-unexpected-multiline" : " error "
}
}
(Berikut ini juga berlaku untuk babel/quotes dan @typescript-eslint/quotes.)
Aturan ini memerlukan opsi tertentu dan opsi Prettier tertentu.
Biasanya, Anda tidak memerlukan aturan ini sama sekali. Namun ada dua kasus yang mungkin berguna:
Jika Anda ingin semua string menggunakan backtick (tidak pernah mengutip), aktifkan opsi "backtick"
.
Contoh konfigurasi ESLint:
{
"rules" : {
"quotes" : [ " error " , " backtick " ]
}
}
Dalam contoh berikut, item array pertama bisa saja ditulis dengan tanda kutip, bukan backtick.
const strings = [
`could have been a regular string` ,
`
multiple
lines
` ,
`uses ${ interpolation } ` ,
String . raw `tagged/` ,
] ;
Jika Anda ingin ESLint menerapkan `could have been a regular string`
yang ditulis sebagai "could have been a regular string"
atau 'could have been a regular string'
, Anda perlu menggunakan beberapa konfigurasi khusus. Aturan quotes
memiliki dua opsi, opsi string dan opsi objek.
"single"
atau "double"
dan tetap sinkron dengan opsi singleQuote Prettier."avoidEscape": true
untuk mengikuti aturan pemformatan string Prettier."allowTemplateLiterals": false
untuk melarang backtick yang tidak diperlukan. ESLint:
{
"rules" : {
"quotes" : [
" error " ,
" double " ,
{ "avoidEscape" : true , "allowTemplateLiterals" : false }
]
}
}
Lebih cantik (ini adalah default, jadi tidak perlu menambahkan ini):
{
"singleQuote" : false
}
ESLint:
{
"rules" : {
"quotes" : [
" error " ,
" single " ,
{ "avoidEscape" : true , "allowTemplateLiterals" : false }
]
}
}
Lebih cantik:
{
"singleQuote" : true
}
Aturan ini dapat digunakan dengan opsi tertentu.
Aturan ini akan secara otomatis memperbaiki indentasi templat string multibaris, agar tetap selaras dengan kode tempatnya ditemukan. Daftar putih yang dapat dikonfigurasi digunakan untuk memastikan tidak ada string sensitif spasi yang diedit.
Penawaran yang lebih cantik dengan:
Menggunakan berbagai tag, fungsi dan komentar.
unicorn/template-indent
secara default memformat beberapa templat yang diberi tag yang sama, yang dapat menyebabkan konflik. Misalnya, rule dan Prettier tidak setuju tentang indentasi pada terner:
condition
? null
: html `
< p >
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui
mauris.
</ p >
` ;
Jika Anda menyukai aturan ini, aturan ini dapat digunakan dengan baik dengan Prettier selama Anda mengonfigurasi aturan tersebut agar tidak menangani templat yang sama seperti Prettier.
Contoh konfigurasi ESLint:
{
"rules" : {
"unicorn/template-indent" : [
" error " ,
{
"tags" : [
" outdent " ,
" dedent " ,
" sql " ,
" styled "
],
"functions" : [
" dedent " ,
" stripIndent "
],
"selectors" : [],
"comments" : [
" indent "
]
}
]
}
}
Catatan: Jika Anda menggunakan "selectors"
, alat bantu CLI tidak dapat mendeteksi apakah selector Anda mungkin menyebabkan konflik.
Aturan ini memerlukan pilihan tertentu.
Aturan ini menentukan apakah elemen harus menutup sendiri atau tidak.
Prettier umumnya mempertahankan cara Anda menulis elemen:
< div />
< div ></ div >
< MyComponent />
< MyComponent ></ MyComponent >
< svg >< path d = " " /></ svg >
< svg >< path d = " " ></ path ></ svg >
Namun untuk elemen HTML void yang diketahui, Prettier selalu menggunakan gaya self-closing. Misalnya <img>
diubah menjadi <img />
.
Jika Anda menyukai aturan ini, aturan ini dapat digunakan dengan baik dengan Prettier selama Anda menyetel html.void
ke "any"
.
Contoh konfigurasi ESLint:
{
"rules" : {
"vue/html-self-closing" : [
" error " ,
{
"html" : {
"void" : " any "
}
}
]
}
}
Aturan-aturan ini tidak bertentangan dengan Prettier, tetapi memiliki beberapa kesalahan saat digunakan dengan Prettier.
Aturan ini melarang penggunaan operator koma (ekspresi urutan) JavaScript yang membingungkan. Potongan kode ini tidak berfungsi seperti yang terlihat:
matrix [ 4 , 7 ] ;
Prettier menambahkan tanda kurung di atas untuk memperjelas bahwa ekspresi urutan digunakan:
matrix [ ( 4 , 7 ) ] ;
Namun, aturan no-sequences
mengizinkan operator koma jika urutan ekspresi secara eksplisit dibungkus dalam tanda kurung. Karena Prettier secara otomatis membungkusnya dalam tanda kurung, Anda mungkin tidak akan pernah melihat peringatan apa pun dari ESLint tentang operator koma.
Berakhir dengan ekspresi urutan yang tidak disengaja dapat dengan mudah terjadi saat melakukan pemfaktoran ulang. Jika Anda ingin ESLint menangkap kesalahan seperti itu, disarankan untuk melarang ekspresi urutan sepenuhnya menggunakan sintaksis tanpa batasan (seperti yang disebutkan dalam dokumentasi no-sequences
):
{
"rules" : {
"no-restricted-syntax" : [ " error " , " SequenceExpression " ]
}
}
Jika Anda masih perlu menggunakan operator koma untuk beberapa kasus tepi, Anda dapat menempatkan komentar // eslint-disable-next-line no-restricted-syntax
pada baris di atas ekspresi. no-sequences
dapat dinonaktifkan dengan aman jika Anda menggunakan pendekatan no-restricted-syntax
.
Anda juga dapat memberikan pesan khusus jika Anda ingin:
{
"rules" : {
"no-restricted-syntax" : [
" error " ,
{
"selector" : " SequenceExpression " ,
"message" : " The comma operator is confusing and a common mistake. Don’t use it! "
}
]
}
}
Lihat package.json untuk versi persis plugin ESLint, Prettier, dan ESLint yang telah diuji dengan eslint-config-prettier.
Apakah aturan baru telah ditambahkan sejak versi tersebut? Apakah kita melewatkan aturan apa pun? Apakah ada plugin yang ingin Anda lihat pengecualiannya? Buka masalah atau permintaan tarik!
Jika Anda ingin menambahkan dukungan untuk eslint-plugin-foobar, berikut caranya:
Pertama, tambahkan aturan ke index.js
:
"foobar/some-rule" : "off"
Kemudian, buat test-lint/foobar.js
:
/* eslint-disable quotes */
"use strict" ;
// Prettier does not want spaces before the parentheses, but
// `plugin:foobar/recommended` wants one.
console . log ( ) ;
test-lint/foobar.js
harus gagal saat digunakan dengan eslint-plugin-foobar dan eslint-plugin-prettier secara bersamaan – hingga eslint-config-prettier ditambahkan ke konfigurasi ESLint. File harus diformat menurut Prettier, dan format tersebut harus tidak sesuai dengan plugin.
Terakhir, Anda perlu menyebutkan plugin di beberapa tempat:
package.json
..eslintrc.base.js
dan eslint.base.config.js
.README.md
ini. Setelah selesai, jalankan npm test
untuk memverifikasi bahwa Anda melakukannya dengan benar. Ini menjalankan beberapa skrip npm lainnya:
"test:prettier"
memeriksa apakah Prettier telah dijalankan di semua file."test:eslint"
memastikan bahwa file di test-lint/
lolos ESLint ketika pengecualian dari eslint-config-prettier digunakan. Itu juga mencantumkan kode eslint-config-prettier itu sendiri."test:lint-verify-fail"
dijalankan oleh pengujian di test/lint-verify-fail.test.js
."test:lint-rules"
dijalankan oleh pengujian di test/rules.test.js
."test:jest"
menjalankan pengujian unit yang memeriksa beberapa hal:"test:cli-sanity"
dan "test:cli-sanity-warning"
adalah pemeriksaan kewarasan untuk CLI. MIT.