Phasis cible la spécification ECMAScript actuelle (ES2024+) et suit les propositions du TC39 au stade 3 et au-delà. Cette page constitue l'index lisible par un humain de ce qui est effectivement fourni.
Langage
Fonctionnalité
État
Déclarations lexicales (let, const) avec TDZ
✅
Portée de bloc, portée de fonction, portée de module
✅
Fonctions fléchées (avec this lexical)
✅
Paramètres par défaut, paramètres rest, spread
✅
Déstructuration (tableaux, objets, imbrication, valeurs par défaut, rest)
API de la plateforme Web (WHATWG / W3C, hors TC39)
Au-delà d'ECMAScript, Phasis fournit plusieurs ensembles d'API Web à plusieurs niveaux, que les bibliothèques JS du monde réel vérifient au préalable. Consultez API Web pour découvrir toute la surface et la conformité par domaine.
¹ À l'exclusion des sous-tests autorisés dans les jeux de tests de compression : les cas brotli, qui nécessitent ext-brotli, et ceux qui utilisent une entrée reposant sur SharedArrayBuffer (EXPECTED_FAILURES dans tests/Wpt/WptTest.php).
Tous les autres tests importés de la plateforme Web réussissent — consultez API Web pour le détail de la conformité.
Fonctionnalités pas encore implémentées
Sémantique des workers SharedArrayBuffer au-delà d'un seul agent — la notification atomique multithread entre de vrais threads du système d'exploitation nécessite pcntl et n'est pas prévue. Les opérations atomiques sur un seul agent fonctionnent.
Intl.Segmenter avec des graphèmes nécessitant ICU 76+ — dépend de la version de l'extension intl du PHP hôte.
Gestion des versions
Phasis suit le versionnage sémantique. La branche de version suit les brouillons de spécification ECMAScript :
Version de Phasis
Cible de la spécification
Propositions de l'étape 3
0.x
ES2024
décorateurs, Temporal, gestion explicite des ressources, assistants d'itération, méthodes d'ensemble
Le passage à la version 1.0 dépend de l'implémentation de toutes les propositions de l'étape 4 dans le brouillon ES2025 et de la stabilité de la sémantique de vidage des Promises.