@@ -12,43 +12,49 @@ const FEATURED: {
12
12
// Keeping the same order as in sv
13
13
// https://github.com/sveltejs/cli/blob/main/packages/addons/_config/official.ts#L16-L17
14
14
packages : [
15
+ { name : 'tailwindcss' , svAlias : 'tailwind' } ,
16
+ { name : 'drizzle-orm' , svAlias : 'drizzle' } ,
17
+ { name : 'mdsvex' , svAlias : 'mdsvex' } ,
18
+ { name : 'lucia' , svAlias : 'lucia' , description : 'A guide to implementing auth in your app.' } ,
19
+ { name : 'storybook' , svAlias : 'storybook' } ,
15
20
{ name : 'prettier' , svAlias : 'prettier' } ,
16
21
{ name : 'eslint' , svAlias : 'eslint' } ,
17
22
{ name : 'vitest' , svAlias : 'vitest' } ,
18
23
{ name : 'playwright' , svAlias : 'playwright' } ,
19
- { name : 'tailwindcss' , svAlias : 'tailwind' } ,
20
- { name : 'vite-plugin-devtools-json' , svAlias : 'devtools-json' } ,
21
- { name : 'drizzle-orm' , svAlias : 'drizzle' } ,
22
- { name : 'lucia' , svAlias : 'lucia' } ,
23
- { name : 'mdsvex' , svAlias : 'mdsvex' } ,
24
24
{
25
25
name : '@inlang/paraglide-js' ,
26
26
svAlias : 'paraglide' ,
27
27
description : 'A compiler-based i18n library that emits tree-shakable message functions.'
28
28
} ,
29
- { name : 'storybook ' , svAlias : 'storybook ' }
29
+ { name : 'vite-plugin-devtools-json ' , svAlias : 'devtools-json ' }
30
30
]
31
31
} ,
32
32
{
33
33
title : 'Component libraries' ,
34
34
packages : [
35
35
{ name : 'shadcn-svelte' } ,
36
- { name : 'bits-ui' } ,
37
- { name : 'melt' } ,
38
- { name : '@skeletonlabs/skeleton' } ,
36
+ { name : 'bits-ui' , description : 'Headless components for Svelte.' } ,
39
37
{ name : '@ark-ui/svelte' } ,
40
- { name : 'flowbite-svelte' } ,
38
+ {
39
+ name : '@skeletonlabs/skeleton' ,
40
+ description : 'Skeleton is an adaptive design system powered by Tailwind CSS.'
41
+ } ,
42
+ {
43
+ name : 'flowbite-svelte' ,
44
+ description : 'Official Svelte components built for Flowbite and Tailwind CSS'
45
+ } ,
46
+ { name : 'daisyui' } ,
41
47
{ name : 'svelte-material-ui' } ,
42
48
{ name : 'carbon-components-svelte' } ,
43
- { name : '@sveltestrap/sveltestrap ' } ,
44
- { name : 'daisyui ' }
49
+ { name : 'melt ' } ,
50
+ { name : '@sveltestrap/sveltestrap ' }
45
51
]
46
52
} ,
47
53
{
48
54
title : 'Individual components' ,
49
55
packages : [
50
56
{ name : '@tanstack/svelte-table' } ,
51
- { name : '@ai-sdk/svelte' } ,
57
+ { name : '@ai-sdk/svelte' , description : 'Svelte UI components for the AI SDK' } ,
52
58
{ name : '@tanstack/svelte-virtual' } ,
53
59
{ name : 'virtua' } ,
54
60
{ name : '@event-calendar/core' }
@@ -57,19 +63,17 @@ const FEATURED: {
57
63
{
58
64
title : 'SvelteKit adapters' ,
59
65
packages : [
66
+ { name : '@sveltejs/adapter-auto' } ,
60
67
{ name : '@sveltejs/adapter-node' } ,
61
68
{ name : '@sveltejs/adapter-vercel' } ,
62
- { name : '@sveltejs/adapter-auto' } ,
63
69
{ name : '@sveltejs/adapter-cloudflare' } ,
64
70
{ name : '@sveltejs/adapter-netlify' } ,
71
+ { name : 'amplify-adapter' } ,
65
72
{ name : 'svelte-kit-sst' } ,
66
73
{ name : 'svelte-adapter-bun' } ,
67
- { name : '@slicemachine/adapter-sveltekit' } ,
68
- { name : 'amplify-adapter' } ,
69
- { name : 'svelte-adapter-deno' } ,
70
74
{ name : 'svelte-adapter-appengine' } ,
71
75
{ name : 'sveltekit-adapter-chrome-extension' } ,
72
- { name : 'svelte- adapter-azure-swa ' }
76
+ { name : '@slicemachine/ adapter-sveltekit ' }
73
77
]
74
78
} ,
75
79
{
@@ -85,21 +89,21 @@ const FEATURED: {
85
89
{
86
90
title : 'Data visualization' ,
87
91
packages : [
88
- { name : 'layercake' } ,
89
92
{ name : 'layerchart' } ,
93
+ { name : 'layercake' } ,
90
94
{ name : 'svelte-maplibre' } ,
91
95
{ name : 'svelte-chartjs' , description : 'Create charts using Chart.js in Svelte apps.' } ,
92
- { name : '@xyflow/svelte' } ,
96
+ {
97
+ name : '@xyflow/svelte' ,
98
+ description : 'Powerful libraries for building node-based UIs with Svelte.'
99
+ } ,
93
100
{ name : 'svelte-maplibre-gl' }
94
101
]
95
102
} ,
96
- {
97
- title : '3D rendering' ,
98
- packages : [ { name : '@threlte/core' } , { name : 'svelte-zdog' } ]
99
- } ,
100
103
{
101
104
title : 'Animations' ,
102
105
packages : [
106
+ { name : '@threlte/core' } ,
103
107
{ name : '@neoconfetti/svelte' } ,
104
108
{ name : 'svelte-motion' } ,
105
109
{ name : '@lottiefiles/svelte-lottie-player' } ,
@@ -111,16 +115,16 @@ const FEATURED: {
111
115
packages : [
112
116
{ name : 'mdsvex' } ,
113
117
{ name : '@content-collections/core' } ,
114
- { name : 'carta-md' } ,
115
- { name : 'typewriter-editor' } ,
116
- { name : '@svelte-put/toc' } ,
118
+ { name : 'svelte-exmarkdown' } ,
119
+ { name : '@magidoc/plugin-svelte-marked' } ,
117
120
{ name : '@prismicio/svelte' } ,
121
+ { name : 'carta-md' } ,
118
122
{ name : '@svelteness/kit-docs' } ,
119
123
{ name : '@sveltepress/vite' } ,
120
124
{ name : '@evidence-dev/evidence' } ,
121
- { name : '@magidoc/plugin- svelte-marked ' } ,
122
- { name : 'svelte-exmarkdown ' } ,
123
- { name : 'svelte-pdf ' }
125
+ { name : 'svelte-pdf ' } ,
126
+ { name : 'typewriter-editor ' } ,
127
+ { name : '@ svelte-put/toc ' }
124
128
]
125
129
} ,
126
130
{
@@ -138,18 +142,18 @@ const FEATURED: {
138
142
{ name : '@sveltejs/enhanced-img' } ,
139
143
{ name : '@unpic/svelte' } ,
140
144
{ name : '@poppanator/sveltekit-svg' } ,
145
+ { name : 'svelte-easy-crop' } ,
141
146
{ name : '@uppy/svelte' } ,
142
- { name : 'scrolly-video' } ,
143
- { name : 'svelte-easy-crop' }
147
+ { name : 'scrolly-video' }
144
148
]
145
149
} ,
146
150
{
147
151
title : 'SEO' ,
148
152
packages : [
149
153
{ name : 'svelte-meta-tags' } ,
150
- { name : '@sveltejs/amp' } ,
151
- { name : 'svelte-seo' } ,
152
154
{ name : 'super-sitemap' } ,
155
+ { name : 'svelte-seo' } ,
156
+ { name : '@sveltejs/amp' } ,
153
157
{ name : 'svead' , description : 'Svelte component for managing meta tags and SEO.' }
154
158
]
155
159
} ,
@@ -158,11 +162,11 @@ const FEATURED: {
158
162
packages : [
159
163
{ name : 'better-auth' } ,
160
164
{ name : '@auth/sveltekit' } ,
165
+ { name : '@supabase/ssr' } ,
161
166
{ name : 'altcha' } ,
162
- { name : 'svelte-session-manager' } ,
163
167
{ name : 'svelte-clerk' } ,
168
+ { name : 'svelte-session-manager' } ,
164
169
{ name : 'svelte-kit-sessions' } ,
165
- { name : '@supabase/ssr' } ,
166
170
{ name : '@passlock/sveltekit' }
167
171
]
168
172
} ,
@@ -197,8 +201,8 @@ const FEATURED: {
197
201
{ name : '@testing-library/svelte' } ,
198
202
{ name : 'playwright' } ,
199
203
{ name : 'vitest' } ,
200
- { name : 'svelte-inspect-value ' } ,
201
- { name : 'svelte-render-scan ' }
204
+ { name : 'svelte-render-scan ' } ,
205
+ { name : 'svelte-inspect-value ' }
202
206
]
203
207
} ,
204
208
{
@@ -219,12 +223,12 @@ const FEATURED: {
219
223
description :
220
224
'<a href="/docs/kit/remote-functions">SvelteKit remote functions</a> are recommended, but here are some alternatives.' ,
221
225
packages : [
226
+ { name : '@tanstack/svelte-query' } ,
222
227
{ name : '@urql/svelte' } ,
228
+ { name : 'houdini' } ,
223
229
{ name : 'trpc-sveltekit' } ,
224
- { name : 'sswr' } ,
225
- { name : '@tanstack/svelte-query' } ,
226
230
{ name : '@orpc/svelte-query' , description : 'Fetch and manage data in Svelte with orpc.' } ,
227
- { name : 'houdini ' }
231
+ { name : 'sswr ' }
228
232
]
229
233
} ,
230
234
{
@@ -233,12 +237,12 @@ const FEATURED: {
233
237
'<a href="/docs/kit/remote-functions#form">SvelteKit forms</a> are recommended, but here are some alternatives.' ,
234
238
packages : [
235
239
{ name : 'sveltekit-superforms' } ,
236
- { name : '@tanstack/svelte-form' } ,
237
240
{
238
241
name : 'formsnap' ,
239
242
description : 'Wraps sveltekit-superforms with accessible form components.'
240
243
} ,
241
- { name : 'felte' }
244
+ { name : 'felte' } ,
245
+ { name : '@tanstack/svelte-form' }
242
246
]
243
247
}
244
248
] ;
0 commit comments