What's new in Svelte: September 2022
Migrating to SvelteKit's new filesystem-based router
Still looking for something to do this month? It's your last chance to get tickets to Svelte Summit, Stockholm! Join us on Sept 8-9th 🎉
With the redesign of SvelteKit's filesystem-based router merging early last month, there's lots to cover this month - from the migration script to a number of new blog posts, videos and tutorials.
But the new routing isn't the only new feature in SvelteKit...
What's new in SvelteKit
Link
is now supported as an HTTP header and works out of the box with Cloudflare's Automatic Early Hints (1.0.0-next.405, PR)$env/static/*
are now virtual to prevent writing sensitive values to disk (1.0.0-next.413, PR)$app/stores
can now be used from anywhere on the browser (1.0.0-next.428, PR)config.kit.env.dir
is a new config that sets the directory to search for.env
files (1.0.0-next.430, PR)
Breaking changes:
The filesystem-based router and
load
API improves the way routes are managed. Before installing version@sveltejs/kit@1.0.0-next.406
or later, follow this migration guide (PR, Issue)event.session
has been removed fromload
along with thesession
store andgetSession
. Useevent.locals
instead (1.0.0-next.415, PR)Named layouts have been removed in favor of
(groups)
(1.0.0-next.432, Docs, PR & Migration Instructions)event.clientAddress
is nowevent.getClientAddress()
(1.0.0-next.438, PR)$app/env
has been renamed to$app/environment
, to disambiguate with$env/...
(1.0.0-next.445, PR)
For a full list of changes, check out kit's CHANGELOG.
Updates to language tools
TypeScript doesn't resolve imports to SvelteKit's $types very well, the latest version of Svelte's language tools makes it better (105.21.0, #1592)
Community Showcase
Apps & Sites built with Svelte
canno is a simple interactive 3d physics game with adjustable gravity, cannon power, and debug visualizer - made with threlte
straw.page is an extremely simple website builder that lets you create unique websites straight from your phone
Patra lets you share short notes just with a link. No database. No storage
promptoMANIA is an AI art community with an online prompt builder
Album by Mood lets you listen to music based on your mood
Daily Sumeiro is a daily game to test your math and logic skills
Lofi and Games - play relaxing, casual games right from your browser
Pitch Pipe is a digital pitch pipe with a frequency analyser and just-intonation intervals
classes.wtf is a custom, distributed search engine written in Go and Svelte to make searching for Harvard courses much quicker than the standard course catalog
Scrumpack is a set of tools to help agile/scrum teams with their ceremonies like Planning Poker and Retrospectives
Learning Resources
Starring the Svelte team
Supper Club × Rich Harris, Author of Svelte — Syntax Podcast 499
2.17 - Building the Future of Svelte at Vercel with Rich Harris
Learning the new SvelteKit routing
Migrating Breaking Changes in SvelteKit by Brittney Postma (Netlify)
Major Svelte Kit API Change - Fixing
load
, and tightening up SvelteKit's design before 1.0 - Video by LevelUpTutsSvelteKit Is Never Going To Be The Same - Video by Joy of Code
Let's learn SvelteKit by building a static Markdown blog from scratch by Josh Collinsworth (updated Aug 26th to keep up with the new changes)
To Watch
Svelte Guide For React Developers and Svelte State Management Guide by Joy of Code
What Is Bookit? The Svelte Kit Storybook Killer and What Is @type{import In Svelte Kit - JSDoc Syntax by LevelUpTuts
TWF Yet another JS Framework... or not? Svelte! by TWF meetup
To Read
Creating a Figma Plugin with Svelte by Lennart
Svelte Video Blog: Vlog with Mux from your own SvelteKit Site and Svelte Shy Header: Peekaboo Sticky Header with CSS by Rodney Lab
Libraries, Tools & Components
@svelte-plugins/tooltips is a simple tooltip action and component designed for Svelte
Lucia is a simple authentication library for SvelteKit that connects your SvelteKit app to your database
remix-router-svelte is a Svelte implementation of the
react-router-dom
API (driven by@remix-run/router
)MKRT is a CLI to help you create SvelteKit routes, fast
Histoire is a tool to generate stories applications - scenarios where you showcase components for specific use cases
sveltekit-flash-message is a Sveltekit library that passes temporary data to the next request, usually from endpoints
svelte-particles is a lightweight TypeScript library for creating particles
svelte-claps adds clap button (like Medium) to any page for your SvelteKit apps
Neon Flicker is a Svelte component to make your text flicker in a cyberpunk style
ComboBox is a search input to help users select from a large list of items
@svelte-put is useful svelte stuff to put in your projects
vite-plugin-svelte-bridge lets you write Svelte components and use them from React & Vue
UI Kits and Starters
Svelte-spectre is a UI-kit based on spectre.css and powered by Svelte
Skeleton allows you to build fast and reactive web UI using the power of Svelte + Tailwind
iconsax-svelte brings the popular icon kit to Svelte
laravel-vite-svelte-spa-template is a Laravel 9, Vite, Svelte SPA, Tailwind CSS (w/ Forms Plugin & Aspect Ratio Plugin), Axios, & TypeScript starter template
neutralino-svelte-boilerplate-js is a cross platform desktop template for Neutralino and Svelte
figma-plugin-svelte-vite is a boilerplate for creating Figma plugins using Svelte, Vite and Typescript
Urara is a sweet & powerful SvelteKit blog starter
SvelteKit Commerce is an all-in-one starter kit for high-performance e-commerce sites built with SvelteKit by Vercel
Did we miss anything? Let us know on Reddit or Discord!
See ya next month!