feat: bump site to SvelteKit 2 (#9923)

* Push

* Bump deps

* Update sites/svelte.dev/src/routes/roadmap/+page.js

* Bump deps

* Fix stuff

---------

Co-authored-by: Simon H <5968653+dummdidumm@users.noreply.github.com>
pull/10107/head
Puru Vijay 2 years ago committed by GitHub
parent 32772b4131
commit c717a4df7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

File diff suppressed because it is too large Load Diff

@ -18,7 +18,7 @@
}, },
"dependencies": { "dependencies": {
"@jridgewell/sourcemap-codec": "^1.4.15", "@jridgewell/sourcemap-codec": "^1.4.15",
"@supabase/supabase-js": "^2.39.0", "@supabase/supabase-js": "^2.39.2",
"@sveltejs/repl": "0.6.0", "@sveltejs/repl": "0.6.0",
"cookie": "^0.6.0", "cookie": "^0.6.0",
"devalue": "^4.3.2", "devalue": "^4.3.2",
@ -28,31 +28,32 @@
}, },
"devDependencies": { "devDependencies": {
"@resvg/resvg-js": "^2.6.0", "@resvg/resvg-js": "^2.6.0",
"@sveltejs/adapter-vercel": "^3.1.0", "@sveltejs/adapter-vercel": "^4.0.3",
"@sveltejs/kit": "^1.27.6", "@sveltejs/kit": "^2.0.6",
"@sveltejs/site-kit": "6.0.0-next.59", "@sveltejs/site-kit": "6.0.0-next.59",
"@sveltejs/vite-plugin-svelte": "^3.0.0",
"@types/cookie": "^0.6.0", "@types/cookie": "^0.6.0",
"@types/node": "^20.10.2", "@types/node": "^20.10.6",
"browserslist": "^4.22.1", "browserslist": "^4.22.2",
"degit": "^2.8.4", "degit": "^2.8.4",
"dotenv": "^16.3.1", "dotenv": "^16.3.1",
"jimp": "^0.22.10", "jimp": "^0.22.10",
"lightningcss": "^1.22.1", "lightningcss": "^1.22.1",
"magic-string": "^0.30.5", "magic-string": "^0.30.5",
"marked": "^11.0.0", "marked": "^11.1.1",
"prettier": "^3.1.0", "prettier": "^3.1.1",
"prettier-plugin-svelte": "^3.1.2", "prettier-plugin-svelte": "^3.1.2",
"satori": "^0.10.11", "satori": "^0.10.11",
"satori-html": "^0.3.2", "satori-html": "^0.3.2",
"shelljs": "^0.8.5", "shelljs": "^0.8.5",
"shiki": "^0.14.5", "shiki": "^0.14.7",
"shiki-twoslash": "^3.1.2", "shiki-twoslash": "^3.1.2",
"svelte": "workspace:*", "svelte": "workspace:*",
"svelte-check": "^3.6.2", "svelte-check": "^3.6.2",
"svelte-preprocess": "^5.1.1", "svelte-preprocess": "^5.1.3",
"tiny-glob": "^0.2.9", "tiny-glob": "^0.2.9",
"typescript": "^5.3.2", "typescript": "^5.3.3",
"vite": "^4.5.0", "vite": "^5.0.10",
"vite-imagetools": "^6.2.6" "vite-imagetools": "^6.2.8"
} }
} }

