Josh Goldberg - TypeScript ESLint
Durée: 59m25s
Date de sortie: 18/09/2023
In this episode, we talk with Josh Goldberg about TypeScript ESLint, a tool that enables you to run standard JavaScript tools like eslint and prettier on your TypeScript code. We discuss the recent v6 release, the differences between formatting and styling, and the future of TypeScript ESLint. Josh also shares his thoughts on the future of TypeScript and the JavaScript ecosystem.
Sponsored By Raycast (https://www.raycast.com/)
- https://twitter.com/JoshuaKGoldberg
- https://typescript-eslint.io/blog/announcing-typescript-eslint-v6/
- https://www.learningtypescript.com/
Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode.
- https://www.patreon.com/devtoolsfm
- https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe
- https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758
- https://www.youtube.com/@devtoolsfm/membership
Tooltips
Andrew
Justin
Josh
- Knip (https://github.com/webpro/knip)
- Nonviolent Communication (https://en.wikipedia.org/wiki/Nonviolent_Communication)
C'est impossible de satisfaire tout le monde.
Il pourrait être un coup de poids.
On a eu un peu de recommandations stylistiques
dans nos sets de recommandations.
Comme vous pouvez l'imaginer,
cela a causé beaucoup de
mettre un bon état de user pain.
Pour mettre un bon état de les gens
qui nous ont brisé sur la Internet.
Donc, nous avons expliqué les configs recommandés
dans les recommandations et les stylistes.
Bonjour !
Bienvenue au DevTools FM Podcast.
C'est un podcast sur les tools de développeurs
et les gens qui font ça.
Je suis Andrew et je suis le co-host Justin.
Salut tout le monde !
Nous sommes vraiment excitées
à avoir Josh Goldberg
sur le podcast.
Josh, nous avons parlé de vous
en épisode 35.
C'est presque...
Je n'ai pas été trop long.
Mais c'est vraiment cool
de vous avoir regardé
la dernière fois que nous avons parlé
de votre livre de texte de la technique.
Et cette fois-ci,
nous sommes vraiment excitées
à parler de la travail
que vous avez fait
autour de l'ESLENT.
Mais avant de nous
nous allons parler de ça.
Vous voulez nous parler de ça
un peu plus sur vous-même ?
Peut-être des updates
de ce que l'on a changé depuis la dernière fois ?
Bien sûr !
Bon, merci pour avoir moi.
Je suis excité d'être un second.
Je suis...
Oui, je suis juste fillet de beaker.
Je suis Josh.
Salut tout le monde !
Je suis un soutien d'un système d'opensant
en le système de type script.
Ce qui signifie qu'à l'aide d'une
seule compagnie reputable,
je n'ai pas de travail
et je n'ai pas d'exemple
sur les projets d'opensant sur Internet.
Donc, je n'ai pas beaucoup
travaillé sur le type script de l'ESLENT
qui est le tool qui vous permet
de faire des outils de standard
de type script,
comme l'ESLENT
et le prettier sur votre code type.
Mais je fais aussi
un assortement de RAN
sur les choses de type script
pour le plaisir et le profit.
C'est moi.
Alors, je dois demander
comment l'opensant se fait.
Est-ce que c'était succes ?
Tu as eu un bon temps ?
J'ai eu un bon temps.
Je dirais que c'était successe
et que c'était de soldes et
que personne n'a attaqué
moi physiquement.
Je pense qu'il y a quelques plus de type
que j'ai voulu dans l'édition print.
Donc, l'édition électronique
a fixé tous ces.
Mais c'est bon.
Tu sais,
je suis un author de l'édition.
Ça me sent bizarre et cool.
Mon nom est
la chose de print.
C'est bizarre.
C'est un grand truc
pour avoir sur votre résumé.
Et tu as aussi
je pense que tu as
des cheques de royalties
tout le temps.
Peut-être que ça va être
une chose surprenante
pour le futur.
C'est comme une royalties random.
Oui, c'est bon.
Donc, vas-y, mes gens.
Non, pas de plans pour la deuxième.
Pas encore.
Le type script s'évolue
très rapidement.
La langue est assez stable,
mais ils sont toujours ajoutés de nouveaux features.
Et ça n'a pas été
assez long
pour justifier une deuxième édition.
Mais il y a déjà été
des features qui ont été
faites par les parts
du livre
qui sont réveillées.
Par exemple,
les typescript décorateurs
sont explicitement
mentionnés
comme ce qui est
le type script
réveillé en fin de jour
et sont expérimentés.
Et après l'éventuel,
le JavaScript
peut avoir des décorateurs.
Et puis,
1 à 2 mois
après le livre se passe,
le type script
a de la support
pour les nouveaux décorateurs.
Hooray!
Donc, peut-être un an ou deux.
Je vais avoir besoin d'un
livre pour décrire
l'utilisation de moi
parce que le syntaxe
est bizarre.
Mais...
Je dégrise.
Avez-vous fait
une bonne
système type
gymnastique
lundi?
Depuis que
c'est...
C'est ce que
vous,
moi et vous
en main,
c'est tout ça.
Donc,
vous avez eu
une chance
de faire ça?
Merci.
Non.
Je suis triste.
Je m'ai soumettue
un couple de
propositions
de confrètes
sur le graphique
du système type.
Settant des notes
et des égages
et un algorithme traversal.
Mais pour une raison,
personne n'a accepté ça.
Donc,
je l'ai été
en train de le faire.
Mais je vais dire,
c'est cool.
Un peu de
efforts
ont été
mis en ligne
pour faire
des systèmes de type
gymnastique.
Et quelqu'un a
répliqué
un système type
gymnastique
dans le système type type
qui est
dans le meilleur possible
de l'une des les
plus stupides
des choses que j'ai vu.
J'aime ça
beaucoup.
Donc,
je vous recommande
de regarder
un système type
en ligne.
C'est très cool.
C'est bien.
Oui, juste
pensant sur
l'amount de code,
ça serait
de faire
un programme
imperatif
dans un système type
C'est terrifiant
de remercier
Raycast
pour sponsoriser
notre podcast.
Raycast
est une app
pour Mac
qui est
comme spotlight,
mais avec superpowers.
D'autant que
les files,
les URLs
ou les apps
ont
appris un peu d'autres
features
comme l'histoire de clipboard,
le management de la
Vous pouvez même
voir votre calendrier.
Oui,
j'ai été
Raycast
beaucoup plus léger
dans mon
workflow de note.
Donc,
il y a deux pieces
de fonctionnalité.
J'ai été
beaucoup plus avancé.
Le 1
est le feature de note
C'est un feature
de built-in
en Raycast,
mais c'est
comme un note
C'est
vraiment
facile à évoquer.
J'ai un shortcut
pour ça,
et ça
s'en va.
Vous pouvez
simplement
écrire des notes.
C'est
rien de
fancier,
mais
c'est vraiment
génial pour
le site.
Vous pouvez
utiliser ça
pour
ouvrir votre vault,
qui
ouvre
tous vos files.
Vous pouvez
chercher
les notes,
ajouter
des notes
Il y a
juste
beaucoup de
choses,
et ça
empêche
mon
workflow de note.
J'ai été
beaucoup plus
avancé.
La
2e chose
que je voudrais dire,
c'est que je suis vraiment
apprécié
à créer un shortcut,
un shortcut keyboard
en Raycast.
Ça
change le jeu
quand vous pouvez
faire un shortcut keyboard
pour tout.
Donc,
si vous vous utilisez ça,
je vous recommande
de vérifier
les shortcuts.
C'est vraiment cool.
Vous pouvez aussi
vérifier
Raycast Pro.
Avec Pro,
vous pouvez
faire un bunch de choses
avec AI,
mais
ce que j'aime
c'est
que ce feature
de keyboard
ou un shortcut
que Justin a mentionné,
je peux avoir
un chat
juste un
clé à la main,
et je vais toujours
faire un shortcut
en Google.
Pour apprendre
plus sur Raycast,
vous pouvez
visiter raycast.com
ou vous pouvez
vérifier
l'épisode 38
où nous avons
le CEO Thomas
sur le podcast
pour parler de
le produit.
Vous voulez
adverter
avec le DevTools.fm?
Si oui,
visite
DevTools.fm
sur le sponsor.
Alors,
on va
mettre
le code
T-S-E-S-Lint.
Vous
voulez
dire à nos listeners
ce que le projet est
et
comment
il a changé
dans les derniers mois?
Oui,
je suis très
content d'y commencer.
Le nom
de le projet
est type script
.eslint,
c'est-à-dire
T-S-E-S-Lint.
On
n'a pas
encore
trouvé un titre
qui est
mieux que ça.
En théorie,
on peut
dire
T-S-E-S-Tree
parce que
ça vous
représente
la théorie des notes.
C'est
comment les programmes
programmatiquement
représentent le code.
Mais
les développeurs
n'ont pas
vraiment
d'accord
de la
théorie.
T-S-Lint est
un
toulon
qui
a été
terminé
pour
deux ans.
On ne peut pas
dire T-S-Lint.
Mais
c'est un peu
plus
d'accord.
On a
toulon
terminée.
C'est
plus
eu
une
de ça, et je pense que, à propos de quoi que ce soit, les hooks, comme l'eslan et le prétranger
doivent être nécessaires, et un set de rues pour l'entraînement, comme tout dans le même
projet.
Oui, vous pouvez penser que le mot ou le terme type script eslan est un genre de famille
ou un monorepo des outils et les deux maines sont ce que vous avez déstracté, oui, le
parser et aussi le plugin eslan.
Quels sont les challenges qui sont uniques pour le type script eslan?
Parce que le régulier eslan est, c'est très simple, c'est comme, on est en train de
faire un file, le file est le truc que nous sommes en train de faire, mais avec le type
script, vous avez un whole projet, vous avez beaucoup de différents files et ça
doit être travaillé ensemble.
Oui, l'eslan n'était jamais architecté pour ça.
En fin de jour, quand l'eslan est arrivé, le type script n'était pas un force dominant,
il n'était pas un truc à tout.
Donc, en essayant de travailler dans les constraints du jour de l'eslan, l'eslan est
vraiment difficile et il y a beaucoup de problèmes de cas de l'exercice que nous ne
peut pas parfois pouvoir surmonter.
Pour exemple, si vous avez deux files, A et B dans votre éditor, A importe de B et
vous changez quelque chose de B comme la chose que l'A importe est différente.
L'eslan ne sait pas vraiment pas ce qu'il y a quand c'est lintent A, donc vous
probablement de ré-start l'eslan dans votre éditor, qui est l'une des plus
compléments de la formation que nous avons trouvé en ligne et donc de mettre un FQ ou deux
dans nos docs.
Je dirais que, il y a une initiative long terme qui a commencé sur l'eslan
pour re-devoir l'eslan, il y aura beaucoup de années avant que ce soit
ré-de-en-duible, mais je suis assez excité à ça parce que nous avons parlé avec
ça et je pense que ça va faire des choses beaucoup plus simples pour les
tools comme lesquels nous avons construit.
Oui, on a entendu des rumbles pour ça et c'est vraiment
intéressant parce que je me sens comme des tools fondamentaux qui ont été
vraiment importants pour l'installation de l'écosystème,
en regardant une nouvelle vie.
Donc, nous avons eu une conversation avec l'autor de post-CSS et maintenant
l'eslan de l'eslan de l'eslan est un potentiel de remplacement pour ça et
c'est comme, vous savez, voir, oh, on a appris tous ces lessons
durant les années, c'est comme, on peut faire ça différemment.
Et peut-être que l'approche single file peut être
une chose que le nouveau est capable de faire différemment.
Je l'aime vraiment que vous avez touché, que nous gardons des lessons
et puis appliquer à des nouvelles tools.
C'est comme la façon dont l'industrie fonctionne.
C'est comme, nous ne allons jamais juste avoir un truc et pour toujours,
c'est parfait.
Nous avons toujours de l'interprétation et l'interprétation
fait du pain et du changement, mais en long terme,
je pense que souvent c'est plus important.
Oui, je me sens comme un peu de gens ont
comme un fatigue de travail ou quelque chose
quand il y avait des moments de vraiment rapide interagence.
Mais je pense aussi que mon whole perspective
sur le terrain en bas et en particulier,
c'est que nous avons fait tant de changements rapides
et un temps relativement court.
Je veux dire que l'amount de la tooling
qui a été créée et évoquée et approvée
et ce qui a été assez malade dans ce temps.
Je pense que le fait que nous commençons à s'attendre
sur des bons outils, des bonnes expériences d'experience
et des expériences de développement,
et qu'ils font cela beaucoup plus simple
pour construire ces types de trucs très marquants
des architectures à l'arrivée qui se sont faits
de beaucoup de choses.
Si nous pensons à la fin de 2015,
c'est comme, faire la moitié de ce que nous faisons
maintenant serait un nightmare.
C'est comme, ça a changé beaucoup.
C'est cool.
Donc, on va voir des themes d'envergurement
de cette rélease de typescript ESLint.
Donc, un des choses qui semble être vraiment
poussée au foret de les notes de réellement
est la différence entre format, style et
tous les différents changements de config.
Donc, pouvez-vous nous passer par ces choses
et pourquoi vous avez faimé
avec tous les configs défauts?
Certainement.
J'aime la conversation de flow.
Nous avons discuté comment la change est souvent pire,
nous avons honte,
trois secondes plus tard.
On va parler pourquoi nous avons changé
beaucoup de choses dans un moyen de break.
Parce que c'est bon, c'est utile.
Nous l'avons appris.
Je pense que les trois questions que vous avez
en général,
que vous avez dans un taux de analyse statique
qui se trouve en quelque sorte formatique
d'envergurement.
Il y a format, style et logic.
Je pense que le format
devrait être le truc que vous utilisez pour format.
C'est quelque chose de plus ou plus
communement de print dans le space de JavaScript.
Ensuite, vous avez des questions de style
qui sont un peu difficiles à comprendre.
Et c'est certainement difficile
de faire une opinion qui fonctionne pour tout le monde.
Les questions formatives
seraient des choses comme le space de whites,
des lines de nouvelles, des semicons.
D'ailleurs, le style serait comme
comment vous n'aimiez des choses?
Vous utilisez un syntaxe pour les génériques
ou les arrays vers un autre.
Et ensuite, vous avez l'actuale logic,
qui est l'actuel bug-finding.
Donc, le projet de l'eslan
a déprioritisé les rules stylistes
parce que tout le monde a sa propre
case d'exploitation et des complétences
sur le style.
C'est impossible de satisfacer tout le monde.
Et pendant un temps, nous, en type GPS,
l'inertien de l'inertien
a eu des recommandations stylistiques
dans nos sets de rules récommandés.
Comme vous pouvez l'imaginer,
cela a causé beaucoup de
user pains,
pour mettre un peu de plus de la surface
des gens qui nous ont brisé sur le internet.
Donc, nous avons expliqué
les configs récommandés
dans les récommandés et les styles.
C'est le changement le plus grand.
Comment ça se sent?
Ça semble raisonnable.
Oui, ça fait beaucoup de sens.
Donc, nous allons compliquer plus.
Avec deux autres choses.
Qu'est-ce que nous avons
beaucoup de rules
qui sont vraiment bonnes,
vraiment puissantes,
mais vraiment strictes,
et pas tous les gens veulent.
Donc, nous voulons donner
un preset
où les gens pourraient utiliser
ces règles,
mais nous ne pouvons pas
avoir une base
recommandée.
Ainsi, les utilisateurs
pourraient dire
« Oh mon Dieu,
le type-script de l'inertien
n'est pas possible.
Je vais retourner
au type-script de la surface. »
Donc, nous avons deux
sets de rules récommandés
qui ne font pas des choses stylistiques.
Il y a les récommandations actuales
et les stériches.
Strictes ont tous les
récommandations plus de la surface.
Enfin,
certaines règles
nécessitent de la check de type
pour fonctionner.
Par exemple,
en déterminant
si vous avez créé
un promise de la sync
et vous avez réglé
l'appropriation,
nous avons besoin de
la check de type
pour savoir
si quelque chose
est un promesse
dans le premier endroit.
Donc,
chaque des trois configs
recommandés
stylistiques et strictes
a une version de check de type,
ce qui signifie
que nous avons maintenant
évoqué un total
de six récommandations
possibles
pour les utilisateurs
de choisir.
Je n'aime pas
évoquer six configs,
mais nous n'avons pas
pu faire une petite
plateforme de configs
qui assurderait
les gens
dans une manière raisonnable.
Donc, ceci est
comme le plus petit
set que nous pouvons
venir.
Trois categories de main
recommandés
strictes et stylistiques
et vous avez
des versions de type
check de type.
Est-ce que le type check
est inclusif
de la check non type
ou est-ce que
vous avez juste à
évoquer
les autres
que vous voulez
individuellement?
C'est inclusif,
ce qui est en fait
un changement
dans le v6.
L'an dernier,
le v5 et l'an dernier,
vous devriez évoquer
les deux récommandations
et les récommandations
pour les récommandations.
Maintenant,
nous avons renommé
la check de type
qui aussi s'est récommandée.
Donc, vous savez,
vous avez four ou cinq
caractères.
Ils sont
belles.
Bien.
Oui.
Je veux dire,
je pense que c'est fun.
Une des choses
que j'ai fait
est
de envoyer des issues
et des discussions
dans les PRs
pour les frameworks
comme
Remix et Next
et bientôt,
j'espère, Astro
pour
les mettre
en place
les récommandations.
Maintenant qu'ils ne
n'ont pas les rules stylistiques,
ils peuvent les faire
sans risquer
d'agir
des milliers
d'internet
Je suis personnellement
vraiment excité
de ces précets.
Où ces projets
ne sont pas
utilisés
juste parce que
les rules stylistiques
sont mixés?
Je ne sais pas pourquoi,
mais je suspecte
de quelque chose
de ce qui se passe.
Et aussi,
depuis un long temps,
les types de DSLint
ne ont pas
un site de majoritaires
qui ont été
mis en place
deux ans plus tard.
Donc,
partie du trend général
d'éducation des utilisateurs
et de rouler
les récommandations
ont été
travaillées
avec des frameworks
de plus en plus.
C'est un cycle virtuel
où le plus on documente,
le plus on travaille avec les gens,
le plus on sait
comment on s'improve
pour enlever
les gens
et les gens.
Les frameworks.
Oui, ça fait un peu de sens.
Juste de la curiosité,
est-ce que vous utilisez
dans les projets
que vous travaillez
sur les utilisateurs?
Est-ce que vous utilisez
les règles stylistiques
ou avez-vous commencé
à les déçavérer
par exemple?
Je suis inquiétant.
Vous savez
que votre propre take
sur ceci est?
Je définitivement
utilise les règles stylistiques.
Je utilise Strict,
sur le top,
les récommandations
et les styles.
Je l'ai appris
de la manière
de ne pas recommander
les styles
pour beaucoup de gens.
Par exemple,
nous avons inclus
le T3 app
qui est un template
pour les types de groupes
et les gens n'aimaient pas
l'enforcer
d'utiliser
l'interface
d'une type
ou
des brackets
en lieu d'un array
de generique.
Donc, nous avons déçavé
ces règles
dans le T3 app
de la précaissance.
Mais plus en plus,
si c'est mon repos,
je suis en train de
enlever les styles
et de les enlever
toutes les règles
qui sont en place.
Je suis inquiétant.
Vous utilisez
les règles stylistiques
en tout cas?
Je ne pense pas
que nous les utilisez
tout ça.
Nous avons un code
assez large
et beaucoup
de opinions
en travaillant pitched
sur les tas de règles
climatiques
trajanaporique,
l'aproche
n'est pas
effaroyable
carton
se
foreign
Boston
quand
et des choses. Donc, si il y a une raison très très bonne,
comme ça ajoute un niveau de correcteur,
ou un bon profit,
on va être bien avec ça, mais sinon,
on va essayer de garder les choses très, très sortes de lignes.
Et puis, parfois, c'est une des choses
où ça fait un peu d'un temps
de se faire une bonne intuition
si quelque chose fait votre code-base bien ou pas.
Donc, c'est une des choses
où peut-être les gens peuvent enlever les warnings,
si vous ne vous inquiétez pas, et juste voir comment ça se fait.
Oui, c'est dur.
Je pense qu'il y a des valeurs standardisées sur le code-base
pour que la nouvelle personne ne soit pas questionnée de quoi utiliser.
Mais cette valeur est tellement basée
sur les règles logiques qui vont dire « trouver des buggs »
et qui est encore sur la discussion de quoi est-ce qu'on parle de stylistique.
Pour moi, je considère que c'est plus important
de faire un style qu'il faut figure le style parfait
entre les deux choses identiques.
Je n'ai vraiment pas besoin d'un type pour un interface,
c'est juste un.
Vous vous souvenez d'une guide de code style ?
Il used à être un truc.
Je me souviens d'un travail en 2014.
Il y avait un guide de code style
qui était « ici c'est comment vous devriez faire le code dans notre projet. »
Je pense que le grand truc que j'ai trouvé
à l'époque était
« c'est quoi ? standard ? standard ? oui ? c'est ça le tool ? »
Oui.
Et les gens que j'ai travaillé avec n'auraient pas l'air.
C'est comme « on a un style qui arrive. »
On a vécu de très loin.
C'est incroyable, c'est super, c'est tout le monde.
On a eu des décennies de gens qui argumentent des choses stylistiques
et puis tout le monde se dit « ah, qui cares, on va utiliser le tool. »
Je suis surpris par ça.
C'est super fasciné de regarder la taille de la taille
de la taille de la taille de Prittier.
J'ai été sur des équipes qui ont été non-déficitement refusées.
Ils étaient complètement contre tout le concept de la taille de la taille.
Ils ont besoin de la taille pour faire le bon travail.
Ils ont voulu deux spaces ici et un uppercase là.
Mais maintenant c'est juste standard.
Je pense que Prittier,
vous pouvez dire, d'une manière ou d'autre,
qu'il y a eu des réactions sur les premiers deux ans,
que Prittier a été très opinioné,
vous ne vous disiez pas tout ça.
Et plus tard, il y a des formes,
comme des « D-prints »
qui, pour ceux qui ont essayé de les parler,
sont des formes très bonnes pour Prittier.
C'est écrit en russes,
c'est utilisé en Dino, pour exemple.
« D-print » est beaucoup plus customisé.
C'est pas dans le space où il faut convaincre les gens
de s'arrêter et utiliser le tool.
Prittier est maintenant dans le space où les gens
sont utilisés en Prittier,
et sont satisfaits avec des décisions.
C'est intéressant de voir comment le projet
se concentre sur les réactions
sur les industries.
On est en train de faire la psychologie
dans Prittier, où il est temps de dire
« OK, il y a des choses qui sont d'accord,
comment on va les fixer ? »
Vous voyez des projets de « P-Prittier »
pour paralléliser Prittier
et essayer de les faire vite.
Vous voyez des « D-print »
Je l'ai juste appris de « D-print »
pour les réactions sur les typescript.
Imaginez que je ne sais pas
que sur « D-print »
Comment répliquer Prittier
qui est un tool très opinionné
avec « D-print » et ne pas changer
chaque ligne en ce moment ?
C'est une bonne question.
Il y a deux « D-print »
qui sont ajoutées.
Le « TypeScript »
qui contient la langue de typecript
typechucker et tout.
Ceci est fait par Jake Bailey.
Je vous ai dit que
les typescripts sont très « D-print »
pour les « D-print »
et je ne suis pas le premier source
de deux raisons.
Le premier est qu'ils sont plus
configurables et que les préparations
sont plus grandes.
Ce qui fait un peu plus facile
d'avoir un bon nom,
et aussi parce que c'est très facile.
Je n'ai pas de stats pour les typescripts
mais sur le autre « D-print »
on n'a pas encore converti
les typescripts.
C'est un ordre de magnitude plus facile.
Deux secondes en plus de deux secondes.
C'est incroyable.
Le cas de type script
repos a eu un autre astro-est.
La raison pour laquelle le « D-print » est si slow
est parce que la plupart des typescripts sont en un fil.
Le « D-print » ne fonctionne pas
sur un fil que c'est que large.
C'est juste un peu mind-blowing
que quelqu'un peut travailler.
Tout le type script est en un fil.
C'est un bon exemple
pour ce qu'on considère
comme être « goods tooling ».
« Oh, oui, votre file ne devrait pas
exécuter 1000 personnages.
Non, checker.ts
est une de la tante de mille de lines
et est construite par les équipes
de la plus grande entreprise
de la history de typescripts.
Le type script repos
prédate les modules d'acro-script
jusqu'à
jacques bailey, il y a quelques années.
Ils n'ont pas été rété, ils avaient
auto-migréé.
Pour cette saison,
les prototypes s'auje
J'ai eu un peu de tabs, qui ont été fermés dans les mêmes choses,
qui ont été expliquées dans différentes manières.
La deuxième chose était que je me suis dit que je vais juste trouver un truc et replier les choses très facilement.
Je me suis dit que oui, mais tu peux faire ça, avec des piles de mini-piles.
Je ne sais pas.
Ce sont des problèmes de compétition de projets différents.
Le type-chip ne doit pas être aussi amusant aux nouvelles couvres,
car elles ne sont probablement pas contribuées à la langue.
Et puis aussi, c'est aussi un cas de performance qui est crucial.
Elles ont besoin d'utiliser des hautes,
et elles ont besoin d'utiliser des numéros en un peu plus de billes,
et elles ont besoin d'utiliser des numéros en un peu plus de billes,
en fait, des littéraux de string, car ça vous permet d'utiliser un peu de billes par mot.
Ce sont des projets différents,
qui sont, dans la majorité, des projets de mot, de réact, etc.
Et la question des javascripts, c'est de se faire des décisions
pour que ce soit un petit bout de black box,
et que c'est un peu déterminant.
On va juste joindre les modules,
et voir comment on pense qu'ils seront joindres.
On va dire,
« C'est pas important, mais peut-être, en leur cas, c'est possible. »
Un autre chose qui a été en mon avis,
c'est l'objet de cash.
Et par extension, le type-chip, l'objet de cash.
Donc, on va commencer par,
« Comment je peux cacher les choses avec le type-chip de l'escalier ? »
Le problème avec cacher un type-chip de l'escalier,
c'est que le type-chip n'est pas décédé pour être extrêmement cash-friendly
à l'éloignage de l'escalier.
En théorie, un changement dans un file peut impacter
presque aucun autre file dans votre repo,
selon comment les files sont structurées,
ou les types sont déclarés.
Vous pouvez avoir des types globales,
et un file A, ça impacte le file B.
Et il y a des moyens pour travailler sur ces références,
ou pas en utilisant des choses qui ne sont pas cash-friendly,
mais vous n'avez pas besoin d'utiliser.
Je ne fais pas de l'escalier,
je ne sais pas si c'est le nom de l'escalier.
Je ne fais pas de l'escalier, c'est génial.
Je dirais que la performance est probablement la plus grande concernée
pour le type-chip de l'escalier,
maintenant que nous avons pu faire le site dans le dog,
et que nous avons travaillé sur les configs.
Donc, jusqu'à l'escalier,
il faut avoir des concepts de type-chip de l'escalier
ou des expériences de multi-files pour cacher.
Je ne sais pas si la priorité pour PURF
va être de utiliser des API type-chip
qui sont plus perffrements que les currently-usant.
Ce qui est un effort en haut,
que les gens peuvent essayer maintenant.
Nous avons ce nouveau code de commande-line flag,
non, pas de commande-line flag,
nous avons cette nouvelle option de parser
qui est l'expérimentaire de service project,
qui change les APIs que type-chip B
utilise pour la check-in de l'escalier
d'un autre set d'applics qui ne sont pas super perffrements,
à un nouveau set d'applics,
qui sont les mêmes que les services de langage
et les codes de VS.
Nous espérons que ces services
vont speeder les choses et qu'il ne faut pas les configs
sur les sens des utilisateurs.
Mais c'est expérimentaire,
nous avons vu tout ce que nous faisons
de la performance de negative 11%
plus de 50% de performance.
Donc, 11% plus, 50% plus,
et puis il y a des bugs avec ça.
Donc, on va essayer de les apporter
et de les apporter pour nous,
parce que nous voulons vraiment
aller bien pour ces 7.
Au lieu de ceci,
comment est-il la performance ?
En fait,
c'est un peu comme un type script
de la performance,
mais je dirais que
la performance de la performance
ou de la performance de la performance
en général,
c'est un peu comme un basse-line
mais peut-être que la assumption
est très faite,
peut-être que vous avez beaucoup à faire.
C'est une question très belle.
Pour la performance de la performance,
la façon dont nous travaillons
pour la performance de la performance
est qu'elle s'appelle
à notre parcerie
pour générer la structure,
la ST,
comme c'est appelé,
à utiliser.
Donc, je n'ai jamais vu
une performance complète
avec la performance de la performance
de la performance de la performance,
par exemple,
par exemple,
c'est très bon,
le prédio est très rapide,
c'est un peu comme un projet.
Pour l'ESLint,
c'est la même chose,
en fait,
si vous ne comptez pas
le type-checking,
qui est un autre type de la performance,
on est rapide,
l'ESLint native est rapide,
et si vous ne utilisez pas le type-checking,
oui,
le cashing pour l'ESLint
fonctionne,
mais c'est tellement rapide
que je n'ai jamais vu
être un grand changement de jeu.
Le problème de la performance
qui arrive quand vous enlève
les types-checking rules,
c'est parce que c'est appelé le type-script.
Le type-script type-checker
est très puissant,
mais c'est plus rapide
que le standalone linter.
C'est un plus rapide
que le standalone linter.
si nous faisons tout le temps,
on ne va pas être plus rapide
que le type-checker
sur les files que vous enlève.
C'est un peu comme la wall.
Quand quelqu'un
ré-write le type-script
en Rust,
ou en Go,
on va avoir un nouveau wall
que nous pouvons
strier.
Mais jusqu'à ce point,
c'est notre
le meilleur cashing.
Oui,
je ne peux pas attendre
l'ESLint ré-write.
Littéralement,
le plus rapide
que l'on voit
en RCI,
c'est l'ESLint,
pas l'ESLint fault.
On a beaucoup de rues
et beaucoup de codes,
mais c'est juste
tellement frustrant
que ce n'est pas
une solution.
Je ne peux pas faire le cashing.
Je dois attendre
ce ré-write.
Et pour le RCI,
surtout local,
tout est très rapide.
Mais pour le RCI,
on fait des
jobs sur
chaque comité,
chaque piece de code.
Et parce que c'est pas
cashing,
on peut attribuer
des milliers de heures
de compétition.
Mais le cashing
a été spent
pour les choses
qui n'auraient pas besoin
de les linterer.
Je souhaite
que les tools
de cashing
soient un premier class
parce que
vous avez l'air
d'un issue environnemental.
Si on est
malade
pour les services
pourquoi
n'est-ce pas
malade
pour les services
de la RCI
qui n'auraient pas besoin
de la RCI?
C'est un grand point.
Je vais dire
qu'il y a
deux classes
de questions
que j'ai vécues
avec ESLint
ou type 2.0.
L'un est un truc
fixable.
Il y a des
des gatches
qui sont des
des plugins
qui peuvent être
sains et configurés.
Si vous utilisez un plugin,
surtout nous
ou ESLint plug-in importe,
vous pouvez
voir si ils ont
une entrée pour
la performance.
Parce que
les plugins
sont importants
et types could be
ESLint
qui doivent être
passés,
c'est-à-dire
des shenanigans
qui ont des gatches.
Et puis,
les secondes catégories,
oui, vous avez
évoqué 500 règles
et la moitié de ces
types de checkers,
donc les choses vont être
sains.
Bonne chance.
Je me demande
combien
de la viabilité
il y a
de testes
de Delta,
de testes de files
changés,
ou si il y a
de performances
de bénéfices.
Je me souviens
d'un co-worker
de mine
d'Artsy
David Sheldrick,
qui était notre premier
guest,
a écrit
une libraie
et c'était
une libraie
de C.I.
Et c'était
la même
chose
que
Versel's
Turbo Repo
qui fait
des dépenances
et des choses
les plus
peufiles
possible,
je pense.
C'est
comme si
les types de checkers
sont les
les plus
difficiles,
parce que
vous devez
mettre tout en
place.
Mais,
avec
l'esprit,
c'est typiquement
un fil de fil,
peut-être
suffisant.
Oui, je vous recommande
si les gens
sont en train de
faire des billes
et que vous avez un grand repos,
je vous recommande
quelque chose comme
l'ex ou le Turbo Repo
à ces jours,
pour le placer.
Vous avez le cashier
par
le repos
de la compagnie.
Donc,
j'ai un exemple
de mon préféré
de l'intervier
de pas de promesses.
Il dit que si vous
créez une promesse,
il faut être
réveillé.
Si vous avez
une function Async
et vous appelez
cette function,
vous devez faire
quelque chose comme
un wait-it,
ou un dot-catch,
ou un tricatch,
ou quelque chose.
Juste,
faites-vous bien que
si vous faites
une promesse,
ça pourrait réveiller,
c'est réveillé.
Et,
on va dire
que chaque single
file de votre code
s'appelle
pour
cette
function.
Et,
vous vous switch
cette function
de la version
Async
à non Async,
ou peut-être que
ce n'est pas Async
et maintenant,
chaque single file
de votre code
doit être checké,
parce que cette function
peut réveiller
pas de promesses,
si ce n'est pas Async.
Ou,
peut-être que
ce n'est pas Async,
il faut que vous
avez un peu de temps
qui réveille,
ce qui est un autre
de mes préféres
de la version
de wait-it,
il faut que vous
réveille quelque chose
qui doit être réveillé,
si c'est un numéro,
ou quelque chose.
C'est pas le point.
C'est pourquoi
le casque est difficile,
parce que même si vous avez
changé un file,
si ça se passe
à un file que tout le monde
utilise,
directement ou transitivement,
vous avez un peu
de failures,
peut-être que vous n'avez pas
été connu en CI.
Je serai très
intéressé
à voir quelqu'un
faire des typescript
de la dépendance
pour voir
quel file
il faut être réveillé.
Peut-être que vous
pouvez
se faire
un petit subset,
mais ça serait
encore le plus
mauvais,
un peu de vos files.
Donc,
vous vous êtes tous
très déçus
à ce sujet.
Est-ce que vous vous êtes
déçus?
Je pense
que les ramifications
sont les plus
Je me sens
que les typescript
vont probablement
avoir de la procédure
du tout.
Je ne
ne peux pas
le voir.
Je ne sais pas
que vous êtes
en train de faire
ça.
Je me sens
que ça serait
un problème très,
très dur.
Et si quelqu'un est
vraiment
très excité
sur des problèmes,
je vais vous
vous donner un try.
Oui.
Vous êtes bien?
C'est un problème très dur.
Et les typescript
doivent être réparés
pour savoir
que quelque chose ne change
d'autres choses.
Oui.
Je pense que
ce serait
le plus
tractable
problème ici.
Je pense que
c'est possible
que cette
procédure
soit invoite
pour être
le plus
faible type.
C'est un
simple
truc,
peut-être.
Je ne sais pas.
Mais c'est un
problème très intéressant.
Depuis que vous avez
pensé à des
typescript
rules,
vous avez probablement
pensé à des
practices
de typecript.
Quels sont
vos tips
de
practices de typecript?
Je n'ai pas
rien à
dire,
et personne ne le
dit en réponse
à cette question.
Il devrait être
100 %
toujours le
correcte.
Il y a toujours
des cas de cas
et des considérations.
Mais
des types infertifs
sont des types infertifs.
Je pense
que si vous avez
écrit des types complexes
dans votre type,
et que les types de typecript
n'ont pas été infertifs,
c'est
pas tout le temps.
C'est un
temps de waste.
Je vois des gens
faire des choses comme
constname
string
equals quote
et un nom.
Vous ne dites pas
typecript
n'est pas
déjà non.
Il sait que
le nom est un
string.
Et en fait,
il y a des informations
si vous dis que c'est
le string général
et non
le nom est
littéral.
Donc,
surtout quand vous vous
avez des types
où les types de typecript
n'ont pas été infertifs,
vous allez faire
les types infertifs.
Savez-vous
le pain
de faire des choses.
Oui, je vous ai
d'accord avec ça.
Est-ce que
l'opinion
est de
types de retour?
Ah,
parfois.
J'ai vu
beaucoup de
functions
qui ont le type
explicit de retour
ou de voie.
Et puis c'est
le même chose,
surtout avec le string
où peut-être
les types infertifs
n'ont pas été infertifs.
Je vais dire,
parfois,
les types infertifs
n'ont pas été infertifs.
Je ne dis pas que c'est
incorrect.
Il y a des cas
débattables.
Vous voulez
une rétour
de 15 différents objets
ou un type
de interface
ou un type
de type
discriminatif
qui est un autre truc.
Donc,
si
les types infertifs
n'ont pas été
infertifs,
et oui,
explicit,
je vais dire
que je suis correcte.
Mais,
pour la plupart,
ce n'est pas le cas.
Oui,
les types de retours
me font beaucoup.
On les a sortis
sortis de renforcé
dans notre repo,
et puis je suis à un component
réact
qui retient un element J.S.X
et ça n'est pas correct.
Et c'est juste
que je suis battu.
Surtout avec les
components de ref
pas de temps
drôle.
C'est l'un des cas
où le type de script
s'est plus difficile
d'utiliser
les components generiques
et des propres,
et les types de ref
et tout.
C'est difficile.
Mais c'est
conceptuellement difficile.
Les humains ont un temps
difficile de décrire,
mais les machines
sont les mêmes.
C'est l'une des
les mêmes que j'ai rencontrés
le type
possible
d'infinite.
Pas un fun
de venir across.
Et un peu
de codes de design
que j'ai créé
dans les années,
qui ont été
reculés
comme des refs,
parce que
ce n'est pas
le cas
si vous faites un
component polymorphique.
C'est l'un des
petits achievements
de beaucoup de choses.
Vous ne vous espérez pas
qu'on soit...
quelqu'un devrait
mettre un code de code
de VS
qui met un style
de style Xbox 360
à la fin
quand vous faites quelque chose.
C'est incroyable.
Alors,
nous allons
poser la question
à la prochaine.
Vous avez
des opinions
sur la code de Async,
quoi sont ces?
J'espère que
les codes de Async
sont en général
facile à faire.
Donc,
essayez de
trouver un pattern
qui est lentable.
Par exemple,
juste évoquer
les types de BES
ou si vous pouvez,
même les configs stricts.
Ils vous permettent de
prendre beaucoup d'issues.
Je pense que si vous vous faites
un promesse,
vous faites un évoquer
et faites quelque chose
qui peut être
détenu
dans un moyen
qui fonctionne bien.
Ce que je veux dire
c'est que
si vous avez
beaucoup de fonctions basées
et que vous ne voulez pas
constamment râper
et que vous essayez de
prendre un call logger
si vous avez faim,
considérez que
un helper de shared utility
peut prendre un call Async
et le faire
en train d'attendre un call logger
si il ne réjecte.
Mais,
honnêtement,
si vous faites des choses
dans un moyen
qui peut être un type de rule
qui peut assurer que vous soyez
bien,
vous êtes dans un bon place.
Comment vous réévoquer
un code qui n'est pas
pu être connu par ces règles?
On va prendre l'exemple
d'un on-click.
On dirait que vous faites
un code UI
et vous avez un bouton
standard,
et le on-click
peut être
une fonction.
Si vous voulez
passer
un logic Async,
on-click,
le bouton
commence à spinning,
tente un call logger
pour que le service
soit terminé,
et que ça soit un autre.
Vous passez un on-click
à un on-click.
Si vous déclarez
les on-click,
ou des équivalences,
comme un void
et que ce promise
réjecte,
vous n'avez pas de code
pour le réjecteur.
Si quelque chose
peut réciter un call
Async
ou un on-click,
je vous recommande
de le marquer
comme un void
ou un on-click
Donc,
le call
dans le bouton
peut être réprimé
avec un on-click
ou un on-click.
Sur un t scares à un on-click,
H° ou
Je pense que, évidemment, relier ce nouveau changement de break-in et des nouvelles règles et tout,
et aussi comment intéressant ou difficile c'est de garder en place avec typescripts,
comme le cycle de relance, ils relient relativement,
et ce n'est pas trop souvent, mais c'est un stéthique cadence,
et il y a des syntaxes qui ont été introduits recentement.
Est-ce que ça a été un challenge de mettre en place des syntaxes réellement réellement ou relativement?
Et puis peut-être une question de follow-up, est-ce que c'est quelque chose de ce qui est venu,
que vous avez vu, parce que vous êtes travaillé sur ça,
ou que ça a été récentement révéler en typescripts que vous êtes excitées à?
C'est quelque chose de nouveau dans la langue?
Je pense que vous avez références à l'an dernier, la paroles de utilisation.
Ce qui est intéressant, c'est que les typescripts de 2023 sont très peu de changement en typescripts,
et c'est un peu plus de changement, mais c'est un peu plus de changement.
Et c'est un peu plus de changement.
Ils sont vraiment contents de comment ils ont été révéler.
Il y a un beta, un candidat révéler, ils ont un whole issue,
qui est connu avec le plan à l'heure.
Je dirais que, parce que nous sommes un projet indépendant,
nous n'avons pas toujours le temps à l'heure.
Parfois, il y a une semaine ou deux entre typescripts et la version plus minue,
et typescripts sont en support.
Mais pour les plus récemment, la dernière année ou la semaine, c'est été très bien.
Pourquoi ont-ils été élus? C'est le plus mauvais.
Comment vous googlez ce type de type de type?
Vous avez été élus?
Oui, j'ai été élus.
Qu'est-ce qui est un plus mauvais type de type?
Je ne sais pas ce que ça fait.
Qu'est-ce que l'on utilise?
Je me sens un réveil de flabbergasse.
Je ne sais pas le nouveau type de type de type de type.
Je suis en train de se faire mal.
Comment pouvez-vous ne pas savoir tout nouveau type de type qui vient de...
Ok.
C'est...
Les gens ne vont jamais utiliser ça.
C'est bien.
Mais l'idée est que, si vous créez un nouveau type,
il faut être disposé.
Si vous recueille un file de disc,
ou faites un pilon de la file,
il faut toujours appeler un méthode disposable.
Dans d'autres langues,
certains ont un concept disposable,
qui est un objectif qui a un méthode disposable.
Dans JavaScript,
il y a un objectif symbolisé,
qui peut être utilisé comme un clé sur l'objectif,
pour dire que si vous créez ce objectif
avec le nom de l'usage,
alors que si cet objectif est à l'escope,
donc à l'extérieur de la fonction,
ou à blocs,
puis le nom de l'usage est posé sur l'objectif.
Si vous avez un file,
il va être utilisé comme un pilon de la file.
Et aussi, vous pouvez créer un code synchronisé,
qui est pourquoi nous avons utilisé et utilisé un weight.
Et la seule raison que je sais ça,
c'est parce que nous avons eu un problème,
et puis un pull request pour impliquer le type qui est isolé.
Je n'aurais jamais été profondé,
car je ne fais pas beaucoup de programmations disposables.
Mais apparemment, c'est assez utile pour certains secteurs de programmation.
Et beaucoup de gens sont très excitées
à ce landage en JavaScript,
et donc en TechScript.
Oui, Adam, l'éditant Adam,
a eu leur propre classe d'émite d'évite,
et cela avait été disponible comme une première classe.
C'est comme un concept de première classe.
Vous avez créé une nouvelle émite d'évite,
et cela aurait été une fonction disponible,
et vous pouvez le dire plus tard.
Je me souviens toujours de la pattern,
mais c'est intéressant de voir les classes de l'évite,
pour les langues.
C'est intéressant de voir comment ça s'adresse
à un symbole,
et la définition est un peu bizarre,
mais je pense que c'est utile.
C'est un exemple très bien,
de ce que nous avons parlé avant,
d'éviter comme un langage ou d'écosystème.
Les gens ont été en cours en JavaScript
depuis tant de décennies,
et nous avons vu toutes les patterns communes,
et nous les évoquons en langage,
comme en utilisant,
et en fait, la pièce d'opérateur,
c'est très excité.
C'est comme mon grand plus grand,
de la pièce de JavaScript.
Il y a des choses qui disent que c'est compliqué
de faire en langage en JavaScript,
mais je dirais que,
précédemment, vous avez déjà besoin de la apprendre,
c'est juste que chaque projet a fait un autre de nouveau,
donc il y a une façon de la apprendre,
et donc, des docks,
et bien, peut-être que le projet l'a documenté,
peut-être pas.
Un autre qui me fait penser
que vous avez juste décrit des signes,
c'est le mot de la langue
et je pense qu'il y a des propositions.
C'est incroyable.
C'est un moment très grand,
et il y a des aspects
de la pièce,
mais ça fait longtemps
que je peux les faire.
C'est comme la discussion pipeline,
il y a des différentes manières
pour impliquer les pipelines,
et tout ça,
c'est comme un programme functional
qui se passe de la porte,
je vais faire ça de ma manière,
et je vais faire ça de toute façon,
je veux ça,
et je vais faire le coup de vue.
Des programmes functional et des opinions difficiles,
une vérité de l'univers.
C'est un truc,
il y a toujours des opinions
de la faute,
vous avez dû faire beaucoup de paix
pendant les années,
et vous avez...
Oui, je dois imaginer
que quand quelqu'un travaille
dans un paradigme qui travaille très bien pour eux,
et est beau et clean, le fait que c'est functional,
c'est beau et clean, et ils doivent aller
au reste du monde, où nous avons
des références utiles, et vous n'en avez pas
ces guarantees utiles, c'est
d'être négatif de ne pas le faire
comme c'était avant.
Oui, c'est tout mon parenthèse,
j'ai besoin d'autres paroles.
Ok, donc, en suivant les questions
de la question de la rap,
avant de nous demander
la prochaine version de TypeScript ESLint,
qu'est-ce que votre épicier
est de la dévité ?
Les gens ne doivent pas compliquer
quelque chose si ils ne sont pas
au niveau surface, ils ne comprennent pas
pourquoi les gens l'aiment. Et je vous le dis
parce que c'est un stade universellement
d'un coup de la tarte, mais le cours de tailwind
en particulier a vraiment été rubri le même
de l'autre. Les gens sont tous
excitées à comment le tailwind est le dévile,
ça réunit votre capacité de faire le CSS,
ou le tailwind est le seul moyen de faire le CSS,
vous ne pouvez pas utiliser
des modules ou quelque chose.
C'est tout le monde.
Le tailwind est bien,
d'abord parce que ça fait vraiment facile de faire le styles,
d'autre parce que ça fait que vous comprenez des
styles de design de style de style et vous avez
beaucoup de bonnes libraries de utilité.
Et, tout le monde, c'est
le début de la discussion.
Si vous préférez le tailwind versus pas,
c'est à vous, de différents styles,
la industrie va se développer dans les next 5 ans
ou quelque chose de nouveau.
Mais mon Dieu, la quantité de visage que j'ai
vu sur l'internet sur cette issue spécifique
est ridicule.
Pourquoi nous sommes malade à ce sujet ? C'est méchant.
Oui, la utilité du CSS n'est pas nouvelle.
Pourquoi est-ce que tout le monde est malade à ce moment ?
Et à l'argument que les gens sont
d'ailleurs, c'est un bon moyen de commencer
à utiliser le CSS, je vous dis le même
d'autre. Le tailwind
est phénoménal.
Et si vous voulez apprendre ce que le dévile
est, c'est probablement le meilleur place
d'en faire.
Ils vont vous dire en détail
avec un exemple visuel
et d'autres CSS.
Disant que ça a hâte
votre habileté de CSS.
C'est très faux, je pense.
Si quelque chose vous aide,
il y a des tracts et c'est
qu'il n'y a pas de super déplication
de CSS que 5 articles
ont besoin de ces rules.
Ce sont les les plus belles.
Je n'aime pas le tailwind personnellement.
Je préfère un build
de design, de vanilla extract.
Pour moi, je souhaite que
le tailwind soit plus facile
de faire en stade, comme avec les typescripts.
Mais je n'aurais jamais
pas pu tolérer quelqu'un basher le tailwind
sans une explication propere
de pourquoi et quand vous le devez
exprimer le bashing.
J'aime le tailwind, c'est génial.
C'est juste la nuance de communication
en online. C'est la plupart des fois
sur Twitter.
Vous ne pouvez pas faire
beaucoup de 180 personnages.
C'est vraiment facile de faire
un truc de la même manière.
Mais aussi,
des gens qui
apprécient de ça, et ils ont
travaillé beaucoup de temps pour les problèmes
des gens.
Comment est-ce que c'est
si stupide que ça?
Comment êtes-vous
plus bon que tous ces gens?
Et vos opinions sont belles
et vous savez mieux.
Il y a plein de hubris
dans notre industrie, pour sûr.
Qu'est-ce
pour typescript ESLint?
Vous avez une idée de ce que v7
va tenir? Je n'ai pas une idée
d'experimentation.
J'espère que le plan d'expérimentation
d'experimentation de l'experimentation
sera stabil.
C'est difficile de dire, c'est très expérimental.
C'est quelque chose que nous n'avons jamais
essayé de produire avant et il faut
être flushé. On a déjà eu
quelques typescript pull requests
pour nous utiliser.
Mon rêve serait que nous
ferions très peu de choses changées
dans les configs, parce que les gens
n'aiment pas le manière dont ils sont, et la
performance est complètement solide et
belle avec le service project.
Mais honnêtement, c'est assez plus tard.
Si quelqu'un est intéressé en nous
ajouter cette zénutopia,
s'il vous plait, j'aimerais essayer
le service project sur votre repo et voir
quel horreur vous allez en faire
en essayant l'assistance de l'assistance.
Avant de transition dans les tools tips,
j'aimerais vous poser une dernière question
en particulier sur comment
d'être un indy dev en travaillant
dans les sources ouvertes.
Quels sont les bons, les mauvaises?
Comment est-ce que la vie vous est
en train de vous faire ?
J'aime, ça me permet beaucoup de
liberté. Je viens de travailler sur des projets
qui sont cool et fun.
En une semaine, je vais parler avec les folks
de Bloomberg ou de la équipe TypeScript.
En une semaine, je vais travailler
sur mon package de TypeScript.
C'est cool.
Le fondament n'est pas grand, mais j'ai passé
la vente minimum de New York State
l'année dernière, c'est assez excitant.
Mon dernier accomplissement a été la dernière année
passée à la Pennsylvania,
ou la vente minimum de la fédérale.
C'est bien.
Je dirais que les sous-tracteurs sont
que j'ai besoin d'efforts pour
bâtir du ménage sur Internet, ce que j'ai fait.
Merci pour la reminder.
Pour vous, les étudiants, les
les listeners, et tout le monde,
donnez-moi du ménage, sponsorisons moi
et github, sponsorisons TypeScript.
Je ne serai pas capable de faire ça
toujours sans votre soutien.
Et aussi, c'est quelque chose que j'ai
appris en plus.
J'ai mis en place un ménage, un mentor,
un manager, des co-workers, un projet
d'affaires que je travaille sur,
un pym et un designer,
et tout ça.
Vous avez beaucoup plus de mieux de ça,
ce que j'ai aimé et que je n'ai pas
vraiment apprécié quand je suis
un plus traditionnel industriel.
Si vous savez, peut-être que je vais retourner
pour ça. Peut-être que je ne vais pas
mourir à mon espace pour l'insurance de santé
pour toujours.
J'ai bien aimé le moment.
Je pense que c'est un rêve commun.
Je ne sais pas, c'est juste une des choses
qui sont...
C'est un peu cliché à ce point, mais
nous avons besoin d'un ménage plus bon
pour que ça continue à être vrai.
C'est comme, on a eu beaucoup de temps
et de vie en travaillant sur ces problèmes
qui font que tous ces entreprises
ont des moyens,
et idéalement, c'est sympa
si ça a été un peu étendu.
Je pense que, long terme,
j'aimerais augmenter la pression
de nos entreprises pour utiliser les plateformes
comme des sponsors pour
trouver leurs dépendances, ou faire
que des plateformes comme TideLift, ou ThanksDev,
ou StackAid, que vous donnez
des lumpes, et que vous distribuez
automatiquement pour vos dépendances.
Je pense que c'est sympa. Juste que SendTideLift
a eu 500$ au mois de check
et a fait le décider
qui a le temps de faire le ménage.
Je voudrais aussi trouver
le temps de travailler sur ces projets.
J'ai commencé avec Rizelle Scarlett
de Github, qui a été appelé Open Contributions,
où nous essayons de faire des ressources
pour aider les gens à l'advocation pour leur company.
J'ai pas eu beaucoup de temps pour ça, mais
j'espère que dans les prochains 6 à 60 mois
ce sera réalisé.
TPD.
C'est un problème difficile, car
l'air d'une source à l'essence
est complètement opposé à tout le monde
dans notre société.
Vous expliquez ça à quelqu'un
et ils disent que c'est un truc
et cela fonctionne, et les gens
travaillent pour les uns et vous dites
oui, et ça ne fait pas
aucun sens avec tout ce qu'on fait
ou le monde, vraiment.
On est en train de
faire des ressources, si c'est socialiste
ou anarchiste, ou d'autres, d'utopie, dans le
boulot de la société capitaliste.
Et tout de même, ça ne fonctionne pas bien.
Qui a pensé ?
Ok, avec cette note fleurie,
on va faire des tôtips.
Avec cette
sensation de foussière que nous avons dans nos
stomachs.
Ok, vous savez le dril,
donc je ne vais pas dire le dril.
Ok, donc,
mon premier tôtip cette semaine est
Valibat.
Valibat est un replacement
pour Zod, qui a été construit pour essayer
d'être le petit possible.
Et il sport un bundle
de 300 bytes
à partir de ce que je ne sais pas
comment c'est possible, ça semble être un
sentiment de l'anglais.
Mais si vous avez pensé
que mon 10 kilobytes de dépendance
est trop grave, je dois
une dépendance de 1 kilobytes pour
la validation type, vous pouvez vous donner un
petit coup. Je vois un peu de pop-up sur mon Twitter
et beaucoup de gens
ont été épargés pour des raisons différentes.
Vous pouvez le voir.
Je suis tellement tordé sur ça.
C'est génial.
J'aime vraiment que c'est si petit et
c'est capable de être tellement profond.
Et je pense que, en tant que compétition
d'écosystème, c'est en plus tard
que les zones de validation de TSS.
Mais aussi,
comme vous l'avez dit, c'est le
nombre de Zod, un problème?
Oui, quand on vit dans un monde où
si vous voulez ajouter
un lot de animation à votre app,
c'est 300 kilobytes de JavaScript
plus 200 kilobytes de JSON.
C'est comme, 10 kilobytes ne
ressemble pas trop mal.
Ensuite, on a Nip.
Oui.
C'est...
C'est difficile de regarder ce repo
sans chockeling.
Nip,
qu'est-ce que c'est?
Nip, avant de chockeling, ou quelque chose comme ça?
Sur le readme, il y a une photo de un
caout avec des sortes de laitiers et
des caissons générées avec OpenAI.
Mais c'est un tool utile.
Shoutout WebPro,
ou WebProLific, pour
faire un pet nommé Lars.
C'est un library de détection
pour des files,
des constructes et des fonds.
Et c'est très fort et puissant.
Il détecte des types, des valeurs,
des fonds
qui sont décléés dans votre package JSON,
mais aussi des fonds
que vous importez par les fonds, mais
qui sont dangereux quand vous vous portez.
J'ai vraiment aimé l'utilisation de tous mes projets.
Je vais vous dire,
que je vais vous dire que
j'ai eu un peu de temps de faire un blog
pour vous dire que j'ai consulté
une personne avec une compagnie et
j'ai trouvé plusieurs files
et des codes qui sont
parmi les deux fonds.
C'est un tool très grand, K&IP.
Je vais probablement utiliser ça
après la récordation.
J'ai l'intérêt de cet outil.
J'aime trouver des fonds de laitiers
qui sont délicates, mais si j'ai un outil
pour me délire avant que ces changements
soient mergés, je serai heureux de le signer.
Vous pouvez le mettre en place
comme un script sur CI?
Oui, c'est la meilleure partie.
J'ai trouvé un outil de laitiers
qui se trouve en CI
comme d'autres, linter ou formateur
en mode check.
Je l'ai créé
et je n'ai pas utilisé plus.
Je vous recommande de l'enlever
et de la faire un step CI
pour bloquer les PRs.
C'est vraiment cool.
Ensuite, un autre project E-ink
de l'E-ink Fiend
qui s'est créé.
C'est un peu en brand pour moi.
J'ai une fascination
depuis Pebble, j'ai une fascination
avec E-ink Watches.
J'ai donc
une autre E-ink Watch
de l'SQF MI.
Je n'ai pas l'intérêt
de ce modèle, mais
Homebrew E-ink Watches
sont vraiment fascinantes. Il y a un autre.
Je ne sais pas exactement
quel modèle
il est créé
sur Lilligo
Il y a
ce type de
T-Risk E-paper
ESP32
ou des autres.
Mais le GitHub que j'ai créé
est le système de operation
pour ça.
Je ne sais pas, c'est vraiment cool.
Si vous avez voulu
jouer avec
votre propre hardware
et faire votre propre watch semi-smart
de toute façon, vous pouvez le vérifier.
Il a un bon modèle.
Je ne sais pas.
C'est super.
Je ne veux pas le acheter
parce que j'ai trop de...
Mes électroniques
sont comme un grand détail
d'E-ink devices.
C'est un bon modèle.
Il y a un modèle Apple Watch
qui est assez cool.
C'est intéressant.
Il y a beaucoup de standardisation
des bandes de la même size.
Apple fait ça
pour une raison, aussi.
Il y a des bandes de la même size.
On va continuer avec le type script
de la thème.
J'ai vu un projet de la série.
On a des gens qui disent qu'ils aiment ça.
C'est le Quiesly type safe
SQL Query Builder.
Il vous donne un tour
de code Gen
pour générer les types de votre base code.
Vous avez un bon Query Builder
qui est un type d'égoïde.
Vous avez tous les strings auto-completés.
D'où je l'ai lu,
comparé à Prisma,
car ce n'est pas un orme
et vous pouvez construire
des queries plus complexes
que vous pourriez
dans un setup Prisma.
Si vous avez regardé quelque chose
qui vous intervient
dans votre database en un type safe,
ce serait le moyen de le faire.
Vous avez des opinions sur le type safe database access, Josh?
Je pense que vous devez le faire.
Je n'aurais jamais été
donné la choice sans orme.
Je vous souhaite un shoutout si quelqu'un
reconnait le sub-tweet
que je vous ai dit.
Je pense que c'est génial.
C'est vraiment fun d'utiliser quelque chose comme Prisma.
J'aime voir des innovations et des compétitions.
Je dois le faire.
D'ailleurs, leur site est beautiful
quiesley.dev.
C'est vraiment bien fait.
Je me demande comment ils générent les types pour ce schema.
Ils ont un package code-gen
qui fonctionne
sur votre database.
Et je pense que ça aussi
fonctionne sur les types Prisma.
Je ne sais pas comment ces tools
vont ensemble et pourquoi vous l'utilisez.
Mais vous pouvez.
Est-ce que ça intégrerait bien avec Prisma?
Ils ont un code-generator
avec Prisma dans le nom.
Je pense que ça fonctionne.
Mais je ne sais pas pourquoi vous l'utilisez
avec les types Prisma
et les builds de query.
C'est pas grave.
Prisma ne toujours
génère pas de queries
pour la performance.
C'est juste une trade-off qu'on a
de la box de vraiment aucun R&M.
Si vous avez besoin
de faire quelque chose,
tu peux faire des queries pour une particularité.
Ou faire quelque chose que Prisma
ne peut pas expérimer
des primatives basées.
Je voudrais voir un futur
qui se débrouille
et qui fait que les gens s'en essayent.
On se fait faire le même.
Et ça se fait en train de faire des tools
comme Prisma.
En fait, nous avons deux laitiers
de super support.
YOLO, vous êtes sur votre part.
Nous avons un petit tiers
dans les deux.
Cool.
A la prochaine, nous avons
l'article de Wikipedia
sur la communication non-violente.
Oui. Je pensais que ça serait
très bien pour ma complétation
sur Tailwind.
Je l'ai lu un moment ago
sur la communication non-violente
par Rauchel Rosenberg et ça a vraiment changé
comment je suis approché des discours,
en person et en ligne.
Et pour les starters,
n'hésitez pas à utiliser ça avec un espace
parce que ma fille ne m'a pas apprécié
la manière dont je l'ai toujours rephraté
tout comme une question, immédiatement après
la recueillie de l'article.
Mais c'est, en théorie, une méthode
très bonne, de comprendre où les gens sont venus
et de faire leur question
par leur question d'expliquer
à vous. C'est juste un bon moyen
de faire des choses comparé au de l'autre,
de juste de chier votre opinion au monde.
Je vous recommande, à la fois,
de lire le article de Wikipedia
mais aussi le livre de la communication non-violente
est magnifique.
Oui, vous pouvez imaginer comment un espace ne serait pas
comme ça. Mon espace ne l'a pas déjà
quand je lui ai répondu à ses questions.
Vous vous dites que c'est dégueulasse
quand je lui ai demandé des questions. Tellez-moi plus
de ça. Pourquoi est-ce dégueulasse ?
Ok, et la dernière fois pour le jour,
nous avons DinoPython.
Ce projet est un peu curse
et peut-être le meilleur de la manière.
J'ai essayé de faire
quelque chose similaire pour Node,
quand j'étais en train de transiter
en Python Open Source, en JavaScrub Open Source.
Mais DinoPython
est une libraire qui fait
exactement ce que la 10e est.
Elle fait que vous utilisez Python Code
d'inside d'Dino.
La chose vraiment fun
est qu'elle utilise Python's
API, donc elle fait
un interface
de la fonction foreign
de la integration.
C'est comme ça qu'elle connecte avec Dino.
Je pense que c'est vraiment intéressant
et j'espère que le performant
est un bon moyen de connecter.
Donc, comme exemple
de comment vous pouvez le faire,
j'ai essayé de faire un type en shell
et de faire un code en Python,
ce qui n'est pas un bon moyen
de faire ça.
Je ne sais pas si
il y a un niveau de coverage pour ça,
si c'est en essayant de
coger et de générer des types
ou si c'est
assez lourd.
Mais la chose que je suis vraiment excité
de faire,
c'est que, spécialement si vous faites
d'autres types de Python,
Python est
un roi, vraiment, dans cet espace
et avoir plus de bridges
entre différentes langues peut
être un peu bon.
Si vous voulez
faire un livre
pour, je ne sais pas, construire
un UI
de la non-Dino
dans un genre de
combine avec le pouvoir
d'un type Python.
C'est un livre intéressant.
Je vois ça être super utile.
Comme j'ai été tourner
avec des stuff de AI, j'ai utilisé
un chat GBT pour me donner Python.
Il serait beaucoup plus beau si je pouvais
dire, prendre le Python et me faire
faire un JavaScript ou un type script.
Oui, je suis sûr que vous avez fait des démonitions
de retours assez rapidement, mais
c'est toujours un novel
et la expression,
je ne sais pas, peut-être,
en fait, qui enables les gens à faire quelque chose qu'ils ne pouvaient pas faire.
C'est vraiment cool.
C'est un des choses que les gens
ont été heureux de faire avec Wazen,
d'avoir un interropt entre différents paradigms.
Oui, oui, tout le monde.
Ok, c'est tout pour cette semaine's
TOOLTIPS.
C'est tout pour cette semaine's
Episode. Merci pour les
coming on, Josh, pour notre 1er
second time guest, et c'était un peu
beaucoup de fun. J'ai appris
d'avoir appris beaucoup de typescript
ESLint v6.
Cool, oui, merci d'avoir
me je suis toujours content de chat avec les gens.
Je veux juste vous dire, c'est un
visual qui est en train de faire
une de ces typescripts metal,
jackets, je n'oublie pas
quel bandier c'est, mais c'est vraiment cool
et j'ai été impressionné.
Et si vous voulez acheter un de ces,
tout ce que vous devez faire est aller
au shop.devtools.fm.
Nous avons Merch, nous avons Swag.
Avec un nouveau bomber jacket
cette semaine, très cool.
C'est cool.
Merci, Josh, c'était
vraiment une bonne journée.
Je vous souhaite
que la tour de l'indie
va bien et que les gens
continuent à payer vous et peut-être
payer vous beaucoup plus, parce que vous avez
besoin de ça.
Episode suivant:
Les infos glanées
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