From a3dc5cbb86fe2e9bfa5708be0a9989efa896c384 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 23 May 2022 16:40:00 -0700 Subject: [PATCH 1/2] [chore] get base from Vite server for welcome message --- .changeset/fresh-sheep-help.md | 5 +++++ packages/kit/src/cli.js | 29 +++++++++++--------------- packages/kit/src/core/dev/index.js | 10 +++++---- packages/kit/src/core/preview/index.js | 5 +++-- 4 files changed, 26 insertions(+), 23 deletions(-) create mode 100644 .changeset/fresh-sheep-help.md diff --git a/.changeset/fresh-sheep-help.md b/.changeset/fresh-sheep-help.md new file mode 100644 index 000000000000..bcf6b5a7668d --- /dev/null +++ b/.changeset/fresh-sheep-help.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +[chore] get base from Vite server for welcome message diff --git a/packages/kit/src/cli.js b/packages/kit/src/cli.js index 4451b1343f0d..1e21a666aaaf 100755 --- a/packages/kit/src/cli.js +++ b/packages/kit/src/cli.js @@ -61,25 +61,23 @@ prog /** @type {() => Promise} */ let close; - /** @param {import('types').ValidatedConfig} config */ - async function start(config) { + async function start() { const { dev } = await import('./core/dev/index.js'); - const { address_info, server_config, close } = await dev({ + const { address_info, config, close } = await dev({ port, host, - https, - config + https }); welcome({ port: address_info.port, host: address_info.address, - https: !!(https || server_config.https), - open: first && (open || !!server_config.open), - base: config.kit.paths.base, - loose: server_config.fs.strict === false, - allow: server_config.fs.allow + https: !!(https || config.server.https), + open: first && (open || !!config.server.open), + base: config.base, + loose: config.server.fs.strict === false, + allow: config.server.fs.allow }); first = false; @@ -92,9 +90,8 @@ prog relaunching = true; try { - const updated_config = await load_config(); await close(); - close = await start(updated_config); + close = await start(); if (id !== uid) relaunch(); } catch (e) { @@ -114,8 +111,7 @@ prog process.env.NODE_ENV = process.env.NODE_ENV || 'development'; - const config = await load_config(); - close = await start(config); + close = await start(); chokidar.watch('svelte.config.js', { ignoreInitial: true }).on('change', () => { if (relaunching) uid += 1; @@ -178,13 +174,12 @@ prog await check_port(port); process.env.NODE_ENV = process.env.NODE_ENV || 'production'; - const config = await load_config(); const { preview } = await import('./core/preview/index.js'); - await preview({ port, host, config, https }); + const server = await preview({ port, host, https }); - welcome({ port, host, https, open, base: config.kit.paths.base }); + welcome({ port, host, https, open, base: server.config.base }); } catch (error) { handle_error(error); } diff --git a/packages/kit/src/core/dev/index.js b/packages/kit/src/core/dev/index.js index fa5f7d013d61..918fbb6fb882 100644 --- a/packages/kit/src/core/dev/index.js +++ b/packages/kit/src/core/dev/index.js @@ -2,7 +2,7 @@ import path from 'path'; import { svelte } from '@sveltejs/vite-plugin-svelte'; import * as vite from 'vite'; import { deep_merge } from '../../utils/object.js'; -import { print_config_conflicts } from '../config/index.js'; +import { load_config, print_config_conflicts } from '../config/index.js'; import { get_aliases, get_runtime_path } from '../utils.js'; import { create_plugin } from './plugin.js'; import * as sync from '../sync/sync.js'; @@ -14,13 +14,15 @@ const cwd = process.cwd(); * port: number, * host?: string, * https: boolean, - * config: import('types').ValidatedConfig * }} Options * @typedef {import('types').SSRComponent} SSRComponent */ /** @param {Options} opts */ -export async function dev({ port, host, https, config }) { +export async function dev({ port, host, https }) { + /** @type {import('types').ValidatedConfig} */ + const config = await load_config(); + sync.init(config); const [vite_config] = deep_merge( @@ -104,7 +106,7 @@ export async function dev({ port, host, https, config }) { return { address_info, - server_config: vite_config.server, + config: server.config, close: () => server.close() }; } diff --git a/packages/kit/src/core/preview/index.js b/packages/kit/src/core/preview/index.js index b931202f18df..9e50f4a0d1bc 100644 --- a/packages/kit/src/core/preview/index.js +++ b/packages/kit/src/core/preview/index.js @@ -6,6 +6,7 @@ import sirv from 'sirv'; import { pathToFileURL } from 'url'; import { getRequest, setResponse } from '../../node/index.js'; import { installPolyfills } from '../../node/polyfills.js'; +import { load_config } from '../config/index.js'; import { SVELTE_KIT_ASSETS } from '../constants.js'; /** @typedef {import('http').IncomingMessage} Req */ @@ -28,14 +29,14 @@ const mutable = (dir) => * @param {{ * port: number; * host?: string; - * config: import('types').ValidatedConfig; * https?: boolean; * cwd?: string; * }} opts */ -export async function preview({ port, host, config, https: use_https = false }) { +export async function preview({ port, host, https: use_https = false }) { installPolyfills(); + const config = await load_config(); const { paths } = config.kit; const base = paths.base; const assets = paths.assets ? SVELTE_KIT_ASSETS : paths.base; From acebe260359cf85e321bb76611396f186b4a8bb3 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 23 May 2022 21:50:38 -0700 Subject: [PATCH 2/2] use correct base path --- .changeset/fresh-sheep-help.md | 2 +- packages/kit/src/cli.js | 24 +++++++++++++++--------- packages/kit/src/core/dev/index.js | 9 ++------- packages/kit/src/core/preview/index.js | 2 +- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.changeset/fresh-sheep-help.md b/.changeset/fresh-sheep-help.md index bcf6b5a7668d..54e82776e2c6 100644 --- a/.changeset/fresh-sheep-help.md +++ b/.changeset/fresh-sheep-help.md @@ -2,4 +2,4 @@ '@sveltejs/kit': patch --- -[chore] get base from Vite server for welcome message +[chore] return config from server start methods diff --git a/packages/kit/src/cli.js b/packages/kit/src/cli.js index 1e21a666aaaf..8ed551c49292 100755 --- a/packages/kit/src/cli.js +++ b/packages/kit/src/cli.js @@ -64,25 +64,31 @@ prog async function start() { const { dev } = await import('./core/dev/index.js'); - const { address_info, config, close } = await dev({ + const { server, config } = await dev({ port, host, https }); + const address_info = /** @type {import('net').AddressInfo} */ ( + /** @type {import('http').Server} */ (server.httpServer).address() + ); + + const vite_config = server.config; + welcome({ port: address_info.port, host: address_info.address, - https: !!(https || config.server.https), - open: first && (open || !!config.server.open), - base: config.base, - loose: config.server.fs.strict === false, - allow: config.server.fs.allow + https: !!(https || vite_config.server.https), + open: first && (open || !!vite_config.server.open), + base: config.kit.paths.base, + loose: vite_config.server.fs.strict === false, + allow: vite_config.server.fs.allow }); first = false; - return close; + return server.close; } async function relaunch() { @@ -177,9 +183,9 @@ prog const { preview } = await import('./core/preview/index.js'); - const server = await preview({ port, host, https }); + const { config } = await preview({ port, host, https }); - welcome({ port, host, https, open, base: server.config.base }); + welcome({ port, host, https, open, base: config.kit.paths.base }); } catch (error) { handle_error(error); } diff --git a/packages/kit/src/core/dev/index.js b/packages/kit/src/core/dev/index.js index 918fbb6fb882..2afd4151e055 100644 --- a/packages/kit/src/core/dev/index.js +++ b/packages/kit/src/core/dev/index.js @@ -100,13 +100,8 @@ export async function dev({ port, host, https }) { const server = await vite.createServer(merged_config); await server.listen(port); - const address_info = /** @type {import('net').AddressInfo} */ ( - /** @type {import('http').Server} */ (server.httpServer).address() - ); - return { - address_info, - config: server.config, - close: () => server.close() + server, + config }; } diff --git a/packages/kit/src/core/preview/index.js b/packages/kit/src/core/preview/index.js index 9e50f4a0d1bc..5cf910db557a 100644 --- a/packages/kit/src/core/preview/index.js +++ b/packages/kit/src/core/preview/index.js @@ -164,7 +164,7 @@ export async function preview({ port, host, https: use_https = false }) { return new Promise((fulfil) => { http_server.listen(port, host, () => { - fulfil(http_server); + fulfil({ server: http_server, config }); }); }); }