From 472e38ddafbc8f1df54be06ea3615c8b832d1f21 Mon Sep 17 00:00:00 2001 From: Puru Vijay Date: Thu, 29 Jun 2023 10:25:18 +0530 Subject: [PATCH] Fix errors --- sites/svelte.dev/scripts/generate_examples.js | 2 +- .../src/lib/server/examples/index.js | 26 ++++++++++--------- .../(authed)/repl/local/[...path]/+server.js | 9 ++++--- sites/svelte.dev/svelte.config.js | 2 +- 4 files changed, 21 insertions(+), 18 deletions(-) diff --git a/sites/svelte.dev/scripts/generate_examples.js b/sites/svelte.dev/scripts/generate_examples.js index bbdf05fae2..2a96fa79e0 100644 --- a/sites/svelte.dev/scripts/generate_examples.js +++ b/sites/svelte.dev/scripts/generate_examples.js @@ -2,7 +2,7 @@ import { fileURLToPath } from 'node:url'; import { get_examples_data } from '../src/lib/server/examples/index.js'; import fs from 'node:fs'; -const examples_data = get_examples_data( +const examples_data = await get_examples_data( fileURLToPath(new URL('../../../documentation/examples', import.meta.url)) ); diff --git a/sites/svelte.dev/src/lib/server/examples/index.js b/sites/svelte.dev/src/lib/server/examples/index.js index df525e7881..0ca9347dfb 100644 --- a/sites/svelte.dev/src/lib/server/examples/index.js +++ b/sites/svelte.dev/src/lib/server/examples/index.js @@ -1,5 +1,4 @@ import { CONTENT_BASE_PATHS } from '../../../constants.js'; -import fs from 'node:fs'; /** * @param {import('./types').ExamplesData} examples_data @@ -18,25 +17,28 @@ export function get_example(examples_data, slug) { } /** - * @returns {import('./types').ExamplesData} + * @returns {Promise} */ -export function get_examples_data(base = CONTENT_BASE_PATHS.EXAMPLES) { +export async function get_examples_data(base = CONTENT_BASE_PATHS.EXAMPLES) { + const { readdir, stat, readFile } = await import('node:fs/promises'); + const examples = []; - for (const subdir of fs.readdirSync(base)) { + for (const subdir of await readdir(base)) { const section = { title: '', // Initialise with empty slug: subdir.split('-').slice(1).join('-'), examples: [] }; - if (!(fs.statSync(`${base}/${subdir}`).isDirectory() || subdir.endsWith('meta.json'))) continue; + if (!((await stat(`${base}/${subdir}`)).isDirectory() || subdir.endsWith('meta.json'))) + continue; if (!subdir.endsWith('meta.json')) section.title = - JSON.parse(fs.readFileSync(`${base}/${subdir}/meta.json`, 'utf-8')).title ?? 'Embeds'; + JSON.parse(await readFile(`${base}/${subdir}/meta.json`, 'utf-8')).title ?? 'Embeds'; - for (const section_dir of fs.readdirSync(`${base}/${subdir}`)) { + for (const section_dir of await readdir(`${base}/${subdir}`)) { const match = /\d{2}-(.+)/.exec(section_dir); if (!match) continue; @@ -46,17 +48,17 @@ export function get_examples_data(base = CONTENT_BASE_PATHS.EXAMPLES) { // Get title for const example_title = JSON.parse( - fs.readFileSync(`${example_base_dir}/meta.json`, 'utf-8') + await readFile(`${example_base_dir}/meta.json`, 'utf-8') ).title; const files = []; - for (const file of fs - .readdirSync(example_base_dir) - .filter((file) => !file.endsWith('meta.json'))) { + for (const file of (await readdir(example_base_dir)).filter( + (file) => !file.endsWith('meta.json') + )) { files.push({ name: file, type: file.split('.').at(-1), - content: fs.readFileSync(`${example_base_dir}/${file}`, 'utf-8') + content: await readFile(`${example_base_dir}/${file}`, 'utf-8') }); } diff --git a/sites/svelte.dev/src/routes/(authed)/repl/local/[...path]/+server.js b/sites/svelte.dev/src/routes/(authed)/repl/local/[...path]/+server.js index 1d5ce18fa1..f141ee2021 100644 --- a/sites/svelte.dev/src/routes/(authed)/repl/local/[...path]/+server.js +++ b/sites/svelte.dev/src/routes/(authed)/repl/local/[...path]/+server.js @@ -1,14 +1,15 @@ -import { readFileSync } from 'fs'; -import { join } from 'path'; import { env } from '$env/dynamic/private'; const local_svelte_path = env.LOCAL_SVELTE_PATH || '../../../svelte'; -export function GET({ params: { path } }) { +export async function GET({ params: { path } }) { if (import.meta.env.PROD || ('/' + path).includes('/.')) { return new Response(undefined, { status: 403 }); } - return new Response(readFileSync(join(local_svelte_path, path)), { + + const { readFile } = await import('node:fs/promises'); + + return new Response(await readFile(`${local_svelte_path}/${path}`), { headers: { 'Content-Type': 'text/javascript' } }); } diff --git a/sites/svelte.dev/svelte.config.js b/sites/svelte.dev/svelte.config.js index 4131813282..c0f386a3b7 100644 --- a/sites/svelte.dev/svelte.config.js +++ b/sites/svelte.dev/svelte.config.js @@ -4,7 +4,7 @@ import adapter from '@sveltejs/adapter-vercel'; /** @type {import('@sveltejs/kit').Config} */ export default { kit: { - adapter: adapter({ runtime: 'edge', split: true }) + adapter: adapter({ runtime: 'edge' }) }, vitePlugin: {