What’s new in Svelte: January 2023

It's been just two weeks since the release of SvelteKit 1.0 (/blog/announcing-sveltekit-1.0)! If you haven't yet, check out the livestream (https://www.youtube.com/watch?v=N4BRVkQVoMc), new website

It’s been just two weeks since the release of SvelteKit 1.0 (/blog/announcing-sveltekit-1.0)! If you haven’t yet, check out the livestream (https://www.youtube.com/watch?v=N4BRVkQVoMc), new website (https://kit.svelte.dev/) and tutorial (/tutorial) to learn all the features of SvelteKit step-by-step.

Let’s dive into the details…

What’s new in SvelteKit (#What’s-new-in-SvelteKit)

• @sveltejs/kit 1.0 is out! All future releases will follow semver and changes will be listed as major/minor/patch in the CHANGELOG (https://github.com/sveltejs/kit/blob/master/packages/kit/CHANGELOG.md#100).

• Improved support for Storybook and Histoire (#7990 (https://github.com/sveltejs/kit/pull/7990)). Work is ongoing to fully support those tools (storybook#20239 (https://github.com/storybookjs/storybook/pull/20239)).

• vitePreprocess is now the default preprocessor. Please see the docs (/docs/kit/integrations#vitePreprocess) for differences between vitePreprocess and svelte-preprocess (#8036 (https://github.com/sveltejs/kit/pull/8036)).

Breaking changes: (#What’s-new-in-SvelteKit-Breaking-changes:)

• Unknown exports (except when starting with an underscore) are no longer allowed from +(layout|page)(.server)?.js and +server.js files (#7878 (https://github.com/sveltejs/kit/pull/7878))

• __data.json is now stripped from URL (#7979 (https://github.com/sveltejs/kit/pull/7979))

• sveltekit() will now return a promise for an array of Vite plugins (#7994 (https://github.com/sveltejs/kit/pull/7994))

• A new embedded option, turned off by default, helps with link clicks when embedding SvelteKit (docs (/docs/kit/configuration), #7969 (https://github.com/sveltejs/kit/pull/7969))

• Automatic fallback generation has been replaced with builder.generateFallback(fallback) (#8013 (https://github.com/sveltejs/kit/pull/8013))

• invalid() is now fail() and ValidationError is now ActionFailure (#8012 (https://github.com/sveltejs/kit/pull/8012))

• SvelteKit will now throw an error on invalid load response (#8003 (https://github.com/sveltejs/kit/pull/8003))

• SvelteKit is now using Vite 4 and requires a Svelte peerDependency of ^3.54.0 (#7543 (https://github.com/sveltejs/kit/pull/7543))

• Shells are now prerendered when ssr is false and prerender is not false - ensure prerender is false when ssr is also false (#8131 (https://github.com/sveltejs/kit/pull/8131))

• Warnings and errors about removed/changed APIs have been removed (#8019 (https://github.com/sveltejs/kit/pull/8019))

What’s new in Svelte (#What’s-new-in-Svelte)

• The options.direction argument can now be passed to custom transition functions (3.54.0, #3918 (https://github.com/sveltejs/svelte/issues/3918))

• Variables can now be updated from a @const declared function (3.54.0, #7843 (https://github.com/sveltejs/svelte/issues/7843))

• svelte/elements has been added for Svelte/HTML type definitions (3.55.0, #7649 (https://github.com/sveltejs/svelte/pull/7649))

What’s new in Language Tools (#What’s-new-in-Language-Tools)The Svelte extension and language tools now have a few new minimum version requirements:

• Node version is now 16

• TypeScript version is now 4.9

• Svelte version is now 3.55

The following features have also been released:

• missing handler quick fix (#1731 (https://github.com/sveltejs/language-tools/pull/1731))

• add Svelte anchor missing attribute code action (#1730 (https://github.com/sveltejs/language-tools/pull/1730))

• better commit characters handling (#1742 (https://github.com/sveltejs/language-tools/pull/1742))

• add –preserveWatchOutput option (#1715 (https://github.com/sveltejs/language-tools/pull/1715))

• enhance Quickfixes to include Svelte Stores (#1789 (https://github.com/sveltejs/language-tools/pull/1789))

• only show SvelteKit files context menu in SvelteKit projects (#1771 (https://github.com/sveltejs/language-tools/pull/1771))

• use the satisfies operator if possible (#1770 (https://github.com/sveltejs/language-tools/pull/1770))

For all the changes to the Svelte compiler, including unreleased changes, check out the CHANGELOG (https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md).

Community Showcase (#Community-Showcase)Apps & Sites built with Svelte (#Community-Showcase-Apps-Sites-built-with-Svelte)

• Svelte Recipes 🧑‍🍳 (https://svelte.recipes/) provides code snippets for common data visualization problems

• Everything Svelte (https://www.everythingsvelte.com/) is a new course teaching everything you need to know to build a modern web application

• CSS Timeline (https://css-timeline.vercel.app/) is a Timeline of the history and evolution of CSS

• GitBar (https://github.com/mikaelkristiansson/gitbar) is a system tray app for showing your pull requested reviews

• Texture Lab (https://www.texturelab.xyz/) generates instant textures for games from any text

• Totems (https://totems-soclage.com/) is a studio creating custom-made stands and supports

• PeopletoNotion (https://www.peopletonotion.com/) is a Chrome Extension that adds LinkedIn profiles to Notion in one click

• DeckDev (https://deckdev.com/) is a deck builder for Magic: The Gathering

• Default Shortcuts (https://www.defaultshortcuts.com/) is a tool for searching keyboard shortcuts across browsers.

Learning Resources (#Community-Showcase-Learning-Resources)From Svelte Society

• Svelte Society - London December 2022 (https://www.youtube.com/watch?v=2ijSarsHfN0) featuring two talks by Antony and Rich, respectively. Rich’s talk, “Mistakes were made” is a SvelteKit 1.0 retrospective.

• SvelteKit with Netlify Edge Functions (https://twitter.com/BrittneyPostma/status/1603402599742537729?s=20&t=Lw08QNMpdEP1JZzMQGXLDA) by Brittney Postma

• Sirens Stream: Skeleton - A fully featured UI Toolkit (https://www.youtube.com/watch?v=2OnJYCXJPK4) with Chris Simmons and Brittney Postma

• Sirens: SvelteKit for Enterprise (https://www.youtube.com/watch?v=_0ijqV0DmNQ) - Lacey Pevey joins the Sirens to talk through using SvelteKit at the Enterprise level

• Sirens: Form Actions (https://www.youtube.com/watch?v=2OISk5-EHek) - Kev joins the Sirens again to chat about Form actions in SvelteKit and create a new form for speaker submissions on SvelteSirens.dev

To Watch

• SvelteKit is my mistress (https://www.youtube.com/watch?v=uEJ-Rnm2yOE) by Fireship

• Sveltekit 1.0 in under 3 minutes (https://www.youtube.com/watch?v=3KGKDgwIrkE) by Gui Bibeau

• What Svelte UI Library Should You Use? (https://www.youtube.com/watch?v=O0mNU0maItY) and The Best Icon Library For Svelte (Iconify) (https://www.youtube.com/watch?v=iGVhzsTZSa8) by Joy of Code

To Read

• Rendering emails with Svelte (https://escape.tech/blog/sveltemails/) by Gautier Ben Aïm

• Now That React is Dead, What’s the Next Big Thing? (https://javascript.plainenglish.io/now-that-react-js-is-dead-whats-the-next-big-thing-7fa72a36a69b) by Somnath Singh

• What is SvelteKit? And Why Should You Care? (https://blog.tiia.rocks/what-is-sveltekit-and-why-should-you-care) by Tila

• Sveltekit API endpoints (https://www.jefmeijvis.com/post/006-sveltekit-api-endpoints) by Jef Meijvis

• Chart.js 4.0 (https://github.com/chartjs/Chart.js/discussions/10977) has been released, with updated Svelte support

• Creating A Custom Svelte Media Query Store (https://pqina.nl/blog/svelte-media-query-store/) by Rik Schennink

Libraries, Tools & Components (#Community-Showcase-Libraries-Tools-Components)

• Konsta UI (https://konstaui.com/) is a library of pixel perfect mobile UI components built with Tailwind CSS for React, Vue & Svelte

• probablykasper/modal-svelte (https://github.com/probablykasper/modal-svelte) is a modal component for Svelte

• deepcrayon/scrolltron (https://spacecruft.org/deepcrayon/scrolltron) is a news ticker overlay for OBS Studio

• JetBrains WebStorm 2022.3 (https://www.jetbrains.com/webstorm/whatsnew/#:~:text=Update%20about%20Svelte%20support) now has built-in support for Svelte

• NextAuth.js (https://vercel.com/blog/announcing-sveltekit-auth) is now available for SvelteKit

• SvelteKit CAS authentication (https://www.npmjs.com/package/@macfja/sveltekit-cas) is a set of functions to ease usage of a CAS/SSO in SvelteKit

• @macfja/sveltekit-session (https://www.npmjs.com/package/@macfja/sveltekit-session) is an easy way to do session management for SvelteKit

• @svelte-plugins/tooltips (https://svelte-plugins.github.io/tooltips/) is a basic tooltip component written in Svelte

• tRPC-SvelteKit (https://github.com/icflorescu/trpc-sveltekit) provides end-to-end typesafe APIs for your SvelteKit applications

• SvelteKit Tailwind Blog Starter (https://github.com/akiarostami/sveltekit-tailwind-blog-starter) is an easily configurable and customizable blog starter for SvelteKit + Tailwind CSS

• Free Svelte Accelerators (https://sveltekitstarter.com/) is a list of Svelte and Sveltekit open source code to jump start your project

Happy new year 🎆 Let us know if we missed anything on Reddit (https://www.reddit.com/r/sveltejs/) or Discord (https://discord.gg/svelte)

Write a comment
No comments yet.