Skip to content

Commit e073caf

Browse files
committed
Merge branch 'repl-legacy-compat' of https://github.com/sveltejs/svelte.dev into repl-legacy-compat
2 parents 207d8c0 + 8505b5a commit e073caf

File tree

97 files changed

+2163
-258
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

97 files changed

+2163
-258
lines changed

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
### A note on documentation PRs
2-
3-
If this is a documentation PR (i.e. changing content within `apps/svelte.dev/content/docs`), then this is the wrong repository to make those changes. The content in this folder is synced from other repositories. Therefore, these changes should be made in their respective repositories (at https://github.com/sveltejs/svelte or https://github.com/sveltejs/kit, or example).
1+
<!-- If this is a documentation PR (i.e. changing content within `apps/svelte.dev/content/docs`), then this is the wrong repository to make those changes. The content in this folder is synced from other repositories. Therefore, these changes should be made in their respective repositories (at https://github.com/sveltejs/svelte or https://github.com/sveltejs/kit, or example). -->
42

53
### Before submitting the PR, please make sure you do the following
64

apps/svelte.dev/content/blog/2017-09-06-the-zen-of-just-writing-css.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ This article isn't in any way intended as criticism of the hard work the CSS-in-
1717

1818
Everything in CSS is global. Because of that, styles intended for one bit of markup often end up affecting another. Because of _that_, developers often resort to wild namespacing conventions (not 'rules', since they're very difficult to enforce) that mostly just increase your risk of RSI.
1919

20-
It gets worse when you're working on a team. No-one dares touch styles authored by someone else, because it's often unclear what they're doing, what markup they apply to, and what disasters will unfold if you remove them.
20+
It gets worse when you're working on a team. No one dares touch styles authored by someone else, because it's often unclear what they're doing, what markup they apply to, and what disasters will unfold if you remove them.
2121

2222
The consequence of all this is the **append-only stylesheet**. There's no way of knowing which code can safely be removed, so it's common to undo some existing style with another, more specific style — even on relatively small projects.
2323

apps/svelte.dev/content/blog/2018-12-27-virtual-dom-is-pure-overhead.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Misunderstood claims about virtual DOM performance date back to the launch of Re
4242
<figcaption>Screenshot from <a href="https://www.youtube.com/watch?v=x7cQ3mrcKaY">Rethinking Best Practices</a> at JSConfEU 2013</figcaption>
4343
</figure>
4444

45-
But hang on a minute! The virtual DOM operations are _in addition to_ the eventual operations on the real DOM. The only way it could be faster is if we were comparing it to a less efficient framework (there were plenty to go around back in 2013!), or arguing against a straw man — that the alternative is to do something no-one actually does:
45+
But hang on a minute! The virtual DOM operations are _in addition to_ the eventual operations on the real DOM. The only way it could be faster is if we were comparing it to a less efficient framework (there were plenty to go around back in 2013!), or arguing against a straw man — that the alternative is to do something no one actually does:
4646

4747
```js
4848
// @noErrors

apps/svelte.dev/content/blog/2021-02-01-whats-new-in-svelte-february-2021.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ New changes to the Svelte Society website include [a new cheat sheet](https://sv
6161

6262
### New Integrations & Starters
6363

64-
- [svelte-derver-starter](https://github.com/AlexxNB/svelte-derver-starter) is a starter for baking fullstack application with the client based on Svelte and server side powered by Derver.
64+
- [svelte-derver-starter](https://github.com/AlexxNB/svelte-derver-starter) is a starter for creating full-stack applications with the client based on Svelte and the server powered by Derver.
6565
- [eleventy-plugin-embed-svelte](https://github.com/shalomscott/eleventy-plugin-embed-svelte) makes it easy to embed Svelte components into an 11ty site.
6666
- [svelte-tailwind-extension-boilerplate](https://github.com/kyrelldixon/svelte-tailwind-extension-boilerplate) is a good foundation for a Chrome extension using either JavaScript or TypeScript, Svelte for the frontend, Tailwind CSS for styling, Jest for testing, and Rollup as the build system.
6767
- [snowpack-ui](https://github.com/rajasegar/snowpack-ui) lets you run & manage Snowpack projects from the browser instead of the terminal

apps/svelte.dev/content/blog/2023-03-01-whats-new-in-svelte-march-2023.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ _To Read_
8181
- [How to type Events, Slots, and Props in Svelte](https://raqueebuddinaziz.com/blog/svelte-type-events-slots-and-props/) by Raqueebuddin Aziz
8282
- [Use TypeScript with SvelteKit and Supabase](https://blog.robino.dev/posts/supabase-sveltekit) by Ross Robino
8383
- [Invoking Svelte components from your Ember apps](https://dev.to/rajasegar/invoking-svelte-components-from-your-ember-apps-58h5) by Rajasegar Chandran
84-
- [Add a sitemap to your server side rendered SvelteKit website](https://www.okupter.com/blog/sitemap-server-side-rendered-sveltekit-website) and [State in URL: the SvelteKit approach](https://www.okupter.com/blog/state-in-url-the-sveltekit-approach) by Justin Ahinon
84+
- [Add a sitemap to your server-rendered SvelteKit website](https://www.okupter.com/blog/sitemap-server-side-rendered-sveltekit-website) and [State in URL: the SvelteKit approach](https://www.okupter.com/blog/state-in-url-the-sveltekit-approach) by Justin Ahinon
8585
- [Display crypto data real-time in a chart using Sveltekit, Chart.js & coincap.io](https://medium.com/@Heesel/display-crypto-data-real-time-in-a-chart-using-sveltekit-chart-js-coincap-io-70b90d3aac90) by Hessel
8686

8787
### Libraries, Tools & Components

apps/svelte.dev/content/blog/2023-03-09-zero-config-type-safety.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export type PageData = Kit.ReturnType<
9898
>;
9999
```
100100

101-
We don't actually write `$types.d.ts` into your `src` directory — that would be messy, and no-one likes messy code. Instead, we use a TypeScript feature called [`rootDirs`](https://www.typescriptlang.org/tsconfig#rootDirs), which lets us map ‘virtual’ directories to real ones. By setting `rootDirs` to the project root (the default) and additionally to `.svelte-kit/types` (the output folder of all the generated types) and then mirroring the route structure inside it we get the desired behavior:
101+
We don't actually write `$types.d.ts` into your `src` directory — that would be messy, and no one likes messy code. Instead, we use a TypeScript feature called [`rootDirs`](https://www.typescriptlang.org/tsconfig#rootDirs), which lets us map ‘virtual’ directories to real ones. By setting `rootDirs` to the project root (the default) and additionally to `.svelte-kit/types` (the output folder of all the generated types) and then mirroring the route structure inside it we get the desired behavior:
102102

103103
```tree
104104
// on disk:

apps/svelte.dev/content/blog/2023-09-20-runes.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,9 @@ Like every other framework, we've come to the realisation that [Knockout](https:
205205

206206
Svelte 5's reactivity is powered by _signals_, which are essentially [what Knockout was doing in 2010](https://dev.to/this-is-learning/the-evolution-of-signals-in-javascript-8ob). More recently, signals have been popularised by [Solid](https://www.solidjs.com/) and adopted by a multitude of other frameworks.
207207

208-
We're doing things a bit differently though. In Svelte 5, signals are an under-the-hood implementation detail rather than something you interact with directly. As such, we don't have the same API design constraints, and can maximise both efficiency _and_ ergonomics. For example, we avoid the type narrowing issues that arise when values are accessed by function call, and when compiling in server-side rendering mode we can ditch the signals altogether, since on the server they're nothing but overhead.
208+
We're doing things a bit differently though. In Svelte 5, signals are an under-the-hood implementation detail rather than something you interact with directly. This means we don't have the same API design constraints, and can maximise both efficiency _and_ ergonomics. For example, we avoid the type narrowing issues that arise when values are accessed by function call, and when compiling in server-side rendering mode we can ditch the signals altogether, since on the server they're nothing but overhead.
209209

210-
Signals unlock _fine-grained reactivity_, meaning that (for example) changes to a value inside a large list needn't invalidate all the _other_ members of the list. As such, Svelte 5 is ridonkulously fast.
210+
Signals unlock _fine-grained reactivity_, meaning that (for example) changes to a value inside a large list needn't invalidate all the _other_ members of the list. As a result, Svelte 5 is ridonkulously fast.
211211

212212
## Simpler times ahead
213213

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
title: "What's new in Svelte: August 2025"
3+
description: 'Async Svelte is out - with all the fixins'
4+
author: Dani Sandoval
5+
authorURL: https://dreamindani.com
6+
---
7+
8+
With [Async Svelte](https://github.com/sveltejs/svelte/discussions/15845) and its companion [Remote Functions](https://github.com/sveltejs/kit/discussions/13897) officially out in the world, there's a lot of updates to share!
9+
10+
Be sure to check out the showcase for videos from Rich, Paolo, and Stanislav about all the brand new features in Svelte.
11+
12+
Let's dive into the highlights...
13+
14+
## What's new in Svelte, SvelteKit, Language Tools and CLI (sv)
15+
16+
- Remote functions can be called anywhere in your app, but always run on the server, and as such can safely access server-only modules containing things like environment variables and database clients (**[email protected]**, [Docs](https://svelte.dev/docs/kit/remote-functions), [#13986](https://github.com/sveltejs/kit/pull/13986))
17+
- `getAbortSignal` returns an `AbortSignal` that aborts when the current derived or effect re-runs or is destroyed (**[email protected]**, [Docs](https://svelte.dev/docs/svelte/svelte#getAbortSignal), [#16266](https://github.com/sveltejs/svelte/pull/16266))
18+
- A new `parent` property has been added to the `__svelte_meta` properties that are added to elements at dev time - useful for debugging nested hierarchies (**[email protected]**, [#16255](https://github.com/sveltejs/svelte/pull/16255))
19+
- `await` is now supported in components when using the `experimental.async` compiler option (**[email protected]/[email protected]**, [Docs](https://svelte.dev/docs/svelte/await-expressions), [#15844](https://github.com/sveltejs/svelte/pull/15844))
20+
- There are now types for the `params` prop and `page` attributes in page/layout components (**[email protected], [email protected] & [email protected]**, [#13999](https://github.com/sveltejs/kit/pull/13999) / [#13864](https://github.com/sveltejs/kit/pull/13864))
21+
- SvelteKit's `read` now works in edge environments where `fs.readFile` isn't available such as in Cloudflare's workers, Netlify, and Vercel's edge functions (**[email protected]**, [#13859](https://github.com/sveltejs/kit/pull/13859))
22+
- The `resolve(...)` and `asset(...)` helpers have been added for resolving paths (**[email protected]**, [#13864](https://github.com/sveltejs/kit/pull/13864))
23+
- Support for modern SvelteKit prop typings has been added to VS Code snippets (**extensions-109.10.0**, [#2796](https://github.com/sveltejs/language-tools/pull/2796))
24+
- The new `vite.addPlugin` simplifies adding a plugin on various vite config styles (**[email protected]**, [#633](https://github.com/sveltejs/cli/pull/633))
25+
- vite-plugin-svelte is out with support for vite7, rolldown-vite and [more](https://github.com/sveltejs/vite-plugin-svelte/blob/main/packages/vite-plugin-svelte/CHANGELOG.md)
26+
27+
For a full list of bug fixes in Svelte, SvelteKit and its adapters, check out their CHANGELOGs [here](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md) and [here](https://github.com/sveltejs/kit/tree/main/packages).
28+
29+
---
30+
31+
## Community Showcase
32+
33+
### Apps & Sites built with Svelte
34+
35+
- [Logitech's new site](https://www.reddit.com/r/sveltejs/comments/1m991ts/the_logitech_site_is_built_with_svelte/) is built in Svelte 🎉
36+
- [hend.world](https://hend.world/) is a language learning application that surrounds you with comprehensible input: compelling stories, articles, and videos that match your level
37+
- [Amgiflol](https://github.com/sm17p/amgiflol) is a Figma-like Layout Inspector For Web
38+
- [Formcord](https://formcord.app/) is a Google Forms alternative built specifically for Discord communities
39+
- [Freq](https://www.freq.social/) is a community-based social media platform for groups of music listeners to share, talk about, and enjoy music together
40+
- [Salora](https://salora.app/) is a salon booking application (de)
41+
- [Animal Well Shrine](https://anxpara.com/animalwellshrine) is an low-spoiler egg tracker for the video game, Animal Well
42+
- [TypingGym](https://www.typinggym.com/) is a typing practice site with automatic difficulty adjustment
43+
44+
### Learning Resources
45+
46+
_Featuring Svelte Contributors and Ambassadors_
47+
48+
- [promise.then(...)](https://www.youtube.com/watch?v=e-1pVKUWlOQ) by Rich Harris - what's next now that Svelte is Async
49+
- [Asynchronous Svelte](https://www.youtube.com/live/kL4Tp8RmJwo) with Rich Harris by CodeTV (Jason Lengstorf)
50+
- [Remote Functions are coming to SvelteKit - and they are amazing!](https://www.youtube.com/watch?v=BID8r5LObvI) by Code with Stanislav
51+
- [Svelte London - June 2025](https://www.youtube.com/watch?v=LKSmlp2S-jQ) feat. "Svelte, svelte everywhere" by Paolo Ricciuti and "Testing your Svelte app in an actual browser" by Willow / Scott
52+
53+
_This Week in Svelte_
54+
55+
- [Ep. 108](https://www.youtube.com/watch?v=Sp4Y1tMo5AQ) — Svelte Flow
56+
- [Ep. 109](https://www.youtube.com/watch?v=LghoZmFzWYM) — Ark UI
57+
- [Ep. 110](https://www.youtube.com/watch?v=Ia8N6S2OkpM) — Neodrag v3
58+
- [Ep. 111](https://www.youtube.com/watch?v=fExlOwTtZqM) — Best LLMs for Svelte 5 tested, MCP server, llms.txt
59+
60+
_Svienna (Svelte Society Vienna)_
61+
62+
- [Lightning talk 10 tips in 5 mins!](https://www.youtube.com/watch?v=hptgxIdnDdg) by Jean Yves Couet
63+
- [Using SvelteKit and MIT appinventor to inspire young girls for tech](https://www.youtube.com/watch?v=pDx1a078in8) by Domenik Reitzner
64+
- [Adding full to your full stack SvelteKit app](https://www.youtube.com/watch?v=A3cqzv-zRe8) by Jean Yves Couet
65+
- [ZeeltePHP (Svelte + PHP)](https://www.youtube.com/watch?v=0sm4oPwvPVU) by derharry
66+
- [Svelte at Geizhals](https://www.youtube.com/watch?v=aJVdfPk9WmI) by Martin Grubinger
67+
68+
_To Watch/Read_
69+
70+
- [Build a SvelteKit Admin App with Drizzle, Tailwind & Postgres](https://www.youtube.com/watch?v=H3Mk6ozq69U) by Tyler Codes
71+
- [Master Svelte in 15 Minutes: From React Dev to Svelte Pro](https://www.youtube.com/watch?v=Vhfcgnt5nO8) by Neuronfire
72+
- [Simple but Effective Skeleton Loaders](https://www.matsimon.dev/blog/simple-skeleton-loaders) by Mat Simon
73+
- [Building Smart Intervals with Svelte 5](https://www.puruvj.dev/blog/svelte-5-interval-rune) by Puru VJ
74+
75+
### Libraries, Tools & Components
76+
77+
- [Svelte Interval](https://github.com/PuruVJ/svelte-interval) is a comprehensive Svelte utility package for managing intervals with reactive durations, synchronization, and advanced control features
78+
- [@hvniel/svelte-router](https://github.com/HanielU/svelte-router) is a Svelte 5 port of React Router
79+
- [@hvniel/vite-plugin-svelte-inline-component](https://github.com/hanielu/vite-plugin-svelte-inline-component) lets you write tiny Svelte components straight inside your JavaScript / TypeScript tests using tagged‑template literals
80+
- [wuchale](https://github.com/wuchalejs/wuchale) is a non-invasive, normal code based compile-time internationalization (i18n) toolkit
81+
- [SSGOI](https://github.com/meursyphus/ssgoi) brings native app-like page transitions to the web
82+
- [Svelte Form Builder](https://github.com/moalamri/svelte-form-builder) is a modern, drag-and-drop form builder built with Svelte 5
83+
- [Svelte persistent runes](https://github.com/MacFJA/svelte-persistent-runes?tab=readme-ov-file#svelte-persistent-runes) provides a Svelte reactive rune that keep its value through pages and reloads
84+
- [gositemap](https://github.com/lelabdev/gositemap) is a fast, test-driven sitemap.xml generator for static SvelteKit sites
85+
86+
That's it for this month! Let us know if we missed anything on [Reddit](https://www.reddit.com/r/sveltejs/) or [Discord](https://discord.gg/svelte).
87+
88+
Until next time 👋🏼!

apps/svelte.dev/content/docs/cli/10-introduction/10-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The command line interface (CLI), `sv`, is a toolkit for creating and maintainin
99

1010
The easiest way to run `sv` is with [`npx`](https://docs.npmjs.com/cli/v8/commands/npx) (or the equivalent command if you're using a different package manager — for example, `pnpx` if you're using [pnpm](https://pnpm.io/)):
1111

12-
```bash
12+
```sh
1313
npx sv <command> <args>
1414
```
1515

apps/svelte.dev/content/docs/cli/20-commands/10-sv-create.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ title: sv create
77

88
## Usage
99

10-
```bash
10+
```sh
1111
npx sv create [options] [path]
1212
```
1313

0 commit comments

Comments
 (0)