SlideShare ist ein Scribd-Unternehmen logo
1 von 22
ESLint 
Vérifier la qualité de vos applications “AngularJS”
@Me 
Emmanuel DEMEY 
EmmanuelDemey 
Gillespie59 
Emmanuel DEMEY
Code linting... 
● Analyse Statique de votre code JavaScript 
● Intérêt : 
o Détecter des bugs 
o Limiter les potentielles erreurs 
o Garder votre code propre 
o Appliquer vos règles de développement
Les solutions... 
jqlint
ESLint
ESLint 
● API pour créer ses propres règles 
● Chaque règle est un plugin 
● Possibilité d’activer/désactiver chaque règle 
● Règle définie comme warning/error 
● Fichier de configuration JSON ou YAML 
● Utilisation d'Esprima
Esprima 
● ECMAScript Parser en JavaScript 
● Création d’un Source Tree de votre code JS 
● Support <ECMAScript 5.1 
● Support Partiel ECMAScript 6 
● Sortie compatible avec Parser API de 
SpiderMonkey 
● Online Esprima Parser
Esprima - Disponibilité
Esprima - Utilisation
Esprima
Esprima
Nouvelles règles: AST Node type 
Documentation SpiderMonkey Parser API
Nouvelles règles: AST Node type 
Documentation SpiderMonkey Parser API
Nouvelles règles - Intégration 
GruntJS Gulp 
CLI
Nouvelles règles - Structure
Exemples
CallExpression
BinaryExpression
Array et FunctionExpression
Gillespie59/angularjs-eslint sur Github
Liens 
● Codepen podcast : Code Quality 
● Parsing, Compiling, and Static 
Metaprogramming 
● JavaScript Code Analysis
Voilà, c’est fini...

Weitere ähnliche Inhalte

Andere mochten auch (11)

Question 5
Question 5Question 5
Question 5
 
MaaDblog Etapa4
MaaDblog Etapa4MaaDblog Etapa4
MaaDblog Etapa4
 
131129 indicadores económicos. número 20. 29 11-2013
131129 indicadores económicos. número 20. 29 11-2013131129 indicadores económicos. número 20. 29 11-2013
131129 indicadores económicos. número 20. 29 11-2013
 
IOC Etapa3
IOC Etapa3IOC Etapa3
IOC Etapa3
 
Noticias estado de méxico 9 de diciembre de 2013
Noticias estado de méxico 9 de diciembre de 2013Noticias estado de méxico 9 de diciembre de 2013
Noticias estado de méxico 9 de diciembre de 2013
 
theventworld Blog ppt
theventworld Blog ppttheventworld Blog ppt
theventworld Blog ppt
 
KF! Group
KF! Group KF! Group
KF! Group
 
131209 Indicadores económicos. número 21. 09 12-2013
131209 Indicadores económicos. número 21. 09 12-2013131209 Indicadores económicos. número 21. 09 12-2013
131209 Indicadores económicos. número 21. 09 12-2013
 
Question 2
Question 2Question 2
Question 2
 
Slides nuovi ecoreati
Slides nuovi ecoreatiSlides nuovi ecoreati
Slides nuovi ecoreati
 
Petrolengines
PetrolenginesPetrolengines
Petrolengines
 

Ähnlich wie Jug Summer Camp 2014 - ESLint

Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrr
inesrdissi60
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot framework
gilleslenfant
 
Etat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS GeneveEtat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS Geneve
Alexandre Morgaut
 
Performance des sites dynamiques : une histoire de cache à tous les niveaux
Performance des sites dynamiques : une histoire de cache à tous les niveauxPerformance des sites dynamiques : une histoire de cache à tous les niveaux
Performance des sites dynamiques : une histoire de cache à tous les niveaux
My_Sic
 

Ähnlich wie Jug Summer Camp 2014 - ESLint (20)

Symfony Best Practices
Symfony Best PracticesSymfony Best Practices
Symfony Best Practices
 
ES6, le futur de Javascript
ES6, le futur de JavascriptES6, le futur de Javascript
ES6, le futur de Javascript
 
Java scripting api
Java scripting apiJava scripting api
Java scripting api
 
La Rochelle workshop 2016
La Rochelle workshop 2016La Rochelle workshop 2016
La Rochelle workshop 2016
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrr
 
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17Javaday Paris 2022 - Java en 2022 : profiter de Java 17
Javaday Paris 2022 - Java en 2022 : profiter de Java 17
 
Installation open erp
Installation open erpInstallation open erp
Installation open erp
 
Rouabhi algiers meetup
Rouabhi algiers meetupRouabhi algiers meetup
Rouabhi algiers meetup
 
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
SEO AnswerBox, une méthode inédite pour interroger vos données et créer vos d...
 
The Future of Javascript
The Future of JavascriptThe Future of Javascript
The Future of Javascript
 
The future of JavaScript
The future of JavaScriptThe future of JavaScript
The future of JavaScript
 
Kevin Avignon: Roslyn - La plateforme de compilation .NET
Kevin Avignon: Roslyn - La plateforme de compilation .NETKevin Avignon: Roslyn - La plateforme de compilation .NET
Kevin Avignon: Roslyn - La plateforme de compilation .NET
 
TypeScript for dummies
TypeScript for dummiesTypeScript for dummies
TypeScript for dummies
 
Interface-it
Interface-itInterface-it
Interface-it
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6
 
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
Solutions Linux 2014 – Alter Way : Industrialisation des développements en Ja...
 
RefCard Tests sur tous les fronts
RefCard Tests sur tous les frontsRefCard Tests sur tous les fronts
RefCard Tests sur tous les fronts
 
Présentation de Robot framework
Présentation de Robot frameworkPrésentation de Robot framework
Présentation de Robot framework
 
Etat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS GeneveEtat de l'art Server-Side JavaScript - JS Geneve
Etat de l'art Server-Side JavaScript - JS Geneve
 
Performance des sites dynamiques : une histoire de cache à tous les niveaux
Performance des sites dynamiques : une histoire de cache à tous les niveauxPerformance des sites dynamiques : une histoire de cache à tous les niveaux
Performance des sites dynamiques : une histoire de cache à tous les niveaux
 

Jug Summer Camp 2014 - ESLint

Hinweis der Redaktion

  1. Premièremeent, pour apprendre à développer de nouvelles règles, vous pouvez jeter un coup d’oeil aux règles définies dans ESLint Lorsque vous allez créé un plugin, vous pouvez utiliser un générateur Yeoman
  2. Voici le dernier exemple utilisant les objets ArrayExpression ou FunctionExpression. Cet exemple vérifier que vous utiliser la syntaxe avec le tableau javascript pour définir la liste des services à injecter. Ceci est utile pour éviter tous les problèmes lorsque nous avons des fichiers minifiés. Bien sûr il existe des modules pour gérer cela automatiquement, utilisable avec Grunt ou Gulp