HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
sveltejs
svelte
JavaScript2017–2026
sveltejs / svelte

svelte

web development for the rest of us

74Distinct people
93Mentions
4Explicit recommenders
88.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

web development for the rest of us

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I love Svelte, but you are absolutely right about Solid's influence. Svelte's Signals implementation seems very performant compared to other Signals-based frameworks. [0] [0]…

division_by_0 used a recommendation phrase. 4 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 9:01:12 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year93 dated mentions

Observed mentions: 2017-01-08 02:15:41 UTC to 2026-06-14 17:35:58 UTC.

051015202017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 20 mentions; 2 submissions, 18 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 11 mentions; 0 submissions, 11 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 12 mentions; 4 submissions, 8 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 12 mentions; 9 submissions, 3 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 20 mentions; 2 submissions, 18 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC303
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC20218
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC808
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC312
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC11011
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC1248
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC1293
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC20218
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC303

What Hacker News says

8 sources
- Svelte seems to have a bit of a problem with large bundle sizes: https://github.com/sveltejs/svelte/issues/2546#issuecomment-... - Svelte might feel (it does to me at least; although I haven't really worked much with it) a bit too magical. In React, you are explicit about the fact that you want to change your variables and how exactly you want to change them (Rich Harris seems to think that such explicitness is excessive verbosity); while in Svelte you just change a value inline, then boom magic happens. It may be a leap forward, like JSX once was; but it also has an uncomfortable feel to it.
In React is becoming a black box
I think it's a good idea to include ones that stands out from rest of the pack. https://github.com/sveltejs/svelte and https://github.com/ryansolid/solid stands out by being the only 2 that are compiled to standard js, so no framework is loaded at runtime. Speed is important too and https://github.com/infernojs/inferno (and solid above) is well known for speed and is backed by benchmarks. Not sure if you want to add more beyond this point since a few more will push the boundary to just include everything which is over 100 nowadays.
In Launch HN: Openbase (YC S20) – reviews and insights for open-source packages
Slots are currently an unwieldy band-aid. https://github.com/sveltejs/svelte/issues/1037 (open since 2017) https://github.com/sveltejs/svelte/issues/2079 The simple usage of passing a component to a component, which almost every decently-sized project will make use of, has no convenient syntax, only workarounds: // parent.svelte <script> import Nested from './nested.svelte' import Child from './child.svelte'; </script> <Child> <div slot="bar"> <-- Extra wrapper DOM node <Nested foo="Foo"/> </div> </Child> // child.svelte <slot name="bar" {...data}/> Passing down an element as a prop requires separating the component constructor and its data and manually re-conciliating the two in the child component every time, since components can't be rendered from functions. It wo
Read the rest
rks but it's unnecessary boilerplate. // parent.svelte <script> import Nested from './nested.svelte'; import Child from './child.svelte'; </script> <Child nested={Nested} nestedData={{ foo: "Foo" }}/> // child.svelte <script> let export Component; let export componentData; </script> <Component {...componentData}/>
In Why Svelte is our choice for a large web project
Thanks for sharing! On point 1, this issue is the one to watch. https://github.com/sveltejs/svelte/issues/4518 Language server support will work for both JavaScript and TypeScript and error/type checking and editor support should be pretty comprehensive when it's ready. Svelte 3 was written with TypeScript in mind, so the idioms are fairly compatible with type checking. (a nice pit of success for design!) This should also fix reassigning to a const mentioned in point 2.
In Why Svelte is our choice for a large web project
It's buried in the article, but TypeScript support is being worked on by one of the TypeScript team members in collaboration with the Svelte devs - https://github.com/sveltejs/svelte/issues/4518 The template language's restrictions compared to JavaScript/JSX-built views are part of Svelte's performance story. It's able to optimize things ahead of time that are impossible with dynamic code because of the constraints. Here's a couple tweets from the author about that - 1 - https://twitter.com/Rich_Harris/status/1224414679021301761 2 - https://twitter.com/Rich_Harris/status/948231770725605377 The Svelte template language is quite small, and compositional features like slots and <svelte:component> are powerful. There are currently some unwanted edge-case restrictions as this comment points out - https://news.ycombinator.com/item?id=22541100
In Why Svelte is our choice for a large web project
Since you've been using Svelte for a few months after using React, haven't you been hit by the lack of composability in Svelte? Passing around components as variables is such a common pattern in React, and there's no good replacement in Svelte. The lack of dynamism in components and styles makes theming and crafting reusable components (outside of simple widgets) very tedious [1][2]. I'm genuinely curious how someone can come from React and not be bothered by it. [1]: https://github.com/sveltejs/svelte/issues/2106 [2]: https://github.com/sveltejs/svelte/issues/1550
In Why Svelte is our choice for a large web project

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.