Fix prerendering
This commit is contained in:
parent
51774f9b38
commit
f918f3d5e0
92
web/package-lock.json
generated
92
web/package-lock.json
generated
@ -10,11 +10,11 @@
|
|||||||
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
||||||
"@tailwindcss/vite": "^4.1.8",
|
"@tailwindcss/vite": "^4.1.8",
|
||||||
"cpc": "file:../pkg",
|
"cpc": "file:../pkg",
|
||||||
"svelte": "^5.33.10",
|
"svelte": "^5.33.13",
|
||||||
"svelte-check": "^4.2.1",
|
"svelte-check": "^4.2.1",
|
||||||
"tailwindcss": "^4.1.8",
|
"tailwindcss": "^4.1.8",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"vercel": "^42.2.0",
|
"vercel": "^42.3.0",
|
||||||
"vite": "^6.3.5",
|
"vite": "^6.3.5",
|
||||||
"vite-plugin-top-level-await": "^1.5.0",
|
"vite-plugin-top-level-await": "^1.5.0",
|
||||||
"vite-plugin-wasm": "^3.4.1",
|
"vite-plugin-wasm": "^3.4.1",
|
||||||
@ -1752,9 +1752,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.15.27",
|
"version": "22.15.29",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.27.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.29.tgz",
|
||||||
"integrity": "sha512-5fF+eu5mwihV2BeVtX5vijhdaZOfkQTATrePEaXTcKqI16LhJ7gi2/Vhd9OZM0UojcdmiOCVg5rrax+i1MdoQQ==",
|
"integrity": "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
"peer": true,
|
||||||
@ -1984,9 +1984,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/gatsby-plugin-vercel-builder": {
|
"node_modules/@vercel/gatsby-plugin-vercel-builder": {
|
||||||
"version": "2.0.82",
|
"version": "2.0.83",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-2.0.82.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-2.0.83.tgz",
|
||||||
"integrity": "sha512-KlJcfdS+pEjXQ7mmEv67RorxqUwbtRWB7RN8F/nPn9eUaoNCirvfgfO83CJyljWEOoaXcBv3U9rGzs/YtKjF/A==",
|
"integrity": "sha512-SSuCIHZmTTMc6HEnipkAkW2+cbEmCHGnOyF3uvOfEzjiQX9zB50ziq0DV3yPltSxp37MFkYKDUeWJe2ESXPJaA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@sinclair/typebox": "0.25.24",
|
"@sinclair/typebox": "0.25.24",
|
||||||
@ -2040,13 +2040,13 @@
|
|||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/hydrogen": {
|
"node_modules/@vercel/hydrogen": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-1.2.1.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-1.2.2.tgz",
|
||||||
"integrity": "sha512-pHHiYkvCI+SkRHVDzBsp0HoV3pLymIJIFmRsifCyWryBzhFIg4nA8XUuG2cHGJxOTrnnc85o1Xw6DyagDT34dQ==",
|
"integrity": "sha512-PRA3r1/ZRcklGgs/hczprQZ27jX9Avyq/iEbtmzAFNbFovkTlkE0Wy93pVKJfJ4ISCBzBgUSMktX9+6wgjs32A==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vercel/static-config": "3.1.0",
|
"@vercel/static-config": "3.1.1",
|
||||||
"ts-morph": "12.0.0"
|
"ts-morph": "12.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -2088,9 +2088,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/nft": {
|
"node_modules/@vercel/nft": {
|
||||||
"version": "0.29.3",
|
"version": "0.29.4",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.29.3.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.29.4.tgz",
|
||||||
"integrity": "sha512-aVV0E6vJpuvImiMwU1/5QKkw2N96BRFE7mBYGS7FhXUoS6V7SarQ+8tuj33o7ofECz8JtHpmQ9JW+oVzOoB7MA==",
|
"integrity": "sha512-6lLqMNX3TuycBPABycx7A9F1bHQR7kiQln6abjFbPrf5C/05qHM9M5E4PeTE59c7z8g6vHnx1Ioihb2AQl7BTA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -2115,9 +2115,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/node": {
|
"node_modules/@vercel/node": {
|
||||||
"version": "5.2.0",
|
"version": "5.2.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/node/-/node-5.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/node/-/node-5.2.1.tgz",
|
||||||
"integrity": "sha512-E8LpLhU13v7tKU+RxXESYtQZDVkt4CepK6uNN7CrzZzEuZqphkC8QrXg1Yrdb9kt8NgJaFjGeBtp9BkiRRC8WA==",
|
"integrity": "sha512-0+YV01grkqfHIHhmWeCXWmgeP6GsuzXtgWBri3+qESwfAZ6dOTBG4GJp9z2E7sEi+wP60S0/eNGRj8z77uk3JQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -2128,7 +2128,7 @@
|
|||||||
"@vercel/build-utils": "10.6.0",
|
"@vercel/build-utils": "10.6.0",
|
||||||
"@vercel/error-utils": "2.0.3",
|
"@vercel/error-utils": "2.0.3",
|
||||||
"@vercel/nft": "0.29.2",
|
"@vercel/nft": "0.29.2",
|
||||||
"@vercel/static-config": "3.1.0",
|
"@vercel/static-config": "3.1.1",
|
||||||
"async-listen": "3.0.0",
|
"async-listen": "3.0.0",
|
||||||
"cjs-module-lexer": "1.2.3",
|
"cjs-module-lexer": "1.2.3",
|
||||||
"edge-runtime": "2.5.9",
|
"edge-runtime": "2.5.9",
|
||||||
@ -2267,14 +2267,14 @@
|
|||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/redwood": {
|
"node_modules/@vercel/redwood": {
|
||||||
"version": "2.3.2",
|
"version": "2.3.3",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/redwood/-/redwood-2.3.2.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/redwood/-/redwood-2.3.3.tgz",
|
||||||
"integrity": "sha512-nAzihiYucoz7nzQNW3DkLnaeyFSujkEI8mEBb5LUM2iUXHCvSIqhh/cCu17KZg10aho/R5YOIWLoPPDMkMYFzA==",
|
"integrity": "sha512-9Dfith+CYNNt/5Mkrklu7xWroWgSJVR4uh7mwu/2IvuCiJMNa24ReR9xtQNyGFAwAjdeweQ/nHfImz+12ORfpQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vercel/nft": "0.29.2",
|
"@vercel/nft": "0.29.2",
|
||||||
"@vercel/static-config": "3.1.0",
|
"@vercel/static-config": "3.1.1",
|
||||||
"semver": "6.3.1",
|
"semver": "6.3.1",
|
||||||
"ts-morph": "12.0.0"
|
"ts-morph": "12.0.0"
|
||||||
}
|
}
|
||||||
@ -2317,15 +2317,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/remix-builder": {
|
"node_modules/@vercel/remix-builder": {
|
||||||
"version": "5.4.8",
|
"version": "5.4.9",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/remix-builder/-/remix-builder-5.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/remix-builder/-/remix-builder-5.4.9.tgz",
|
||||||
"integrity": "sha512-lQql/nohy4CFr+fo+eOAWqh0PSP8dJuwhzlwH6J8QB9nUZd5PvaJg165y5+Dz5I3hBxYfTQCqBvqmMp/NZCzzQ==",
|
"integrity": "sha512-+fWdMjVI6bO0GUBJbw2seBDnLvPi2dd9aBQHVG2TCbJobBPfXgyEMgRWDS+4gjhXn4jLatX4B5C5iJykkeMqNQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vercel/error-utils": "2.0.3",
|
"@vercel/error-utils": "2.0.3",
|
||||||
"@vercel/nft": "0.29.2",
|
"@vercel/nft": "0.29.2",
|
||||||
"@vercel/static-config": "3.1.0",
|
"@vercel/static-config": "3.1.1",
|
||||||
"path-to-regexp": "6.1.0",
|
"path-to-regexp": "6.1.0",
|
||||||
"path-to-regexp-updated": "npm:path-to-regexp@6.3.0",
|
"path-to-regexp-updated": "npm:path-to-regexp@6.3.0",
|
||||||
"ts-morph": "12.0.0"
|
"ts-morph": "12.0.0"
|
||||||
@ -2366,22 +2366,22 @@
|
|||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/static-build": {
|
"node_modules/@vercel/static-build": {
|
||||||
"version": "2.7.8",
|
"version": "2.7.9",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/static-build/-/static-build-2.7.8.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/static-build/-/static-build-2.7.9.tgz",
|
||||||
"integrity": "sha512-2mx8QVogdtmnVK26wf3mBYwBEK5GVIcxjuBN/JVu0ozX3UskHvEZwf+BJo7J0RzwSh37mR4ERLP90qpCuWLM8g==",
|
"integrity": "sha512-0AuRrNAE0wntRjZo0CrmQTwvRVO5/7jtcSShgkAKcx2CsPphDjBh2Ah6Kcwb2w9inqJr5Bpg0pxi/Y915hj2oQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vercel/gatsby-plugin-vercel-analytics": "1.0.11",
|
"@vercel/gatsby-plugin-vercel-analytics": "1.0.11",
|
||||||
"@vercel/gatsby-plugin-vercel-builder": "2.0.82",
|
"@vercel/gatsby-plugin-vercel-builder": "2.0.83",
|
||||||
"@vercel/static-config": "3.1.0",
|
"@vercel/static-config": "3.1.1",
|
||||||
"ts-morph": "12.0.0"
|
"ts-morph": "12.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@vercel/static-config": {
|
"node_modules/@vercel/static-config": {
|
||||||
"version": "3.1.0",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/@vercel/static-config/-/static-config-3.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@vercel/static-config/-/static-config-3.1.1.tgz",
|
||||||
"integrity": "sha512-NUUdlTvqmCrg+/Kd/T1yONDym3bMiUJW+wlaZoqgUNMANvmIkO10/lk/2fFRQtGkYaPlnM+TUrL+U2FghccHQg==",
|
"integrity": "sha512-IRtKnm9N1Uqd2ayIbLPjRtdwcl1GTWvqF1PuEVNm9O43kmoI+m9VpGlW8oga+5LQq1LmJ2Y67zHr7NbjrH1rrw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -5045,9 +5045,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/svelte": {
|
"node_modules/svelte": {
|
||||||
"version": "5.33.10",
|
"version": "5.33.13",
|
||||||
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.33.10.tgz",
|
"resolved": "https://registry.npmjs.org/svelte/-/svelte-5.33.13.tgz",
|
||||||
"integrity": "sha512-/yArPQIBoQS2p86LKnvJywOXkVHeEXnFgrDPSxkEfIAEkykopYuy2bF6UUqHG4IbZlJD6OurLxJT8Kn7kTk9WA==",
|
"integrity": "sha512-uT3BAPpHGaJqpOgdwJwIK7P4JkBkSS0vylbaRXxQjt1gr+DZ9BiPkhmbZw3ql8LJofUyz5XyrzzQDgQQdfP86Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
@ -5375,23 +5375,23 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/vercel": {
|
"node_modules/vercel": {
|
||||||
"version": "42.2.0",
|
"version": "42.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/vercel/-/vercel-42.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/vercel/-/vercel-42.3.0.tgz",
|
||||||
"integrity": "sha512-a733x8TmsOagZoYJyVUxMpNI1UOFmp+dw/1/j2iH+ZmkEbYfiEJo96TtqgqPgzX2qF6iEO63i0wDwwFI6aZssA==",
|
"integrity": "sha512-hLiqfcvsjI7IRm5gYIAE7d7wIAqnn797oyDdMkaw76pAQh6aFqvrw4EYcByuxuCSe/5bwck5LNcJ3neXeceGbQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vercel/build-utils": "10.6.0",
|
"@vercel/build-utils": "10.6.0",
|
||||||
"@vercel/fun": "1.1.6",
|
"@vercel/fun": "1.1.6",
|
||||||
"@vercel/go": "3.2.1",
|
"@vercel/go": "3.2.1",
|
||||||
"@vercel/hydrogen": "1.2.1",
|
"@vercel/hydrogen": "1.2.2",
|
||||||
"@vercel/next": "4.8.0",
|
"@vercel/next": "4.8.0",
|
||||||
"@vercel/node": "5.2.0",
|
"@vercel/node": "5.2.1",
|
||||||
"@vercel/python": "4.7.2",
|
"@vercel/python": "4.7.2",
|
||||||
"@vercel/redwood": "2.3.2",
|
"@vercel/redwood": "2.3.3",
|
||||||
"@vercel/remix-builder": "5.4.8",
|
"@vercel/remix-builder": "5.4.9",
|
||||||
"@vercel/ruby": "2.2.0",
|
"@vercel/ruby": "2.2.0",
|
||||||
"@vercel/static-build": "2.7.8",
|
"@vercel/static-build": "2.7.9",
|
||||||
"chokidar": "4.0.0",
|
"chokidar": "4.0.0",
|
||||||
"jose": "5.9.6"
|
"jose": "5.9.6"
|
||||||
},
|
},
|
||||||
|
|||||||
@ -16,11 +16,11 @@
|
|||||||
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
||||||
"@tailwindcss/vite": "^4.1.8",
|
"@tailwindcss/vite": "^4.1.8",
|
||||||
"cpc": "file:../pkg",
|
"cpc": "file:../pkg",
|
||||||
"svelte": "^5.33.10",
|
"svelte": "^5.33.13",
|
||||||
"svelte-check": "^4.2.1",
|
"svelte-check": "^4.2.1",
|
||||||
"tailwindcss": "^4.1.8",
|
"tailwindcss": "^4.1.8",
|
||||||
"typescript": "^5.8.3",
|
"typescript": "^5.8.3",
|
||||||
"vercel": "^42.2.0",
|
"vercel": "^42.3.0",
|
||||||
"vite": "^6.3.5",
|
"vite": "^6.3.5",
|
||||||
"vite-plugin-top-level-await": "^1.5.0",
|
"vite-plugin-top-level-await": "^1.5.0",
|
||||||
"vite-plugin-wasm": "^3.4.1",
|
"vite-plugin-wasm": "^3.4.1",
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import "../app.css";
|
import "../app.css";
|
||||||
|
|
||||||
let { children } = $props();
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
{@render children()}
|
<slot />
|
||||||
|
|||||||
@ -1,2 +1 @@
|
|||||||
export const ssr = false;
|
|
||||||
export const prerender = true;
|
export const prerender = true;
|
||||||
|
|||||||
@ -1,16 +1,22 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import { check_shortcut } from "$lib/helpers";
|
import { check_shortcut } from "$lib/helpers";
|
||||||
import { wasm_eval } from "cpc";
|
|
||||||
import { flip } from "svelte/animate";
|
import { flip } from "svelte/animate";
|
||||||
import { fly } from "svelte/transition";
|
import { fly } from "svelte/transition";
|
||||||
|
// Has to be dynamically imported for prerendering to work
|
||||||
|
// https://github.com/sveltejs/svelte/issues/13155
|
||||||
|
const cpc_promise = import("cpc");
|
||||||
|
let cpc: typeof import("cpc") | undefined;
|
||||||
|
cpc_promise.then((mod) => {
|
||||||
|
cpc = mod;
|
||||||
|
});
|
||||||
|
|
||||||
let input = $state("");
|
let input = $state("");
|
||||||
let output = $derived.by(() => {
|
let output = $derived.by(() => {
|
||||||
try {
|
try {
|
||||||
if (input.trim().length === 0) {
|
if (!cpc || input.trim().length === 0) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
return wasm_eval(input);
|
return cpc.wasm_eval(input);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
@ -20,14 +26,15 @@
|
|||||||
|
|
||||||
<svelte:head>
|
<svelte:head>
|
||||||
<title>cpc</title>
|
<title>cpc</title>
|
||||||
<meta name="description" content="Text calculator with support for units and conversion" />
|
<meta
|
||||||
|
name="description"
|
||||||
|
content="Text calculator with support for units and conversion"
|
||||||
|
/>
|
||||||
</svelte:head>
|
</svelte:head>
|
||||||
|
|
||||||
<main class="w-full px-4 lg:px-8 text-base lg:text-lg">
|
<main class="w-full px-4 lg:px-8 text-base lg:text-lg">
|
||||||
<nav class="flex items-center justify-between py-4 lg:py-6">
|
<nav class="flex items-center justify-between py-4 lg:py-6">
|
||||||
<h1 class="text-3xl font-bold text-amber-600 dark:text-amber-400">
|
<h1 class="text-3xl font-bold text-amber-600 dark:text-amber-400">cpc</h1>
|
||||||
cpc
|
|
||||||
</h1>
|
|
||||||
<a
|
<a
|
||||||
href="https://github.com/probablykasper/cpc"
|
href="https://github.com/probablykasper/cpc"
|
||||||
aria-label="GitHub repository"
|
aria-label="GitHub repository"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user