sveltejs/svelte

Developer Tools

A compiler for declarative web components that outputs small JavaScript for targeted DOM updates.

88,514
7,453
JavaScript
MIT
9 years old

Svelte is a compiler for building web applications from declarative components. Instead of shipping a large runtime that interprets templates in the browser, it converts components at build time into JavaScript that updates the DOM surgically, as described in the project README README. This is aimed at front-end and full-stack developers choosing how to structure a browser UI.

What changes in practice

The main shift is where work happens: component logic is compiled ahead of time rather than interpreted at runtime. The README's claim is efficient JavaScript and surgical DOM updates README; the project does not document a measured benchmark in the supplied material, so treat performance as the stated design goal rather than a verified figure. Setup, language details, and current APIs live on the official site Svelte website, and the roadmap shows what the team is working on roadmap.

Reactivity and version changes

Svelte 5 introduced runes, a rune-based reactivity syntax, which changed how components are written and how state is reasoned about. HN discussion from March 2025 captures the split: one production user found complicated state still required too much implicit behavior and reported more debugging comment, and another disliked the departure from the earlier concise syntax comment. Others preferred runes for scale; one said nested bindings worked where they had problems in Svelte 4 reply, and another said large projects became easier to read reply. These are opinions from that thread, not project documentation, and they concern versions current at that time. The practical implication is to pin the major version and plan migration before adopting; code written for older syntax may need conversion.

Tooling, licence and support

The repository is MIT-licensed LICENSE, so it can be used and modified commercially under that licence. TypeScript users can keep types: maintainers explained a 2023 internal move from .ts files to JSDoc-annotated .js files did not remove type checking or require users to abandon TypeScript maintainer comment, clarification. That was an internal refactoring, not a user-facing requirement.

For help, there is a Discord chat chat, contribution guidance Contributing Guide, and the core package location packages/svelte. The README does not specify browser support, Node versions, or an official security process; check those on the website documentation before committing to a stack.

HotRepo's take

The only recorded HotRepo observation is a monthly JavaScript board entry of +695 stars, ranked #15 on 2026-10-29; the one-day sample is insufficient to judge momentum. Svelte's fit depends less on popularity than on whether the team accepts compile-time transformation and the runes model over a traditional runtime framework.

Written by AI from the project's README, updated October 29, 2026. The project's own docs are the source of truth.

Hacker News

TS to JSDoc Conversion
▲ 222 · 158 comments · May 10, 2023
Tenets
▲ 201 · 151 comments · February 10, 2024
Svelte: $derived can now be overwritten
▲ 51 · 48 comments · March 22, 2025