diff --git a/src/lib/SearchableJson.svelte b/src/lib/SearchableJson.svelte index 708dc62b6..00bac0375 100644 --- a/src/lib/SearchableJson.svelte +++ b/src/lib/SearchableJson.svelte @@ -5,6 +5,7 @@ import { packageManager } from '$stores/packageManager'; import CategoryFilters from '$lib/CategoryFilters.svelte'; import { filterArray, sortArray } from '$utils/arrayUtils'; + import { tick } from 'svelte'; // eslint-disable-next-line @typescript-eslint/no-explicit-any export let data: any[]; @@ -18,6 +19,28 @@ let searchValue: string; let sort = sortableFields[0]; + packageManager.subscribe((newValues) => { + const grouped = newValues.reduce( + (carry, item) => { + if (['npm', 'pnpm', 'yarn'].includes(item)) { + carry['npm'].push(item); + } + if (['gem', 'bundler'].includes(item)) { + carry['gem'].push(item); + } + return carry; + }, + { npm: [], gem: [] } as { npm: Array; gem: Array } + ); + const corrected = [ + grouped['npm'][grouped['npm'].length - 1] ?? 'npm', + grouped['gem'][grouped['gem'].length - 1] ?? 'gem' + ]; + if (newValues.join() !== corrected.join()) { + tick().then(() => packageManager.set(corrected)); + } + }); + $: filteredData = filterArray(data, searchValue); $: sortedData = sortArray(filteredData, sort); @@ -48,12 +71,19 @@ isClearable={false} isSearchable={false} showIndicator - value={{ value: $packageManager }} - on:select={({ detail }) => ($packageManager = detail.value)} + handleClear={() => ({})} + value={$packageManager.map((value) => ({ value }))} + groupBy={(item) => item.group} + isMulti={true} + on:select={({ detail }) => { + $packageManager = (detail ?? []).map((i) => i.value); + }} items={[ - { label: 'NPM', value: 'npm' }, - { label: 'PNPM', value: 'pnpm' }, - { label: 'Yarn', value: 'yarn' } + { label: 'NPM', value: 'npm', group: 'NPM' }, + { label: 'PNPM', value: 'pnpm', group: 'NPM' }, + { label: 'Yarn', value: 'yarn', group: 'NPM' }, + { label: 'RubyGem', value: 'gem', group: 'Gem' }, + { label: 'Bundler', value: 'bundler', group: 'Gem' } ]} /> {/each} diff --git a/src/lib/components/ComponentIndex/Card.svelte b/src/lib/components/ComponentIndex/Card.svelte index 382a7f0c3..e7a0b1498 100644 --- a/src/lib/components/ComponentIndex/Card.svelte +++ b/src/lib/components/ComponentIndex/Card.svelte @@ -7,22 +7,35 @@ export let title: string; export let description: string; export let stars: string; - export let npm = ''; - export let repository = undefined; + export let npm: string | undefined = undefined; + export let gem: string | undefined = undefined; + export let repository: string | undefined = undefined; export let date = undefined; export let version = undefined; let clipboardCopy = false; const copy = () => { - copyToClipboard(`${packageManagers[$manager]} ${npm}`).then(() => (clipboardCopy = false)); + copyToClipboard(packageManagerAction($manager, npm, gem)).then(() => (clipboardCopy = false)); clipboardCopy = true; }; + const packageManagerAction = ($manager: Array, npm?: string, gem?: string): string => { + if (npm) { + return `${packageManagers[$manager.find((m) => ['npm', 'pnpm', 'yarn'].includes(m)) ?? 'npm']} ${npm}`; + } + if (gem) { + return `${packageManagers[$manager.find((m) => ['gem', 'bundler'].includes(m)) ?? 'gem']} ${gem}`; + } + return ''; + }; + const packageManagers = { npm: 'npm install', pnpm: 'pnpm add', - yarn: 'yarn add' + yarn: 'yarn add', + gem: 'gem install', + bundler: 'bundle add' }; @@ -34,7 +47,7 @@
- {#if repository.includes('github')} + {#if repository?.includes('github')} github logo - {:else if repository.includes('gitlab')} + {:else if repository?.includes('gitlab')} gitlab logo - + {:else if repository} + + 🌐 + {/if}
- {#if npm} + {#if npm || gem} copy()} variant="copy" - title={clipboardCopy ? 'copied!' : `${packageManagers[$manager]} ${npm}`} + title={clipboardCopy ? 'copied!' : packageManagerAction($manager, npm, gem)} /> {/if}

{description}

@@ -89,6 +110,9 @@ margin: -4px; background-color: rgba(0, 0, 0, 0); transition: background-color 200ms ease-out; + text-decoration: none; + font-size: 1rem; + line-height: 18px; } .repo:hover { background-color: rgba(0, 0, 0, 0.25); diff --git a/src/lib/components/Select.svelte b/src/lib/components/Select.svelte index feaa26473..c95442828 100644 --- a/src/lib/components/Select.svelte +++ b/src/lib/components/Select.svelte @@ -28,7 +28,7 @@ flex-direction: column; } - .themed :global(.select-container) { + .themed :global(.select-container.select-container) { border: 2px solid var(--dark-gray); cursor: pointer; flex: 1; @@ -39,17 +39,18 @@ } .themed :global(.multiSelectItem) { - font-size: 0.875rem; + font-size: 1rem; align-items: center; --multiItemBorderRadius: var(--s-1); - --multiItemHeight: 1.25rem; + /*--multiItemHeight: 1.25rem;*/ --multiItemMargin: 0; --multiItemPadding: 0.2rem 0.3rem; --multiClearBG: transparent; --multiClearFill: var(--secondary); --multiClearHoverBG: transparent; - /* --multiClearHoverFill: var(--white); */ - /* --multiLabelMargin: 1px 5px 0 0; */ + --multiClearHoverFill: var(--white); + --multiClearTop: 0px; + /*--multiLabelMargin: 1px 5px 0 0;*/ } .themed :global(input) { diff --git a/src/lib/data/github.json b/src/lib/data/github.json index 68e77855b..431fb605a 100644 --- a/src/lib/data/github.json +++ b/src/lib/data/github.json @@ -2,9 +2,9 @@ "https://github.com/0xdjole/super-navigation": { "stars": 35 }, "https://github.com/6edesign/svelte-calendar": { "stars": 533 }, "https://github.com/aantusahaa/svelte-remixicon": { "stars": 40 }, - "https://github.com/abaga129/sveltekit-adapter-iis": { "stars": 11 }, + "https://github.com/abaga129/sveltekit-adapter-iis": { "stars": 13 }, "https://github.com/abosch19/svelte-fast-marquee": { "stars": 42 }, - "https://github.com/agnosticui/agnosticui": { "stars": 715 }, + "https://github.com/agnosticui/agnosticui": { "stars": 716 }, "https://github.com/agusid/boilerplate-svelte": { "stars": 58 }, "https://github.com/agustinl/svelte-tags-input": { "stars": 304 }, "https://github.com/alessiogr/sveltekit-windicss-flowbite-template": { "stars": 3 }, @@ -20,27 +20,27 @@ "https://github.com/andrelmlins/svelte-fullscreen": { "stars": 65 }, "https://github.com/andrelmlins/svelte-grid-responsive": { "stars": 53 }, "https://github.com/andrelmlins/svelte-infinite-scroll": { "stars": 266 }, - "https://github.com/animotionjs/animotion": { "stars": 1232 }, - "https://github.com/ankurrsinghal/svelte-legos": { "stars": 742 }, + "https://github.com/animotionjs/animotion": { "stars": 1242 }, + "https://github.com/ankurrsinghal/svelte-legos": { "stars": 746 }, "https://github.com/antony/svelte-box": { "stars": 62 }, "https://github.com/antony/sveltekit-adapter-browser-extension": { "stars": 160 }, - "https://github.com/any-tdf/stdf": { "stars": 578 }, + "https://github.com/any-tdf/stdf": { "stars": 580 }, "https://github.com/apple-phi/svelte-paperscript": { "stars": 1 }, "https://github.com/appwrite/sdk-for-svelte": { "stars": 73 }, "https://github.com/architect/sveltekit-adapter": { "stars": 9 }, - "https://github.com/arlac77/svelte-websocket-store": { "stars": 281 }, + "https://github.com/arlac77/svelte-websocket-store": { "stars": 282 }, "https://github.com/arthurgermano/svelte-client-router": { "stars": 15 }, - "https://github.com/ascorbic/unpic-img": { "stars": 1264 }, + "https://github.com/ascorbic/unpic-img": { "stars": 1270 }, "https://github.com/axelen123/svelte-ts-template": { "stars": 21 }, "https://github.com/ayndqy/svelte-micro": { "stars": 90 }, "https://github.com/babichjacob/university-website": { "stars": 1 }, "https://github.com/bartektelec/svelte-svg-transform": { "stars": 24 }, "https://github.com/baseballyama/svelte-preprocess-delegate-events": { "stars": 50 }, - "https://github.com/beartocode/carta": { "stars": 324 }, + "https://github.com/beartocode/carta": { "stars": 340 }, "https://github.com/beartocode/mismerge": { "stars": 44 }, "https://github.com/beerui/beerui": { "stars": 82 }, "https://github.com/benjazehr/svelte-example-museums": { "stars": 29 }, - "https://github.com/bennymi/ato-ui": { "stars": 71 }, + "https://github.com/bennymi/ato-ui": { "stars": 72 }, "https://github.com/bernhardwebstudio/svelte-virtual-table": { "stars": 20 }, "https://github.com/beyonk-group/gdpr-cookie-consent-banner": { "stars": 241 }, "https://github.com/beyonk-group/svelte-carousel": { "stars": 212 }, @@ -58,48 +58,48 @@ "https://github.com/bonosoft/sveltekit-codeentry": { "stars": 0 }, "https://github.com/bonosoft/sveltekit-progress": { "stars": 1 }, "https://github.com/bonosoft/sveltekit-qrcode": { "stars": 6 }, - "https://github.com/born05/sveltekit-proxy": { "stars": 4 }, + "https://github.com/born05/sveltekit-proxy": { "stars": 5 }, "https://github.com/brandonxiang/svelte-webpack-mpa": { "stars": 23 }, "https://github.com/brunomolteni/svelte-sortable-list": { "stars": 122 }, - "https://github.com/bryanmylee/svelte-headless-table": { "stars": 456 }, + "https://github.com/bryanmylee/svelte-headless-table": { "stars": 457 }, "https://github.com/bsssshhhhhhh/svelte-data-grid": { "stars": 202 }, "https://github.com/budgetdraw/sveltekit-cloudflare-adapter": { "stars": 7 }, "https://github.com/buhrmi/query-store": { "stars": 45 }, "https://github.com/c0bra/svelma": { "stars": 536 }, "https://github.com/captaincodeman/svelte-color-select": { "stars": 27 }, - "https://github.com/captaincodeman/svelte-headlessui": { "stars": 526 }, + "https://github.com/captaincodeman/svelte-headlessui": { "stars": 529 }, "https://github.com/captaincodeman/svelte-markdown-input": { "stars": 2 }, - "https://github.com/carbon-design-system/carbon-components-svelte": { "stars": 2645 }, - "https://github.com/carlosv2/adapter-node-ws": { "stars": 17 }, + "https://github.com/carbon-design-system/carbon-components-svelte": { "stars": 2646 }, + "https://github.com/carlosv2/adapter-node-ws": { "stars": 18 }, "https://github.com/casual-ui/casual-ui": { "stars": 51 }, "https://github.com/cerebral/overmind": { "stars": 1577 }, - "https://github.com/chainlist/svelte-forms": { "stars": 402 }, + "https://github.com/chainlist/svelte-forms": { "stars": 401 }, "https://github.com/chanced/filedrop-svelte": { "stars": 110 }, "https://github.com/chanced/focus-svelte": { "stars": 29 }, "https://github.com/charlyjazz/svelte-credit-card": { "stars": 59 }, "https://github.com/chuanqisun/svelte-electron-template": { "stars": 12 }, "https://github.com/cibernox/svelte-intl-precompile": { "stars": 275 }, - "https://github.com/ciscoheat/sveltekit-superforms": { "stars": 2034 }, - "https://github.com/codediodeio/sveltefire": { "stars": 1640 }, + "https://github.com/ciscoheat/sveltekit-superforms": { "stars": 2052 }, + "https://github.com/codediodeio/sveltefire": { "stars": 1641 }, "https://github.com/colinbate/svelte-ts-tailwind-template": { "stars": 70 }, "https://github.com/collardeau/svelte-headroom": { "stars": 79 }, - "https://github.com/consoletvs/sswr": { "stars": 232 }, - "https://github.com/criticalmoments/cmsaasstarter": { "stars": 982 }, + "https://github.com/consoletvs/sswr": { "stars": 233 }, + "https://github.com/criticalmoments/cmsaasstarter": { "stars": 1013 }, "https://github.com/cweili/svelte-fa": { "stars": 397 }, "https://github.com/dafn/svelte-typescript-parcel": { "stars": 51 }, "https://github.com/dafn/svelte-typescript-rollup": { "stars": 78 }, - "https://github.com/dasdaniel/svelte-table": { "stars": 507 }, - "https://github.com/davidjerleke/embla-carousel": { "stars": 5472 }, - "https://github.com/daybrush/moveable": { "stars": 9827 }, + "https://github.com/dasdaniel/svelte-table": { "stars": 511 }, + "https://github.com/davidjerleke/embla-carousel": { "stars": 5524 }, + "https://github.com/daybrush/moveable": { "stars": 9838 }, "https://github.com/daybrush/ruler": { "stars": 319 }, - "https://github.com/daybrush/selecto": { "stars": 1992 }, + "https://github.com/daybrush/selecto": { "stars": 1994 }, "https://github.com/delay/sveltekit-auth-starter": { "stars": 205 }, "https://github.com/demoorjasper/parcel-plugin-svelte": { "stars": 233 }, "https://github.com/devghost/svelte": { "stars": 7 }, "https://github.com/devshamim/svelte-unicons": { "stars": 3 }, "https://github.com/dhimankamal/svelte-progressbar": { "stars": 8 }, "https://github.com/dhyeymoliya/svelte-form-validation": { "stars": 2 }, - "https://github.com/dimfeld/svelte-maplibre": { "stars": 290 }, + "https://github.com/dimfeld/svelte-maplibre": { "stars": 292 }, "https://github.com/dmvvilela/svelte-scrollactive": { "stars": 7 }, "https://github.com/dopry/svelte-auth0": { "stars": 72 }, "https://github.com/dyalicode/svelte-formly": { "stars": 253 }, @@ -107,18 +107,18 @@ "https://github.com/easylogic/svelte-summernote": { "stars": 11 }, "https://github.com/efeskucuk/svelte-color-picker": { "stars": 104 }, "https://github.com/elron/svelte-audio-store": { "stars": 8 }, - "https://github.com/emh333/esbuild-svelte": { "stars": 228 }, - "https://github.com/emiltholin/svelte-routing": { "stars": 2005 }, + "https://github.com/emh333/esbuild-svelte": { "stars": 229 }, + "https://github.com/emiltholin/svelte-routing": { "stars": 2008 }, "https://github.com/emptyvoid-dev/altron": { "stars": 20 }, "https://github.com/emrekara37/svelte-rate-it": { "stars": 38 }, "https://github.com/endenwer/svelte-restate": { "stars": 21 }, - "https://github.com/engageintellect/spatz": { "stars": 92 }, + "https://github.com/engageintellect/spatz": { "stars": 96 }, "https://github.com/enyo/use-vest": { "stars": 10 }, "https://github.com/equipmentshare/date-range-input": { "stars": 15 }, "https://github.com/erokar/svelte-stopwatch": { "stars": 1 }, "https://github.com/esinx/svelte-tree": { "stars": 23 }, "https://github.com/ethercorps/svedev": { "stars": 8 }, - "https://github.com/ethercorps/sveltekit-og": { "stars": 191 }, + "https://github.com/ethercorps/sveltekit-og": { "stars": 194 }, "https://github.com/falkomerr/sveltekit-starter": { "stars": 4 }, "https://github.com/farhan2106/svelte-typescript": { "stars": 36 }, "https://github.com/farhan2106/svelte-typescript-ssr": { "stars": 9 }, @@ -126,64 +126,64 @@ "https://github.com/flakolefluk/dark-runes": { "stars": 27 }, "https://github.com/flekschas/svelte-simple-modal": { "stars": 420 }, "https://github.com/fmaclen/svelte-currency-input": { "stars": 33 }, - "https://github.com/formkit/auto-animate": { "stars": 12019 }, + "https://github.com/formkit/auto-animate": { "stars": 12038 }, "https://github.com/fusioncharts/svelte-fusioncharts": { "stars": 129 }, "https://github.com/gcbenlloch/svelte-cleavejs": { "stars": 7 }, "https://github.com/geakstr/svelte-3-rollup-typescript-vscode": { "stars": 38 }, "https://github.com/geoffcox/sterling-svelte": { "stars": 3 }, "https://github.com/geoffrich/svelte-adapter-azure-swa": { "stars": 131 }, - "https://github.com/get-convex/convex-svelte": { "stars": 15 }, - "https://github.com/getsentry/sentry-javascript": { "stars": 7775 }, + "https://github.com/get-convex/convex-svelte": { "stars": 16 }, + "https://github.com/getsentry/sentry-javascript": { "stars": 7788 }, "https://github.com/gitbreaker222/svelte-virtual-list": { "stars": 20 }, "https://github.com/gitbreaker222/sveltestore": { "stars": 2 }, - "https://github.com/gornostay25/svelte-adapter-bun": { "stars": 497 }, + "https://github.com/gornostay25/svelte-adapter-bun": { "stars": 503 }, "https://github.com/grail-ui/grail-ui": { "stars": 380 }, "https://github.com/grayfrost/sveaflet": { "stars": 15 }, - "https://github.com/guyromm/svelte-postgrest-template": { "stars": 56 }, - "https://github.com/gyurielf/svelte-tel-input": { "stars": 84 }, + "https://github.com/guyromm/svelte-postgrest-template": { "stars": 57 }, + "https://github.com/gyurielf/svelte-tel-input": { "stars": 87 }, "https://github.com/gzimbron/amplify-adapter": { "stars": 18 }, "https://github.com/gzimbron/svelte-datagrid": { "stars": 10 }, "https://github.com/halfdanj/svelte-adapter-appengine": { "stars": 65 }, "https://github.com/halfdanj/svelte-google-auth": { "stars": 42 }, - "https://github.com/halfnelson/svelte-native": { "stars": 1743 }, + "https://github.com/halfnelson/svelte-native": { "stars": 1745 }, "https://github.com/hedgehog125/sveltekit-adapter-versioned-worker": { "stars": 9 }, "https://github.com/hellbutcher/parcel-transformer-svelte3-plus": { "stars": 6 }, "https://github.com/himynameisdave/svelte-copyright": { "stars": 16 }, "https://github.com/himynameisdave/svelte-flex": { "stars": 74 }, - "https://github.com/himynameisdave/svelte-frappe-charts": { "stars": 307 }, - "https://github.com/histoire-dev/histoire": { "stars": 3093 }, - "https://github.com/houdinigraphql/houdini": { "stars": 879 }, - "https://github.com/hperrin/svelte-material-ui": { "stars": 3276 }, + "https://github.com/himynameisdave/svelte-frappe-charts": { "stars": 308 }, + "https://github.com/histoire-dev/histoire": { "stars": 3107 }, + "https://github.com/houdinigraphql/houdini": { "stars": 882 }, + "https://github.com/hperrin/svelte-material-ui": { "stars": 3279 }, "https://github.com/hugos68/svelte-broadcastable": { "stars": 11 }, - "https://github.com/hugos68/svelte-contextify": { "stars": 38 }, - "https://github.com/huntabyte/bits-ui": { "stars": 1002 }, - "https://github.com/huntabyte/cmdk-sv": { "stars": 423 }, - "https://github.com/huntabyte/shadcn-svelte": { "stars": 4493 }, - "https://github.com/huntabyte/vaul-svelte": { "stars": 391 }, + "https://github.com/hugos68/svelte-contextify": { "stars": 40 }, + "https://github.com/huntabyte/bits-ui": { "stars": 1029 }, + "https://github.com/huntabyte/cmdk-sv": { "stars": 435 }, + "https://github.com/huntabyte/shadcn-svelte": { "stars": 4539 }, + "https://github.com/huntabyte/vaul-svelte": { "stars": 395 }, "https://github.com/icflorescu/trpc-sveltekit": { "stars": 752 }, "https://github.com/idleberg/svelte-crossorigin-store": { "stars": 1 }, "https://github.com/idleberg/sveltekit-adapter-html-like": { "stars": 24 }, "https://github.com/idris-maps/svelte-parts": { "stars": 49 }, - "https://github.com/ikun-svelte/ikun-ui": { "stars": 1335 }, - "https://github.com/illright/attractions": { "stars": 1017 }, - "https://github.com/importantimport/urara": { "stars": 575 }, + "https://github.com/ikun-svelte/ikun-ui": { "stars": 1343 }, + "https://github.com/illright/attractions": { "stars": 1020 }, + "https://github.com/importantimport/urara": { "stars": 577 }, "https://github.com/introvertuous/svelte-icons": { "stars": 291 }, - "https://github.com/italypaleale/svelte-spa-router": { "stars": 1509 }, - "https://github.com/itswadesh/svelte-commerce": { "stars": 1496 }, + "https://github.com/italypaleale/svelte-spa-router": { "stars": 1513 }, + "https://github.com/itswadesh/svelte-commerce": { "stars": 1500 }, "https://github.com/ivanhofer/sthemer": { "stars": 27 }, - "https://github.com/ivanhofer/typesafe-i18n": { "stars": 2173 }, + "https://github.com/ivanhofer/typesafe-i18n": { "stars": 2179 }, "https://github.com/ivanhofer/typesafe-i18n-demo-sveltekit": { "stars": 125 }, - "https://github.com/j4w8n/svelte-adapter-github": { "stars": 42 }, + "https://github.com/j4w8n/svelte-adapter-github": { "stars": 43 }, "https://github.com/jack-weilage/svelte-mapbox": { "stars": 9 }, "https://github.com/jacobbogers/svelte-remove-attributes": { "stars": 0 }, "https://github.com/jacobmischka/svelte-flatpickr": { "stars": 158 }, "https://github.com/jacwright/svelte-navaid": { "stars": 17 }, "https://github.com/jamen/svelte-router": { "stars": 7 }, - "https://github.com/janosh/svelte-bricks": { "stars": 100 }, - "https://github.com/janosh/svelte-multiselect": { "stars": 275 }, - "https://github.com/janosh/svelte-toc": { "stars": 109 }, - "https://github.com/jasongitmail/super-sitemap": { "stars": 110 }, - "https://github.com/jerriclynsjohn/svelte-storybook-tailwind": { "stars": 311 }, + "https://github.com/janosh/svelte-bricks": { "stars": 101 }, + "https://github.com/janosh/svelte-multiselect": { "stars": 277 }, + "https://github.com/janosh/svelte-toc": { "stars": 110 }, + "https://github.com/jasongitmail/super-sitemap": { "stars": 116 }, + "https://github.com/jerriclynsjohn/svelte-storybook-tailwind": { "stars": 312 }, "https://github.com/jiangfengming/svelte-preprocess-css-hash": { "stars": 8 }, "https://github.com/jiangfengming/svelte-preprocess-html-asset": { "stars": 3 }, "https://github.com/jikkai/svelte-router": { "stars": 62 }, @@ -192,31 +192,31 @@ "https://github.com/jill64/svelte-inline-modal": { "stars": 3 }, "https://github.com/jill64/svelte-input": { "stars": 5 }, "https://github.com/jill64/svelte-toast": { "stars": 2 }, - "https://github.com/jill64/sveltekit-adapter-aws": { "stars": 21 }, + "https://github.com/jill64/sveltekit-adapter-aws": { "stars": 22 }, "https://github.com/jimutt/svelte-pick-a-place": { "stars": 54 }, "https://github.com/joaquimnetocel/svelte-datatables-net": { "stars": 28 }, "https://github.com/joeinnes/svelte-image": { "stars": 3 }, "https://github.com/joemmalatesta/sveltekit-pwa-guide": { "stars": 2 }, "https://github.com/john--kane/svelteml": { "stars": 73 }, "https://github.com/johnwalley/compare-image-slider": { "stars": 16 }, - "https://github.com/jonasgeiler/svelte-infinite-loading": { "stars": 283 }, - "https://github.com/jonasgeiler/svelte-tiny-virtual-list": { "stars": 411 }, + "https://github.com/jonasgeiler/svelte-infinite-loading": { "stars": 287 }, + "https://github.com/jonasgeiler/svelte-tiny-virtual-list": { "stars": 414 }, "https://github.com/jorgegorka/svelte-firebase": { "stars": 231 }, "https://github.com/jorgegorka/svelte-router": { "stars": 511 }, - "https://github.com/joshnuss/svelte-persisted-store": { "stars": 949 }, - "https://github.com/joshnuss/svelte-stripe": { "stars": 406 }, + "https://github.com/joshnuss/svelte-persisted-store": { "stars": 958 }, + "https://github.com/joshnuss/svelte-stripe": { "stars": 408 }, "https://github.com/joshnuss/sveltekit-reroute": { "stars": 17 }, "https://github.com/jthegedus/svelte-adapter-firebase": { "stars": 283 }, - "https://github.com/juliuslipp/sveltekit-shadcn-ai": { "stars": 24 }, + "https://github.com/juliuslipp/sveltekit-shadcn-ai": { "stars": 25 }, "https://github.com/justinekizhak/svelte-tailwind-template": { "stars": 2 }, - "https://github.com/jycouet/kitql": { "stars": 388 }, + "https://github.com/jycouet/kitql": { "stars": 389 }, "https://github.com/k-sato1995/sveltekit-blog-template": { "stars": 26 }, "https://github.com/kaisermann/svelte-css-vars": { "stars": 235 }, - "https://github.com/kaisermann/svelte-i18n": { "stars": 1196 }, + "https://github.com/kaisermann/svelte-i18n": { "stars": 1202 }, "https://github.com/kaisermann/svelte-loadable": { "stars": 319 }, "https://github.com/kaladivo/svelte-kit-koa-boilerplate": { "stars": 3 }, "https://github.com/kazzkiq/svero": { "stars": 202 }, - "https://github.com/kbrgl/svelte-french-toast": { "stars": 797 }, + "https://github.com/kbrgl/svelte-french-toast": { "stars": 802 }, "https://github.com/keenethics/svelte-notifications": { "stars": 589 }, "https://github.com/kenkunz/svelte-fsm": { "stars": 271 }, "https://github.com/kenoxa/svelte-fragment-component": { "stars": 4 }, @@ -226,15 +226,15 @@ "https://github.com/kevmodrome/svelte-preprocessor-fetch": { "stars": 50 }, "https://github.com/kildesu/brefer": { "stars": 41 }, "https://github.com/kindoflew/svelte-parallax": { "stars": 143 }, - "https://github.com/kitschpatrol/svelte-tweakpane-ui": { "stars": 97 }, + "https://github.com/kitschpatrol/svelte-tweakpane-ui": { "stars": 100 }, "https://github.com/kokizzu/svelte-mpa": { "stars": 87 }, "https://github.com/koljal/sk-authjs": { "stars": 1 }, "https://github.com/kolodziejczak-sz/svelte-redux-connect": { "stars": 17 }, - "https://github.com/konstaui/konsta": { "stars": 3354 }, + "https://github.com/konstaui/konsta": { "stars": 3368 }, "https://github.com/korywka/svelte-slider": { "stars": 12 }, "https://github.com/ktsn/svelte-jest": { "stars": 37 }, - "https://github.com/kumpmati/sveltekit-superactions": { "stars": 9 }, - "https://github.com/kwchang0831/svelte-qwer": { "stars": 447 }, + "https://github.com/kumpmati/sveltekit-superactions": { "stars": 13 }, + "https://github.com/kwchang0831/svelte-qwer": { "stars": 448 }, "https://github.com/l-portet/svelte-switch-case": { "stars": 145 }, "https://github.com/lachlancollins/svelte-library-template": { "stars": 5 }, "https://github.com/lemmon/tablog-svelte": { "stars": 29 }, @@ -243,11 +243,11 @@ "https://github.com/leshak/svelte-icons-pack": { "stars": 58 }, "https://github.com/lightning-jar/svelte-typescript-tailwind-pug-starter": { "stars": 14 }, "https://github.com/liyuanqiu/echarts-for-svelte": { "stars": 25 }, - "https://github.com/lottiefiles/svelte-lottie-player": { "stars": 131 }, + "https://github.com/lottiefiles/svelte-lottie-player": { "stars": 132 }, "https://github.com/lpshanley/svelte-phonegap": { "stars": 9 }, "https://github.com/ls-age/svelte-preprocess-sass": { "stars": 91 }, - "https://github.com/lucia-auth/lucia": { "stars": 8509 }, - "https://github.com/lucide-icons/lucide": { "stars": 9721 }, + "https://github.com/lucia-auth/lucia": { "stars": 8580 }, + "https://github.com/lucide-icons/lucide": { "stars": 9799 }, "https://github.com/lukeed/pwa": { "stars": 3124 }, "https://github.com/lukehagar/sveltekit-adapters": { "stars": 8 }, "https://github.com/lunatk/svelte-web-component-builder": { "stars": 4 }, @@ -256,79 +256,79 @@ "https://github.com/macfja/svelte-expirable": { "stars": 4 }, "https://github.com/macfja/svelte-invalidable": { "stars": 4 }, "https://github.com/macfja/svelte-oauth2": { "stars": 39 }, - "https://github.com/macfja/svelte-persistent-store": { "stars": 234 }, + "https://github.com/macfja/svelte-persistent-store": { "stars": 235 }, "https://github.com/macfja/svelte-scroll-video": { "stars": 3 }, "https://github.com/macfja/svelte-undoable": { "stars": 44 }, "https://github.com/maciekgrzybek/svelte-inview": { "stars": 745 }, "https://github.com/mailcheck-co/mailcheck.site": { "stars": 11 }, "https://github.com/marcograhl/tailwindcss-svelte-starter": { "stars": 116 }, - "https://github.com/markjaquith/clerk-sveltekit": { "stars": 133 }, + "https://github.com/markjaquith/clerk-sveltekit": { "stars": 136 }, "https://github.com/markoboy/svelte-webpack-babel-scss": { "stars": 7 }, "https://github.com/mattjennings/svelte-modals": { "stars": 146 }, - "https://github.com/matyunya/smelte": { "stars": 1521 }, + "https://github.com/matyunya/smelte": { "stars": 1522 }, "https://github.com/matyunya/svelte-image": { "stars": 717 }, "https://github.com/matyunya/svelte-waypoint": { "stars": 83 }, "https://github.com/mavdotjs/svodals": { "stars": 1 }, "https://github.com/mawa-ai/chat-embed": { "stars": 0 }, "https://github.com/maximux13/svelte-i18next": { "stars": 8 }, - "https://github.com/mdauner/sveltejs-forms": { "stars": 197 }, + "https://github.com/mdauner/sveltejs-forms": { "stars": 198 }, "https://github.com/mefechoel/svelte-navigator": { "stars": 502 }, - "https://github.com/melt-ui/melt-ui": { "stars": 3169 }, - "https://github.com/metonym/svelte-highlight": { "stars": 241 }, - "https://github.com/metonym/svelte-pincode": { "stars": 27 }, - "https://github.com/mhkeller/layercake": { "stars": 1309 }, - "https://github.com/michael/editable-website": { "stars": 1361 }, - "https://github.com/microsoft/fast": { "stars": 9166 }, - "https://github.com/microsoft/playwright": { "stars": 64174 }, + "https://github.com/melt-ui/melt-ui": { "stars": 3181 }, + "https://github.com/metonym/svelte-highlight": { "stars": 242 }, + "https://github.com/metonym/svelte-pincode": { "stars": 28 }, + "https://github.com/mhkeller/layercake": { "stars": 1312 }, + "https://github.com/michael/editable-website": { "stars": 1371 }, + "https://github.com/microsoft/fast": { "stars": 9173 }, + "https://github.com/microsoft/playwright": { "stars": 64300 }, "https://github.com/mskocik/svelecte": { "stars": 433 }, - "https://github.com/mskocik/svelty-picker": { "stars": 194 }, + "https://github.com/mskocik/svelty-picker": { "stars": 195 }, "https://github.com/muhajirdev/svelte-tailwind-template": { "stars": 89 }, - "https://github.com/mvasigh/sveltekit-mdsvex-blog": { "stars": 152 }, + "https://github.com/mvasigh/sveltekit-mdsvex-blog": { "stars": 153 }, "https://github.com/n00ki/sveltekit-omakase": { "stars": 57 }, "https://github.com/n00nday/stwui": { "stars": 438 }, "https://github.com/n0th1ng-else/svelte-typescript-sass": { "stars": 11 }, "https://github.com/n3-rd/curseur": { "stars": 8 }, - "https://github.com/naver/egjs-flicking": { "stars": 2712 }, - "https://github.com/naver/egjs-infinitegrid": { "stars": 2009 }, + "https://github.com/naver/egjs-flicking": { "stars": 2714 }, + "https://github.com/naver/egjs-infinitegrid": { "stars": 2066 }, "https://github.com/navneetsharmaui/sveltekit-blog": { "stars": 200 }, - "https://github.com/navneetsharmaui/sveltekit-starter": { "stars": 602 }, + "https://github.com/navneetsharmaui/sveltekit-starter": { "stars": 603 }, "https://github.com/nazimhali/svelte-template": { "stars": 5 }, "https://github.com/nbgoodall/leblog": { "stars": 1 }, - "https://github.com/ndom91/svelte-infinite": { "stars": 47 }, + "https://github.com/ndom91/svelte-infinite": { "stars": 49 }, "https://github.com/neighbourhoodie/svelte-pouchdb-couchdb": { "stars": 64 }, "https://github.com/nerd-coder/svelte-zod-form": { "stars": 9 }, "https://github.com/nguyentuansi/openai-quickstart-sveltekit": { "stars": 6 }, - "https://github.com/nickyhajal/svelte-tabs": { "stars": 92 }, + "https://github.com/nickyhajal/svelte-tabs": { "stars": 93 }, "https://github.com/noelmugnier/svelte-translate": { "stars": 10 }, "https://github.com/nomangul/svelte-page-progress": { "stars": 17 }, "https://github.com/noney1412/svelte-exstore": { "stars": 0 }, "https://github.com/novacbn/kahi-ui": { "stars": 187 }, - "https://github.com/nstuyvesant/sveltekit-auth-example": { "stars": 301 }, + "https://github.com/nstuyvesant/sveltekit-auth-example": { "stars": 303 }, "https://github.com/ntsd/svelte-tex": { "stars": 6 }, "https://github.com/ntsd/sveltekit-html-minifier": { "stars": 5 }, "https://github.com/nubolab-ffwd/svelte-fluent": { "stars": 91 }, "https://github.com/nye/svelte-electron-better-sqlite3-starter": { "stars": 21 }, "https://github.com/okrad/svelte-progressbar": { "stars": 130 }, - "https://github.com/okupter/kitforstartups": { "stars": 690 }, + "https://github.com/okupter/kitforstartups": { "stars": 692 }, "https://github.com/oli8/spaper": { "stars": 199 }, - "https://github.com/open-source-labs/svelvet": { "stars": 2507 }, + "https://github.com/open-source-labs/svelvet": { "stars": 2513 }, "https://github.com/openfrenchfries/supasveltekit": { "stars": 36 }, - "https://github.com/opral/monorepo": { "stars": 1087 }, + "https://github.com/opral/monorepo": { "stars": 1091 }, "https://github.com/ordinaryjellyfish/svelte-routing-template": { "stars": 14 }, - "https://github.com/oskar-gmerek/surreal-sveltekit": { "stars": 61 }, + "https://github.com/oskar-gmerek/surreal-sveltekit": { "stars": 64 }, "https://github.com/oslabs-beta/svault": { "stars": 67 }, - "https://github.com/ottomated/create-o7-app": { "stars": 379 }, - "https://github.com/ottomated/trpc-svelte-query": { "stars": 57 }, - "https://github.com/pablo-abc/felte": { "stars": 990 }, - "https://github.com/pablo-abc/svelte-markdown": { "stars": 335 }, + "https://github.com/ottomated/create-o7-app": { "stars": 381 }, + "https://github.com/ottomated/trpc-svelte-query": { "stars": 58 }, + "https://github.com/pablo-abc/felte": { "stars": 991 }, + "https://github.com/pablo-abc/svelte-markdown": { "stars": 337 }, "https://github.com/pankod/svelte-boilerplate": { "stars": 289 }, "https://github.com/panya/svelte-intl": { "stars": 48 }, "https://github.com/paoloricciuti/svelte-action-balancer": { "stars": 70 }, - "https://github.com/paoloricciuti/svelte-client-components": { "stars": 14 }, - "https://github.com/paoloricciuti/sveltekit-search-params": { "stars": 443 }, + "https://github.com/paoloricciuti/svelte-client-components": { "stars": 15 }, + "https://github.com/paoloricciuti/sveltekit-search-params": { "stars": 448 }, "https://github.com/paoloricciuti/sveltekit-view-transition": { "stars": 158 }, "https://github.com/paolotiu/svelte-boring-avatars": { "stars": 56 }, - "https://github.com/passlock-dev/svelte-passkeys": { "stars": 86 }, + "https://github.com/passlock-dev/ts-clients": { "stars": 88 }, "https://github.com/pateketrueke/svql": { "stars": 61 }, "https://github.com/pateketrueke/yrv": { "stars": 161 }, "https://github.com/patoi/svelte-component-library-template": { "stars": 66 }, @@ -348,20 +348,20 @@ "https://github.com/plihelix/wails-template-sveltekit": { "stars": 40 }, "https://github.com/plrenaudin/svelte-storez": { "stars": 27 }, "https://github.com/pluvial/svelte-adapter-deno": { "stars": 315 }, - "https://github.com/pngwn/mdsvex": { "stars": 2276 }, + "https://github.com/pngwn/mdsvex": { "stars": 2289 }, "https://github.com/pngwn/svelte-adapter": { "stars": 293 }, "https://github.com/posandu/svelte-ripple-action": { "stars": 56 }, - "https://github.com/pragmatic-engineering/svelte-form-builder-community": { "stars": 64 }, - "https://github.com/prgm-dev/sveltekit-progress-bar": { "stars": 34 }, + "https://github.com/pragmatic-engineering/svelte-form-builder-community": { "stars": 65 }, + "https://github.com/prgm-dev/sveltekit-progress-bar": { "stars": 35 }, "https://github.com/prismicio/prismic-svelte": { "stars": 21 }, "https://github.com/prismicio/slice-machine": { "stars": 284 }, - "https://github.com/probablykasper/date-picker-svelte": { "stars": 299 }, + "https://github.com/probablykasper/date-picker-svelte": { "stars": 303 }, "https://github.com/probablykasper/svelte-droplet": { "stars": 30 }, - "https://github.com/pstanoev/simple-svelte-autocomplete": { "stars": 461 }, + "https://github.com/pstanoev/simple-svelte-autocomplete": { "stars": 462 }, "https://github.com/ptkdev/sveltekit-cordova-adapter": { "stars": 49 }, "https://github.com/ptkdev/sveltekit-electron-adapter": { "stars": 68 }, - "https://github.com/puruvj/neoconfetti": { "stars": 250 }, - "https://github.com/puruvj/neodrag": { "stars": 1525 }, + "https://github.com/puruvj/neoconfetti": { "stars": 251 }, + "https://github.com/puruvj/neodrag": { "stars": 1530 }, "https://github.com/pyoner/svelte-typescript": { "stars": 209 }, "https://github.com/qutran/svelte-inspector": { "stars": 85 }, "https://github.com/qutran/swheel": { "stars": 43 }, @@ -371,16 +371,16 @@ "https://github.com/rburnham52/svelte-typescript-sass-template": { "stars": 16 }, "https://github.com/reecelucas/svelte-accessible-dialog": { "stars": 26 }, "https://github.com/rezi/svelte-gestures": { "stars": 115 }, - "https://github.com/rgossiaux/svelte-headlessui": { "stars": 1765 }, + "https://github.com/rgossiaux/svelte-headlessui": { "stars": 1766 }, "https://github.com/ricalamino/svelte-firebase-auth": { "stars": 50 }, - "https://github.com/rich-harris/pancake": { "stars": 1284 }, + "https://github.com/rich-harris/pancake": { "stars": 1285 }, "https://github.com/rich-harris/svelte-template-electron": { "stars": 91 }, "https://github.com/rixo/rollup-plugin-svelte-hot": { "stars": 48 }, "https://github.com/rixo/svelte-template-hot": { "stars": 61 }, - "https://github.com/rob-balfre/svelte-select": { "stars": 1257 }, + "https://github.com/rob-balfre/svelte-select": { "stars": 1258 }, "https://github.com/robbrazier/svelte-awesome": { "stars": 492 }, - "https://github.com/rossrobino/drab": { "stars": 235 }, - "https://github.com/roxiness/routify": { "stars": 1851 }, + "https://github.com/rossrobino/drab": { "stars": 236 }, + "https://github.com/roxiness/routify": { "stars": 1855 }, "https://github.com/rspieker/jest-transform-svelte": { "stars": 35 }, "https://github.com/ryan-way-boilerplate/stew": { "stars": 2 }, "https://github.com/ryu-man/svantic": { "stars": 16 }, @@ -391,132 +391,132 @@ "https://github.com/sbhattarj/svelte-zod-form": { "stars": 0 }, "https://github.com/scottbedard/svelte-heatmap": { "stars": 144 }, "https://github.com/shaozi/svelte-steps": { "stars": 99 }, - "https://github.com/sharifclick/svelte-swipe": { "stars": 389 }, + "https://github.com/sharifclick/svelte-swipe": { "stars": 390 }, "https://github.com/sharu725/yuyutsu": { "stars": 39 }, "https://github.com/shavyg2/slick-for-svelte": { "stars": 24 }, "https://github.com/shipbit/svane": { "stars": 34 }, "https://github.com/shyam-chen/svelte-starter": { "stars": 114 }, - "https://github.com/sibiraj-s/svelte-tiptap": { "stars": 216 }, + "https://github.com/sibiraj-s/svelte-tiptap": { "stars": 217 }, "https://github.com/silvestrevivo/svelte-marquee": { "stars": 8 }, - "https://github.com/simeydotme/svelte-range-slider-pips": { "stars": 438 }, - "https://github.com/skeletonlabs/skeleton": { "stars": 4784 }, + "https://github.com/simeydotme/svelte-range-slider-pips": { "stars": 440 }, + "https://github.com/skeletonlabs/skeleton": { "stars": 4805 }, "https://github.com/skshahriarahmedraka/vite-svelte-tailwind-template": { "stars": 3 }, "https://github.com/soapdog/svelte-template-browserify": { "stars": 6 }, "https://github.com/sonicoder86/todomvc-svelte": { "stars": 39 }, "https://github.com/spaceavocado/svelte-form": { "stars": 48 }, - "https://github.com/spaceavocado/svelte-router": { "stars": 59 }, + "https://github.com/spaceavocado/svelte-router": { "stars": 60 }, "https://github.com/spaceavocado/svelte-router-template": { "stars": 12 }, "https://github.com/specialdoom/proi-ui": { "stars": 142 }, - "https://github.com/square/svelte-store": { "stars": 508 }, + "https://github.com/square/svelte-store": { "stars": 510 }, "https://github.com/srmullen/svelte-reactive-css-preprocess": { "stars": 62 }, "https://github.com/srmullen/svelte-subcomponent-preprocessor": { "stars": 44 }, "https://github.com/srmullen/sveltekit-stripe": { "stars": 117 }, - "https://github.com/ssssota/svelte-exmarkdown": { "stars": 168 }, + "https://github.com/ssssota/svelte-exmarkdown": { "stars": 170 }, "https://github.com/starptech/sveltejs-brunch": { "stars": 6 }, "https://github.com/stephane-vanraes/renderless-svelte": { "stars": 277 }, "https://github.com/stephane-vanraes/svelte-multitoneimage": { "stars": 6 }, "https://github.com/stephanepericat/svelte-boilerplate": { "stars": 17 }, "https://github.com/stevealee/svelte-code-cypress-project": { "stars": 5 }, - "https://github.com/storybookjs/storybook": { "stars": 83534 }, - "https://github.com/supabase/auth-helpers": { "stars": 894 }, + "https://github.com/storybookjs/storybook": { "stars": 83582 }, + "https://github.com/supabase/auth-helpers": { "stars": 896 }, "https://github.com/svar-widgets/core": { "stars": 10 }, - "https://github.com/svecosystem/formsnap": { "stars": 477 }, - "https://github.com/svecosystem/paneforge": { "stars": 343 }, - "https://github.com/svecosystem/runed": { "stars": 368 }, - "https://github.com/svecosystem/svelte-interactions": { "stars": 89 }, - "https://github.com/svelte-add/svelte-add": { "stars": 1462 }, + "https://github.com/svecosystem/formsnap": { "stars": 481 }, + "https://github.com/svecosystem/paneforge": { "stars": 344 }, + "https://github.com/svecosystem/runed": { "stars": 379 }, + "https://github.com/svecosystem/svelte-interactions": { "stars": 92 }, + "https://github.com/svelte-add/svelte-add": { "stars": 1470 }, "https://github.com/svelte-pilot/svelte-pilot": { "stars": 26 }, "https://github.com/svelte-pilot/svelte-pilot-template": { "stars": 58 }, - "https://github.com/sveltejs/component-template": { "stars": 553 }, - "https://github.com/sveltejs/eslint-plugin-svelte": { "stars": 282 }, + "https://github.com/sveltejs/component-template": { "stars": 554 }, + "https://github.com/sveltejs/eslint-plugin-svelte": { "stars": 283 }, "https://github.com/sveltejs/gl": { "stars": 603 }, - "https://github.com/sveltejs/kit": { "stars": 18184 }, - "https://github.com/sveltejs/language-tools": { "stars": 1186 }, - "https://github.com/sveltejs/prettier-plugin-svelte": { "stars": 723 }, - "https://github.com/sveltejs/realworld": { "stars": 2203 }, + "https://github.com/sveltejs/kit": { "stars": 18218 }, + "https://github.com/sveltejs/language-tools": { "stars": 1188 }, + "https://github.com/sveltejs/prettier-plugin-svelte": { "stars": 725 }, + "https://github.com/sveltejs/realworld": { "stars": 2204 }, "https://github.com/sveltejs/rollup-plugin-svelte": { "stars": 499 }, "https://github.com/sveltejs/svelte-loader": { "stars": 594 }, - "https://github.com/sveltejs/svelte-preprocess": { "stars": 1735 }, + "https://github.com/sveltejs/svelte-preprocess": { "stars": 1737 }, "https://github.com/sveltejs/svelte-repl": { "stars": 274 }, "https://github.com/sveltejs/svelte-scroller": { "stars": 345 }, - "https://github.com/sveltejs/svelte-virtual-list": { "stars": 668 }, + "https://github.com/sveltejs/svelte-virtual-list": { "stars": 669 }, "https://github.com/sveltejs/template-custom-element": { "stars": 21 }, "https://github.com/sveltejs/template-webpack": { "stars": 301 }, "https://github.com/sveltejs/vite-plugin-svelte": { "stars": 828 }, "https://github.com/svelteness/svelte-jester": { "stars": 128 }, - "https://github.com/sveltepress/sveltepress": { "stars": 317 }, - "https://github.com/sveltestrap/sveltestrap": { "stars": 116 }, + "https://github.com/sveltepress/sveltepress": { "stars": 322 }, + "https://github.com/sveltestrap/sveltestrap": { "stars": 119 }, "https://github.com/sveltetools/svelte-asyncable": { "stars": 168 }, "https://github.com/sveltetools/svelte-pathfinder": { "stars": 127 }, "https://github.com/sveltetools/svelte-viewpoint": { "stars": 36 }, - "https://github.com/svelteuidev/svelteui": { "stars": 1261 }, - "https://github.com/swyxio/swyxkit": { "stars": 669 }, + "https://github.com/svelteuidev/svelteui": { "stars": 1263 }, + "https://github.com/swyxio/swyxkit": { "stars": 671 }, "https://github.com/syonip/svelte-cordova": { "stars": 40 }, "https://github.com/tanepiper/svelte-formula": { "stars": 126 }, - "https://github.com/tanstack/query": { "stars": 41013 }, - "https://github.com/tanstack/store": { "stars": 300 }, - "https://github.com/tanstack/table": { "stars": 24553 }, - "https://github.com/tanstack/virtual": { "stars": 5253 }, - "https://github.com/techniq/layerchart": { "stars": 467 }, - "https://github.com/techniq/svelte-ux": { "stars": 664 }, + "https://github.com/tanstack/query": { "stars": 41085 }, + "https://github.com/tanstack/store": { "stars": 304 }, + "https://github.com/tanstack/table": { "stars": 24594 }, + "https://github.com/tanstack/virtual": { "stars": 5274 }, + "https://github.com/techniq/layerchart": { "stars": 473 }, + "https://github.com/techniq/svelte-ux": { "stars": 675 }, "https://github.com/tehshrike/svelte-state-renderer": { "stars": 36 }, "https://github.com/tejasag/sveltetron-9000": { "stars": 39 }, - "https://github.com/testing-library/svelte-testing-library": { "stars": 610 }, + "https://github.com/testing-library/svelte-testing-library": { "stars": 613 }, "https://github.com/the-homeless-god/sent-template": { "stars": 67 }, "https://github.com/the-homeless-god/svelte-item-list": { "stars": 6 }, "https://github.com/thecodejack/svelte-dx-table": { "stars": 0 }, - "https://github.com/thecodejack/svelte-file-dropzone": { "stars": 233 }, + "https://github.com/thecodejack/svelte-file-dropzone": { "stars": 234 }, "https://github.com/thecodejack/svelte-pagination": { "stars": 4 }, "https://github.com/thecodejack/svelte-switch": { "stars": 27 }, "https://github.com/theetrain/svelte-cartesian": { "stars": 3 }, - "https://github.com/themesberg/flowbite-svelte": { "stars": 2023 }, + "https://github.com/themesberg/flowbite-svelte": { "stars": 2033 }, "https://github.com/theovidal/svelteify": { "stars": 48 }, "https://github.com/thiagolino8/svelte-enhanced-transitions": { "stars": 8 }, "https://github.com/timhall/svelte-apollo": { "stars": 944 }, "https://github.com/timoyo93/svelte-template": { "stars": 1 }, "https://github.com/titans-inc/sveltemantic": { "stars": 46 }, - "https://github.com/tivac/modular-css": { "stars": 286 }, + "https://github.com/tivac/modular-css": { "stars": 287 }, "https://github.com/tjinauyeung/svelte-forms-lib": { "stars": 599 }, "https://github.com/tolgee/tolgee-js": { "stars": 219 }, "https://github.com/tomatrow/sveltekit-adapter-wordpress-shortcode": { "stars": 31 }, - "https://github.com/tommertom/svelte-ionic-app": { "stars": 749 }, + "https://github.com/tommertom/svelte-ionic-app": { "stars": 752 }, "https://github.com/tonyrewin/svelte3-ts-boilerplate": { "stars": 6 }, "https://github.com/torstendittmann/svelte-adapter-static-digitalocean": { "stars": 12 }, "https://github.com/tropix126/svelte-codesandbox": { "stars": 2 }, - "https://github.com/tsconfig/bases": { "stars": 5989 }, + "https://github.com/tsconfig/bases": { "stars": 6018 }, "https://github.com/tsparticles/svelte": { "stars": 41 }, "https://github.com/twicpics/components": { "stars": 53 }, - "https://github.com/urql-graphql/urql": { "stars": 8549 }, + "https://github.com/urql-graphql/urql": { "stars": 8556 }, "https://github.com/vadimkorr/svelte-carousel": { "stars": 286 }, - "https://github.com/vaheqelyan/svelte-grid": { "stars": 953 }, + "https://github.com/vaheqelyan/svelte-grid": { "stars": 954 }, "https://github.com/vaheqelyan/svelte-popover": { "stars": 57 }, - "https://github.com/valentinh/svelte-easy-crop": { "stars": 189 }, + "https://github.com/valentinh/svelte-easy-crop": { "stars": 190 }, "https://github.com/vhscom/svelte-headlessui-starter": { "stars": 49 }, "https://github.com/vikignt/svelte-mui": { "stars": 316 }, "https://github.com/vime-js/vime": { "stars": 2737 }, "https://github.com/vinayakkulkarni/s-offline": { "stars": 70 }, - "https://github.com/vinodnimbalkar/svelte-pdf": { "stars": 199 }, + "https://github.com/vinodnimbalkar/svelte-pdf": { "stars": 200 }, "https://github.com/virtueorg/ui": { "stars": 14 }, - "https://github.com/vite-pwa/sveltekit": { "stars": 285 }, - "https://github.com/vkurko/calendar": { "stars": 1038 }, + "https://github.com/vite-pwa/sveltekit": { "stars": 287 }, + "https://github.com/vkurko/calendar": { "stars": 1065 }, "https://github.com/vkurko/svelte-store2": { "stars": 4 }, - "https://github.com/vnphanquang/svelte-put": { "stars": 776 }, + "https://github.com/vnphanquang/svelte-put": { "stars": 780 }, "https://github.com/vontigo/vontigo": { "stars": 137 }, "https://github.com/wd-david/svelte-hover-draw-svg": { "stars": 26 }, "https://github.com/wearegenki/minna-ui": { "stars": 87 }, "https://github.com/will-wow/svelte-typescript-template": { "stars": 5 }, - "https://github.com/wjsoftware/wjfe-dataview": { "stars": 5 }, - "https://github.com/wobsoriano/svelte-sonner": { "stars": 601 }, + "https://github.com/wjsoftware/wjfe-dataview": { "stars": 6 }, + "https://github.com/wobsoriano/svelte-sonner": { "stars": 602 }, "https://github.com/xelaok/svelte-media-query": { "stars": 52 }, "https://github.com/xelaok/svelte-mobx": { "stars": 48 }, "https://github.com/xnimorz/svelte-input-mask": { "stars": 102 }, - "https://github.com/xyflow/xyflow": { "stars": 22807 }, + "https://github.com/xyflow/xyflow": { "stars": 22962 }, "https://github.com/yazonnile/svelidation": { "stars": 51 }, "https://github.com/yellowinq/svelte-pin-input": { "stars": 0 }, "https://github.com/yesvelte/yesvelte": { "stars": 205 }, "https://github.com/yoglib/svelte-component-template": { "stars": 339 }, "https://github.com/yoglib/svelte-fullcalendar": { "stars": 196 }, - "https://github.com/zerodevx/svelte-toast": { "stars": 787 }, + "https://github.com/zerodevx/svelte-toast": { "stars": 791 }, "https://github.com/zeucapua/splat-template": { "stars": 4 }, "https://github.com/zooplus/zoo-web-components": { "stars": 45 } } diff --git a/src/lib/data/npm.json b/src/lib/data/npm.json index b94eb1a91..52b2f3676 100644 --- a/src/lib/data/npm.json +++ b/src/lib/data/npm.json @@ -40,8 +40,8 @@ "keywords": ["svelte", "router"] }, "super-sitemap": { - "version": "0.14.18", - "date": "2024-07-11T22:22:45.175Z", + "version": "0.14.19", + "date": "2024-07-23T20:20:33.350Z", "support": ">=4.0.0 <6.0.0", "keywords": ["sitemap", "sveltekit", "svelte", "seo"] }, @@ -148,14 +148,14 @@ "keywords": ["adapter", "deploy", "hosting", "netlify", "svelte", "sveltekit"] }, "@sveltejs/adapter-cloudflare-workers": { - "version": "2.5.1", - "date": "2024-07-06T15:25:10.830Z", + "version": "2.5.2", + "date": "2024-07-24T17:28:01.206Z", "support": "Unknown", "keywords": ["adapter", "cloudflare workers", "deploy", "hosting", "svelte", "sveltekit"] }, "@sveltejs/adapter-cloudflare": { - "version": "4.6.1", - "date": "2024-07-06T15:25:11.106Z", + "version": "4.7.0", + "date": "2024-07-24T17:28:01.802Z", "support": "Unknown", "keywords": ["adapter", "cloudflare pages", "deploy", "hosting", "svelte", "sveltekit"] }, @@ -1402,14 +1402,14 @@ "keywords": ["svelte"] }, "@storybook/sveltekit": { - "version": "8.2.5", - "date": "2024-07-19T19:13:07.156Z", + "version": "8.2.6", + "date": "2024-07-24T13:10:55.889Z", "support": "^4.0.0 || ^5.0.0-next.65", "keywords": ["storybook", "svelte", "sveltekit", "svelte-kit"] }, "@storybook/svelte": { - "version": "8.2.5", - "date": "2024-07-19T19:13:47.630Z", + "version": "8.2.6", + "date": "2024-07-24T13:11:33.788Z", "support": "^4.0.0 || ^5.0.0-next.65", "keywords": ["storybook"] }, @@ -1471,8 +1471,8 @@ "keywords": ["svelte", "asr", "router", "browserify"] }, "@testing-library/svelte": { - "version": "5.2.0", - "date": "2024-06-28T22:52:03.926Z", + "version": "5.2.1", + "date": "2024-07-25T23:07:39.043Z", "support": "^3 || ^4 || ^5 || ^5.0.0-next.0", "keywords": [ "testing", @@ -1605,8 +1605,8 @@ ] }, "shadcn-svelte": { - "version": "0.12.0", - "date": "2024-07-20T20:35:32.622Z", + "version": "0.12.1", + "date": "2024-07-21T16:35:29.072Z", "support": "Unknown", "keywords": [ "components", @@ -1973,8 +1973,8 @@ "keywords": ["svelte", "sveltejs", "papercss", "components"] }, "@event-calendar/core": { - "version": "3.2.1", - "date": "2024-07-15T09:57:09.900Z", + "version": "3.3.0", + "date": "2024-07-26T12:47:07.858Z", "support": "Unknown", "keywords": ["calendar", "event", "resource", "timeline", "full-sized"] }, @@ -2190,8 +2190,8 @@ ] }, "svelte-gestures": { - "version": "5.0.1", - "date": "2024-05-31T09:49:29.570Z", + "version": "5.0.4", + "date": "2024-07-25T07:58:00.692Z", "support": "Unknown" }, "svelte-adapter-github": { @@ -2499,14 +2499,14 @@ ] }, "@perfectthings/ui": { - "version": "9.6.0", - "date": "2024-06-29T11:56:58.957Z", + "version": "9.6.1", + "date": "2024-07-27T20:54:42.797Z", "support": "Unknown", "keywords": ["UI", "svelte", "PerfectThings"] }, "@tanstack/svelte-query": { - "version": "5.51.11", - "date": "2024-07-20T10:47:32.952Z", + "version": "5.51.15", + "date": "2024-07-26T11:48:39.091Z", "support": "^3.54.0 || ^4.0.0 || ^5.0.0-next.0" }, "@tanstack/svelte-virtual": { @@ -2593,8 +2593,8 @@ }, "chat-embed": { "version": "0.0.32", "date": "2023-03-18T13:25:04.673Z", "support": "Unknown" }, "lucide-svelte": { - "version": "0.412.0", - "date": "2024-07-20T17:54:03.442Z", + "version": "0.416.0", + "date": "2024-07-25T14:19:58.492Z", "support": "^3 || ^4 || ^5.0.0-next.42", "keywords": [ "Lucide", @@ -2751,8 +2751,8 @@ ] }, "@twicpics/components": { - "version": "0.29.3", - "date": "2024-07-12T08:39:34.364Z", + "version": "0.30.0", + "date": "2024-07-26T09:53:33.354Z", "support": "Unknown", "keywords": [ "angular", @@ -2809,20 +2809,20 @@ }, "supasveltekit": { "version": "0.1.5", "date": "2024-01-26T01:44:51.344Z", "support": "^4.0.0" }, "@jill64/sveltekit-adapter-aws": { - "version": "1.9.47", - "date": "2024-07-12T22:44:34.968Z", + "version": "1.9.48", + "date": "2024-07-23T05:41:17.285Z", "support": "Unknown", "keywords": ["adapter", "aws", "sveltekit"] }, "@jill64/sentry-sveltekit-cloudflare": { - "version": "1.7.15", - "date": "2024-06-25T13:42:45.683Z", + "version": "1.7.16", + "date": "2024-07-23T20:23:24.045Z", "support": "Unknown", "keywords": ["cloudflare", "edge", "pages", "sentry", "sveltekit", "worker"] }, "@jill64/sentry-sveltekit-edge": { - "version": "1.2.42", - "date": "2024-07-19T16:46:21.308Z", + "version": "1.2.45", + "date": "2024-07-26T12:51:11.693Z", "support": "Unknown", "keywords": ["edge", "sentry", "sveltekit", "vercel"] }, @@ -2900,21 +2900,21 @@ "keywords": ["svelte"] }, "svelte-inline-modal": { - "version": "1.1.21", - "date": "2024-07-06T12:55:49.770Z", - "support": "^4.0.0", + "version": "2.0.0-next.1", + "date": "2024-07-26T01:21:08.060Z", + "support": "^5.0.0", "keywords": ["inline", "modal", "onthefly", "svelte"] }, "@jill64/svelte-input": { - "version": "1.6.33", - "date": "2024-07-12T02:37:48.475Z", + "version": "1.6.34", + "date": "2024-07-26T01:18:35.973Z", "support": "^4.0.0", "keywords": ["components", "input", "suite", "svelte"] }, "@jill64/svelte-toast": { - "version": "1.3.46", - "date": "2024-07-05T06:05:28.479Z", - "support": "^4.0.0", + "version": "2.0.0-next.1", + "date": "2024-07-27T09:24:11.001Z", + "support": "^5.0.0", "keywords": ["notify", "svelte", "toast"] }, "@tanstack/svelte-table": { @@ -2963,13 +2963,13 @@ "keywords": ["svelte", "markdown", "remark", "unified", "commonmark", "gfm", "plugin"] }, "@sentry/svelte": { - "version": "8.19.0", - "date": "2024-07-19T09:47:52.896Z", + "version": "8.20.0", + "date": "2024-07-24T15:31:48.130Z", "support": "3.x || 4.x || 5.x" }, "@sentry/sveltekit": { - "version": "8.19.0", - "date": "2024-07-19T09:48:30.093Z", + "version": "8.20.0", + "date": "2024-07-24T15:32:21.273Z", "support": "Unknown" }, "svelte-french-toast": { @@ -3002,8 +3002,8 @@ "support": "^3 || ^4" }, "vite-plugin-kit-routes": { - "version": "0.6.2", - "date": "2024-04-16T17:47:56.313Z", + "version": "0.6.3", + "date": "2024-07-25T16:22:10.113Z", "support": "Unknown", "keywords": ["vite"] }, @@ -3101,8 +3101,8 @@ ] }, "houdini": { - "version": "1.2.50", - "date": "2024-07-13T05:24:48.074Z", + "version": "1.2.51", + "date": "2024-07-26T16:36:11.623Z", "support": "Unknown", "keywords": ["typescript", "graphql", "graphql-client"] }, @@ -3343,8 +3343,8 @@ "keywords": ["svelte", "svelvet", "typescript"] }, "carta-md": { - "version": "4.3.6", - "date": "2024-07-20T08:28:18.887Z", + "version": "4.3.10", + "date": "2024-07-27T21:59:33.712Z", "support": "^3.54.0 || ^4.0.0", "keywords": [ "carta", @@ -3423,8 +3423,8 @@ "keywords": ["typescript", "prismic"] }, "@slicemachine/adapter-sveltekit": { - "version": "0.3.42", - "date": "2024-06-18T09:01:32.968Z", + "version": "0.3.43", + "date": "2024-07-22T14:58:57.693Z", "support": "^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.1", "keywords": ["typescript", "prismic"] }, @@ -3569,9 +3569,9 @@ "keywords": ["svelte", "mapbox", "mapbox-gl", "map", "sveltekit"] }, "@sveltejs/enhanced-img": { - "version": "0.3.0", - "date": "2024-06-13T17:51:55.902Z", - "support": "Unknown", + "version": "0.3.1", + "date": "2024-07-24T17:28:01.136Z", + "support": "^4.0.0 || ^5.0.0-next.0", "keywords": [ "component", "enhanced", @@ -3590,8 +3590,8 @@ "keywords": ["images", "svelte"] }, "@playwright/experimental-ct-svelte": { - "version": "1.45.2", - "date": "2024-07-16T10:48:40.241Z", + "version": "1.45.3", + "date": "2024-07-22T18:08:35.392Z", "support": "Unknown" }, "vaul-svelte": { @@ -3635,11 +3635,12 @@ ] }, "@agnos-ui/svelte-headless": { - "version": "0.3.1", - "date": "2024-04-25T19:06:37.127Z", - "support": "*", + "version": "0.4.0", + "date": "2024-07-25T12:32:33.833Z", + "support": "^4.2.18", "keywords": [ "svelte", + "headless", "AgnosUI", "accordion", "alert", @@ -3654,9 +3655,9 @@ ] }, "@agnos-ui/svelte-bootstrap": { - "version": "0.3.1", - "date": "2024-04-25T19:06:40.153Z", - "support": "*", + "version": "0.4.0", + "date": "2024-07-25T12:32:37.298Z", + "support": "^4.2.18", "keywords": [ "svelte", "bootstrap", @@ -3692,9 +3693,9 @@ "keywords": ["svelte", "svelte-store", "crossorigin", "iframe"] }, "@wjfe/dataview": { - "version": "0.5.0", - "date": "2024-07-20T21:13:06.601Z", - "support": "^5.0.0-next.175", + "version": "0.8.0", + "date": "2024-07-27T06:55:06.404Z", + "support": "^5.0.0-next.199", "keywords": ["svelte", "table", "data", "dataview", "grid", "gridview", "datagrid"] }, "runed": { "version": "0.15.0", "date": "2024-07-03T08:49:03.041Z", "support": "^5.0.0-next.1" }, @@ -3704,8 +3705,8 @@ "support": "^4.0.0 || ^5.0.0-next.1" }, "@altron/altron": { - "version": "3.0.4", - "date": "2024-07-19T22:36:15.640Z", + "version": "3.2.0", + "date": "2024-07-27T17:14:02.752Z", "support": "^4.0.0", "keywords": [ "sveltekit", @@ -3784,8 +3785,8 @@ "support": "^4.0.0" }, "svelte-cartesian": { - "version": "1.0.6", - "date": "2024-07-03T14:39:13.105Z", + "version": "1.1.1", + "date": "2024-07-23T14:30:44.868Z", "support": "^4.2.18 || ^5.0.0-next.164" }, "sveltekit-superactions": { diff --git a/src/lib/schemas.js b/src/lib/schemas.js index 08b18feb9..c79b92d21 100644 --- a/src/lib/schemas.js +++ b/src/lib/schemas.js @@ -25,14 +25,24 @@ const PACKAGES_CATEGORIES = /** @type {const} */ ([ ]); export const packagesSchema = z.array( - z.object({ - title: z.string().max(50), - npm: z.string().regex(packageNameRegex), - url: z.string().url().optional(), - repository: z.string().url(), - description: z.string().max(250), - categories: z.array(z.enum(PACKAGES_CATEGORIES)).min(1).max(6) - }) + z.intersection( + z.object({ + title: z.string().max(50), + url: z.string().url().optional(), + repository: z.string().url(), + description: z.string().max(250), + categories: z.array(z.enum(PACKAGES_CATEGORIES)).min(1).max(6) + }), + z + .object({ + npm: z.string().regex(packageNameRegex) + }) + .or( + z.object({ + gem: z.string().regex(/^[a-z_-]+$/) + }) + ) + ) ); const TEMPLATES_CATEGORIES = /** @type {const} */ ([ diff --git a/src/lib/stores/packageManager.ts b/src/lib/stores/packageManager.ts index adeaecc58..eb5a0a5d3 100644 --- a/src/lib/stores/packageManager.ts +++ b/src/lib/stores/packageManager.ts @@ -2,8 +2,14 @@ import { createLocalStorage, persist } from '@macfja/svelte-persistent-store'; import type { PersistentStore } from '@macfja/svelte-persistent-store'; import { writable } from 'svelte/store'; -export const packageManager: PersistentStore = persist( - writable('npm'), +export const packageManager: PersistentStore> = persist( + writable(['npm', 'gem']), createLocalStorage(), 'packageManager' ); + +packageManager.subscribe((v) => { + if (typeof v === 'string') { + packageManager.set([v, 'gem']); + } +})();