Svelte mars 2026 : Context programmatique, commentaires HTML et Error Boundaries côté serveur

Svelte mars 2026 : Context programmatique, commentaires HTML et Error Boundaries côté serveur

lschvn

La version Svelte de mars 2026 apporte un ensemble d'amélioration qui comblent des lacunes de longue date, notamment autour de l'instanciation programmatique de composants et de la gestion d'erreurs côté serveur, tout en continuant à affiner les API de navigation de SvelteKit.

createContext en mode programmatique

Dans Svelte 5, createContext et getContext permettent de partager un état dans un arbre de composants sans avoir à le passer en props. La limitation était que le context ne fonctionnait qu'avec les composants rendus via le système normal de slots/transitions de Svelte. Appeler new Component({ target }) pour instancier un composant programmatiquement ne permettait pas d'accéder à la map de context.

Svelte 5.50.0 corrige cela. Vous pouvez désormais passer une Map context comme troisième argument du constructeur de composant :

import { mount, setContext } from 'svelte';
import { MyContextKey } from './keys.js';

const ctx = new Map([[MyContextKey, { value: 42 }]]);
const component = new MyComponent({ target: document.body, props: {}, context: ctx });

Cela rend pratique l'utilisation de composants Svelte comme de simples classes JavaScript dans des bibliothèques et des utilitaires de test, sans restructurer la façon dont le context est fourni.

Commentaires HTML dans les balises, et TrustedHTML

Deux changements au niveau du compilateur atterrissent dans la même release. Les commentaires HTML sont désormais autorisés à l'intérieur des attributs de balises HTML :

<button 
  -- Un commentaire dans la liste d'attributs est désormais valide --
  class="primary"
  onclick={handler}>
  Cliquez-moi
</button>

Parallèlement, les expressions {@html} acceptent désormais TrustedHTML, issu de la Web Secure Types API. Cela vous permet d'indiquer au système de types qu'une chaîne a déjà été sanitized et ne doit pas déclencher le crochet any habituel lors de l'assignation à {@html}.

Les Error Boundaries atteignent le serveur

Les error boundaries (svelte:boundary) ne fonctionnaient auparavant que côté client. Svelte 5.53.0 les étend au rendu côté serveur, vous pouvez désormais intercepter et transformer les erreurs survenant pendant le SSR sans faire tomber toute la page. Cela compte pour les apps SvelteKit qui récupèrent des données au moment de la requête, un composant qui échoue ne fait plus planter l'ensemble de la réponse.

SvelteKit : les callbacks de navigation obtiennent des données de scroll

Les callbacks de navigation (beforeNavigate, onNavigate, afterNavigate) incluent désormais des informations de position de scroll sur les cibles from et to. Cela permet des animations de transition conscientes du scroll, vous pouvez vérifier si l'utilisateur navigue en arrière ou en avant et animer en conséquence, sans gestion supplémentaire.

La mise à jour stabilise également le support de Vite 8 (kit@2.53.0) et ajoute un addon officiel better-auth au CLI Svelte (sv@0.12.0).

State of JS 2025 : Svelte garde la première place

Une rapide satisfaction : les résultats du State of JS 2025 sont publiés, et Svelte conserve sa position de framework réactif le mieux classé en termes de sentiment positif pour la deuxième année consécutive. La catégorie inclut Solid, Vue, React, Angular et d'autres, le score de satisfaction développeur de Svelte continue de se démarquer.

Temps forts communautaires

Le habituel florilège de projets notables construits avec Svelte ce mois-ci :

  • Cherit: base de connaissances open-source Markdown construite avec Tauri
  • Le site du hackathon mondial Mistral AI: construit avec Svelte, comme noté sur Reddit
  • Fretwise: plateforme de pratique de guitare alimentée par l'IA, générant des tablatures et des stems isolés
  • SoundTime: streaming de musique auto-hébergé avec partage P2P, construit avec Rust + Svelte
  • warpkit: framework SPA Svelte 5 autonome avec routage state-based et récupération de données
  • svelte-grab: outil dev qui capture le contexte des composants pour les agents de coding IA, Alt+Click sur n'importe quel élément pour inspecter l'état et tracer les erreurs

L'écosystème Svelte continue de croître dans des directions qui dépassent largement l'application web traditionnelle, des outils musicaux aux simulateurs de hardware en passant par les intégrations IA.

Questions fréquentes

Articles connexes

Plus de couverture avec des sujets et tags en commun.

Prettier 3.9 refond cinq parseurs : micromark pour Markdown, yaml v2, GraphQL.js v17, un parseur Flow en Rust et Angular
javascript

Prettier 3.9 refond cinq parseurs : micromark pour Markdown, yaml v2, GraphQL.js v17, un parseur Flow en Rust et Angular

Prettier 3.9.0, publié le 27 juin 2026 (prettier/prettier, billet de Fisker Cheung), est une release centrée sur les parseurs qui fait passer Markdown de remark-parse v8 à micromark v4 (meilleure conformité CommonMark et GFM et une série de bugs de parsing de longue date corrigés), YAML à yaml v2, GraphQL à GraphQL.js v17 (arguments de fragment et directives sur les définitions de directive), Flow au nouveau parseur oxidized basé sur Rust de l'équipe Flow (environ 37 % plus rapide sur les fixtures Flow valides de Prettier et 43 % plus rapide sur flow_parser.js en benchmarks parser-only locaux) et Angular. Le formateur JavaScript et TypeScript est aussi retravaillé, en particulier en mode --no-semi où les commentaires autour de break et continue sont maintenant stables entre plusieurs passages (un fix d'idempotence), plus la suppression des parenthèses redondantes dans les return, l'alignement des interpolations de template embarquées et l'inlining des expressions de négation logique. La release retire la syntaxe legacy import ... assert {} (Babel 8 a supprimé le plugin de parseur ; migrez vers with), corrige une option --cache-strategy content silencieusement cassée et empêche les fichiers EditorConfig au-dessus des worktrees Git de s'infiltrer. L'équipe rappelle d'épingler la version exacte dans package.json car les changements de formatage vont produire des diffs.
Biome 2.5 livre `@biomejs/js-api` v6.0.0 : un bump majeur pour l'API JS
javascript

Biome 2.5 livre `@biomejs/js-api` v6.0.0 : un bump majeur pour l'API JS

La CLI Biome passe en 2.5.0 et l'API JavaScript passe en v6.0.0 majeure. Le gros titre est le nouveau helper spanInBytesToSpanInCodeUnits, qui corrige un vrai bug de surrogates UTF-16 dans l'extraction de texte diagnostique non-ASCII, plus une longue liste d'améliorations SCSS, JSON, linter et CLI.
Astro 6.4.4 Corrige Sept Bugs sur le Routage, l'i18n et l'Expérience Dev
frameworks

Astro 6.4.4 Corrige Sept Bugs sur le Routage, l'i18n et l'Expérience Dev

Astro 6.4.4 est un patch corrigeant des problèmes de routes dynamiques, de routage i18n par domaine, d'édition de composants côté client et de la casse des patterns de route.

Commentaires

Connexion Connectez-vous pour participer à la conversation.

Pas encore de commentaires. Soyez le premier à partager vos pensées.