Ola,
Dites j'ai un petit soucis de configuration sur l'IDE PHPStorm, pur expliquer rien de mieux qu'un bon exemple :
1. Je part d'un projet vide (répertoire vide, qui ne contient que le dossier cacher .idea)
2. Je créer le fichier package.json par défaut à l'aide de la commande yarn init -y, ce qui me donne :
Code:
{
"name": "canardpc",
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
3. J'installe les outils ESLint et Prettier à l'aide de la commande yarn add --dev eslint prettier ce qui donne :
Code:
{
"name": "canardpc",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"eslint": "^7.13.0",
"prettier": "^2.1.2"
}
}
4. Pour des raisons de facilité, je créer un script dans package.json pour créer le fichier de configuration pour ESLint :
Code:
{
"name": "canardpc",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"eslint": "^7.13.0",
"prettier": "^2.1.2"
},
"scripts": {
"eslint:init": "eslint --init"
}
}
5. Je créer le fichier de configuration pour ESLint à l'aide de la commande yarn eslint:init, ce qui donne le fichier suivant :
Code:
{
"env": {
"browser": true,
"es2021": true,
"node": true
},
"extends": [
"standard"
],
"parserOptions": {
"ecmaVersion": 12
},
"rules": {
}
}
et bien sur la mise à jour du fichier package.json :
Code:
{
"name": "canardpc",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"devDependencies": {
"eslint": "^7.13.0",
"eslint-config-standard": "^16.0.2",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^4.2.1",
"prettier": "^2.1.2"
},
"scripts": {
"eslint:init": "eslint --init"
}
}
6. Je configure PhpStorm pour qu'il utilise ce fichier .eslintrc.json dans les fichier de configuration de l'ide (j'ai l'image mais l'hebergeur de cpc n'a pas l'air de marcher de mon coté ), donc reste plus que l'imagination.
7. Je configure egalement dans les options le plugin prettier en rajoutant le format html et css
8. Je créer le fichier .prettierrc a la racine :
Code:
{
"tabWidth": 2,
"semi": false,
"singleQuote": true,
"overrides": [
{
"files": ["**/*.html"],
"options": {
"tabWidth": 4
}
}
]
}
-------------------
Voilà pour la configuration, à l'utilisation pas de problème prettier fait bien son boulot et eslint aussi. Mais le soucis est que la configuration de prettier prend pas en charge la configuration ('standard') de eslint, mais sa propre configuration, donc de ce fait rend eslint totalement inutile. Quelqu'un a déjà géré ce cas ?
Merci d'avance !