reactjs - Nonaktifkan ESLint yang disediakan create-react-app
create-react-app v3.0.0 telah dirilis. Ini mendukung linting TypeScript secara internal. (Itu bagus!) Saya pikir saya memahami situasi di mana TSLint aktif, dan berencana untuk menggantinya dengan ESLint, tetapi saat ini belum.
Bagaimana cara menonaktifkan langkah linting itu di react-scripts start?
/* eslint-disable */ dan lainnya bukanlah yang saya cari.
Jawaban #1
Mulai react-scripts v4.0.2, Anda sekarang dapat memilih untuk tidak menggunakan ESLint dengan variabel lingkungan. Anda dapat melakukannya dengan menambahkannya ke file .env Anda, atau dengan menambahkan prefix ke skrip Anda di file package.json.
Misalnya di .env:
DISABLE_ESLINT_PLUGIN=true
Atau di package.json Anda:
{
"scripts": {
"start": "DISABLE_ESLINT_PLUGIN=true react-scripts start",
"build": "DISABLE_ESLINT_PLUGIN=true react-scripts build",
"test": "DISABLE_ESLINT_PLUGIN=true react-scripts test"
}
}
https://github.com/facebook/create-react-app/pull/10170
Jawaban #2
Anda bisa mengatur variabel lingkungan EXTEND_ESLINT ke true, misalnya di file .env:
EXTEND_ESLINT=true
Sekarang Anda dapat memperluas konfigurasi eslint di file package.json Anda:
...
"eslintConfig": {
"extends": "react-app",
"rules": {
"jsx-a11y/anchor-is-valid": "off"
}
},
...
Untuk menonaktifkan eslint, Anda bisa menambahkan file .eslintignore dengan isi:
*
Lihat dokumentasi untuk detailnya: https://create-react-app.dev/docs/setting-up-your-editor/#experimental-extending-the-eslint-config
Jawaban #3
Anda dapat menonaktifkan eslint (dan menimpa konfigurasi lainnya) menggunakan Craco.
Dibutuhkan 4 perubahan:
npm install @craco/craco --save- buat
craco.config.js(di folder yang sama dengan package.json) - isi
craco.config.jsdengan:
module.exports = {
eslint: {
enable: false,
},
};
Akhirnya, gantilah react-script dengan craco dalam skrip package.json Anda, yaitu
"scripts": {
"build": "craco build",
"start": "craco start",
}
Ini akan menonaktifkan ESLint. Lihat dokumentasi Craco untuk contoh bagaimana memperluas konfigurasi ESLint.
