diff --git a/.github/workflows/update-stars.yml b/.github/workflows/fetch-latest-data.yml similarity index 88% rename from .github/workflows/update-stars.yml rename to .github/workflows/fetch-latest-data.yml index f6dead17b..a02f5e357 100644 --- a/.github/workflows/update-stars.yml +++ b/.github/workflows/fetch-latest-data.yml @@ -1,4 +1,4 @@ -name: Update stars count +name: Fetch latest data on: schedule: @@ -19,10 +19,12 @@ jobs: cache: 'pnpm' - name: Install dependencies run: pnpm install - - name: Run script + - name: Update stars uses: ./.github/actions/update-stars with: token: ${{ secrets.GITHUB_TOKEN }} + - name: Update npm data + run: node scripts/updateNpm.js - name: Run format run: pnpm run format - name: Create Pull Request diff --git a/package.json b/package.json index 03bd30e82..3a9c4c566 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "@types/node": "^20.10.4", "@typescript-eslint/eslint-plugin": "^6.14.0", "@typescript-eslint/parser": "^6.14.0", + "dayjs": "^1.11.10", "eslint": "^8.55.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-svelte": "^2.35.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a18efb801..a5047b068 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -35,6 +35,9 @@ devDependencies: '@typescript-eslint/parser': specifier: ^6.14.0 version: 6.14.0(eslint@8.55.0)(typescript@5.3.3) + dayjs: + specifier: ^1.11.10 + version: 1.11.10 eslint: specifier: ^8.55.0 version: 8.55.0 @@ -1169,6 +1172,10 @@ packages: hasBin: true dev: true + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: true + /debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} diff --git a/scripts/updateNpm.js b/scripts/updateNpm.js new file mode 100644 index 000000000..c95648322 --- /dev/null +++ b/scripts/updateNpm.js @@ -0,0 +1,33 @@ +// @ts-check + +import { writeFileSync } from 'node:fs'; +import { promisify } from 'node:util'; +import { exec } from 'node:child_process'; +import { componentsSchema, toolsSchema } from '../src/lib/schemas.js'; +import components from '../src/routes/components/components.json' assert { type: 'json' }; +import tools from '../src/routes/tools/tools.json' assert { type: 'json' }; + +const execAsync = promisify(exec); + +const data = [...componentsSchema.parse(components), ...toolsSchema.parse(tools)]; + +const npm = await Promise.all( + data.map((pkg) => processPackage(pkg).catch((error) => console.log(error.message))) +).then((values) => { + return values.reduce((result, value) => Object.assign(result, value), {}); +}); + +writeFileSync('src/lib/npm.json', JSON.stringify(npm)); + +/** @param {ReturnType[0]} pkg */ +async function processPackage(pkg) { + if (!pkg.npm) { + throw new Error(`npm field missing from ${pkg.title} (skipping)`); + } + const { stdout } = await execAsync(`npm view ${pkg.npm} --json`); + const data = JSON.parse(stdout.toString()); + const version = data.version; + const date = data.time[version]; + const support = data.peerDependencies?.svelte ? data.peerDependencies.svelte : 'Unknown'; + return { [pkg.npm]: { version: version, date: date, support: support } }; +} diff --git a/src/lib/components/ComponentIndex/Card.svelte b/src/lib/components/ComponentIndex/Card.svelte index 99cf83fde..5ff7b4c1d 100644 --- a/src/lib/components/ComponentIndex/Card.svelte +++ b/src/lib/components/ComponentIndex/Card.svelte @@ -2,6 +2,7 @@ import Tag from '../Tag.svelte'; import { copyToClipboard } from '$lib/utils/clipboard'; import { packageManager as manager } from '$stores/packageManager'; + import { relativeDate } from '$utils/relativeDate'; export let active = false; export let title = ''; @@ -11,6 +12,8 @@ export let url = ''; export let npm = ''; export let repository = undefined; + export let date = undefined; + export let version = undefined; let clipboardCopy = false; @@ -33,44 +36,51 @@
-

- # - {#if url || repository}{title}{:else}{title}{/if} - {#if npm} copy()} - variant="copy" - title={clipboardCopy ? 'copied!' : `${packageManagers[$manager]} ${cleanupNpm(npm)}`} - />{/if} -

-

{description}

