Par Tristan LE GODAIS (@PolariTOON)
-
Ce mardi est sorti Firefox 67 avec un peu de retard à cause de la désactivation inopinée des extensions de tous les utilisateurs le week-end du 4 mai ; cependant cette version apporte un certain nombre de nouveautés intéressantes :
-
Du côté du JS :
-
La méthode
String.prototype.matchAll
, désormais standard (souvenez-vous, je vous en parlais il y a deux mois), est supportée -
La proposition en stage 3 de la syntaxe Hashbang Grammar (les commentaires
#!
en début de script) est supportée également -
La proposition en stage 3
import()
, c'est-à-dire les imports dynamiques de modules ECMAScript, est maintenant exposée dans la version stable de Firefox, ce qui en fait déjà le troisième navigateur à l'implémenter ; cela fait désormais plus de deux ans et demi que cette proposition attend d'être standardisée à cause des craintes de certains délégués d'Ecma (l'organisme qui spécifie ECMAScript), qui la jugent potentiellement incompatible avec la future proposition visant à étendre lesRealm
s (désomais connue sous le nom de Secure ECMAScript, ou SES) ; cependant le feu vert semble avoir été donné et on peut enfin espérer la standardisation dans deux semaines, lors de la réunion bimestrielle du TC39 ! je vous tiendrai au courant !
-
-
Du côté des CSS :
-
Le mot-clé universel
revert
, qui permet de restaurer la valeur originale d'une propriété (telle que définie par l'User-Agent, c'est-à-dire le navigateur), a été ajouté et constitue un complément aux valeurs universellesunset
,initial
etinherit
-
La media query
prefers-color-scheme
est désormais implémentée, et ceci selon la dernière version de la spécification (contrairement à Safari) ; nous disposons donc de deux navigateurs indépendants à supporter les thèmes (clairs, sombres et sans-préférence) ! un certain nombre de sites propose déjà deux versions de leurs pages via ce nouveau mécanisme
-
-
Pour plus d'informations, consultez certaines de ces pages https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/67, https://hacks.mozilla.org/2019/05/firefox-67-dark-mode-css-webrender/ et https://www.fxsitecompat.com/en-CA/versions/67/
-
-
D'autres nouvelles relatives aux modules en ECMAScript :
-
Si vous avez bien suivi, vous n'êtes pas sans savoir que :
-
Tous les navigateurs supportent déjà les modules ECMAScript statiques via l'instruction
import
et que Node.js dispose d'une implémentation expérimentale -
Firefox, Chrome et Safari supportent l'import dynamique de modules ECMAScript (autant dans un script classique que dans un script modulaire) et que Node.js a aussi une implémentation expérimentale
-
-
Par contre saviez-vous que :
-
Node.js 12.3, sorti mardi, supporte également les modules JSON (
import "./structured-data.json";
) et Web Assembly (import "./low-level.wasm";
), toujours de manière expérimentale -
L'import de modules JSON a été standardisé par le WHATWG et intégré au langage HTML cette semaine
-
Les travaux débutent sur la généralisation des imports ECMAScript aux formats HTML, CSS, JSON, Web Assembly et WebIDL, connue sous le nom de Synthetic Modules, qui dispose à la fois du soutien des auteurs de spécifications et des concepteurs de navigateurs, en plus de l'enthousiasme des développeurs
-
-
Vous trouverez plus d'informations dans les pages nodejs/node#27752 w3ctag/design-reviews#375 nodejs/node#27659 et w3ctag/design-reviews#377
-