web-dev-qa-db-fra.com

Désactivez ESLint fourni par create-react-app

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" .

https://github.com/facebook/create-react-app/issues/808

9
Ginpei

Vous pouvez désactiver eslint (et remplacer d'autres configurations) en utilisant Craco .

Il faut 4 changements:

  1. npm install @craco/craco --save
  2. créer craco.config.js (dans le même dossier que package.json)
  3. remplir 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.

1
Gajus

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"
        }
      }
    ]
  }
}
0
Chirag Rupani

La seule façon est de ejectreact-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,
      }
    ]
  }
  // …
};
0
pxsx