- {#if tags} -
- {#each tags as tag} - - {/each} +
+
+

+ # + {#if url || repository}{title}{:else}{title}{/if} +

- {/if} -
{#if (repository || url || '').includes('github')} - github logo {:else if (repository || url || '').includes('gitlab')} - gitlab logo {/if}
+
+ + {#if npm} + copy()} + variant="copy" + title={clipboardCopy ? 'copied!' : `${packageManagers[$manager]} ${cleanupNpm(npm)}`} + /> + {/if} +

{description}

+ {#if tags} +
+ {#each tags as tag} + + {/each} +
+ {/if} +
{#if typeof stars !== 'undefined'} ★ {stars} {/if}
- - + {#if date && version}Updated {relativeDate(date)} ({version}){/if}
@@ -97,6 +107,11 @@ flex-wrap: wrap; margin-bottom: 1rem; } + .card__top { + display: flex; + justify-content: space-between; + align-items: top; + } .card__bottom { display: flex; justify-content: space-between; @@ -105,7 +120,7 @@ .card__bottom > * { white-space: nowrap; } - .card__bottom a { + .repo { border-bottom: none; aspect-ratio: 1/1; display: flex; @@ -117,10 +132,12 @@ background-color: rgba(0, 0, 0, 0); transition: background-color 200ms ease-out; } - .card__bottom a:hover { + .repo:hover { background-color: rgba(0, 0, 0, 0.25); } - + .date { + font-size: 14px; + } .flex-grow { flex-grow: 1; } diff --git a/src/lib/npm.json b/src/lib/npm.json new file mode 100644 index 000000000..bf3200807 --- /dev/null +++ b/src/lib/npm.json @@ -0,0 +1,1451 @@ +{ + "svelte-stopwatch": { + "version": "0.0.7", + "date": "2022-04-01T13:45:20.565Z", + "support": "Unknown" + }, + "curseur": { "version": "0.0.8", "date": "2023-04-11T18:44:48.438Z", "support": "^3.54.0" }, + "svelte-zod-form": { + "version": "2.3.4", + "date": "2023-10-27T05:31:36.348Z", + "support": "Unknown" + }, + "svelte-selecto": { + "version": "1.26.3", + "date": "2023-12-03T06:46:11.979Z", + "support": "Unknown" + }, + "svelte-pilot": { "version": "0.6.2", "date": "2023-12-06T03:33:58.539Z", "support": "^4" }, + "super-sitemap": { + "version": "0.14.12", + "date": "2023-12-11T00:19:51.413Z", + "support": "^4.0.0" + }, + "svelte-scrollactive": { + "version": "0.0.9", + "date": "2023-10-03T20:36:51.169Z", + "support": "Unknown" + }, + "svelte-tel-input": { + "version": "3.3.9", + "date": "2023-11-20T19:18:26.402Z", + "support": "^3.58.0 || ^4.0.0" + }, + "svault": { "version": "1.1.3", "date": "2023-07-23T00:08:53.291Z", "support": "^4.0.0" }, + "svelte-datatables-net": { + "version": "0.0.11", + "date": "2023-07-04T14:27:58.842Z", + "support": "^3.54.0 || ^4.0.0" + }, + "stwui": { "version": "0.18.13-next", "date": "2023-11-22T02:13:11.391Z", "support": "^4.2.2" }, + "@sveltejs/adapter-auto": { + "version": "3.0.0", + "date": "2023-12-14T16:41:40.128Z", + "support": "Unknown" + }, + "@sveltejs/adapter-netlify": { + "version": "3.0.0", + "date": "2023-12-14T16:41:41.203Z", + "support": "Unknown" + }, + "@sveltejs/adapter-cloudflare-workers": { + "version": "2.0.0", + "date": "2023-12-14T16:41:40.041Z", + "support": "Unknown" + }, + "@sveltejs/adapter-cloudflare": { + "version": "3.0.0", + "date": "2023-12-14T16:41:41.015Z", + "support": "Unknown" + }, + "@sveltejs/adapter-node": { + "version": "2.0.0", + "date": "2023-12-14T16:41:41.809Z", + "support": "Unknown" + }, + "@sveltejs/adapter-static": { + "version": "3.0.0", + "date": "2023-12-14T16:41:40.098Z", + "support": "Unknown" + }, + "@sveltejs/adapter-vercel": { + "version": "4.0.2", + "date": "2023-12-15T18:11:33.241Z", + "support": "Unknown" + }, + "svelte-lazy-loader": { + "version": "1.0.0", + "date": "2022-03-29T02:52:43.435Z", + "support": "Unknown" + }, + "svelte-carbonbadge": { + "version": "0.0.1", + "date": "2022-02-08T18:28:32.548Z", + "support": "Unknown" + }, + "svelte-form-validation": { + "version": "1.0.5", + "date": "2021-11-06T18:03:27.150Z", + "support": "Unknown" + }, + "date-picker-svelte": { + "version": "2.10.1", + "date": "2023-12-05T23:42:52.073Z", + "support": "^3.24.0 || ^4.0.0" + }, + "svelte-virtual-table": { + "version": "1.1.3", + "date": "2023-10-29T14:44:37.723Z", + "support": "Unknown" + }, + "svelte-number-spinner": { + "version": "0.8.0", + "date": "2022-01-06T12:20:44.313Z", + "support": "Unknown" + }, + "svelte-remixicon": { + "version": "2.1.0", + "date": "2023-11-13T04:52:05.512Z", + "support": "^3.54.0 || ^4.0.0" + }, + "svelte-fast-marquee": { + "version": "0.7.0", + "date": "2023-09-17T06:14:01.121Z", + "support": "Unknown" + }, + "sswr": { "version": "2.0.0", "date": "2023-07-08T12:17:34.112Z", "support": "^4.0.0" }, + "svelte-adapter-firebase": { + "version": "0.15.0", + "date": "2023-01-17T02:32:22.230Z", + "support": "Unknown" + }, + "@architect/sveltekit-adapter": { + "version": "0.0.4", + "date": "2021-10-11T15:40:39.994Z", + "support": "Unknown" + }, + "svelte-adapter-deno": { + "version": "0.9.0", + "date": "2023-01-30T18:39:12.821Z", + "support": "Unknown" + }, + "svelte-client-router": { + "version": "2.0.8", + "date": "2023-07-06T17:47:51.986Z", + "support": "Unknown" + }, + "felte": { + "version": "1.2.12", + "date": "2023-08-29T22:37:28.952Z", + "support": "^3.31.0 || ^4.0.0" + }, + "sveltefire": { "version": "0.4.2", "date": "2023-08-15T23:47:40.880Z", "support": "^4.0.0" }, + "svelte-time-picker": { + "version": "2.0.0", + "date": "2022-02-01T16:27:32.904Z", + "support": "Unknown" + }, + "svelte-formula": { + "version": "0.12.0", + "date": "2022-07-01T13:15:36.210Z", + "support": ">=3.0.0" + }, + "svelte-calendar": { + "version": "3.1.6", + "date": "2021-09-22T18:19:33.586Z", + "support": "Unknown" + }, + "svelte-tags-input": { + "version": "5.0.0", + "date": "2023-03-05T20:54:29.619Z", + "support": "Unknown" + }, + "sveltedoc-parser": { + "version": "4.2.1", + "date": "2021-12-15T10:08:28.326Z", + "support": "Unknown" + }, + "aovi-svelte": { "version": "0.2.5", "date": "2021-11-06T20:29:42.356Z", "support": "3.x" }, + "svelte-chota": { "version": "1.8.6", "date": "2021-07-29T11:43:20.374Z", "support": "Unknown" }, + "svelte-eventbus": { "version": "0.2.0", "date": "2022-02-18T12:24:22.806Z", "support": "3.x" }, + "tinro": { "version": "0.6.12", "date": "2022-02-03T19:42:44.456Z", "support": "Unknown" }, + "fa-svelte": { "version": "3.1.0", "date": "2019-11-09T14:38:48.567Z", "support": "Unknown" }, + "svelte-fullscreen": { + "version": "2.0.0", + "date": "2021-09-01T00:58:55.624Z", + "support": "Unknown" + }, + "svelte-grid-responsive": { + "version": "1.2.4", + "date": "2022-04-06T01:41:27.294Z", + "support": "Unknown" + }, + "svelte-infinite-scroll": { + "version": "2.0.1", + "date": "2022-04-06T01:56:29.427Z", + "support": "Unknown" + }, + "svelte-formly": { "version": "2.0.1", "date": "2022-07-24T00:42:19.533Z", "support": "Unknown" }, + "svelte-websocket-store": { + "version": "1.1.34", + "date": "2023-11-14T22:02:34.319Z", + "support": "Unknown" + }, + "sveltestrap": { "version": "5.11.2", "date": "2023-08-31T02:12:52.847Z", "support": "^3.53.1" }, + "@beyonk/gdpr-cookie-consent-banner": { + "version": "12.1.0", + "date": "2023-10-11T15:22:27.659Z", + "support": "Unknown" + }, + "@beyonk/svelte-carousel": { + "version": "2.9.0", + "date": "2022-01-13T16:20:23.849Z", + "support": "Unknown" + }, + "@beyonk/svelte-facebook-customer-chat": { + "version": "1.0.0", + "date": "2019-05-25T17:04:33.458Z", + "support": "Unknown" + }, + "@beyonk/svelte-facebook-pixel": { + "version": "3.0.1", + "date": "2022-05-03T16:13:38.720Z", + "support": "Unknown" + }, + "@beyonk/svelte-google-analytics": { + "version": "2.6.4", + "date": "2022-05-23T16:36:42.913Z", + "support": "Unknown" + }, + "@beyonk/svelte-googlemaps": { + "version": "3.2.0", + "date": "2022-01-06T17:25:02.073Z", + "support": "Unknown" + }, + "@beyonk/svelte-mapbox": { + "version": "9.1.0", + "date": "2023-06-03T10:48:12.798Z", + "support": "^3.0.0" + }, + "@beyonk/svelte-notifications": { + "version": "4.2.0", + "date": "2022-04-26T15:48:32.368Z", + "support": "Unknown" + }, + "@beyonk/svelte-scrollspy": { + "version": "2.1.2", + "date": "2019-06-28T20:26:57.682Z", + "support": "Unknown" + }, + "svelte-simple-icons": { + "version": "1.0.3", + "date": "2019-10-30T09:39:51.719Z", + "support": "Unknown" + }, + "@beyonk/svelte-trustpilot": { + "version": "1.0.2", + "date": "2019-06-22T07:13:07.617Z", + "support": "Unknown" + }, + "@bjornlu/svelte-router": { + "version": "0.5.0", + "date": "2021-09-09T17:01:16.692Z", + "support": "^3.20.0" + }, + "svelte-sortable-list": { + "version": "1.1.0", + "date": "2019-07-05T19:48:52.084Z", + "support": "^3.4.1" + }, + "svelte-data-grid": { + "version": "3.0.0", + "date": "2020-01-11T23:47:32.161Z", + "support": "Unknown" + }, + "query-store": { "version": "1.1.2", "date": "2021-06-16T17:56:37.294Z", "support": "Unknown" }, + "svelma": { "version": "0.4.5", "date": "2021-04-14T04:51:32.191Z", "support": "Unknown" }, + "svelte-forms": { "version": "2.3.1", "date": "2022-03-31T22:29:26.074Z", "support": "Unknown" }, + "svelte-credit-cards": { + "version": "2.0.1", + "date": "2023-07-25T15:54:12.664Z", + "support": "Unknown" + }, + "svelte-headroom": { + "version": "2.2.1", + "date": "2019-10-14T10:29:36.044Z", + "support": "Unknown" + }, + "svelte-fa": { "version": "3.0.4", "date": "2023-05-26T06:52:05.086Z", "support": "Unknown" }, + "svelte-table": { "version": "0.6.1", "date": "2023-06-07T02:46:58.215Z", "support": "Unknown" }, + "svelte-moveable": { + "version": "0.45.0", + "date": "2023-12-03T13:48:06.920Z", + "support": "^3.54.0 || ^4.0.0" + }, + "svelte-ruler": { "version": "0.19.0", "date": "2023-06-02T16:20:49.677Z", "support": "Unknown" }, + "waxwing-rating": { + "version": "0.0.2", + "date": "2019-05-28T21:53:16.573Z", + "support": "Unknown" + }, + "@dopry/svelte-auth0": { + "version": "2.0.0", + "date": "2021-04-01T17:34:25.430Z", + "support": "Unknown" + }, + "svelte-feather-icons": { + "version": "4.1.0", + "date": "2023-12-16T08:54:38.359Z", + "support": "Unknown" + }, + "@easylogic/svelte-summernote": { + "version": "0.0.3", + "date": "2020-03-22T15:16:23.015Z", + "support": "Unknown" + }, + "svelte-dev-helper": { + "version": "1.1.9", + "date": "2018-07-04T15:39:03.543Z", + "support": "Unknown" + }, + "svelte-routing": { + "version": "2.10.0", + "date": "2023-12-05T09:28:05.956Z", + "support": "Unknown" + }, + "svelte-rate-it": { "version": "1.0.1", "date": "2019-07-29T11:30:11.230Z", "support": "^3.4.1" }, + "@equipmentshare/date-range-input": { + "version": "2.1.0", + "date": "2020-02-26T18:00:07.289Z", + "support": "Unknown" + }, + "svelte-tree": { "version": "0.7.0", "date": "2020-06-01T11:58:28.755Z", "support": "Unknown" }, + "svelteify": { + "version": "1.0.0-beta3", + "date": "2019-08-24T09:36:48.561Z", + "support": "Unknown" + }, + "svelte-simple-modal": { + "version": "1.6.1", + "date": "2023-07-01T17:49:41.459Z", + "support": "^3.30.0 || ^4.0.0" + }, + "@urql/svelte": { + "version": "4.0.4", + "date": "2023-07-26T21:08:23.559Z", + "support": "^3.0.0 || ^4.0.0" + }, + "svelte-icons": { "version": "2.1.0", "date": "2020-03-07T23:48:39.756Z", "support": "Unknown" }, + "svelte-native": { "version": "1.0.15", "date": "2023-12-08T09:34:40.175Z", "support": "~4.2.8" }, + "svelte-copyright": { + "version": "2.1.0", + "date": "2023-08-31T18:49:12.288Z", + "support": "^4.0.0" + }, + "svelte-flex": { "version": "2.0.0", "date": "2023-09-05T16:22:00.240Z", "support": "^4.0.0" }, + "svelte-frappe-charts": { + "version": "1.10.0", + "date": "2022-11-24T21:53:37.458Z", + "support": "^3.0.0" + }, + "svelte-material-ui": { + "version": "7.0.0-beta.15", + "date": "2023-09-04T21:18:03.569Z", + "support": "Unknown" + }, + "@ikun-ui/core": { "version": "0.0.16", "date": "2023-12-11T05:38:59.942Z", "support": "^4.0.0" }, + "carbon-components-svelte": { + "version": "0.82.7", + "date": "2023-12-17T17:46:39.974Z", + "support": "Unknown" + }, + "attractions": { "version": "3.7.0", "date": "2021-12-30T15:13:48.928Z", "support": "^3.31.0" }, + "svelte-spa-router": { + "version": "4.0.0", + "date": "2023-12-09T18:39:54.376Z", + "support": "Unknown" + }, + "svelte-flatpickr": { + "version": "3.3.4", + "date": "2023-11-28T16:48:29.834Z", + "support": ">= 3.31.0 < 5.0" + }, + "svelte-navaid": { "version": "0.1.1", "date": "2019-08-26T15:30:57.833Z", "support": "Unknown" }, + "@jamen/svelte-router": { + "version": "1.0.0", + "date": "2022-10-21T17:49:55.121Z", + "support": "Unknown" + }, + "svelte-router": { + "version": "3.0.0-alpha.2", + "date": "2019-08-14T08:17:51.148Z", + "support": "^3.0.0" + }, + "svelte-pick-a-place": { + "version": "1.1.0", + "date": "2019-09-30T18:26:43.045Z", + "support": "Unknown" + }, + "svelte-tabs": { "version": "1.1.0", "date": "2019-08-21T14:00:16.390Z", "support": "Unknown" }, + "svelteml": { "version": "0.0.5", "date": "2020-06-11T18:29:56.773Z", "support": "Unknown" }, + "svelte-compare-image-slider": { + "version": "0.1.15", + "date": "2020-07-27T20:18:53.273Z", + "support": "Unknown" + }, + "svelte-router-spa": { + "version": "7.0.1", + "date": "2023-09-14T10:24:36.330Z", + "support": "^3.36.0" + }, + "svelte-css-vars": { + "version": "0.0.3", + "date": "2021-06-17T16:00:46.189Z", + "support": "Unknown" + }, + "svelte-i18n": { "version": "4.0.0", "date": "2023-10-16T08:17:26.956Z", "support": "^3 || ^4" }, + "@nubolab-ffwd/svelte-fluent": { + "version": "0.7.0", + "date": "2023-07-17T11:01:53.397Z", + "support": "^3.55.0 || ^4.0.0" + }, + "svelte-loadable": { + "version": "2.0.1", + "date": "2022-03-05T08:21:50.292Z", + "support": "^3.20.1" + }, + "svero": { "version": "1.0.0", "date": "2019-07-23T15:09:43.502Z", "support": "3.x" }, + "svelte-notifications": { + "version": "0.9.98", + "date": "2022-10-19T22:21:14.245Z", + "support": "Unknown" + }, + "svelte-fragment-component": { + "version": "1.2.0", + "date": "2020-07-13T10:06:45.377Z", + "support": "3.x" + }, + "svelte-htm": { "version": "1.2.0", "date": "2022-11-08T21:34:29.863Z", "support": "3.x" }, + "svelte-jsx": { "version": "2.0.0", "date": "2021-02-07T11:12:20.070Z", "support": "3.x" }, + "svelte-favicon-badge": { + "version": "1.0.0", + "date": "2020-03-25T19:02:04.005Z", + "support": "Unknown" + }, + "svelte-redux-connect": { + "version": "1.2.1", + "date": "2021-07-07T14:28:31.192Z", + "support": "3.x" + }, + "svelte-jester": { "version": "3.0.0", "date": "2023-07-24T22:22:37.937Z", "support": ">= 3" }, + "svelte-jest": { "version": "0.3.1", "date": "2019-10-09T06:24:43.419Z", "support": "^3.0.0" }, + "echarts-for-svelte": { + "version": "0.1.11", + "date": "2019-08-16T05:07:37.222Z", + "support": "^3.0.0" + }, + "@lottiefiles/svelte-lottie-player": { + "version": "0.3.0", + "date": "2022-12-07T12:50:49.384Z", + "support": "Unknown" + }, + "@pwa/cli": { "version": "0.5.4", "date": "2020-04-16T19:10:28.055Z", "support": "Unknown" }, + "svelte-inview": { + "version": "4.0.1", + "date": "2023-07-06T19:22:22.187Z", + "support": "^3.0.0 || ^4.0.0" + }, + "smelte": { "version": "1.1.8", "date": "2021-09-06T04:05:31.316Z", "support": "Unknown" }, + "@melt-ui/svelte": { + "version": "0.66.0", + "date": "2023-12-17T19:07:43.635Z", + "support": ">=3 <5" + }, + "radix-svelte": { "version": "0.9.0", "date": "2023-07-23T19:43:39.851Z", "support": "^4.1.1" }, + "svelte-image": { "version": "0.2.9", "date": "2020-12-16T11:01:38.614Z", "support": "Unknown" }, + "svelte-waypoint": { + "version": "0.1.4", + "date": "2019-12-28T02:55:49.875Z", + "support": "Unknown" + }, + "sveltejs-forms": { + "version": "2.1.2", + "date": "2020-09-05T16:46:05.508Z", + "support": "~3.20.0" + }, + "svelte-navigator": { "version": "3.2.2", "date": "2022-08-27T16:14:14.500Z", "support": "3.x" }, + "layercake": { "version": "8.0.2", "date": "2023-10-15T03:40:29.563Z", "support": "3 - 4" }, + "@egjs/svelte-infinitegrid": { + "version": "4.11.0", + "date": "2023-11-24T08:20:35.142Z", + "support": "Unknown" + }, + "svelte-page-progress": { + "version": "1.0.1", + "date": "2020-05-17T22:12:20.577Z", + "support": "Unknown" + }, + "@okrad/svelte-progressbar": { + "version": "2.2.0", + "date": "2023-07-06T09:06:19.807Z", + "support": "^4.0.4" + }, + "svelte-intl": { "version": "1.1.4", "date": "2022-04-04T11:16:49.037Z", "support": "^3.0.0" }, + "svql": { "version": "0.0.35", "date": "2021-08-21T22:08:49.690Z", "support": "3.x" }, + "yrv": { "version": "0.0.57", "date": "2022-06-26T18:57:46.496Z", "support": "3.x" }, + "svelte-asyncable": { "version": "2.2.0", "date": "2023-10-28T12:31:43.455Z", "support": "4.x" }, + "svelte-content-loader": { + "version": "1.1.3", + "date": "2020-04-07T14:01:41.745Z", + "support": "Unknown" + }, + "svelte-image-compare": { + "version": "1.1.1", + "date": "2019-08-24T23:29:22.232Z", + "support": "Unknown" + }, + "svelte-imask": { "version": "1.2.0", "date": "2019-12-02T10:22:35.983Z", "support": "Unknown" }, + "svelte-page-router": { + "version": "1.1.0", + "date": "2019-09-12T06:05:27.630Z", + "support": "Unknown" + }, + "svelte-pathfinder": { + "version": "4.7.1", + "date": "2023-08-06T20:18:44.148Z", + "support": ">=3 <5" + }, + "svelte-ticker": { "version": "1.0.0", "date": "2019-12-16T00:09:47.095Z", "support": "Unknown" }, + "svelte-viewpoint": { "version": "1.4.3", "date": "2021-03-04T11:39:29.012Z", "support": "3.x" }, + "select-madu": { "version": "2.2.0", "date": "2021-03-25T06:01:27.134Z", "support": "Unknown" }, + "svelte-match-media": { + "version": "1.2.1", + "date": "2021-03-31T14:01:03.360Z", + "support": "Unknown" + }, + "svelte-webext-storage-adapter": { + "version": "3.0.1", + "date": "2023-06-14T08:36:50.324Z", + "support": "^3.0.0 || ^4.0.0-next.1" + }, + "svelte-writable-derived": { + "version": "3.1.0", + "date": "2023-06-14T07:25:16.718Z", + "support": "^3.2.1 || ^4.0.0-next.1" + }, + "storez": { "version": "0.3.16", "date": "2023-10-28T21:30:29.023Z", "support": "Unknown" }, + "svelte-adapter": { + "version": "0.5.0", + "date": "2021-09-23T13:39:51.058Z", + "support": "Unknown" + }, + "svelte-test": { "version": "0.4.0", "date": "2019-06-14T19:00:10.394Z", "support": "Unknown" }, + "svelte-fusioncharts": { + "version": "1.0.0", + "date": "2019-09-11T13:17:41.018Z", + "support": "Unknown" + }, + "simple-svelte-autocomplete": { + "version": "2.5.2", + "date": "2023-02-09T16:21:48.586Z", + "support": "Unknown" + }, + "svelte-hash-router": { + "version": "1.0.1", + "date": "2019-06-16T16:31:41.755Z", + "support": "^3.5.1" + }, + "svelte-color-picker": { + "version": "1.0.7", + "date": "2019-10-12T13:34:22.928Z", + "support": "Unknown" + }, + "svelte-inspector": { + "version": "0.0.3", + "date": "2019-09-01T06:09:45.663Z", + "support": "Unknown" + }, + "swheel": { "version": "1.1.3", "date": "2019-09-05T14:20:54.973Z", "support": "^3.0.0" }, + "svelte-accessible-dialog": { + "version": "2.1.3", + "date": "2021-04-14T14:02:34.803Z", + "support": "Unknown" + }, + "@sveltejs/pancake": { + "version": "0.0.18", + "date": "2021-08-12T13:59:47.557Z", + "support": "Unknown" + }, + "svelte-select": { "version": "5.8.1", "date": "2023-11-17T22:18:15.097Z", "support": "Unknown" }, + "svelte-awesome": { + "version": "3.3.0", + "date": "2023-12-01T19:42:39.503Z", + "support": "^3.43.1 || ^4.0.0" + }, + "jest-transform-svelte": { + "version": "2.1.1", + "date": "2020-01-16T06:53:51.360Z", + "support": ">= 3" + }, + "svelte-image-encoder": { + "version": "1.2.5", + "date": "2019-06-11T00:53:44.024Z", + "support": "Unknown" + }, + "multicarousel": { "version": "3.0.1", "date": "2019-04-24T01:15:37.438Z", "support": "Unknown" }, + "svelte-heatmap": { + "version": "1.0.2", + "date": "2020-06-06T19:20:26.563Z", + "support": "Unknown" + }, + "svelte-swipe": { + "version": "2.0.4", + "date": "2023-11-10T13:18:12.910Z", + "support": "^3.54.0 || ^4.0.0" + }, + "@slick-for/svelte": { + "version": "1.2.4", + "date": "2019-09-04T13:15:49.424Z", + "support": "^3.6.7" + }, + "svelte-marquee": { + "version": "0.1.4", + "date": "2020-07-15T19:15:34.745Z", + "support": "Unknown" + }, + "svelte-range-slider-pips": { + "version": "2.2.3", + "date": "2023-09-20T12:20:42.709Z", + "support": "Unknown" + }, + "svelte-infinite-loading": { + "version": "1.3.8", + "date": "2021-09-29T14:48:57.972Z", + "support": "Unknown" + }, + "@spaceavocado/svelte-form": { + "version": "1.0.4", + "date": "2019-10-11T14:37:50.096Z", + "support": "^3.8.1" + }, + "@spaceavocado/svelte-router": { + "version": "1.0.16", + "date": "2019-09-30T03:07:07.713Z", + "support": "^3.8.1" + }, + "svelte-multitoneimage": { + "version": "1.1.1", + "date": "2020-02-04T22:19:39.843Z", + "support": "Unknown" + }, + "@storybook/sveltekit": { + "version": "7.6.5", + "date": "2023-12-15T14:48:08.316Z", + "support": "^3.0.0 || ^4.0.0" + }, + "@storybook/svelte": { + "version": "7.6.5", + "date": "2023-12-15T14:49:39.281Z", + "support": "^3.1.0 || ^4.0.0" + }, + "svelte-toolbox": { + "version": "0.6.1", + "date": "2019-08-11T00:27:58.359Z", + "support": "Unknown" + }, + "routify": { "version": "2.0.1", "date": "2023-07-27T20:27:54.916Z", "support": "Unknown" }, + "@sveltejs/gestures": { + "version": "0.0.1", + "date": "2019-03-05T22:29:24.286Z", + "support": "Unknown" + }, + "@sveltejs/gl": { "version": "0.0.37", "date": "2020-02-18T18:25:21.038Z", "support": "Unknown" }, + "@sveltejs/svelte-repl": { + "version": "0.4.1", + "date": "2021-12-02T20:58:48.819Z", + "support": "Unknown" + }, + "@sveltejs/svelte-scroller": { + "version": "2.0.7", + "date": "2021-06-10T04:13:51.114Z", + "support": "Unknown" + }, + "@sveltejs/svelte-subdivide": { + "version": "2.2.0", + "date": "2018-06-14T19:50:18.577Z", + "support": "Unknown" + }, + "@sveltejs/svelte-virtual-list": { + "version": "3.0.1", + "date": "2019-08-22T14:41:08.370Z", + "support": "Unknown" + }, + "svelte-virtual-list-ce": { + "version": "3.1.0-beta.2", + "date": "2022-01-23T17:21:01.681Z", + "support": "Unknown" + }, + "svelte-state-renderer": { + "version": "3.3.0", + "date": "2022-12-09T20:32:55.209Z", + "support": "Unknown" + }, + "@testing-library/svelte": { + "version": "4.0.5", + "date": "2023-11-05T17:15:04.261Z", + "support": "^3 || ^4" + }, + "svelte-file-dropzone": { + "version": "2.0.2", + "date": "2023-07-09T21:55:06.120Z", + "support": "^3.54.0 || ^4.0.0" + }, + "svelte-apollo": { "version": "0.5.0", "date": "2022-02-21T22:26:28.006Z", "support": "^3" }, + "svelte-observable": { + "version": "0.4.0", + "date": "2019-04-26T20:13:35.925Z", + "support": "^3.0.0" + }, + "sveltemantic": { + "version": "0.1.1-alpha.2", + "date": "2019-08-22T03:56:54.500Z", + "support": "Unknown" + }, + "svelte-forms-lib": { + "version": "2.0.1", + "date": "2022-01-06T07:30:34.155Z", + "support": "Unknown" + }, + "svelte-grid": { "version": "5.1.2", "date": "2023-08-20T18:18:47.780Z", "support": "Unknown" }, + "svelte-popover": { + "version": "2.0.8", + "date": "2019-10-16T12:11:15.168Z", + "support": "Unknown" + }, + "svelte-easy-crop": { + "version": "2.0.1", + "date": "2023-01-27T22:03:50.810Z", + "support": "Unknown" + }, + "svelte-mui": { + "version": "0.5.9", + "date": "2023-12-14T22:23:58.721Z", + "support": "^3.53.0 || ^4.0.0" + }, + "@vime/svelte": { + "version": "5.4.1", + "date": "2023-07-17T00:15:50.338Z", + "support": "^3.0.0 || ^4.0.0" + }, + "s-offline": { "version": "0.7.1", "date": "2023-04-11T21:53:59.645Z", "support": "^3.58.0" }, + "minna-ui": { "version": "0.36.0", "date": "2020-03-24T19:40:23.088Z", "support": "^3.0.0" }, + "shadcn-svelte": { "version": "0.4.1", "date": "2023-12-16T21:43:57.072Z", "support": "Unknown" }, + "svelte-headlessui": { + "version": "0.0.32", + "date": "2023-10-23T17:42:48.700Z", + "support": "Unknown" + }, + "svelte-media-query": { + "version": "1.1.2", + "date": "2021-10-20T19:17:12.625Z", + "support": "Unknown" + }, + "svelte-mobx": { "version": "1.0.0", "date": "2020-12-29T02:31:16.447Z", "support": "Unknown" }, + "svelte-input-mask": { + "version": "1.1.0", + "date": "2020-12-08T00:04:28.690Z", + "support": ">=3.20.0" + }, + "svelidation": { "version": "1.3.2", "date": "2020-01-10T14:40:34.958Z", "support": "Unknown" }, + "svelte-fullcalendar": { + "version": "3.0.0", + "date": "2023-09-14T15:26:31.125Z", + "support": "Unknown" + }, + "svelte-item-list": { + "version": "2.8.5", + "date": "2020-05-03T23:00:39.152Z", + "support": "Unknown" + }, + "@zooplus/zoo-web-components": { + "version": "10.4.0", + "date": "2023-10-27T10:52:11.180Z", + "support": "Unknown" + }, + "svelte-atoms": { "version": "0.0.27", "date": "2020-05-22T15:18:50.261Z", "support": "Unknown" }, + "overmind-svelte": { + "version": "5.0.3", + "date": "2023-07-06T09:33:45.566Z", + "support": "Unknown" + }, + "svelte-tiny-virtual-list": { + "version": "2.0.5", + "date": "2022-05-18T20:51:33.006Z", + "support": "Unknown" + }, + "@svelte-parts/drop-file": { + "version": "0.0.23", + "date": "2022-04-04T21:04:29.505Z", + "support": "^3.29.7" + }, + "@svelte-parts/form": { + "version": "0.0.23", + "date": "2022-04-04T21:05:09.681Z", + "support": "^3.29.7" + }, + "@svelte-parts/icons": { + "version": "0.0.24", + "date": "2022-04-04T21:05:57.009Z", + "support": "Unknown" + }, + "@svelte-parts/zoom": { + "version": "0.0.23", + "date": "2022-04-04T21:07:07.534Z", + "support": "^3.29.7" + }, + "svelte-appwrite": { + "version": "0.2.3-beta", + "date": "2021-05-13T07:39:47.827Z", + "support": "Unknown" + }, + "svelte-pdf": { "version": "1.0.20", "date": "2023-07-11T14:52:01.165Z", "support": "Unknown" }, + "svelte-micro": { + "version": "2.5.4", + "date": "2023-12-09T00:30:06.621Z", + "support": "^3.54.0 || ^4.0.0" + }, + "svantic": { "version": "0.4.1", "date": "2022-02-16T09:57:27.941Z", "support": "Unknown" }, + "@macfja/svelte-undoable": { + "version": "1.1.0", + "date": "2021-02-20T18:47:39.164Z", + "support": "Unknown" + }, + "renderless-svelte": { + "version": "1.7.0", + "date": "2021-04-29T06:18:45.428Z", + "support": "Unknown" + }, + "svate": { "version": "0.1.6", "date": "2021-09-29T04:48:55.969Z", "support": "3.x" }, + "svelte-parallax": { + "version": "0.6.0", + "date": "2022-08-01T00:10:30.578Z", + "support": "Unknown" + }, + "svelte-modals": { + "version": "1.3.0", + "date": "2023-07-02T03:03:11.092Z", + "support": "^3.0.0 || ^4.0.0" + }, + "@macfja/svelte-persistent-store": { + "version": "2.4.1", + "date": "2023-10-15T10:32:50.092Z", + "support": "^3.0 || ^4.0" + }, + "@macfja/svelte-invalidable": { + "version": "1.1.0", + "date": "2021-09-25T17:51:57.132Z", + "support": "^3.0" + }, + "svelte-carousel": { + "version": "1.0.25", + "date": "2023-04-03T20:55:32.574Z", + "support": "Unknown" + }, + "svelte-restate": { "version": "0.1.6", "date": "2022-02-15T16:34:17.365Z", "support": "^3.0.0" }, + "svelte-pincode": { + "version": "2.2.0", + "date": "2022-10-30T18:24:56.759Z", + "support": "Unknown" + }, + "svelte-particles": { "version": "2.12.0", "date": "2023-08-04T08:36:23.881Z", "support": ">=3" }, + "svelte-tiptap": { "version": "1.1.2", "date": "2023-07-24T16:17:29.189Z", "support": "^4.0.1" }, + "spaper": { "version": "1.3.0", "date": "2023-09-27T10:12:26.573Z", "support": "Unknown" }, + "@event-calendar/core": { + "version": "2.5.0", + "date": "2023-12-09T19:17:09.712Z", + "support": "Unknown" + }, + "@kahi-ui/framework": { + "version": "0.6.4", + "date": "2022-03-19T19:31:18.325Z", + "support": "Unknown" + }, + "@macfja/svelte-multi-adapter": { + "version": "1.0.2", + "date": "2021-12-29T15:05:52.563Z", + "support": "Unknown" + }, + "svelte-multiselect": { + "version": "10.2.0", + "date": "2023-09-21T22:25:32.624Z", + "support": "Unknown" + }, + "svelte-toc": { "version": "0.5.6", "date": "2023-09-12T09:30:42.803Z", "support": "Unknown" }, + "svelte-bricks": { "version": "0.2.1", "date": "2023-09-22T14:35:50.119Z", "support": "Unknown" }, + "@macfja/svelte-oauth2": { + "version": "1.1.0", + "date": "2021-09-23T11:37:47.583Z", + "support": "^3.42.3" + }, + "svelte-boring-avatars": { + "version": "1.2.4", + "date": "2023-07-02T12:46:54.196Z", + "support": "Unknown" + }, + "filedrop-svelte": { + "version": "0.1.2", + "date": "2022-05-09T16:14:11.728Z", + "support": "Unknown" + }, + "focus-svelte": { "version": "0.3.4", "date": "2021-10-17T16:55:36.762Z", "support": "Unknown" }, + "svelte-translate": { + "version": "0.1.11", + "date": "2021-10-01T14:03:15.146Z", + "support": "Unknown" + }, + "svelecte": { "version": "3.17.2", "date": "2023-09-13T17:11:57.986Z", "support": "Unknown" }, + "svelte-adapter-azure-swa": { + "version": "0.19.1", + "date": "2023-11-20T01:09:37.119Z", + "support": "Unknown" + }, + "svelte-adapter-appengine": { + "version": "0.10.3", + "date": "2023-05-26T17:55:33.450Z", + "support": "Unknown" + }, + "sveltekit-adapter-browser-extension": { + "version": "0.4.0", + "date": "2023-05-25T13:15:47.831Z", + "support": "Unknown" + }, + "svelte-fsm": { "version": "1.2.0", "date": "2022-09-08T21:43:40.495Z", "support": "Unknown" }, + "@yellowinq/svelte-pin-input": { + "version": "0.0.5", + "date": "2021-12-08T13:25:01.734Z", + "support": "Unknown" + }, + "svelte-codesandbox": { + "version": "1.0.0", + "date": "2021-12-16T07:58:07.171Z", + "support": "Unknown" + }, + "svelte-icons-pack": { + "version": "2.1.0", + "date": "2023-03-05T08:49:23.408Z", + "support": "Unknown" + }, + "@joeinnes/svelte-image": { + "version": "0.0.4", + "date": "2021-11-20T11:57:43.923Z", + "support": "Unknown" + }, + "@budgetdraw/sveltekit-cloudflare-adapter": { + "version": "0.3.0", + "date": "2021-11-17T23:26:29.636Z", + "support": "Unknown" + }, + "svelte-intl-precompile": { + "version": "0.12.3", + "date": "2023-08-09T08:44:38.954Z", + "support": "Unknown" + }, + "svelte-cleavejs": { + "version": "1.0.3", + "date": "2021-11-14T16:48:40.357Z", + "support": "Unknown" + }, + "svelty-picker": { + "version": "5.2.0", + "date": "2023-11-06T13:28:53.725Z", + "support": "^3.53.0 || ^4.0.0" + }, + "svelte-slider": { "version": "1.0.1", "date": "2021-09-19T21:53:22.787Z", "support": "Unknown" }, + "sveltekit-adapter-wordpress-shortcode": { + "version": "0.4.3", + "date": "2022-10-02T19:46:20.484Z", + "support": "Unknown" + }, + "@macfja/svelte-expirable": { + "version": "1.0.1", + "date": "2021-12-03T20:10:22.053Z", + "support": "Unknown" + }, + "svelte-store2": { "version": "1.0.1", "date": "2023-01-16T10:41:11.476Z", "support": "Unknown" }, + "@macfja/svelte-adapter-neutralino": { + "version": "0.3.0", + "date": "2022-01-22T14:12:07.990Z", + "support": "Unknown" + }, + "sveltekit-adapter-html-like": { + "version": "0.3.2", + "date": "2023-07-08T22:48:45.243Z", + "support": "Unknown" + }, + "svelte-gestures": { + "version": "1.5.2", + "date": "2023-05-29T08:13:57.806Z", + "support": "Unknown" + }, + "svelte-adapter-github": { + "version": "1.0.0-next.0", + "date": "2022-09-27T17:06:23.746Z", + "support": "Unknown" + }, + "svelte-steps": { "version": "2.4.1", "date": "2022-12-21T15:49:56.086Z", "support": "Unknown" }, + "agnostic-svelte": { + "version": "1.1.27", + "date": "2022-05-16T16:25:06.512Z", + "support": "Unknown" + }, + "svelte-adapter-static-digitalocean": { + "version": "2.0.2", + "date": "2023-09-10T13:56:46.747Z", + "support": "Unknown" + }, + "@kitql/all-in": { "version": "0.9.6", "date": "2023-10-12T11:06:57.926Z", "support": "Unknown" }, + "svelte-brick-gallery": { + "version": "1.0.1", + "date": "2022-09-27T19:45:35.305Z", + "support": "Unknown" + }, + "svelte-adapter-bun": { + "version": "0.5.1", + "date": "2023-11-05T15:48:36.240Z", + "support": "Unknown" + }, + "@rgossiaux/svelte-headlessui": { + "version": "2.0.0", + "date": "2023-06-11T21:49:03.380Z", + "support": "^3.47.0" + }, + "@brewer/beerui": { + "version": "1.1.17", + "date": "2023-08-08T10:34:44.735Z", + "support": "Unknown" + }, + "@skeletonlabs/skeleton": { + "version": "2.6.0", + "date": "2023-12-06T23:51:31.766Z", + "support": "^3.56.0 || ^4.0.0" + }, + "svelte-hover-draw-svg": { + "version": "3.0.1", + "date": "2023-03-28T15:40:25.598Z", + "support": "^3.57.0" + }, + "casual-ui-svelte": { + "version": "0.1.6", + "date": "2022-08-17T06:44:23.398Z", + "support": "Unknown" + }, + "@specialdoom/proi-ui": { + "version": "4.1.8", + "date": "2023-10-28T08:08:56.095Z", + "support": "^3.56.0" + }, + "@canutin/svelte-currency-input": { + "version": "0.11.3", + "date": "2023-11-10T19:26:20.938Z", + "support": "Unknown" + }, + "flowbite-svelte": { + "version": "0.44.20", + "date": "2023-11-24T10:11:03.623Z", + "support": "^4.0.0" + }, + "typesafe-i18n": { + "version": "5.26.2", + "date": "2023-08-25T07:58:11.071Z", + "support": "Unknown" + }, + "@tolgee/svelte": { + "version": "5.18.0", + "date": "2023-12-13T15:32:59.471Z", + "support": "^3.29.0 || ^4.0.0" + }, + "sthemer": { "version": "1.3.0", "date": "2022-12-22T17:42:14.040Z", "support": "^3" }, + "svelte-exstore": { + "version": "2.1.5", + "date": "2022-10-05T07:51:09.913Z", + "support": "Unknown" + }, + "@macfja/svelte-scroll-video": { + "version": "1.0.0", + "date": "2022-10-17T16:23:31.904Z", + "support": "Unknown" + }, + "@prgm/sveltekit-progress-bar": { + "version": "2.0.0", + "date": "2023-12-17T01:26:05.590Z", + "support": "^4.0.0" + }, + "svelte-unicons": { + "version": "1.1.0", + "date": "2022-10-09T04:56:57.666Z", + "support": "Unknown" + }, + "svelte-google-auth": { + "version": "0.7.2", + "date": "2023-01-17T21:18:10.634Z", + "support": "Unknown" + }, + "sveltekit-adapter-firebase": { + "version": "0.1.13", + "date": "2022-12-03T17:35:40.369Z", + "support": "Unknown" + }, + "sveltekit-search-params": { + "version": "1.1.0", + "date": "2023-12-16T09:25:33.613Z", + "support": "^3.55.0 || ^4.0.0" + }, + "@geoffcox/sterling-svelte": { + "version": "1.0.3", + "date": "2023-11-20T23:09:44.582Z", + "support": "^4.0.0" + }, + "simple-ui-components-in-svelte": { + "version": "5.1.1", + "date": "2023-03-13T21:47:08.449Z", + "support": "Unknown" + }, + "@tanstack/svelte-query": { + "version": "5.14.1", + "date": "2023-12-17T14:29:17.604Z", + "support": "^3.54.0 || ^4.0.0 || ^5.0.0-next.0" + }, + "@pragmatic-engineering/svelte-form-builder-community": { + "version": "1.0.2", + "date": "2023-06-05T01:44:11.592Z", + "support": "Unknown" + }, + "@ptkdev/sveltekit-cordova-adapter": { + "version": "0.3.1", + "date": "2023-02-11T20:28:16.646Z", + "support": "Unknown" + }, + "@ptkdev/sveltekit-electron-adapter": { + "version": "0.3.0", + "date": "2023-02-11T20:20:42.101Z", + "support": "Unknown" + }, + "@carlosv2/adapter-node-ws": { + "version": "0.1.4", + "date": "2023-02-25T10:45:38.792Z", + "support": "Unknown" + }, + "leblog": { "version": "0.9.1", "date": "2023-07-10T21:24:40.570Z", "support": "^3.54.0" }, + "html-svelte-parser": { + "version": "0.0.1", + "date": "2022-11-30T14:12:38.153Z", + "support": "Unknown" + }, + "svelte-droplet": { + "version": "1.0.0", + "date": "2023-09-10T01:26:39.221Z", + "support": "^3.0.0 || ^4.0.0" + }, + "chat-embed": { "version": "0.0.32", "date": "2023-03-18T13:25:04.673Z", "support": "Unknown" }, + "lucide-svelte": { + "version": "0.298.0", + "date": "2023-12-16T14:48:21.770Z", + "support": ">=3 <5" + }, + "yesvelte": { + "version": "0.0.2-next.0", + "date": "2023-02-22T12:25:40.057Z", + "support": "^3.54.0" + }, + "@bonosoft/sveltekit-qrcode": { + "version": "0.0.3", + "date": "2023-03-25T23:13:49.102Z", + "support": "^3.54.0" + }, + "@bonosoft/sveltekit-progress": { + "version": "0.0.1", + "date": "2023-03-27T06:42:19.211Z", + "support": "^3.54.0" + }, + "@radar-azdelta/svelte-datatable": { + "version": "0.0.58", + "date": "2023-11-13T21:27:23.554Z", + "support": "Unknown" + }, + "svelte-svg-transform": { + "version": "1.0.1", + "date": "2023-08-03T19:04:35.261Z", + "support": "^3.54.0 || ^4.0.0" + }, + "@nerd-coder/svelte-zod-form": { + "version": "1.2.2", + "date": "2023-09-02T14:19:41.577Z", + "support": "^3.0.0 || ^4.0.0" + }, + "sveltekit-adapter-iis": { + "version": "1.0.15", + "date": "2023-08-18T18:17:58.235Z", + "support": "Unknown" + }, + "svelte-dx-table": { + "version": "1.0.0", + "date": "2022-01-04T17:48:23.882Z", + "support": "Unknown" + }, + "svelte-switch": { "version": "0.0.5", "date": "2021-09-26T06:25:26.046Z", "support": "Unknown" }, + "svelte-pagination": { + "version": "0.0.1", + "date": "2020-09-13T14:57:15.819Z", + "support": "Unknown" + }, + "stdf": { "version": "0.4.4", "date": "2023-12-13T09:22:19.184Z", "support": "Unknown" }, + "@twicpics/components": { + "version": "0.26.0", + "date": "2023-11-21T16:26:29.601Z", + "support": "Unknown" + }, + "@shipbit/svane": { "version": "2.0.2", "date": "2023-10-09T09:09:50.158Z", "support": "^4.0.0" }, + "sveltekit-html-minifier": { + "version": "1.0.2", + "date": "2023-08-02T18:14:56.518Z", + "support": "Unknown" + }, + "svelte-tex": { + "version": "1.0.5", + "date": "2023-10-08T15:34:12.186Z", + "support": "^3.x || ^4.x" + }, + "drab": { "version": "4.1.6", "date": "2023-12-12T18:06:20.879Z", "support": "Unknown" }, + "supasveltekit": { "version": "0.1.4", "date": "2023-12-02T20:04:37.024Z", "support": "^4.0.0" }, + "@jill64/sveltekit-adapter-aws": { + "version": "1.2.1", + "date": "2023-12-15T06:32:38.304Z", + "support": "Unknown" + }, + "sveltekit-adapter-versioned-worker": { + "version": "1.0.1", + "date": "2023-09-08T20:33:20.084Z", + "support": "^4.0.0" + }, + "layerchart": { + "version": "0.27.0", + "date": "2023-12-04T19:08:28.808Z", + "support": "^3.56.0 || ^4.0.0" + }, + "@egjs/svelte-flicking": { + "version": "4.11.2", + "date": "2023-12-12T05:51:18.697Z", + "support": "Unknown" + }, + "svelte-ux": { + "version": "0.57.1", + "date": "2023-12-07T20:44:09.945Z", + "support": "^3.56.0 || ^4.0.0" + }, + "@born05/sveltekit-proxy": { + "version": "1.0.5", + "date": "2023-10-02T12:32:09.736Z", + "support": "Unknown" + }, + "@mismerge/core": { "version": "1.0.3", "date": "2023-11-01T21:00:31.837Z", "support": "^4.0.0" }, + "svelte-ripple-action": { + "version": "1.0.4", + "date": "2023-09-28T08:45:14.604Z", + "support": "^4.0.0" + }, + "sveltekit-superforms": { + "version": "1.12.0", + "date": "2023-12-14T22:13:06.140Z", + "support": "3.x || 4.x" + }, + "svelte-reparent": { + "version": "0.0.1", + "date": "2023-09-07T23:39:43.789Z", + "support": ">=4.0.0" + }, + "svelte-inline-modal": { + "version": "1.1.1", + "date": "2023-12-15T04:34:29.544Z", + "support": "^4.0.0" + }, + "@tanstack/svelte-table": { + "version": "8.11.0", + "date": "2023-12-17T16:56:10.782Z", + "support": "^4.0.0 || ^3.49.0" + }, + "@histoire/plugin-svelte": { + "version": "0.17.6", + "date": "2023-11-25T14:21:52.980Z", + "support": "^3.0.0 || ^4.0.0" + }, + "lucia": { "version": "2.7.5", "date": "2023-12-15T07:43:19.183Z", "support": "Unknown" }, + "@monaco-auth/sveltekit": { + "version": "0.1.1", + "date": "2023-11-10T13:16:53.719Z", + "support": "Unknown" + }, + "trpc-svelte-query": { + "version": "2.0.5", + "date": "2023-11-12T20:26:34.759Z", + "support": ">=3 <5" + }, + "svelte-legos": { "version": "0.2.2", "date": "2023-09-12T21:10:36.985Z", "support": "^4.0.0" }, + "@supabase/auth-helpers-sveltekit": { + "version": "0.10.7", + "date": "2023-11-04T19:29:36.434Z", + "support": "Unknown" + }, + "svelte-markdown": { + "version": "0.4.0", + "date": "2023-08-29T18:14:36.552Z", + "support": "^4.0.0" + }, + "svelte-exmarkdown": { + "version": "3.0.1", + "date": "2023-09-21T09:52:28.751Z", + "support": "^3.47.0 || ^4.0.0" + }, + "@sentry/svelte": { + "version": "7.88.0", + "date": "2023-12-14T17:37:48.911Z", + "support": "3.x || 4.x" + }, + "svelte-french-toast": { + "version": "1.2.0", + "date": "2023-07-23T18:51:44.919Z", + "support": "^3.57.0 || ^4.0.0" + }, + "@zerodevx/svelte-toast": { + "version": "0.9.5", + "date": "2023-07-02T07:23:28.079Z", + "support": "^3.57.0 || ^4.0.0" + }, + "@mavthedev/svodals": { + "version": "1.0.0", + "date": "2022-07-09T00:19:07.840Z", + "support": "Unknown" + }, + "rollup-plugin-svelte": { + "version": "7.1.6", + "date": "2023-06-26T11:07:03.169Z", + "support": ">=3.5.0" + }, + "svelte-loader": { + "version": "3.1.9", + "date": "2023-06-26T11:28:46.111Z", + "support": "^3.0.0 || ^4.0.0-next.0" + }, + "@sveltejs/vite-plugin-svelte": { + "version": "3.0.1", + "date": "2023-11-21T14:28:09.818Z", + "support": "^4.0.0 || ^5.0.0-next.0" + }, + "esbuild-svelte": { + "version": "0.8.0", + "date": "2023-09-05T17:54:16.888Z", + "support": ">=3.43.0 <5" + }, + "rollup-plugin-svelte-hot": { + "version": "1.0.0-8", + "date": "2021-05-13T15:25:18.197Z", + "support": ">=3.5.0" + }, + "parcel-transformer-svelte3-plus": { + "version": "0.2.10", + "date": "2023-07-29T01:34:52.529Z", + "support": "^3.44.0||^4" + }, + "parcel-plugin-svelte": { + "version": "4.0.9", + "date": "2021-08-12T09:13:48.921Z", + "support": "^3.0.0" + }, + "sveltify": { "version": "3.0.0", "date": "2019-05-01T22:44:39.919Z", "support": "Unknown" }, + "gulp-svelte": { "version": "0.8.0", "date": "2018-12-17T09:01:59.954Z", "support": "Unknown" }, + "sveltejs-brunch": { + "version": "1.0.1", + "date": "2021-07-27T22:26:01.518Z", + "support": "Unknown" + }, + "svelte-preprocess": { + "version": "5.1.2", + "date": "2023-12-12T14:41:25.182Z", + "support": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0" + }, + "svelte-preprocess-markdown": { + "version": "2.7.3", + "date": "2020-08-14T05:06:27.368Z", + "support": "Unknown" + }, + "mdsvex": { "version": "0.11.0", "date": "2023-06-24T23:41:27.741Z", "support": ">=3 <5" }, + "svelte-preprocess-less": { + "version": "0.4.0", + "date": "2019-05-01T20:24:16.092Z", + "support": "Unknown" + }, + "svelte-switch-case": { + "version": "2.0.0", + "date": "2022-08-31T22:51:03.399Z", + "support": "Unknown" + }, + "@modular-css/svelte": { + "version": "29.0.3", + "date": "2023-10-26T20:56:13.215Z", + "support": ">1" + }, + "svelte-preprocess-sass": { + "version": "2.0.1", + "date": "2021-07-16T09:48:00.920Z", + "support": "Unknown" + }, + "svelte-preprocess-css-hash": { + "version": "0.1.7", + "date": "2023-10-11T17:38:55.252Z", + "support": "Unknown" + }, + "svelte-preprocess-html-asset": { + "version": "0.1.7", + "date": "2023-04-10T12:48:15.722Z", + "support": ">=3" + }, + "svelte-preprocessor-fetch": { + "version": "1.0.7", + "date": "2020-03-10T15:01:23.759Z", + "support": "Unknown" + }, + "prettier-plugin-svelte": { + "version": "3.1.2", + "date": "2023-11-22T18:55:09.771Z", + "support": "^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0" + }, + "svelte-check": { + "version": "3.6.2", + "date": "2023-11-24T16:45:19.568Z", + "support": "^3.55.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0" + }, + "svelte-reactive-css-preprocess": { + "version": "0.0.3", + "date": "2021-10-28T12:55:09.511Z", + "support": "Unknown" + }, + "svelte-subcomponent-preprocessor": { + "version": "0.0.1", + "date": "2021-11-02T21:07:29.485Z", + "support": "Unknown" + }, + "eslint-plugin-svelte": { + "version": "2.35.1", + "date": "2023-11-21T08:32:40.017Z", + "support": "^3.37.0 || ^4.0.0" + }, + "full-client-server-sveltekit": { + "version": "1.0.3", + "date": "2023-10-28T04:45:20.970Z", + "support": "Unknown" + }, + "svelte-preprocess-delegate-events": { + "version": "0.4.3", + "date": "2023-11-19T06:54:07.136Z", + "support": ">=3 <5" + } +} diff --git a/src/lib/utils/injectNpmData.ts b/src/lib/utils/injectNpmData.ts new file mode 100644 index 000000000..ba3ac7dad --- /dev/null +++ b/src/lib/utils/injectNpmData.ts @@ -0,0 +1,12 @@ +import npm from '$lib/npm.json'; +import type { z } from 'zod'; +import type { componentsSchema } from '$lib/schemas'; + +export const injectNpmData = (input: z.infer) => { + const output = []; + for (const item of input) { + const extra = npm[item.npm] ?? {}; + output.push({ ...item, ...extra }); + } + return output; +}; diff --git a/src/lib/utils/relativeDate.ts b/src/lib/utils/relativeDate.ts new file mode 100644 index 000000000..267112e11 --- /dev/null +++ b/src/lib/utils/relativeDate.ts @@ -0,0 +1,7 @@ +import dayjs from 'dayjs'; +import relativeTime from 'dayjs/plugin/relativeTime'; + +export const relativeDate = (input: string | Date): string => { + dayjs.extend(relativeTime); + return dayjs(input).fromNow(); +}; diff --git a/src/routes/components/+page.svelte b/src/routes/components/+page.svelte index 68ee17a88..2bdcc83bc 100644 --- a/src/routes/components/+page.svelte +++ b/src/routes/components/+page.svelte @@ -1,11 +1,12 @@ import tools from '../tools/tools.json'; import SearchableJson from '$lib/SearchableJson.svelte'; + import { injectNpmData } from '$utils/injectNpmData'; import { injectStars } from '$utils/stars';