diff --git a/package.json b/package.json index b49ca5a..09810d5 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "@fontsource-variable/oxanium": "^5.2.5", "@lucide/svelte": "^0.486.0", "@lukulent/svelte-umami": "^0.0.4", + "@pyncz/tailwind-mask-image": "^2.0.0", "@shikijs/langs": "^3.2.1", "@shikijs/markdown-it": "^3.2.1", "@shikijs/themes": "^3.2.1", @@ -68,7 +69,7 @@ "remove-markdown": "^0.6.0", "runed": "^0.25.0", "shiki": "^3.2.2", - "svelte": "^5.25.12", + "svelte": "^5.30.1", "svelte-check": "^4.0.0", "sveltekit-search-params": "^3.0.0", "sveltekit-superforms": "^2.24.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7740518..68b0bb2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,10 +22,13 @@ importers: version: 5.2.5 '@lucide/svelte': specifier: ^0.486.0 - version: 0.486.0(svelte@5.27.0) + version: 0.486.0(svelte@5.30.1) '@lukulent/svelte-umami': specifier: ^0.0.4 - version: 0.0.4(svelte@5.27.0) + version: 0.0.4(svelte@5.30.1) + '@pyncz/tailwind-mask-image': + specifier: ^2.0.0 + version: 2.0.0 '@shikijs/langs': specifier: ^3.2.1 version: 3.2.2 @@ -37,13 +40,13 @@ importers: version: 3.2.2 '@sveltejs/adapter-vercel': specifier: ^5.7.0 - version: 5.7.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(encoding@0.1.13)(rollup@4.40.0) + version: 5.7.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(encoding@0.1.13)(rollup@4.40.0) '@sveltejs/kit': specifier: ^2.20.5 - version: 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + version: 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) '@sveltejs/vite-plugin-svelte': specifier: ^5.0.0 - version: 5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + version: 5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) '@types/markdown-it': specifier: ^14.1.2 version: 14.1.2 @@ -58,7 +61,7 @@ importers: version: 4.1.0 bits-ui: specifier: 1.3.15 - version: 1.3.15(svelte@5.27.0) + version: 1.3.15(svelte@5.30.1) clsx: specifier: ^2.1.1 version: 2.1.1 @@ -79,7 +82,7 @@ importers: version: 10.1.2(eslint@9.24.0(jiti@1.21.7)) eslint-plugin-svelte: specifier: ^3.5.1 - version: 3.5.1(eslint@9.24.0(jiti@1.21.7))(svelte@5.27.0) + version: 3.5.1(eslint@9.24.0(jiti@1.21.7))(svelte@5.30.1) flexsearch: specifier: ^0.7.43 version: 0.7.43 @@ -100,10 +103,10 @@ importers: version: 4.1.1 mdsx: specifier: ^0.0.6 - version: 0.0.6(svelte@5.27.0) + version: 0.0.6(svelte@5.30.1) mode-watcher: specifier: ^0.5.1 - version: 0.5.1(svelte@5.27.0) + version: 0.5.1(svelte@5.30.1) octokit: specifier: ^4.1.3 version: 4.1.3 @@ -118,10 +121,10 @@ importers: version: 3.5.3 prettier-plugin-svelte: specifier: ^3.3.3 - version: 3.3.3(prettier@3.5.3)(svelte@5.27.0) + version: 3.3.3(prettier@3.5.3)(svelte@5.30.1) prettier-plugin-tailwindcss: specifier: ^0.6.10 - version: 0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.27.0))(prettier@3.5.3) + version: 0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.30.1))(prettier@3.5.3) rehype-autolink-headings: specifier: ^7.1.0 version: 7.1.0 @@ -154,22 +157,22 @@ importers: version: 0.6.0 runed: specifier: ^0.25.0 - version: 0.25.0(svelte@5.27.0) + version: 0.25.0(svelte@5.30.1) shiki: specifier: ^3.2.2 version: 3.2.2 svelte: - specifier: ^5.25.12 - version: 5.27.0 + specifier: ^5.30.1 + version: 5.30.1 svelte-check: specifier: ^4.0.0 - version: 4.1.6(picomatch@4.0.2)(svelte@5.27.0)(typescript@5.8.3) + version: 4.1.6(picomatch@4.0.2)(svelte@5.30.1)(typescript@5.8.3) sveltekit-search-params: specifier: ^3.0.0 - version: 3.0.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + version: 3.0.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) sveltekit-superforms: specifier: ^2.24.1 - version: 2.24.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(@types/json-schema@7.0.15)(svelte@5.27.0)(typescript@5.8.3) + version: 2.24.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(@types/json-schema@7.0.15)(svelte@5.30.1)(typescript@5.8.3) tailwind-merge: specifier: ^2.6.0 version: 2.6.0 @@ -1061,6 +1064,9 @@ packages: resolution: {integrity: sha512-ct43jurbe7lsUX5eIrj4ijO3j/6zIPp7CDnFWXDs7UPAbw1Pu1iH3oAmFdP4jcskKJBURH5M9oTtyeiUXyHX8Q==} engines: {node: '>=18.16.0'} + '@pyncz/tailwind-mask-image@2.0.0': + resolution: {integrity: sha512-BN52RPSp56VIA25ZpLD3SEigwADTrQ6a3Kq8x94rbhU6YP1HpvRjSYtnFenEfGw2nzESvFsNdYT6KKP+JuS73w==} + '@rollup/pluginutils@5.1.4': resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -3493,12 +3499,8 @@ packages: peerDependencies: svelte: ^5.0.0 - svelte@5.27.0: - resolution: {integrity: sha512-Uai13Ydt1ZE+bUHme6b9U38PCYVNCqBRoBMkUKbFbKiD7kHWjdUUrklYAQZJxyKK81qII4mrBwe/YmvEMSlC9w==} - engines: {node: '>=18'} - - svelte@5.28.2: - resolution: {integrity: sha512-FbWBxgWOpQfhKvoGJv/TFwzqb4EhJbwCD17dB0tEpQiw1XyUEKZJtgm4nA4xq3LLsMo7hu5UY/BOFmroAxKTMg==} + svelte@5.30.1: + resolution: {integrity: sha512-QIYtKnJGkubWXtNkrUBKVCvyo9gjcccdbnvXfwsGNhvbeNNdQjRDTa/BiQcJ2kWXbXPQbWKyT7CUu53KIj1rfw==} engines: {node: '>=18'} sveltekit-search-params@3.0.0: @@ -4427,14 +4429,14 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 - '@lucide/svelte@0.486.0(svelte@5.27.0)': + '@lucide/svelte@0.486.0(svelte@5.30.1)': dependencies: - svelte: 5.27.0 + svelte: 5.30.1 - '@lukulent/svelte-umami@0.0.4(svelte@5.27.0)': + '@lukulent/svelte-umami@0.0.4(svelte@5.30.1)': dependencies: esm-env: 1.2.2 - svelte: 5.27.0 + svelte: 5.30.1 '@mapbox/node-pre-gyp@2.0.0(encoding@0.1.13)': dependencies: @@ -4701,6 +4703,8 @@ snapshots: '@poppinss/macroable@1.0.4': optional: true + '@pyncz/tailwind-mask-image@2.0.0': {} + '@rollup/pluginutils@5.1.4(rollup@4.40.0)': dependencies: '@types/estree': 1.0.7 @@ -4832,9 +4836,9 @@ snapshots: dependencies: acorn: 8.14.1 - '@sveltejs/adapter-vercel@5.7.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(encoding@0.1.13)(rollup@4.40.0)': + '@sveltejs/adapter-vercel@5.7.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(encoding@0.1.13)(rollup@4.40.0)': dependencies: - '@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) '@vercel/nft': 0.29.2(encoding@0.1.13)(rollup@4.40.0) esbuild: 0.24.2 transitivePeerDependencies: @@ -4842,9 +4846,9 @@ snapshots: - rollup - supports-color - '@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': + '@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) '@types/cookie': 0.6.0 cookie: 0.6.0 devalue: 5.1.1 @@ -4856,49 +4860,49 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.1 - svelte: 5.27.0 + svelte: 5.30.1 vite: 6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1) - '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte-inspector@2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) debug: 4.4.0 - svelte: 5.27.0 + svelte: 5.30.1 vite: 6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte-inspector@4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) debug: 4.4.0 - svelte: 5.27.0 + svelte: 5.30.1 vite: 6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte-inspector': 2.1.0(@sveltejs/vite-plugin-svelte@3.1.2(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.27.0 - svelte-hmr: 0.16.0(svelte@5.27.0) + svelte: 5.30.1 + svelte-hmr: 0.16.0(svelte@5.30.1) vite: 6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1) vitefu: 0.2.5(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) transitivePeerDependencies: - supports-color - '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': + '@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte-inspector': 4.0.1(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) debug: 4.4.0 deepmerge: 4.3.1 kleur: 4.1.5 magic-string: 0.30.17 - svelte: 5.27.0 + svelte: 5.30.1 vite: 6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1) vitefu: 1.0.6(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) transitivePeerDependencies: @@ -5273,15 +5277,15 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - bits-ui@1.3.15(svelte@5.27.0): + bits-ui@1.3.15(svelte@5.30.1): dependencies: '@floating-ui/core': 1.6.9 '@floating-ui/dom': 1.6.13 '@internationalized/date': 3.8.0 esm-env: 1.2.2 - runed: 0.23.4(svelte@5.27.0) - svelte: 5.27.0 - svelte-toolbelt: 0.7.1(svelte@5.27.0) + runed: 0.23.4(svelte@5.30.1) + svelte: 5.30.1 + svelte-toolbelt: 0.7.1(svelte@5.30.1) tabbable: 6.2.0 bottleneck@2.19.5: {} @@ -5687,7 +5691,7 @@ snapshots: dependencies: eslint: 9.24.0(jiti@1.21.7) - eslint-plugin-svelte@3.5.1(eslint@9.24.0(jiti@1.21.7))(svelte@5.27.0): + eslint-plugin-svelte@3.5.1(eslint@9.24.0(jiti@1.21.7))(svelte@5.30.1): dependencies: '@eslint-community/eslint-utils': 4.6.1(eslint@9.24.0(jiti@1.21.7)) '@jridgewell/sourcemap-codec': 1.5.0 @@ -5698,9 +5702,9 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.3) postcss-safe-parser: 7.0.1(postcss@8.5.3) semver: 7.7.1 - svelte-eslint-parser: 1.1.2(svelte@5.27.0) + svelte-eslint-parser: 1.1.2(svelte@5.30.1) optionalDependencies: - svelte: 5.27.0 + svelte: 5.30.1 transitivePeerDependencies: - ts-node @@ -6326,10 +6330,10 @@ snapshots: parse5: 7.3.0 pathe: 2.0.3 prettier: 3.5.3 - prettier-plugin-svelte: 3.3.3(prettier@3.5.3)(svelte@5.28.2) + prettier-plugin-svelte: 3.3.3(prettier@3.5.3)(svelte@5.30.1) semver: 7.7.1 sisteransi: 1.0.5 - svelte: 5.28.2 + svelte: 5.30.1 tar: 7.4.3 valibot: 1.0.0(typescript@5.8.3) validate-npm-package-name: 6.0.0 @@ -6583,7 +6587,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 - mdsx@0.0.6(svelte@5.27.0): + mdsx@0.0.6(svelte@5.30.1): dependencies: esrap: 1.4.6 hast-util-to-html: 9.0.5 @@ -6592,7 +6596,7 @@ snapshots: rehype-stringify: 10.0.1 remark-parse: 11.0.0 remark-rehype: 11.1.2 - svelte: 5.27.0 + svelte: 5.30.1 unified: 11.0.5 unist-util-visit: 5.0.0 vfile: 6.0.3 @@ -6928,9 +6932,9 @@ snapshots: mkdirp@3.0.1: {} - mode-watcher@0.5.1(svelte@5.27.0): + mode-watcher@0.5.1(svelte@5.30.1): dependencies: - svelte: 5.27.0 + svelte: 5.30.1 mri@1.2.0: {} @@ -7177,21 +7181,16 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.27.0): - dependencies: - prettier: 3.5.3 - svelte: 5.27.0 - - prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.28.2): + prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.30.1): dependencies: prettier: 3.5.3 - svelte: 5.28.2 + svelte: 5.30.1 - prettier-plugin-tailwindcss@0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.27.0))(prettier@3.5.3): + prettier-plugin-tailwindcss@0.6.11(prettier-plugin-svelte@3.3.3(prettier@3.5.3)(svelte@5.30.1))(prettier@3.5.3): dependencies: prettier: 3.5.3 optionalDependencies: - prettier-plugin-svelte: 3.3.3(prettier@3.5.3)(svelte@5.27.0) + prettier-plugin-svelte: 3.3.3(prettier@3.5.3)(svelte@5.30.1) prettier@3.5.3: {} @@ -7432,15 +7431,15 @@ snapshots: dependencies: queue-microtask: 1.2.3 - runed@0.23.4(svelte@5.27.0): + runed@0.23.4(svelte@5.30.1): dependencies: esm-env: 1.2.2 - svelte: 5.27.0 + svelte: 5.30.1 - runed@0.25.0(svelte@5.27.0): + runed@0.25.0(svelte@5.30.1): dependencies: esm-env: 1.2.2 - svelte: 5.27.0 + svelte: 5.30.1 rxjs@7.8.2: dependencies: @@ -7621,19 +7620,19 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.1.6(picomatch@4.0.2)(svelte@5.27.0)(typescript@5.8.3): + svelte-check@4.1.6(picomatch@4.0.2)(svelte@5.30.1)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.3 fdir: 6.4.3(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.27.0 + svelte: 5.30.1 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.1.2(svelte@5.27.0): + svelte-eslint-parser@1.1.2(svelte@5.30.1): dependencies: eslint-scope: 8.3.0 eslint-visitor-keys: 4.2.0 @@ -7642,37 +7641,20 @@ snapshots: postcss-scss: 4.0.9(postcss@8.5.3) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.27.0 + svelte: 5.30.1 - svelte-hmr@0.16.0(svelte@5.27.0): + svelte-hmr@0.16.0(svelte@5.30.1): dependencies: - svelte: 5.27.0 + svelte: 5.30.1 - svelte-toolbelt@0.7.1(svelte@5.27.0): + svelte-toolbelt@0.7.1(svelte@5.30.1): dependencies: clsx: 2.1.1 - runed: 0.23.4(svelte@5.27.0) + runed: 0.23.4(svelte@5.30.1) style-to-object: 1.0.8 - svelte: 5.27.0 - - svelte@5.27.0: - dependencies: - '@ampproject/remapping': 2.3.0 - '@jridgewell/sourcemap-codec': 1.5.0 - '@sveltejs/acorn-typescript': 1.0.5(acorn@8.14.1) - '@types/estree': 1.0.7 - acorn: 8.14.1 - aria-query: 5.3.2 - axobject-query: 4.1.0 - clsx: 2.1.1 - esm-env: 1.2.2 - esrap: 1.4.6 - is-reference: 3.0.3 - locate-character: 3.0.0 - magic-string: 0.30.17 - zimmerframe: 1.1.2 + svelte: 5.30.1 - svelte@5.28.2: + svelte@5.30.1: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -7689,21 +7671,21 @@ snapshots: magic-string: 0.30.17 zimmerframe: 1.1.2 - sveltekit-search-params@3.0.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)): + sveltekit-search-params@3.0.0(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)): dependencies: - '@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) - '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) - svelte: 5.27.0 + '@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/vite-plugin-svelte': 3.1.2(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + svelte: 5.30.1 transitivePeerDependencies: - supports-color - vite - sveltekit-superforms@2.24.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(@types/json-schema@7.0.15)(svelte@5.27.0)(typescript@5.8.3): + sveltekit-superforms@2.24.1(@sveltejs/kit@2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(@types/json-schema@7.0.15)(svelte@5.30.1)(typescript@5.8.3): dependencies: - '@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.27.0)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) + '@sveltejs/kit': 2.20.7(@sveltejs/vite-plugin-svelte@5.0.3(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)))(svelte@5.30.1)(vite@6.3.1(@types/node@18.19.86)(jiti@1.21.7)(terser@5.39.0)(yaml@2.7.1)) devalue: 5.1.1 memoize-weak: 1.0.2 - svelte: 5.27.0 + svelte: 5.30.1 ts-deepmerge: 7.0.2 optionalDependencies: '@exodus/schemasafe': 1.3.0 diff --git a/src/lib/components/site/docs/nav-menu.svelte b/src/lib/components/site/docs/nav-menu.svelte index fd0c8c9..c961e2d 100644 --- a/src/lib/components/site/docs/nav-menu.svelte +++ b/src/lib/components/site/docs/nav-menu.svelte @@ -27,6 +27,8 @@ function closeMenu() { open = false; } + + let atScrollBottom = $state(false); -
+
{ + atScrollBottom = + e.currentTarget.offsetHeight + e.currentTarget.scrollTop === e.currentTarget.scrollHeight; + }} + class={cn( + 'h-[calc(100svh-var(--header-height)-69px)] overflow-y-auto px-8 pb-4 transition-all', + { + 'mask-linear mask-point-from-[90%]': !atScrollBottom + } + )} + >
diff --git a/src/lib/components/site/docs/sidebar.svelte b/src/lib/components/site/docs/sidebar.svelte index 534e780..f6a6057 100644 --- a/src/lib/components/site/docs/sidebar.svelte +++ b/src/lib/components/site/docs/sidebar.svelte @@ -7,9 +7,21 @@ import * as Nav from '$lib/components/site/nav'; let { class: className }: { class?: string } = $props(); + + let atScrollBottom = $state(false); -
+
{ + atScrollBottom = + e.currentTarget.offsetHeight + e.currentTarget.scrollTop === e.currentTarget.scrollHeight; + }} + class={cn( + 'flex flex-col gap-4 overflow-y-auto border-r bg-background pb-4', + { 'mask-linear mask-point-from-[90%]': !atScrollBottom }, + className + )} +> {#each Object.entries(map) as [title, docs] (title)} diff --git a/src/lib/docs/jsrepo-com/index.md b/src/lib/docs/jsrepo-com/index.md new file mode 100644 index 0000000..8409cef --- /dev/null +++ b/src/lib/docs/jsrepo-com/index.md @@ -0,0 +1,38 @@ +--- +title: jsrepo.com Introduction +description: The future of component registries. +lastUpdated: 5-15-2025 +--- + + + +[jsrepo.com](https://www.jsrepo.com) was born out of the lack of another project like it. It is essentially npm for your registries. It's goal is to be the best way to host your registries. + +It solves many of the problems you may face while distributing your registries through other providers such as: + +- ๐Ÿ”„ Versioning - Full semver compatibility +- ๐Ÿ”’ Private access - Publish and share your code privately with your team +- ๐Ÿ” Discovery - Others can search and discover your registry on the jsrepo.com website + +### FAQ + + + + +Why host my private code here instead of in my own registry? + + +jsrepo.com has incredible features for sharing your code with your team. Registries owned by organizations can be accessed by any of the organization members using their own PAT. Allowing them to access your registry without having to setup all of that yourself. + + + + +What are the benefits of semver enabled registries if I already own the code? + + +There are instances where big breaking changes can't just be migrated straight away and it's necessary to pin to a version. Also since jsrepo.com versions are immutable the jsrepo CLI can cache the registry at that version improving response times. + + + diff --git a/src/lib/docs/jsrepo-com/marketplace.md b/src/lib/docs/jsrepo-com/marketplace.md new file mode 100644 index 0000000..de697a2 --- /dev/null +++ b/src/lib/docs/jsrepo-com/marketplace.md @@ -0,0 +1,65 @@ +--- +title: jsrepo.com Marketplace +description: Monetize your registries. +lastUpdated: 5-15-2025 +--- + +Before now monetizing a registry required setting up your own auth and payments. With the [jsrepo.com](https://www.jsrepo.com) marketplace you can make that our problem. + +## Publishing to the Marketplace + +Here we will cover just the minimum details required to publish your registry as a marketplace registry. For a more in depth tutorial see our [provider documentation for jsrepo.com](/docs/registry/providers/jsrepo) + +To publish a registry to the marketplace you can set the `access` field in your `jsrepo-manifest.json` to `marketplace`: + +> This can also be updated once published from the website under the settings for your registry + +```jsonc +{ + "access": "marketplace" +} +``` + +Once published with the access set to `marketplace` you need to setup your Stripe Connect account. This can be done in your [Account Settings](https://www.jsrepo.com/account/settings). + +Once you have done that, link your account to the registry in the settings for your registry. + +> If your Stripe Connect account was setup before publishing your registry then the registry has already been automatically linked to your account. + +Next you will need to configure pricing for your registry this can be done from the `pricing` tab of your registry. + +jsrepo.com offers 2 pricing methods, **Individual** and **Organization**. Purchasing an **Individual** license grants the user access to your registry. Organizations will need to purchase an **Organization** license for all members of their organization to have access. Users and organizations that purchase your registry will have **lifetime** access and unlimited downloads. + +> A normal pricing difference from **Individual** -> **Organization** would be around 2-3x as expensive + +Once you have finished setting up pricing and are happy with your product go back to your registry settings and turn on `List on Marketplace`. + +Now users can view and purchase your registry from the marketplace! + +## Managing Registry Prices + +jsrepo.com allows you to update the price of your registry as any time (although we can't help with the backlash that can come with that). + +Prices can be managed by navigating to the `pricing` tab of your registry and clicking on the pencil icon on the top right corner of the price card. + +Here you can change the price of your registry and even add short or long term discounts! + +## Viewing Your Transactions + +You can view your transactions from the express dashboard by navigating to your [Account Settings](https://www.jsrepo.com/account/settings) once your account has been linked. + +> You can also complete additional tasks for compliance here + +## Application Fees + +> jsrepo.com is currently only configured to allow payments from the United States there will be additional fees for other countries once they are supported + +When someone purchases a license to your registry the jsrepo.com fee is `5% + 30ยข`. + +Since jsrepo.com is build on top of Stripe we cover their `2.9% + 30ยข` fee from ours. + +### Payout Fees + +Since jsrepo.com using Stripe Connect under the hood we need to pass on additional fees at payout. + +- Payout fee `0.25% + $2.25` diff --git a/src/lib/docs/map.ts b/src/lib/docs/map.ts index dc09b82..a8c7dcb 100644 --- a/src/lib/docs/map.ts +++ b/src/lib/docs/map.ts @@ -34,47 +34,6 @@ const tempMap: Record = { } ] ], - CLI: [ - 'cli', - [ - { - title: 'add', - slug: 'add' - }, - { - title: 'auth', - slug: 'auth' - }, - { - title: 'build', - slug: 'build' - }, - { - title: 'exec', - slug: 'exec' - }, - { - title: 'init', - slug: 'init' - }, - { - title: 'publish', - slug: 'publish' - }, - { - title: 'test', - slug: 'test' - }, - { - title: 'tokens', - slug: 'tokens' - }, - { - title: 'update', - slug: 'update' - } - ].sort(sortAlphabetical) - ], 'Create Your Registry': [ { title: 'Getting Started', @@ -130,6 +89,60 @@ const tempMap: Record = { } ] ], + 'jsrepo.com': [ + { + title: 'Introduction', + slug: 'jsrepo-com', + tag: 'New' + }, + [ + { + title: 'Marketplace', + slug: 'marketplace' + } + ] + ], + CLI: [ + 'cli', + [ + { + title: 'add', + slug: 'add' + }, + { + title: 'auth', + slug: 'auth' + }, + { + title: 'build', + slug: 'build' + }, + { + title: 'exec', + slug: 'exec' + }, + { + title: 'init', + slug: 'init' + }, + { + title: 'publish', + slug: 'publish' + }, + { + title: 'test', + slug: 'test' + }, + { + title: 'tokens', + slug: 'tokens' + }, + { + title: 'update', + slug: 'update' + } + ].sort(sortAlphabetical) + ], Integrations: [ 'integrations', [ diff --git a/src/lib/docs/registry/providers/jsrepo.md b/src/lib/docs/registry/providers/jsrepo.md index 46e55bf..63c63cd 100644 --- a/src/lib/docs/registry/providers/jsrepo.md +++ b/src/lib/docs/registry/providers/jsrepo.md @@ -14,8 +14,6 @@ lastUpdated: 5-7-2025 - ๐Ÿ”„ [semver](https://semver.org/) support - ๐Ÿ’จ Improved performance -> jsrepo.com is forever free for public registries - ## Publishing to jsrepo.com To get started with [jsrepo.com](https://jsrepo.com) you will need to sign in using your GitHub account. diff --git a/tailwind.config.ts b/tailwind.config.ts index c0230a8..f90ae84 100644 --- a/tailwind.config.ts +++ b/tailwind.config.ts @@ -1,5 +1,6 @@ import type { Config } from 'tailwindcss'; import tailwindcssAnimate from 'tailwindcss-animate'; +import tailwindMaskImage from '@pyncz/tailwind-mask-image'; const config: Config = { darkMode: ['class'], @@ -100,7 +101,7 @@ const config: Config = { } } }, - plugins: [tailwindcssAnimate] + plugins: [tailwindcssAnimate, tailwindMaskImage] }; export default config;