Nicholas C. Zakas - ESLint

Durée: 61m9s

Date de sortie: 04/08/2024

This week we're delighted to have Nicholas Zakas on the show to talk about ESLint. ESLint is a tool that helps you find and fix problems in your JavaScript code by writing plugins that check for patterns in your code's AST. We talk about the history of ESLint, the challenges of building a linter, and the future of of ESLint.

Episode sponsored By MUX (https://mux.com)

Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.

ESLint n'a pas gagné parce que c'était le plus rapide.
Si il y a quelque chose que tu veux dans ça et que ce n'est pas là,
tu peux aller en train de construire ça pour ne pas attendre pas pour le quartier.
Cette customisation est la feature importante qui a vraiment fait ESLint populaire.
Bonjour, bienvenue à l'application de DevTools.
C'est un podcast sur les outils de développeur et les gens qui le font.
Je suis Andrew et je suis le co-host Justin.
Bonjour tout le monde.
Nous sommes vraiment heureux d'avoir Nicolas Zeiches sur.
Nicolas est le créateur de ESLint et a eu un impact très très très très sur l'industrie.
Juste de ça en fait.
Mais Nicolas, tu as aussi eu une longue et historique career.
Je suis vraiment heureux de vous parler de tout ce travail que tu as fait pendant les années.
Avant de nous demander nos questions,
tu voudrais nous parler de toi un peu plus sur notre audience ?
Bien sûr.
Je pense que les gens de tous les jours me connaissent comme créateur de ESLint.
Je suis aussi un co-host pour les engineers de software.
Mon vie de vie de fire a été une fois une entière de software.
J'ai fait beaucoup de trucs à l'opinion,
quand je suis à Yahoo et à Box.
J'ai écrit un peu de livres sur JavaScript.
Et j'aime généralement les technologies web et les technologies web.
Et en parlant avec les gens.
Oui c'est génial.
C'est difficile de comprendre le impact que tu as fait.
Parce qu'il y a eu plusieurs points dans ma vie.
Ainsi que de l'ESLint, je t'ai touché les outils que tu as construits,
les frameworks que tu as aidé à créer,
ou les livres que tu as élevé.
C'est vraiment un honneur de te parler.
Peut-être que nous allons commencer avec ESLint.
C'est la chose que tu es le plus très très connu pour nos listeners.
Comment a-t-il commencé ce projet ?
Le projet a commencé quand je travaillais à Box.
Nous avons terminé avec un bug,
parce que nous étions encore supportant l'IE7,
avec certains de nos clients.
Et nous avons eu cette réplique
que tout ne fonctionnait pas en l'IE7.
Et ça a été le cas.
Un développeur a été utilisant
l'objectif de l'HTTP native,
qui est probablement un peu dédié.
Et l'IE7 a été impliqué comme un objectif active,
mais beaucoup de compagnies ont des policies de networks
qui ne sont pas les objectifs active.
Et donc, comme résultat,
cette compagnie Web App ne fonctionnera pas tout.
Et quand nous l'avons étudier,
nous réaliserons que c'était un problème solide à Box.
Il y avait déjà une utilité de travail
pour cette situation qui était basée sur Flash.
Mais la personne qui a écrit cette code
était inquiète que nous avons eu cette utilité.
Et donc, la discussion a commencé,
ok, comment pouvons-nous nous protéger dans le futur?
Et faire sure que,
quand les gens sont en train de faire un JavaScript,
ils savent que ils ne devraient pas utiliser
les répliques native de l'HTTP native.
Ils devraient être utilisés par notre rappeur,
pour que ça soit inclus dans le flash fallback.
Et il n'y avait pas de bonnes réponses pour ça.
Le meilleur que nous pouvons nous protéger
était de créer une expérience régulière
sur chaque file de JavaScript
pour regarder les répliques de l'HTTP.
Et bien sûr,
vous pouvez avoir beaucoup de positives falses
parce que ça peut matcher les commentaires,
les pièces,
tous les trucs.
Et donc,
j'ai commencé à penser
qu'on a vraiment besoin
d'un code de JavaScript
et d'être capable de regarder
pour une identifiant
que l'on appelle l'HTTP.
Et pour faire ça,
nous avons besoin d'une utilité
qui peut passer le JavaScript
dans un ASD
pour que nous puissions le piquer.
Et quelqu'un de boxe
a déjà écrit quelque chose
pour le PHP,
qui a passé le PHP dans un ASD
et puis, qui a pu piquer
sur le ASD
pour trouver des patterns
qu'ils étaient risques de faire dans le PHP.
Et donc,
j'ai commencé à regarder
et j'ai passé un Sprima,
qui est un parser
en JavaScript
qui pouvait mettre un ASD.
Et
si je jouais avec ça,
j'ai réalisé,
il y a tous les règles que vous pouvez faire
contre ce ASD.
Donc, ce qui serait vraiment aidant
est d'avoir un système
qui va traverser l'ASD.
Et puis,
quand vous allez à chaque note,
vous allez faire les règles que vous voulez.
Et de cela,
c'est où l'ASD
est.
J'aime que c'était centré
par les plugins et cet outil customisé
de l'usage de l'usage,
parce que
beaucoup de les nouvelles tools aujourd'hui
ne sont pas plug-in-focussées.
Et je pense que c'est un vrai folly
de la prochaine génération,
parce que, tout d'abord,
avant cette rencontre, je travaillais
sur les règles ESLint,
qui sont customes pour ne pas faire sens
dans un autre repo, mais de la propre.
C'est un pendulum qui s'attende
en haut et en haut.
Parce que, vous commencez
avec, je ne veux pas que l'on soit configuré,
je veux juste installer et que ça fonctionne.
Et puis, vous vous rendez à un point
où vous vous dites,
je voulais travailler, mais c'est un peu différent.
Donc, vous avez besoin de
des configurations. Et puis, vous vous trouvez
que ces types de choses,
qui sont juste un de vos projets
contre quelqu'un d'autre,
ils ont besoin d'une nouvelle configuration.
Et puis,
après l'esprit d'ESLint,
il y avait beaucoup de choses,
juste en haut,
mais ce que nous avons trouvé,
c'est que plus de gens l'étaient,
plus de gens l'étaient en train
de tourner les trucs defaults,
et d'adresser d'autres trucs.
Et à ce point,
si tout le monde va juste
tourner les trucs,
ça ne fait pas le sens de avoir tout ce truc
en default. Donc, on va avoir tout en default
et puis, pour que les gens aient
ce qu'ils veulent. Et puis,
c'est super, c'est super customisé.
Et puis, vous vous rendez à un point
où vous avez 1000 règles
qui sont ennuyées et configurées.
Et c'est quand les gens commencent à dire,
configuration est terrible.
Ce qu'on a besoin est une option de configuration 0.
Et puis, la prochaine génération est en train
d'avoir une nouvelle configuration 0.
Et puis, on est en train de configurer
une option de configuration 0 pour
un autre tool que vous avez.
Et puis, ils vont au même processus
de gens qui disent,
oui, j'aime la configuration 0,
d'exception de ce truc.
Je veux vraiment pouvoir configurer ça.
Et avant que vous le connaissiez,
vous êtes à la fin de la fin de la pengellure.
Nous aimerons arrêter et remercier
nos nouveaux sponsors pour la semaine.
Mux. Si vous avez essayé de construire
un app qui inclut un vidéo,
vous savez que c'est pas un tasse facile.
De la production, de la streaming,
de la qualité, de même le joueur,
il y a tellement de choses à faire,
et c'est tout très difficile à faire à la scale.
Je sais que c'est pour travailler en descript,
où nous avons dû construire nos vies de vidéo.
Avec Mux, vous n'avez pas besoin de tout ça.
Ils déclenchent tout ce que vous pouvez
peut-être faire avec le vidéo.
Si c'est la uploading,
créant et hostant des thumbnails,
ou même d'un joueur vidéo sur votre site,
ils ont des outils pour aider à faire ce travail plus facile.
Ce n'est pas juste de rester là,
ils ont un whole bunch de cool features
comme la moderation en temps réel,
mais la chose qui a vraiment le réel est l'obligation
de la live stream.
Le API est aussi simple que vous pouvez imaginer,
et avec ça, vous pouvez construire votre propre Twitch,
construire votre propre YouTube Live.
Les possibilités sont ennuisantes.
Donc si vous essayez de construire un app
et vous n'avez pas besoin de ne pas
ne pas avoir hâte de voir les détails
de la vidéo Narlie,
Mux est une bonne option de vérifier.
Pour apprendre plus,
head over to Mux.com
Nous avons toujours beaucoup de ces loops
dans notre industrie.
C'est quelque chose d'intéressant que je pense
parfois quand Eoslent
était le premier à venir.
Les linters de cette époque,
à moins que dans le JavaScript,
il y a eu quelques de ces,
ont été plus stylistes,
ou les outils qui ont été opérés dans ce space
que j'étais très familiar avec
étaient des choses style-focused.
Et c'est un peu plus
plus beau et autofoieuse.
Donc
j'ai aussi trouvé intéressant de voir
votre première utilisation, c'est comme, ok, nous sommes
en train de regarder quelque chose qui a été appelé un bug.
Et puis il y avait beaucoup d'applications
d'Eoslent pour les rules stylistes
et je suis intéressé de voir
comment vous sortez
de la pensée
de cette utilisation dans ces derniers jours.
Vous êtes comme, oh, oui, oui,
c'est une bonne chose, utilisez-le
et vous avez été en force
à un code base.
Ou vous êtes plus en train
d'utiliser les outils comme ça?
Comment vous pensez-vous de ça?
Oui, donc
plus tard, les linters de l'interesse
étaient J.S. Lent et J.S. Hint.
Et J.S. Hint est un fork
de J.S. Lent.
Et J.S. Lent est créé
par Douglas Crockford, qui est très
intéressé en
la correcté de code
en fonctionnalité
et en appuyance.
Et donc, J.S. Lent
a eu beaucoup de rules stylistes
qui étaient construits
pour que Crockford fasse le meilleur.
Et c'était partie de la raison
que le fork a été créé par J.S. Hint.
C'est parce qu'il y avait
beaucoup de gens qui n'auraient pas
voulu faire le code correct
et le but de J.S. Hint
était d'être plus customisé
et plus flexible. Quand J.S. Lent a commencé
j'étais primairement
focussé sur les bugs
et sur les problèmes identifiés
mais ce qui s'est passé
était que les gens m'ont dit
que le J.S. Lent est bien
mais si on peut supporter
ces règles de J.S. Hint
je vais avoir de l'utiliser
avec les deux outils
comme le style
et le
le plus pluggable.
Donc, je me suis appris
et j'ai commencé
à duplicer les règles de J.S. Hint
pour donner à la personne
l'obligation de l'utiliser
et ne pas avoir de l'inquiétude
de la raison pour laquelle les règles
étaient dans le tool.
Et plus tard, je pensais que c'était ok.
Il n'y avait pas de beaucoup de règles stylistes
pour les copier.
Et je pensais que si les règles
étaient copiées, ça serait
tout le monde.
Mais ce que j'ai réussi à réaliser
c'est que les gens sont extrêmement
nitpicky
sur leur code et comment il ressemble
et que les gens justement
demandent pour plus et plus de règles
plus et plus d'options pour qu'ils puissent
customiser exactement ce qu'ils veulent
être.
Et après un temps,
il a juste dû être trop beaucoup.
Nous avons pris tant de temps
sur ces règles stylistes
où il y avait quelqu'un qui s'est dit
que dans mon style,
sur le 3rd
Tuesday de chaque mois,
j'aime avoir un semicollon
mais sinon je ne l'ai pas.
Donc, peut-être que tu peux ajouter une option pour ça.
Et on a éventuellement pris le point
de dire, nous avons pris trop de temps
sur ces règles stylistes.
Je ne pense pas que l'ESLINT
est le bon tool pour les contrôler.
Personne ne veut être prouvé.
C'est supposed à être indétenu.
8 spécifiques, en fait, ne sont pas 4.
Ne vous faites pas le fixe.
Vous avez le fixe.
Et maintenant, nous avons
des règles plus beaux
et même de la printemps.
Ces règles sont très bons
pour formuler votre code.
Vous pouvez les contrôler
avant de les vérifier.
Et puis vous pouvez éliminer
tout ce bruit de la configuration de l'ESLINT.
Il y a beaucoup de
Twitter rumblings de gens qui disent
que je n'ai pas besoin de lintes anymore
pour me mettre les règles tout à l'heure.
Et ça me fait
être très self-impose.
Le tool ne fait rien
quand vous le installez.
Vous êtes le seul à ajouter ces constraints.
Les gens me font les sous-titres
par le coup de la tête
pour qu'on se force les plus beaux styles.
Et puis votre file s'amuse
à un million de roues.
Je me sens beaucoup
que l'ESLINT est si slow.
L'ESLINT
n'est pas le plus rapide
que l'ESLINT
parce que ça fait beaucoup de choses.
Mais il y a quelques choses
qui sont dans votre contrôle
pour le faire plus vite.
Le nombre de plugins
que vous utilisez, les règles
et les plugins
type script ESLINT
sont très slow.
Parce que c'est en regardant votre projet
et pas seulement le file
que vous voulez avoir
linté parce que c'est en essayant
d'understand tout le type script
qu'il y a dans votre projet.
Et l'ESLINT plug-in importe
pour scanner votre projet
pour regarder les impôts de la miss.
Et tout ça est vraiment expensif.
Et,
pourtant, le cours de l'ESLINT
est aussi synchronisé.
Tout ça est bloqué.
On ne peut pas vraiment faire
tout autrement.
Mais la première chose
si vous trouvez que l'ESLINT est
très slow,
est de regarder les règles que vous avez élevées.
Et c'est pourquoi je suis maintenant un grand proponent
de ne pas faire des règles stylistiques
en ESLINT.
Parce que vous pouvez éliminer
un peu de problème de performance
par offrir tout ça
pour être plus bon, qui n'a pas de
faire les types de calculations
que l'ESLINT fait.
Parce que c'est un jeu complètement différent.
Et donc, vous avez un bon nombre
de contrôle sur comment vite
l'ESLINT est.
Et on travaille aussi sur notre côté
pour le faire vite que nous puissions.
Mais, en fin,
le nombre de files que vous avez élevés,
le nombre de règles que vous avez élevées,
ça a un impact.
Je pense toujours à ce point
quand ces nouvelles lintes sont comme,
« Oh, c'est le plus vite que je vois. »
Et c'est comme, « Vous n'avez pas tous les plug-ins
qui vous font plus vite.
Il y a un élément dans le salle,
et c'est bleu, et c'est le type-script.
»
Oui.
Et le autre chose,
et je le dis à la fois,
l'ESLINT n'a pas gagné
parce que c'était le plus vite.
JLINT et JSINT
étaient plus vite
que l'ESLINT quand il s'est créé.
Donc, la vitesse n'est pas
le factor déterminant
pourquoi les gens utilisent l'ESLINT
en le premier lieu.
C'est pourquoi d'autres choses sont venus.
Il y a eu, à moins,
je pense, 3
lintes JavaScript
en russes à ce point que je suis aware
et ils n'ont pas pu vraiment
avoir beaucoup de foitholes.
Parce que, dès que vous commencez à utiliser
cela, vous réalisez que
vous n'avez pas accès
au système de plug-in.
Et cela signifie que vous êtes complètement
reliant sur les maintenants
de lintes,
pour créer toutes les règles
et faire toutes les fonctionnalités
que vous avez besoin.
Mais avec l'ESLINT,
vous n'avez pas besoin de nous.
Si il y a quelque chose que vous voulez
et que ce n'est pas là,
vous pouvez faire ça en vous-même
et ne pas avoir besoin de la corporeille.
Et je pense que la customisation
est la feature
qui a vraiment
fait l'ESLINT populaire
et pourquoi c'est difficile
pour d'autres lintes, même si
ils peuvent être 10 fois plus vite
que l'ESLINT.
Mais si ils ne peuvent pas faire
tout ce que l'ESLINT peut faire,
c'est difficile de compter sur juste la vitesse.
C'est très similaire
à l'inception de lintes
où vous avez pu faire ça
pour l'utilisation de lintes J.S.
pour que vous puissiez
émuler ce qu'il y a à un point.
Donc, on veut vraiment parler
plus de la feature
de lintes et de la things que vous avez
plané. Mais avant de transitionner
je voudrais parler
un peu plus.
Une des choses qui ont
passé dans votre vie,
pendant votre travail,
c'est que vous avez eu
l'hôpital de lintes
et que ça a affecté votre santé.
Et sur ce podcast, on veut vraiment
parler des gens derrière les tools
et de l'humaniser les constructeurs.
Je veux juste entendre un peu
votre histoire de
ce que l'impact était sur vous.
Et si il y a quelque chose que vous pouvez partager
pour éducation des gens
ou, je ne sais pas,
je suis vraiment intéressé de entendre
plus de votre expérience à ce moment.
Oui, donc, ça a
commencé avant,
c'est un peu
une histoire bizarre,
surtout si vous ne vous êtes pas
familiar avec la disease chronique
et de la façon dont ça fonctionne.
Mais ça va tout de suite
envers quand je suis en collège
où je me suis réveillé
un matin,
j'étais vraiment, vraiment malade.
Je suis plus malade que j'avais ever felt
dans ma vie entière.
Je ne pouvais pas manger, je ne pouvais pas barely drink,
je me suis faits de l'eau,
j'ai eu de l'eau, j'ai eu de l'eau,
personne ne pouvait savoir
ce qui se passait.
Personne n'avait aucune idée.
J'ai été hospitalisé un peu de fois.
Tout ce qu'ils pouvaient trouver c'est que je l'ai déhydré.
C'est tout ce qu'ils pouvaient me dire.
Et même si je l'ai
réveillé d'enfin,
c'était d'un an,
j'ai trouvé que j'ai
commencé à me faire
penser que je me sentais bien
et que je me suis fait sentir bien
et que tous ces symptômes
allaient me faire partir.
Je serais vraiment malade
pendant deux semaines.
Et je me suis fait faire un peu de temps
et je me suis fait venir, les mêmes symptômes.
Et ça m'a juste passé.
Et
le matin après le docteur, je ne pouvais pas
savoir ce qui s'est passé.
Mais dans les années 20,
il y a plein de énergies
qui me font penser
que c'est bon,
je peux toujours
faire des choses.
Deux ans,
des relations,
etc.
Mais ça m'a été passé.
Et puis, je me suis
diagnostiqué avec le syndrome de fatigue chronique.
Je me suis fait
faire des choses
en train de faire des énergies.
Je suis vraiment malade.
Mais personne ne peut me dire pourquoi.
Et si vous regardez la littérature,
il n'y a pas de cause chronique,
il n'y a pas de curation.
Vous vous avez juste
vivé avec ça.
Et c'est ce que j'ai fait.
Je me suis fait vivre avec ça et j'ai fait ce que je pouvais.
Je me suis fait travailler,
j'ai continué mon carrière,
j'ai été en source,
en parlant, en en rèdant.
Et j'ai juste figuré
que c'est mon corps.
C'est juste ce que je fais.
Et je vais faire ce que je peux.
Et par le temps que j'ai été dans la boxe,
ça m'a été beaucoup plus mal.
Les périodes où je n'avais pas de symptômes
sont basément à 0.
Et les périodes où j'avais des symptômes
sont tous les temps.
C'était un problème.
Mon premier boxe était
raf. Je m'ai fait mon meilleur.
J'ai perdu beaucoup de temps
en passant par ça.
Et puis, encore une matin, je me suis réveillé.
Je ne pouvais pas se faire un peu.
Je n'avais pas de l'énergie.
Je pouvais me faire rire
et me faire m'adresser.
Et puis, encore une fois, je suis commencé
à voir un peu de docteurs.
Et j'ai finalement été diagnosé
avec l'hôpital.
Et l'hôpital
est carried by ticks.
Vous vous en avez un
et vous vous injectez.
Et ça peut être
dormant pendant un temps.
Je ne me souviens pas
d'être bitten by ticks.
Certaines personnes ont
un boule-eye rache.
Si vous regardez ça, vous pouvez voir
pourquoi c'est ça.
Parce que c'est comme un boule-eye
sur votre corps.
Il y a un centre
et un red less
et un red less
et si vous avez ça,
vous devez aller au docteur
immédiatement.
Vous devez les prescrire
en antibiotics immédiatement.
Si vous avez des symptômes,
vous devez avoir des diseases
dans votre système.
Vous ne devez pas attendre pour les avoir.
C'est la diagnosis
que j'ai initialement

faite par un tick
en tant que collège.
C'est un
disease de l'île qui a été vivant dans votre corps
tout le temps.
Et juste de retourner
quand vous vous sentez que vous pouvez râler.
Et puis de retourner
à la remission quand vous vous sentez plus fort.
Vous avez décidé de vous dire
que vous allez le faire.
La chose infâtrion
est que si vous ne le traitez pas
plus tard, ça se fait très difficile.
Donc, un cours normal
de antibiotics,
je pense que ce point est
3 semaines
durant la phase acute.
Et ça me dérange
pour les gens.
Mais si vous avez été vivant dans votre corps
pour des années, ça ne marche pas.
Donc, je suis terminé
d'en faire.
Et puis j'ai dû arrêter de travailler
tout le temps, parce que je suis trop
trop malade.
J'ai dû changer les docteurs,
parce que le premier docteur
n'a vraiment pas pu me
mieux.
Et puis le deuxième docteur
n'a pas pu me mieux.
Et puis on a trouvé
qu'il y avait un molde black
dans l'appartement que j'avais vivant.
Donc, pas seulement
j'ai été dealé avec le disease de l'aliment,
le fatigue chronique,
j'ai été dealé avec le molde,
sur le point.
Et donc,
j'ai fini de sortir de cet endroit.
Quand j'ai été au moldier,
j'ai pu finir de faire un progrès.
Mais, à ce point,
il y a été 8 ans,
depuis que j'ai été
assez méchante pour avoir un travail
en temps de temps.
Quand je travaille sur ESLint,
c'est une heure ou deux
chaque jour durant la semaine.
C'est pour cela que je peux
devouter à ce point.
Mais je le fais mieux.
Je suis toujours,
à ce point,
je suis déclenché
le mal de l'aliment,
et le challenge,
maintenant, est vraiment
plus le fatigue chronique
que le travail,
qui fait beaucoup plus de travail
pour aider votre corps
à récupérer.
Mais je suis beaucoup plus bon
que je l'avais fait un peu d'années
il y a quelques années.
Et je suis très heureux pour ça.
Et je suis heureux que je
ai le temps et l'énergie
maintenant pour travailler un peu
sur ESLint et pour
construire mon business de coaching.
Et oui, la vie s'occupe.
Merci d'avoir regardé ça.
Je pense que,
en spite de ça,
c'est incroyable
de comment vous avez accompli.
Mais je pense aussi que c'est vraiment important
de poursuivre les impacts
que les issues chronique
sont en place.
Parce que,
surtout, je pense que
je suis plus heureux
de ces issues chronique
depuis la COVID-19.
Il y a beaucoup de gens
que je sais,
dans ma networks de Twitter,
qui ont été en train de travailler
et qui ont vraiment de l'esprit.
Et je pense que c'est important
de l'industrie que nous ne forgetons
que des gens
qui font de l'esprit
de travail très profond
sont en train de faire des issues de santé.
Merci pour votre histoire.
Vous avez entendu ça,
les gens qui ont un peu de biais
et vous avez un bolsail,
s'il vous plait,
c'est important.
Merci d'avoir regardé.
Je n'ai pas été en train de faire des issues chronique
mais je respecte le biais.
Ça a été un challenge de mètre
de l'esprit.
Mais en fonction de l'esprit,
beaucoup de choses ont changé.
Le plus grand,
c'est la façon dont vous configurez les choses.
Pour les gens qui ne savent pas
quel config flat,
pouvez-vous le décrire?
Et c'est le tour de la vie
qui a été offert à ce point?
Oui,
le config flat
est notre nom
pour le nouveau système de config.
Parce que le système de config
était très très flat.
Donc,
dans le système de config
il y avait beaucoup de différentes manières
que vous pouvez externer votre configuration.
C'était vraiment compliqué.
Il y avait la quête d'extension
où vous pouvez dire
l'extension,
l'air B&B,
vous avez tous les configs de l'air B&B,
et tout le nombre d'autres choses.
Il y avait des dégâts où vous pouvez
dégâter spécifiquement
pour des files spécifiques,
vous pouvez embedder
la configuration
dans votre file de package JSON,
vous pouvez
embedder les files
dans chaque
direction individuelle
et puis ESLint
va passer et combinera
les configurations
de toutes les directrices de l'ancestre
dans une configuration.
Il y avait juste un peu de choses
qui ont fait
vraiment difficile
pour les gens
de configurer
et aussi pour
raisonner et débugner
si quelque chose a été mis en place.
C'était tellement difficile
de figure out
où une configuration
s'est arrivée
quand il y avait tant de différentes
secteurs
que cela pourrait exister.
On a été au point
où la configuration
était tellement compliquée
que quand les gens avaient des problèmes
même le corps de la campagne
n'était pas possible de figure out
pourquoi ils ne se sont pas réveillés.
Il y avait juste trop de variables
pour essayer de figure out.
Comme résultat,
on a décidé
que c'était probablement
le temps de
rethink la configuration
de scratch
parce que
comme je suis sûr
beaucoup de gens
ont expériences avec le software,
on continue de venir avec
de nouvelles features.
On va ajouter ceci
pour la configuration,
on va ajouter ceci pour la configuration.
Mais quand on ne s'arrête pas
et on regarde tout en holistiquement,
on peut arriver
avec un bunch de features
qui ne font pas de sens
ensemble
même si elles ont tous
fait sens individuellement.
C'est comme nous avons
terminé avec le système config
qui était le
ESLint RC
système config.
Donc,
le système config new
flat config,
la toute idée
était
on va mettre
tout en un fil.
Donc,
pas plus de ceci
qui s'étend
et on va essayer
de mettre un bunch de différentes configurations
pour vous.
Pas plus
essayer de merge
des configurations
de différentes directrices.
C'est juste de faire
quelque chose de trop compliqué.
Ce que nous allons faire
c'est que nous allons avoir
tout en un fil
et vous pouvez
poursuivre
dans ce système de configuration
tout ce que vous voulez
de n'importe où vous voulez
et mélanger et matcher
de n'importe quel moyen que vous voulez.
Ce n'est pas
pas un ESLint
pour faire ça anymore.
Et
comme résultat,
je pense qu'on est venu
avec un système
qui
semble
assez familier
pour
le système de configuration original
que
ce n'est pas
super confusant,
comme ça ne me semble pas
que vous allez dans le sond
et que vous n'avez pas
idée de ce qui se passe.
Mais
c'est plus organisé
et
plus facile
pour raison
quand quelque chose
se passe
si il y a un problème,
vous avez une bonne chance
de se faire
de la voir
ce que le problème est
vous-même
et si il y a un bug,
c'est beaucoup plus probable
que nous,
le corps de la Cor
on va pouvoir
se faire de la voir
et se faire fixer.
Quels sont les problèmes
qui sont difficiles
pour le bug ?
Juste
les deux règles
ne se interagent pas
avec un autre
ou deux configurations ?
Donc,
un gros problème
est
les dépendances
que
les configs ont
été
parce que
les configs
même si
les packages n'étaient pas
en place,
ils étaient
typiquement
un file yaml
ou un file jason
ou quelque chose comme ça.
Et
ça signifie
que l'ES lint
a besoin d'utiliser
des plugins
que cette configuration
a utilisé.
Mais c'était vraiment
difficile
parce que
vous n'aurez pas
les plugins
de cette configuration
de la configuration
d'une dépendance
dans cette package


parce que si vous avez
fait ça,
alors
ces packages
étaient trop bas
dans la hierarchy de la mode Node
pour l'ES lint
pour pouvoir
mettre sur votre behalf.
Donc,
vous avez besoin d'utiliser
ces dépendances
comme des dépendances

dépendance.
Et puis,
parfois,
ils seraient installés
et parfois,
ils ne seraient pas
et
les problèmes
que les gens
nous ont été
les erreurs
pour mettre
ces plugins
parce qu'ils avaient une erreur
de messages
qui ont dit
que l'ES lint
ne pouvait pas
mettre
sur les plugins
et qu'ils ne pouvaient
pas faire ça.
Et nous ne pouvons
pas faire ça.
C'est comme si nous essayons
de faire
notre meilleur
pour l'esprit
de la mode Node.js
module
de la mode

de la mode
de la mode
de l'ES lint
qui a eu
tous les cas de la
et tous les problèmes.
Et donc,
c'était l'un des gros
choses que nous voulions
faire
c'était qu'on ne voulait pas
mettre le code
dans les files.
Nous voulions juste
vous utiliser
importe
dans un file
de vous-même.
Donc,
c'était l'un des problèmes
de la mode
qui était très difficile
de faire.
Et l'autre,
c'est que
les gens
n'ont pas
compris
pourquoi ils
étaient
obtenus
certains résultats.
Pourquoi
est-ce que
l'ES lint
a été
élevé.
Et ils ont
mis
20 différents files
d'ES lint
dans leur
projet.
Et le
de l'ES lint a été
configuré,
c'était
juste
une configuration
finale.
Et on a
finalement
ajouté
une flamme commande
qui
s'est
appelée
print-config
qui
pourrait
print-out
la file
finale
qui est
aidante
d'accepter
que vous ne savez
comment
ce config a été calculé.
Ce qui,
on ne pouvait pas
dire à des gens
parce qu'il y avait
trop de variables.
Et donc,
beaucoup des
requests
qu'on
avait
sur le corps
sont
juste
pour que je fasse
une configuration
finale
ou qu'on
n'a pas
travaillé
pour que ça
devrait
être
en train.
Et c'était
un autre
truc
qu'on ne peut
faire
pour que
on soit

aidant
les gens
de débarter
les issues
de configuration.
Donc,
il semble
que
le temps est
correcte
d'aller
avec un
nouveau
config
système
qui va
être plus
facile pour
tous les gens
de débarter
et de travailler.
C'est
quelque chose
que j'ai expérimé
avant,
mais

mis en place


sub-
et
de
l'escalant
que je n'étais pas
sûr
de ce que je
ai été
en train

avec un
config
de la
base.
Je suis
content
de
voir
ce que je
ai été

de
faire.

Vous

commencé
en faisant
ça?
Est-ce
que vous
avez
changé?
Qu'est-ce
que vous voulez
changer?
C'est
encore
le plan.
C'est
notre plan
depuis
l'année dernière
ou
l'année
avant.
C'est
quand je
ai posté la première
discussion
dans notre
rébo.
Et
je me suis
annoncé
que
le corps
est
synchroniste.
Il
signifie
que
on ne
peut pas
faire des
rouls

Ce sont les choses
que les gens
ont été
demandées
pour un
temps, mais
on ne
peut pas
faire
ça.
Le
processus
était
que
si on veut
faire ces choses,
on peut
faire des rouls, des rouls,
on peut
faire des possibilités.
Les deux
de la
façon dont on peut
faire ça
sont
qu'on peut
essayer
de
évoluer
le corps
de l'on.
Mais
en réalité
ça
signifie
que
chaque
fonction synchroniste
est
synchroniste.
Et
on peut

choses

























que les
classes
sont
très

et nous
les combinons
ensemble
pour
créer
les
l'I.
Nous
combinons
ensemble
pour
créer
les
integrations

et
comme base
en
n'est
pas
capable
de
les
les
l'on.
Mais
c'est
un

plus


















C'est probable d'être un processus long,
et juste basé sur les nombreuses heures que l'on a disponibles,
et aussi sur la complexité de faire un réel.
Mais le système de config n'a pas été réel pour 5 ans pour mettre en place.
Et je pense que nous avons terminé avec quelque chose de très bon.
J'espère que le réel de cor ne va pas prendre 5 ans,
mais ça va probablement prendre au moins quelques années
avant que tout soit en train de se passer et de se passer.
Quand vous avez annoncé ça, il y a beaucoup de gens qui sont en train de dire
quel langage vous allez réééter ou reéter en russes.
Je veux juste entendre vos pensées un peu
sur choisir un nouveau langage pour le réel.
Ou si vous choisissez un nouveau langage.
La réponse est qu'on ne choisit pas un nouveau langage.
Il va être réwritten en JavaScript,
non en JavaScript, mais en JavaScript avec des types.
Alors qu'on peut encore le vérifier en cor.
Je me sens fortement que quand vous avez un parcer en JavaScript,
que l'ESLint est en train de faire,
ce que nous faisons, c'est de la spray,
nous devons être les filles de la parcer.
Et même si vous pouvez utiliser l'ESLint avec un parcer,
ce n'est pas pour l'exerciser notre parcer.
Et je ne pense pas que nous serions en train de faire
nous-mêmes ou d'autres autres
un service par omiter ça.
C'est la façon dont nous trouvons beaucoup de bugs,
c'est de la nourriture des filles,
tout ce que nous travaillons sur nous-mêmes.
Donc, c'est en JavaScript avec les types,
en train de vérifier.
Nous avons regardé le russ.
Et le russ est intéressant parce que c'est rapide,
en train de faire,
mais aussi compliqué.
Donc, le russ est beaucoup plus difficile à travailler avec.
Il y a probablement beaucoup plus de russ-developpages
dans l'ESLint user base,
ce qui signifie que nous serions potentiellement
des contributaires dissuadés
de notre audience.
Je pense que l'une des choses
qui a vraiment bénéficié de l'ESLint
est que si vous êtes un développeur en JavaScript
et vous voulez contribuer à l'ESLint,
vous pouvez.
C'est écrit en JavaScript.
Si c'est écrit en russ,
je pense que nous probablement
avons beaucoup plus de contributions au sein.
Et je suis même dans le processus
de m'enseigner à la russ,
créer un projet de russ,
juste un parcer de Jason
pour apprendre comment ça a fonctionné
et d'experimenter avec ça.
Et je suis enfin arrivé à la haine
après quelques mois de très tentation.
Et j'ai fini à en profiter.
Je me suis dit que je savais vraiment
que je voulais en profiter.
C'était beaucoup de plaisir à faire
quand j'ai eu la chance de faire ça.
Et j'ai l'air de la vitesse.
Il y a beaucoup de choses que j'aime beaucoup sur russ.
Le problème que je n'aurais pas pu avoir
était qu'est-ce que le sceau de l'ESLint
et l'écosystème.
Comment j'ai eu le temps
de s'interacter avec un corps
qui a été écrit en russ
parce que si nous voulons sortir
avec une version qui dit
sorry, les plug-ins ne fonctionnent plus.
C'est pas la fin de cette vidéo.
Pourquoi utiliser l'ESLint
sur quelque chose d'autre à ce moment-là?
Parce que c'est l'écosystème de plug-in
qui est une force de l'ESLint.
Et si vous regardez à ce que le biome
est en train de passer maintenant,
ils ont aussi vécu à cette conclusion
que dans l'ordre pour le projet de s'éteindre,
ils ont besoin d'un système de plug-in.
Et ce système de plug-in ne peut pas être russé.
Il faut être en JavaScript.
Et ils sont en train de se faire
savoir si on peut créer
un API en JavaScript
qui va permettre aux gens de faire des plug-ins
et d'interacter avec un corps russé.
Et je suis intéressé à voir
si ils peuvent se résoudre.
Parce qu'il y a beaucoup de défis
en regardant le russé et l'esprit en JavaScript.
Parce que c'est pas seulement
que les règles doivent être written
en JavaScript
parce que ça, ça, c'est un problème difficile.
Mais vous pouvez embedder
un parser, un tour de temps
dans votre application russée
et faire des choses.
Ok.
Mais il ne peut pas être
un nouveau esprit en JavaScript.
Vous devez être capable de soutenir
le système de l'Empire.
Parce que les gens vont vouloir
faire des règles
en utilisant les packages de l'Empire.
Donc, vous devez donc embedir
le code,
le code d'Empire,
ou le code d'Eno,
dans votre application russée
et vous êtes
passant des choses
en haut et en haut
entre les deux mondes.
Et puis vous vous endvez
avec la serialisation
et la performance de la sérilisation
qui peut être très très haute.
Et donc,
après mon début de l'exploration
avec Rust,
je suis rapidement
venu à la conclusion
que
il y avait beaucoup plus de travail
que ce que je pensais
et que je n'étais pas sûr
qu'on allait
pouvoir
délire quelque chose
qui était valable
assez
avec tout ça
d'admission
de la complexité
par juste
continuer à construire
en JavaScript,
juste
pour brefir le corps,
pour le faire vite,
pour le faire plus facile,
pour travailler avec,
voir
ce que les gens
qui sont venus
pour essayer de
faire des choses
pour se faire faire ça.
Et puis,
créer un corps à Async
nous permet de faire
beaucoup plus d'intéressant
des choses
pour approfondir
cette parallèle
parallélisation
de différents types
d'opérations
tout de suite
devient une option.
Donc, il y a beaucoup que nous pouvons faire
en staying dans le système
de l'éco-système JavaScript
que je pense
nous permettra de
bouger plus vite
et ne pas
couper
tous les plug-ins
que nous avons déjà.
Oui, comme vous l'avez déjà dit,
je pense que ça va être le but
pour le succès de la nouvelle version
et c'est que
vous devez
maintenir
quelque chose de support
ou de parité
pour les extensions
que vous avez
ou les plug-ins.
Et c'est quelque chose que nous avons entendu
des gens
qui ont fait des
tooling native
et de russes
qui interviennent
dans l'éco-système JSC.
C'est comme
que,
comme vous le implementez,
vous pouvez
faire des extensions
dans le JavaScript.
Maintenant, vous avez un grand
sort de
performance drain
juste parce que
les styles de la sort de interop
sont des messages
passés,
des transferts de data
ou autre.
C'est le même problème
que l'asm
peut avoir
beaucoup de temps.
C'est comme un des
grands problèmes de performance
que ça peut avoir
c'est comme si vous avez
passé beaucoup de data
en force,
ça peut être
particulièrement
lent
ou
réduire
un des
bénéfices de votre performance.
Et ça était
l'initiel
exploration que j'ai fait
que j'ai écrit
ce JSON parser
en rust
et puis
compilé
à l'asm
et
essayé de loader
ça
dans
un environnement JavaScript
pensant
que c'est
un peu plus
rapide
parce que
c'est écrit
en rust,
c'est en
JSON
et je vais pouvoir
avoir ce
ASTO
juste comme
trop vite
et ça a terminé
en étant
beaucoup plus
lent
que
le parser
que j'ai écrit
en JavaScript
notamment parce
que le cost de serialisation
quand j'ai
rentré un test
où j'ai juste
passé
tru
de l'asm
en lieu de l'ensemble
ASTO
ensuite la performance
était
équal
à ce que c'était
dans le parser

qui signifie que
il y avait
0 performance gain
par écrit
ça en rust
parce que même si
c'était en faisant
tout le parser
et puis
juste retourner
un bouillon
ou un numéro
c'était
seulement
plus vite
que la version

qui était retournée
l'ensemble ASTO
et puis
quand vous serialise
l'ASTO
et puis
le désirer
en JavaScript
c'était tellement plus vite
que c'était juste
pas encore
pour ça
à ce point
oui
c'est
ne pas faire
des décisions performance
sur ce que vous pensez
que vous avez entendu
sur l'anglais
ou un tour
en passant
c'est comme
il a vraiment
besoin
d'expérimenter
et de measure
c'est
vraiment important
donc
une partie
de ce annoncement
c'était que
l'eslan
serait
officiellement
soutenir
les langues
d'autres que
en JavaScript
quels sont ces langues
qu'est-ce que cela entêle
ou est-ce que
plus
est-ce que l'eslan
a plusieurs ASTs maintenant
est le nom qui va changer
le nom ne va pas changer
il va rester
l'eslan
et j'ai déjà eu
des réponses sur Twitter
sur ce qui me répond
nous n'avons pas
n'importe quelle documentation
qui dit que l'es
est le secret de l'académie
vous pouvez faire une recherche
vous n'aurez pas trouvé
ce n'est pas là
donc
je ne me sens pas
qu'on doit changer le nom
pour une raison particulière
et plus
l'eslan
est
assez fort
les gens comprendent
ce que ça veut dire
ce que ça fait
et je pense
essayer de créer
quelque chose
nouveau
juste parce que
c'est expérimenter
son scope
ce n'est pas un bon use
de temps et d'énergie
pour répondre
à certaines de vos questions

l'idée est que
il y a un peu de
différents files
dans votre projet web
que vous voulez probablement
avoir linté
avec
l'eslan
et peut-être que vous utilisez
un autre linter
maintenant
peut-être que vous n'en êtes pas
mais quand je regarde
dans
n'importe quel de mes projets
comme je vois les files marqués
je vois les files de Jason
je vois les files de Yamel
parfois je vois les files de HTML
parfois je vois les files de Tommel
et
pour longtemps
les gens ont été
hackés
pour
linterer
des langues non-jabascopes
des langues
il y a un bunch de plugins
là-bas
il y a GraphQL
ESLint
il y a HTML
ESLint
il y a un peu de plugins
là-bas
qui ont
créé
un parser
que l'ESLint
pourrait comprendre
et puis
qui ont
triqué l'ESLint
dans les langues
d'autres parcs
donc les gens ont été
en train de faire ça
pour un peu
et donc
ce que nous voulons faire
c'est juste dire
OK
comme on ne va pas
rester en train de faire
toutes ces langues d'autres
en passant
par la logique de JavaScript
parce que c'est ce qui se passe
maintenant
est que
tout ce logiciel
de JavaScript
se dévouent
sur
les langues non-jabascopes
des ASTs
et
on a dû
aller
et faire des ajustements
pour permettre
cela
à arriver
et être safe
mais
c'est un peu de pain
comme on a besoin de
vérifier
et voir
est-ce que ceci est
un JavaScript AST
ou pas
et si pas
donc ne fais pas
quelque chose de plus complexe
parce que ça va juste
briser les choses
et on veut éviter
tout ce que nous voulons
donc l'idée
est que
il y aura
une nouvelle API
pour les plug-ins
que c'est
une appui de langue
et donc
juste comme vous pouvez créer
une plug-in
qui a des
règles
ou des configurations
ou des processus
vous pouvez aussi
avoir un plug-in
des langues
que cela expose
donc ça va être construit
dans
aucun plug-in existant
que vous voulez
ce n'est pas un nouveau format de plug-in
ça juste
ajoute un nouveau
qui
pour le format de plug-in
qui est des langues
et puis
une classe de langue
ou d'objectif
qui define
comment
l'es l'es l'es
doit interacter
avec ce
langues
parce que
pas chaque
parser qui existe
là-bas
crée un
tréi
que c'est quelque chose
le current
l'es l'es corp
peut comprendre
donc c'est
une des constraintes
maintenant
c'est que
vous avez besoin de créer
une est
qui a des choses
dans le lieu
que l'es l'es
expecte de l'être
pour la scripte
avec l'appui de langue
ce n'est plus le vrai
vous
êtes libre de
utiliser
ce que vous voulez
l'es format
que vous voulez
vous vous justez
le define
dans ce objectif
où l'es l'es
doit regarder
pour obtenir
l'information
que ça t'en parle
qui est
comme
le location
de différents
notes
et
les names
de différents notes
et comment
il peut
trouver
différents parts
de la code
et
quand vous faites
cela
alors
que
aucun parser
qui peut créer
une est
vous pouvez
utiliser
cela pour créer
une est
une plug-in
et puis
l'es l'es
va
passer
et
tourner
le tréi
et
arrêter
chaque note
et
faire les rouls
pour vous
qui sont
rétendues
dans le même format
comme
les rouls
java
sont
rétendues
en utilisant
le même format
vous avez juste
changé
les names
des notes
et peut-être
des méthodes
que vous appelez
mais d'ailleurs
c'est le même
appui


et donc
le plan
maintenant
est pour
la team
pour créer
deux
plug-ins
pour
1 pour
Jason
et 1 pour
Markdown
donc
ce sera
notre 1er
pour
2
plug-ins
et nous utilisons
ce genre de
preuves de concept
pour le nouveau
appui de langue
je l'ai été
hacké
sur
les deux
maintenant
pour plusieurs semaines
juste pour
faire le
tourner
ce que l'appui
devrait être et
comment ça devrait
travailler
et puis
après nous
nous avons
fait
ceci
nous allons
publier
des documentations
pour créer
ces langues
vous-même
et puis
notre espèce est
que quand nous
faisons ça
les gens
vont aller
et
commencer à créer
des plug-ins
pour
autres langues
sur leur propre
pour nous
nous sentons
comme
notre travail est
à proposer
un corps très solid
que les gens peuvent
construire
nous sentons
comme que c'était important
pour créer
un couple
de langues initiales
que les gens
pourraient utiliser
comme exemple
de comment faire
ceci
mais nous espérons
que
quand nous
obtenons
l'appui finalisé
quand nous
obtenons
la documentation
là-bas
que
l'écosystème
va construire
sur sa propre
pour
toutes les langues
que les gens
veulent
l'esclint
pour
pouvoir
l'étoil
donc
une partie importante
de cette histoire
est
évidemment
des typescripts
supports typescripts
vous savez
avoir gagné
une massive popularité
spécialement
dans les dernières années
il y a
des tsslints
qui
ont originalement existé
comme
comme
pas même un fork
de l'esclint
mais comme
un cibling
et ça
a sortu
de sa main
de la semantique
que c'était très
vous savez
dédicé
de typescripts
et puis
eventually
le soutien
a été
drop pour ça
et ça a été
tout
vous savez
adé
par la communauté
et plusieurs points
dans l'esclint
donc
en avance
vous pensez que
le soutien pour typescripts
est-ce que ça va être
sorti
de l'esclint
dans l'esclint
ou
je ne suis pas exactement
sûr
ce que
le direct
balthand
est
ou
est-ce que ça va être
comme un effort
de communauté
comme
comme
ce que l'esclint
va être
comme un
comme un
le point de vue

que
le type script
est
le soutien
est
un plug-in
qui est
managé
par une
une équipe complètement
séparée
de la
cor
de l'esclint
de la
et c'est
ce que nous
veulent
est
nous voulons
les gens qui
sont
vraiment
familiar
avec le type script
pour
travailler
sur le type script
de la
l'esclint
d'écosystème
pour le faire
le bon
possible
parce que
le corps de la cor
n'a pas le temps
de
dévouer
à ça
et
on n'a pas
nécessairement

toutes
ce type script
de la
connaissance
que
ils font
de travailler
avec le type script
de la cor
plus
plus
plus
serait-il
nous aimer
avoir
une meilleure integration
avec le type script
oui
définitivement
ça veut dire
que nous allons
rouler
dans le corps
probablement pas
parce qu'il y a
quelque chose que je pense que
les gens doivent
comprendre
et parler
de l'esclint
c'est
le raison que c'est
rentré
maintenant
pour
11 ans
est
spécifiquement
parce
que nous
on
essaye
de ne pas
pour
les choses
dans le corps
on veut
un peu de choses
pour exister
dans le
écosystème

parce que ça
nous permet
de
faire attention
sur le corps
et
continuer
à donner
des capacités
pour le
écosystème de la plug-in
pour que les gens
puissent
construire ce qu'ils veulent
et ça signifie
que
nous n'avons pas
des bêtes
que
nous devons
perdre
donc il y a un point
en temps

les gens ne savaient pas
si le type script
va gagner
ou si le flow
va gagner
et
si l'ESLent
a essayé de
prendre un
victime
et dire
qu'on va
commencer à supporter
le flow
ce serait un grand problème
pour le projet
et comme
on ne veut pas
prendre
un victime
dans le type script
donc
ce que nous avons

c'est de travailler
avec les deux équipes
pour dire
ok, on va essayer de
venir avec
une forme
où l'ESLent
peut être
reconnaître
les annotations type
ou une chose
et
figure out
comment travailler avec eux
pour que ça va travailler
avec les deux flows
et le type script
et
nous allons
c'est où nous allons
le prendre
et je sais
beaucoup de gens maintenant
comme
bien le type script
veut
cette bête
donc on devrait commencer
à construire
tout le type script
et
je ne pense pas
que
nous sommes à la fin de la histoire
je pense qu'il y a
une
haute likelihood
que beaucoup de choses
sont dans le type script
maintenant
vont
faire
leur manière
dans le type script
propre
comme nous l'avons
et donc
si nous devons
faire
une bête
maintenant
et dire
ok, nous devons
aller dans le type script
dans le corps
ça pourrait
de nouveau
se faire
être
quelque chose
que nous ne
ne utilisons
dans le futur
parce qu'il y a un temps
où nous nous sommes
en preuve
pour
avoir
un type script
lintin
et si nous avons
passé
tout le temps
sur le type script
nous devons
avoir
eu un temps
sur la langue
que personne ne l'a pas utilisé
maintenant
et je sais
que ça semble
malheureusement
de penser
mais
le type script
pourrait aussi
se faire
être
cette langue
ça pourrait être
fait
en obsolete
par le type script
en itself
juste comme
le type script
était
et donc
l'approche que nous
nous en avons
est
que
nous sommes
le type script
pour le premier
nous sommes
le corps
JavaScript
nous allons continuer
de soutenir le JavaScript
dans les
nombreux
flavors
de JavaScript
comme possible
en passant
quand il y a
des opportunités
pour nous
pour
improving
l'intégration
avec
aucun autre flavor
de JavaScript
incluant le type script
nous allons
bouger dans cette direction
mais
nous ne voulons pas
mettre
n'importe
des bêtes
sur
aucun particular
flavor
de JavaScript
pour gagner
parce que
notre goal
nous
nous
nous

ESLint
est maintenant
11 ans
j'ai
j'ai voulu
finir
en être
22 ans
j'ai
et
que les gens
pensent que c'est
encore
utile
et
pour faire ça
nous ne sommes pas
un balle crystal
mais
les bêtes que nous
placent
ont besoin
d'être
des bêtes smartes
et
le moyen
que nous
faisons
c'est que nous
regardons
les bêtes
que nous avons
fait
et nous avons dit
hey, vous savez
JavaScript
est
assez résilient
il s'est
en train de
le faire
les choses
que nous devons
replacer
donc
nous devons être
attentionnés
pour ça
nous devons
faire la
focus
sur
le JavaScript vanilla
et
juste voir
où nous pouvons
aller
de là
oui
ça fait un sens
en parlant de bêtes
comme nous
râpons notre épisode
nous voulons toujours
poser
une question
face forward
et je pense que
ceci est une grande transition
à cette question
en travaillant
sur l'enseignement
pour tant de temps
et sortant de
l'essence
de ce problème
et
vous savez
nous avons regardé
l'écosystème
progressant
et
des nouvelles outils
qui sont élevées
dans différentes languages
et sortant
toutes les activités
que nous avons
ces jours
qu'est-ce que
le futur
de l'enseignement
semble-t-il
bien, j'espère que le futur
de l'enseignement
semble beaucoup
comme l'enseignement
et je
je dis ça
parce que
je vois encore
sur Twitter
ce jour
periodically
les gens qui
en tweetent
j'ai voulu qu'il n'y avait pas
l'enseignement
pour
quelque chose
comme
une autre language
et je pense que ça signifie
que
nous avons fait beaucoup de choses
en
que
je ne pense pas
que
le linter est en
un ton de
corpours
et
aucune capacité pour les plugins
est
la façon dont le linter est
en train de être
écrit
dans le futur
je pense que
le linter
doit être
puable
pour
l'autofix
des choses
que
ils trouvent
et
le linter est le premier
linter de JavaScript
pour
linter d'autofix
et il y a encore
beaucoup de languages
qui ont
linter
qui ne font pas
linter d'autofix
et
je pense que ça est
quelque chose
que le linter est
un peu
fait
des tables
pour
linter en général
et quand les gens ne l'ont pas
ils se sentent frustrés
c'est
c'est assez cool
de voir que
il y a
même
quand je
je l'ai posté sur Twitter
que les autres languages
que vous vouliez
vous donner
le linter de JavaScript
pour linter
et les gens sont venus
avec
toutes ces languages
qui ont déjà
des linteres existantes
et quand je leur ai demandé
si ils en ont utilisé
ces linteres existantes
ils m'ont dit
oui
mais
le linter de JavaScript est beaucoup mieux
comme je voudrais beaucoup plus
utiliser
le linter de JavaScript
pour ceux
que ces linteres standalone
donc
je pense que
même si
le futur de linter
n'est
le linter de JavaScript
c'est probablement
quelque chose
qui
ressemble
à l'escalant
qui est
un corps petit
un bon API
qui permet aux gens
de faire des règles
très rapidement
pour les mettre à l'heure
pour pouvoir
les configurer
mais
ils veulent être configurés
si ils trouvent une ruelle
qui n'est pas
ce qu'ils veulent
pour pouvoir
le cloner
et modifier
et créer
un qui fait
exactement ce que vous voulez
pour pouvoir
pluger
quelque langue
ou quelque part
ce que vous voulez
et que tout
soit
en train de
travailler
pour que ça soit
bien intégré
dans votre environnement de développement
que ce soit
le code VS
votre système de intégration

ou juste un CLI
et
je pense que
nous sommes
à un moment

vous êtes en train de

pour ne pas
utiliser
un linter
sur
les files
qui sont dans votre projet
je suis très heureux pour le futur
je pense que
pour mettre les langues
dans le folder
ça va vraiment
être super chargé
ESLint
parce que j'ai déjà utilisé
ça de cette manière
donc j'ai hâte de devenir
plus officiel
et
j'espère que ESLint
sera le plus grand
pour le final
parce que j'adore le tool
ça le fait
sur nos questions
sur l'épisode
merci pour venir
c'était
une conversation
comme
je pense que
ESLint est le tool
que j'ai utilisé
le plus long
dans ma carrière
et c'est
certainement
qui a donné
des valeurs
donc merci pour faire ça
bien, merci pour ça
j'apprécie le feedback
oui, comme ça Nicolas
je pense que
c'est vraiment difficile de comprendre
comment l'importance
ESLint a été
sur le système javascript
en particulier
et
depuis que beaucoup de javascript
a été déclenché
dans les dernières
10 ans
spécialement
c'est comme
ça a un impact huge
de l'industrie
donc
merci pour vous et la team
pour faire un tool
tellement valable
et oui
juste merci pour
tout le travail que vous avez
mis dans l'année
sur ce sujet
c'est
c'est super, super
valable pour l'écosystème
bien, merci les gars
je veux dire
le feedback de la communauté
qui nous garde
donc
laissez-le

Les infos glanées

Je suis une fonctionnalité encore en dévelopement

Signaler une erreur

devtools.fm:DeveloperTools,OpenSource,SoftwareDevelopment

A podcast about developer tools and the people who make them. Join us as we embark on a journey to explore modern developer tooling and interview the people who make it possible. We love talking to the creators front-end frameworks (React, Solid, Svelte, Vue, Angular, etc), JavaScript and TypeScript runtimes (Node, Deno, Bun), Languages (Unison, Elixor, Rust, Zig), web tech (WASM, Web Containers, WebGPU, WebGL), database providers (Turso, Planetscale, Supabase, EdgeDB), and platforms (SST, AWS, Vercel, Netlify, Fly.io).
Tags
Card title

Lien du podcast

[{'term': 'Technology', 'label': None, 'scheme': 'http://www.itunes.com/'}]

Go somewhere