Le générateur de site statique de documentation sur lequel je travaille passe les 20000 stars Github! C'est un des projets Facebook Open-Source les plus populaire (dans le top 10).
J'enregistre bientôt un podcast, dans lequel je vais vous parler de mon expérience de maintainer open-source.
Le collectif Poimandres sort un 3eme state manager, basé sur des proxy, Valtio, qui semble proposer une alternative simple à Mobx.
Rappel: le collectif gère déjà Zustand et Jotai, qui sont chacune basée sur un concept différent: flux, atom, proxy: à vous de choisir en fonction du projet.
Facebook a contribué une nouvelle API web qui vient d'arriver dans Chrome 87. Elle permet de savoir si le browser est en attente de traitement d'un signal d'entrée (mousedown, keydown...), et de lui rendre la main pour traiter ce signal au plus vite.
Cela devrait être utile pour React, et garder la réactivité de l'UI pendant la phase d'hydratation.
Dan Abramov a documenté le package React-Reconciler, pour ceux qui voudraient s'aventurer à en écrire un.
Permet de créer des applications React avec du server-side rendering, des tests, du i18n. Ca va pas être simple de concurrencer Next.js...
Kent C Dodds explique comment comment les imports React ont évolué dans le temps, et les changements liés à React 17, avec le nouveau JSX transform.
Met en évidence le problème d'une valeur de contexte "instable" (non mémoisée) qui lancer des re-renders inutiles. Propose également une petite abstraction pour gérer l'absence de provider.
Une librairie React qui implémente le design "neumorphique". Pas de support ReactNative, ce qui limite un peu son potentiel.
La nouvelle API de routing basée sur le filesystem est officiellement sortie.
Je trouve que c'est pas encore hyper intuitif...
Sortie de Tailwind 2. Le blog post présente les nouveautés, avec une nouvelle palette de couleurs, le support du dark mode, focus ring utility, amélioration @apply... Abandonne aussi le support IE11. Un trailer et une nouvelle homepage sont également dispo.
Voir aussi ce post qui donne quelques bonnes raisons pour adopter Tailwind.
Un outil de dev visuel basé sur Tailwind CSS. Vous faites les changements sur votre page, et ils sont reportés dans votre codebase (plutôt que l'inverse).
Pour financer le projet, l'outil n'est disponible qu'aux Github Sponsors.
Sortie officielle de TypeScript 4.1, dont on a déjà beaucoup parlé, en particulier de template literal types.
On peut déjà commencer à s'intéresser à TypeScript 4.2, avec quelques améliorations sympas, comme la possibilité de d'utiliser la syntaxe rest au début/milieu d'un tuple, ou l'apparition d'un nouveau mot clé override, pour ceux qui aiment bien les classes...
Shopify nous propose 2 articles sur l'adoption massive de Sorbet, un outil de typage statique pour Ruby créé par Stripe.
Retour d'expérience pertinent pour un dev web, car assez similaire à l'adoption de TypeScript au final.
On voit dans leur sondage l'opinion des devs changer progressivement en faveur du code typé.
Une surcouche au dessus de esbuild, qui rajoute quelques features en plus (watch mode, typechecking...), avec une API node-first: pas de config, il faut écrire son script.
Skypack est un CDN de modules NPM convertis en format ESM.
CodePen propose maintenant une intégration avec Skypack: on peut directement ajouter les urls Skypack pour importer le package de son choix.
Freeze maintenant les objets en production par défaut (avant: seulement en dev). Décision qui impacte la performance (varie en fonction des apps).
ll semble que freezer soit le bon compromis pour la majorité des apps (coût initial, rattrapé par la suite).
Un nouveau plugin Yarn2 pour builder votre monorepo dans le bon ordre (un peu comme Lerna) et le packager sous forme de zip, pratique à déployer.
Lea Verou regrette de ne pas pouvoir utiliser des dépendances optionnelles en ESM, dans le but d'enrichir une lib existante avec une dépendance avec un comportement facultatif.