@ -7,6 +7,6 @@ export const config = {
export async function load({ request }) { export async function load({ request }) {
return { return {
user: session.from_cookie(request.headers.get('cookie')) user: await session.from_cookie(request.headers.get('cookie'))
}; };
} }

@ -9,7 +9,7 @@ export function load({ url }) {
// redirect to v2 REPL if appropriate // redirect to v2 REPL if appropriate
if (version && /^[^>]?[12]/.test(version)) { if (version && /^[^>]?[12]/.test(version)) {
throw redirect(302, `https://v2.svelte.dev/repl?${query}`); redirect(302, `https://v2.svelte.dev/repl?${query}`);
} }
const id = gist || example || 'hello-world'; const id = gist || example || 'hello-world';
@ -17,5 +17,5 @@ export function load({ url }) {
const q = new URLSearchParams(); const q = new URLSearchParams();
if (version) q.set('version', version); if (version) q.set('version', version);
if (vim) q.set('vim', vim); if (vim) q.set('vim', vim);
throw redirect(301, `/repl/${id}?${q}`); redirect(301, `/repl/${id}?${q}`);
} }

@ -4,7 +4,7 @@ export async function load({ fetch, params, url }) {
const res = await fetch(`/repl/api/${params.id}.json`); const res = await fetch(`/repl/api/${params.id}.json`);
if (!res.ok) { if (!res.ok) {
throw error(res.status); error(/** @type {import('@sveltejs/kit').NumericRange<400, 599>} */(res.status));
} }
const gist = await res.json(); const gist = await res.json();

@ -1,6 +1,6 @@
<script> <script>
import { browser } from '$app/environment'; import { browser } from '$app/environment';
import { afterNavigate, goto } from '$app/navigation'; import { afterNavigate, goto, replaceState } from '$app/navigation';
import Repl from '@sveltejs/repl'; import Repl from '@sveltejs/repl';
import { theme } from '@sveltejs/site-kit/stores'; import { theme } from '@sveltejs/site-kit/stores';
import { onMount } from 'svelte'; import { onMount } from 'svelte';

@ -9,8 +9,6 @@ export const prerender = 'auto';
const UUID_REGEX = /^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$/; const UUID_REGEX = /^[0-9a-f]{8}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{4}-?[0-9a-f]{12}$/;
/** @type {Set<string>} */
let examples;
/** @param {import('$lib/server/examples/types').ExamplesData[number]['examples'][number]['files'][number][]} files */ /** @param {import('$lib/server/examples/types').ExamplesData[number]['examples'][number]['files'][number][]} files */
function munge(files) { function munge(files) {
@ -39,13 +37,6 @@ export async function GET({ params }) {
// We prerender examples pages during build time. That means, when something like `/repl/hello-world.json` // We prerender examples pages during build time. That means, when something like `/repl/hello-world.json`
// is accessed, this function won't be run at all, as it will be served from the filesystem // is accessed, this function won't be run at all, as it will be served from the filesystem
examples = new Set(
get_examples_list(examples_data)
.map((category) => category.examples)
.flat()
.map((example) => example.slug)
);
const example = get_example(examples_data, params.id); const example = get_example(examples_data, params.id);
if (example) { if (example) {
return json({ return json({
@ -73,13 +64,13 @@ export async function GET({ params }) {
} }
if (!UUID_REGEX.test(params.id)) { if (!UUID_REGEX.test(params.id)) {
throw error(404); error(404);
} }
const app = await gist.read(params.id); const app = await gist.read(params.id);
if (!app) { if (!app) {
throw error(404, 'not found'); error(404, 'not found');
} }
return json({ return json({

@ -4,7 +4,7 @@ import { error, json } from '@sveltejs/kit';
export async function POST({ request }) { export async function POST({ request }) {
const user = await session.from_cookie(request.headers.get('cookie')); const user = await session.from_cookie(request.headers.get('cookie'));
if (!user) throw error(401); if (!user) error(401);
const body = await request.json(); const body = await request.json();
const result = await gist.create(user, body); const result = await gist.create(user, body);

@ -5,7 +5,7 @@ import { error } from '@sveltejs/kit';
// TODO reimplement as an action // TODO reimplement as an action
export async function PUT({ params, request }) { export async function PUT({ params, request }) {
const user = await session.from_cookie(request.headers.get('cookie')); const user = await session.from_cookie(request.headers.get('cookie'));
if (!user) throw error(401, 'Unauthorized'); if (!user) error(401, 'Unauthorized');
const body = await request.json(); const body = await request.json();
await gist.update(user, params.id, body); await gist.update(user, params.id, body);

@ -1,8 +1,10 @@
import { fetchBanner } from '@sveltejs/site-kit/components'; import { fetchBanner } from '@sveltejs/site-kit/components';
export const load = async ({ url, fetch }) => { export const load = async ({ url, fetch }) => {
const nav_links = fetch('/nav.json').then((r) => r.json()); const [nav_links, banner] = await Promise.all([
const banner = fetchBanner('svelte.dev', fetch); fetch('/nav.json').then((r) => r.json()),
fetchBanner('svelte.dev', fetch)
]);
return { return {
nav_title: get_nav_title(url), nav_title: get_nav_title(url),

@ -11,7 +11,7 @@ export const GET = client_id
redirect_uri: `${url.origin}/auth/callback` redirect_uri: `${url.origin}/auth/callback`
}).toString(); }).toString();
throw redirect(302, Location); redirect(302, Location);
} }
: () => : () =>
new Response( new Response(

@ -6,7 +6,7 @@ export const prerender = true;
export async function load({ params }) { export async function load({ params }) {
const post = await get_processed_blog_post(await get_blog_data(), params.slug); const post = await get_processed_blog_post(await get_blog_data(), params.slug);
if (!post) throw error(404); if (!post) error(404);
// forgive me — terrible hack necessary to get diffs looking sensible // forgive me — terrible hack necessary to get diffs looking sensible
// on the `runes` blog post // on the `runes` blog post

@ -14,7 +14,7 @@ export const prerender = true;
export async function GET({ params }) { export async function GET({ params }) {
const post = await get_processed_blog_post(await get_blog_data(), params.slug); const post = await get_processed_blog_post(await get_blog_data(), params.slug);
if (!post) throw error(404); if (!post) error(404);
// @ts-ignore // @ts-ignore
const result = Card.render({ post }); const result = Card.render({ post });

@ -2,5 +2,5 @@ import { redirect } from '@sveltejs/kit';
import { dev } from '$app/environment'; import { dev } from '$app/environment';
export function load() { export function load() {
throw redirect(dev ? 307 : 308, '/docs'); redirect(dev ? 307 : 308, '/docs');
} }

@ -6,7 +6,7 @@ export const prerender = true;
export async function load({ params }) { export async function load({ params }) {
const processed_page = await get_parsed_docs(await get_docs_data(), params.slug); const processed_page = await get_parsed_docs(await get_docs_data(), params.slug);
if (!processed_page) throw error(404); if (!processed_page) error(404);
return { page: processed_page }; return { page: processed_page };
} }

@ -3,5 +3,5 @@ import { redirect } from '@sveltejs/kit';
export const prerender = true; export const prerender = true;
export function load() { export function load() {
throw redirect(301, 'examples/hello-world'); redirect(301, 'examples/hello-world');
} }

@ -12,7 +12,7 @@ export const GET = ({ params }) => {
.map((example) => example.slug) .map((example) => example.slug)
); );
if (!examples.has(params.slug)) throw error(404, 'Example not found'); if (!examples.has(params.slug)) error(404, 'Example not found');
return json(get_example(examples_data, params.slug)); return json(get_example(examples_data, params.slug));
}; };

@ -3,5 +3,5 @@ import { redirect } from '@sveltejs/kit';
export const prerender = true; export const prerender = true;
export function GET() { export function GET() {
throw redirect(308, '/docs/faq'); redirect(308, '/docs/faq');
} }

@ -1,7 +1,7 @@
import { redirect } from '@sveltejs/kit'; import { redirect } from '@sveltejs/kit';
export function load() { export function load() {
throw redirect( redirect(
307, 307,
'https://docs.google.com/document/d/1IA9Z5rcIm_KRxvh_L42d2NDdYRHZ72MfszhyJrsmf5A' 'https://docs.google.com/document/d/1IA9Z5rcIm_KRxvh_L42d2NDdYRHZ72MfszhyJrsmf5A'
); );

@ -3,5 +3,5 @@ import { redirect } from '@sveltejs/kit';
export const prerender = true; export const prerender = true;
export function load() { export function load() {
throw redirect(301, '/tutorial/basics'); redirect(301, '/tutorial/basics');
} }

@ -8,14 +8,14 @@ import { error, redirect } from '@sveltejs/kit';
export const prerender = true; export const prerender = true;
export async function load({ params }) { export async function load({ params }) {
if (params.slug === 'local-transitions') throw redirect(307, '/tutorial/global-transitions'); if (params.slug === 'local-transitions') redirect(307, '/tutorial/global-transitions');
const tutorial_data = await get_tutorial_data(); const tutorial_data = await get_tutorial_data();
const tutorials_list = get_tutorial_list(tutorial_data); const tutorials_list = get_tutorial_list(tutorial_data);
const tutorial = await get_parsed_tutorial(tutorial_data, params.slug); const tutorial = await get_parsed_tutorial(tutorial_data, params.slug);
if (!tutorial) throw error(404); if (!tutorial) error(404);
return { return {
tutorials_list, tutorials_list,

Loading…
Cancel
Save