create-react-app
la v3.0.0 est sortie . Il prend en charge le linting TypeScript en interne. (C'est bien!) Je pense que je comprends la situation dans laquelle TSLint est activé et je prévois de le remplacer par ESLint, mais ce n'est pas le cas actuellement.
Comment désactiver cette étape de peluchage dans react-scripts start
?
/* eslint-disable */
et les autres ne sont pas ceux que je recherche.
MISE À JOUR: Selon la discussion suivante, il semble qu'il n'y ait aucun moyen de manipuler ESLint interne. Ainsi, la réponse à ma question serait "vous ne pouvez pas" .
Vous pouvez désactiver eslint (et remplacer d'autres configurations) en utilisant Craco .
Il faut 4 changements:
npm install @craco/craco --save
craco.config.js
(dans le même dossier que package.json)craco.config.js
avec:module.exports = {
eslint: {
enable: false,
},
};
Enfin, remplacez react-script
avec craco
dans votre package.json
scripts, c'est-à-dire.
"scripts": {
"build": "craco build",
"start": "craco start",
}
Cela désactivera ESLint. Reportez-vous à documentation Craco pour des exemples sur la façon d'étendre la configuration ESLint.
Assurez-vous d'abord EXTEND_ESLINT
la variable d'environnement est définie sur true. Il peut être défini dans .env
fichier.
Pour TypeScript, d'autres règles doivent être ajoutées dans le tableau des remplacements, comme dans l'exemple ci-dessous:
{
"eslintConfig": {
"extends": ["react-app", "shared-config"],
"overrides": [
{
"files": ["**/*.ts?(x)"],
"rules": {
"eqeqeq": "warn"
}
}
]
}
}
La seule façon est de eject
react-scripts
- en exécutant yarn eject
/npm run eject
- et désactivez manuellement eslint
dans webpack
fichier de configuration.
S'il vous plaît jetez un œil à cette fourchette: create-react-app de plus près , en particulier à eject-tic_tac_toe
répertoire, où vous avez scripts/start.js
- le script où la magie se produit après yarn start
/npm start
- et config/webpack.config.dev.js
- où vous avez la configuration de webpack, utilisée dans start.js
. Voici la partie qui peut vous intéresser:
// …
module.exports = {
// …
module: {
preLoaders: [
{
test: /\.(js|jsx)$/,
loader: 'eslint',
include: paths.appSrc,
}
]
}
// …
};