|
| 1 | +--- |
| 2 | +title: "What's new in Svelte: November 2022" |
| 3 | +description: "Better forms, routes and inline styles across SvelteKit and Svelte" |
| 4 | +author: Daniel Sandoval |
| 5 | +authorURL: https://desandoval.net |
| 6 | +--- |
| 7 | + |
| 8 | +It's been a busy October for the Svelte community. `use:enhance` and Advanced Routes got some great improvements in SvelteKit while the Svelte compiler released a minor version to improve the day-to-day dev experience. |
| 9 | + |
| 10 | +There's also a _huge_ showcase to cover... so let's jump in! |
| 11 | + |
| 12 | +## What's new in SvelteKit |
| 13 | +- The new `update` method for `use:enhance` lets you provide a custom function with a callback to forms ([docs](https://kit.svelte.dev/docs/form-actions#progressive-enhancement-use-enhance), [#7083](https://github.com/sveltejs/kit/pull/7083) and [#7326](https://github.com/sveltejs/kit/pull/7326)) |
| 14 | +- `[[optional]]` parameters are now available for routing ([docs](https://kit.svelte.dev/docs/advanced-routing#optional-parameters), [#7051](https://github.com/sveltejs/kit/pull/7051)) |
| 15 | +- `goto` now has `invalidateAll` to make all `load` functions belonging to the currently active page to re-run([docs](https://kit.svelte.dev/docs/modules#app-navigation-goto), [#7407](https://github.com/sveltejs/kit/pull/7407)) |
| 16 | + |
| 17 | +**Breaking changes:** |
| 18 | +- Errors will now be thrown when routes conflict ([#7051](https://github.com/sveltejs/kit/pull/7051)) |
| 19 | +- The global `fetch` override has been removed when prerendering ([#7318](https://github.com/sveltejs/kit/pull/7318)) |
| 20 | +- Route IDs have been prefixed with `/` ([#7338](https://github.com/sveltejs/kit/pull/7338)) |
| 21 | + |
| 22 | +## Svelte changes |
| 23 | +- You can now use `important` in inline style tags: `style:foo|important` (**3.52.0**, [#7365](https://github.com/sveltejs/svelte/issues/7365)) |
| 24 | +- A warning will now be thrown when using <a target="_blank"> without rel="noreferrer" (**3.52.0**, [#6188](https://github.com/sveltejs/svelte/issues/6188)) |
| 25 | + |
| 26 | +Tom Smykowski also released a great summary of [all the changes in 3.52.0](https://tomaszs2.medium.com/svelte-3-52-0-improves-dev-experience-45f8c460bb96)! For all the changes to the Svelte compiler, including upcoming changes, check out the [CHANGELOG](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md). |
| 27 | + |
| 28 | +--- |
| 29 | + |
| 30 | +## Community Showcase |
| 31 | + |
| 32 | +**Apps & Sites built with Svelte** |
| 33 | +- [Gram Jam](https://gramjam.app/) is a challenging daily word game using Sveltekit |
| 34 | +- [Collabwriting](https://collabwriting.com/) is an actionable knowledge base for your team |
| 35 | +- [Dazzle](https://dazzlega.me/) is a Puzzle Game made with Svelte & DallE |
| 36 | +- [Figma Autoname plugin](https://github.com/Hugo-Dz/figma_autoname_client_app) automatically names your Figma layers in one click |
| 37 | +- [DECK](https://github.com/sfx101/deck) is powerful and high performant local web development studio for MacOS, Ubuntu and Windows |
| 38 | +- [Asm editor](https://github.com/Specy/asm-editor) is a webapp to write and run m68k assembly code |
| 39 | +- [Nucleus](https://github.com/mellobacon/Nucleus) is a text editor featuring a clean and easy to use user interface inspired by Visual Studio Code, Atom, Fleet, and others |
| 40 | +- [Observer](https://github.com/diamonc/observer) is a frontend for Arth Panel, an open-source & self-hosted minecraft server panel |
| 41 | +- [.PLAN](https://plan.lodzero.com/) is a cloud-based notetaking app with markdown and section support |
| 42 | +- [Stablecog](https://github.com/yekta/stablecog) is a simple, free & open source AI image generator |
| 43 | +- [FreeSpeech AAC](https://github.com/merkie/freespeech) is a free and open-source assistive communication app written in TypeScript |
| 44 | +- [sqrdoff](https://sqrdoff.cubieverse.co/) is a dots and boxes to enjoy playing with friends |
| 45 | +- [itty](https://launch.itty-sh.pages.dev/) is a fresh take on the traditional link-shortener |
| 46 | +- [splits](https://splits.best/) lets you track your splits, calculate your race pace, become a better athlete |
| 47 | +- [Weaver](https://jrende.xyz/weaver/) is an application for creating [weave drafts](https://www.gistyarn.com/blogs/how-to-weave/how-to-read-a-weaving-draft) |
| 48 | + |
| 49 | + |
| 50 | +**Learning Resources** |
| 51 | + |
| 52 | +_To Watch_ |
| 53 | +- [Starting With Svelte - Brittney Postma](https://www.youtube.com/watch?v=pdKJzrPA0DY) by fitcevents |
| 54 | +- [Learn Svelte from scratch with Geoff Rich: A Svelte tutorial](https://www.youtube.com/watch?v=QoR0AZ-Rov8) by Kelvin Omereshone |
| 55 | +- [How To Connect to MongoDB in Svelte Kit](https://www.youtube.com/watch?v=gwktlvFHLMA) by LevelUpTuts |
| 56 | +- [SvelteKit Authentication Using Cookies](https://www.youtube.com/watch?v=E3VG-dLCRUk), [Make A Typing Game With Svelte](https://www.youtube.com/watch?v=kMz_Ba_OF2w) and [SvelteKit Tailwind CSS Setup With Automatic Class Sorting](https://www.youtube.com/watch?v=J_G_xP0chog) by Joy of Code |
| 57 | +- [Authentication with SvelteKit & PocketBase](https://www.youtube.com/watch?v=doDKaKDvB30) and [Form Actions in SvelteKit (+page)](https://www.youtube.com/watch?v=52nXUwQWeKI) by Huntabyte |
| 58 | +- [Sybil - Episode 1 - Rust knowledge management with SurrealDB](https://www.youtube.com/watch?v=eC7IePI5rIk) by Raphael Darley |
| 59 | + |
| 60 | +_To Read_ |
| 61 | +- [4 things I miss from Svelte after working in React](https://geoffrich.net/posts/4-things-i-miss-svelte/) and [Create dynamic social card images with Svelte components](https://geoffrich.net/posts/svelte-social-image/) by Geoff Rich |
| 62 | +- [First-class Vite support in Storybook 7.0](https://storybook.js.org/blog/first-class-vite-support-in-storybook/) (Svelte and SvelteKit included) by Ian VanSchooten |
| 63 | +- [Better Svelte support is coming to WebStorm](https://blog.jetbrains.com/webstorm/2022/09/webstorm-2022-3-eap1/#information_regarding_svelte_support) from JetBrains |
| 64 | +- [Dark Mode](https://pyronaur.com/dark-mode/) Toggle by pyronaur |
| 65 | +- [HeadlessUI Components with Svelte](https://www.captaincodeman.com/headlessui-components-with-svelte) by Captain Codeman |
| 66 | +- [Using Sequelize with SvelteKit](https://cherrific.io/0xedB00816FB204b4CD9bCb45FF2EF693E99723484/story/23) by MetaZebre |
| 67 | +- [Implementing Maintenance mode on a SvelteKit site](https://blog.encodeart.dev/implementing-maintenance-mode-on-a-sveltekit-site) by Andreas Söderlund |
| 68 | +- [ActionStore: Real-time Svelte stores for Rails](https://dev.to/buhrmi/actionstore-real-time-svelte-stores-for-rails-4jhg) by Stefan Buhrmester |
| 69 | +- [Svelte CSS Image Slider: with Bouncy Overscroll](https://rodneylab.com/svelte-css-image-slider/) and [SvelteKit Local Edge Functions: Edge on Localhost](https://rodneylab.com/sveltekit-local-edge-functions/) by Rodney Lab |
| 70 | +- [Creating a Svelte Tabs component with Slot props](https://blog.openreplay.com/creating-a-svelte-tabs-component-with-slot-props/) by Shinichi Okada |
| 71 | +- [Sky Cart: An Open Source, cloud-agnostic shopping cart using Stripe Checkout](https://dev.to/stripe/sky-cart-an-open-source-cloud-agnostic-shopping-cart-using-stripe-checkout-o5k) by Mike Bifulco for Stripe |
| 72 | + |
| 73 | + |
| 74 | + |
| 75 | +**Libraries, Tools & Components** |
| 76 | +- [Threlte](https://threlte.xyz/) is a component library for Svelte to build and render three.js scenes declaratively and state-driven in Svelte apps. It's being featured again to highlight the new "Playground" button in its examples |
| 77 | +- [Svelte Turnstile](https://github.com/ghostdevv/svelte-turnstile) is a library to integrate Cloudflare's Turnstile (a new CAPTCHA alternative) into a Svelte app |
| 78 | +- [ActionStore](https://github.com/buhrmi/actionstore) allows you to push data directly into Svelte stores via ActionCable |
| 79 | +- [SvelteKit + `<is-land>`](https://sveltekit-is-land.vercel.app/) is an experiment with partial hydration in SvelteKit using `@11ty/is-land` |
| 80 | +- [Svelte Color Select](https://github.com/CaptainCodeman/svelte-color-select) is an Okhsv Color Selection component for Svelte using OKLab perceptual colorspace |
| 81 | +- [svelte-awesome-color-picker](https://github.com/Ennoriel/svelte-awesome-color-picker) is a highly customizable color picker component library |
| 82 | +- [rx-svelte-forms](https://www.npmjs.com/package/rx-svelte-forms) creates reactive Svelte forms inspired by Angular reactive forms |
| 83 | +- [svelte-wc-bind](https://www.npmjs.com/package/svelte-wc-bind) enables two way data binding in Svelte web components |
| 84 | +- [svelte-preprocess-style-child-component](https://github.com/valterkraemer/svelte-preprocess-style-child-component) allows you to style elements inside a child component using similar syntax as CSS Shadow Parts |
| 85 | +- [unplugin-svelte-components](https://www.npmjs.com/package/unplugin-svelte-components) allows for on-demand components auto importing for Svelte |
| 86 | +- [sveltekit-search-params](https://github.com/paoloricciuti/sveltekit-search-params) aims to be the fastest way to read AND WRITE from query search params in SvelteKit |
| 87 | +- [svelte-crop-window](https://github.com/sabine/svelte-crop-window) is a crop window component for images and videos that supports touch gestures (pinch zoom, rotate, pan), as well as mousewheel zoom, mouse-dragging the image, and rotating on right mouse button |
| 88 | +- [Open Graph Image Generation](https://github.com/etherCorps/sveltekit-og) lets you generate open graph images dynamically from HTML/CSS without a browser in SvelteKit |
| 89 | +- [Svelte Tap Hold](https://github.com/binsarjr/svelte-taphold) is a minimalistic tap and hold component for Svelte/SvelteKit |
| 90 | +- [svelte-copy](https://github.com/ghostdevv/svelte-copy)'s new version lets you customize the events that cause text to be copied to the clipboard |
| 91 | + |
| 92 | +_UI Kits, Integrations and Starters_ |
| 93 | +- [SvelteKit Statiko](https://github.com/ivodolenc/sveltekit-statiko) is a multi-featured assistant for SvelteKit static projects |
| 94 | +- [Svelte-TailwindCSS UI (STWUI)](https://github.com/N00nDay/stwui) is a Tailwind-based UI that is currently in pre-release beta |
| 95 | +- [KitBase](https://github.com/kevmodrome/kitbase) is a starter template for SvelteKit and PocketBase |
| 96 | +- [UnoCSS Vite Plugin (svelte-scoped)](https://github.com/unocss/unocss/tree/main/examples/sveltekit-scoped) is a scoped-CSS utility for Vite/SvelteKit |
| 97 | +- [SvelteKit Auth App](https://github.com/fabiorodriguesroque/sveltekit_auth_app) is an example of how we can create an authentication system with SvelteKit using JsonWebToken and Prisma |
| 98 | +- [SvelteKit Supabase Dashboard](https://github.com/xulioc/sveltekit-supabase-dashboard) is a simple dashboard inspired by Supabase UI made with SvelteKit as frontend and Supabase as backend |
| 99 | +- [Supakit](https://github.com/j4w8n/supakit) is a Supabase auth helper for SvelteKit |
| 100 | +- [@bun-community/sveltekit-adapter-bun](https://www.npmjs.com/package/@bun-community/sveltekit-adapter-bun) is an adapter for SvelteKit apps that generates a standalone Bun server |
| 101 | +- [hooks-as-store](https://github.com/micha-lmxt/hooks-as-store) lets you use React custom hooks in Svelte Apps |
| 102 | + |
| 103 | +_Fun ones_ |
| 104 | +- [svelte-typewriter-store](https://github.com/paoloricciuti/svelte-typewriter-store) is the simplest way to get a rotating typewriter effect in Svelte |
| 105 | +- [Aksel](https://www.npmjs.com/package/aksel) is the seagull you needed on your site |
| 106 | +- [Svelte-Dodge](https://github.com/WbaN314/svelte-dodge) makes components dodge the pointer |
| 107 | + |
| 108 | +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.com/invite/yy75DKs) |
| 109 | + |
| 110 | +See ya next month 👋 |
0 commit comments