Skip to content

Commit 4653921

Browse files
authored
[chore] return config from server start methods (#5043)
* [chore] get base from Vite server for welcome message * use correct base path
1 parent a8aac9a commit 4653921

File tree

4 files changed

+33
-29
lines changed

4 files changed

+33
-29
lines changed

.changeset/fresh-sheep-help.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/kit': patch
3+
---
4+
5+
[chore] return config from server start methods

packages/kit/src/cli.js

+17-16
Original file line numberDiff line numberDiff line change
@@ -61,40 +61,43 @@ prog
6161
/** @type {() => Promise<void>} */
6262
let close;
6363

64-
/** @param {import('types').ValidatedConfig} config */
65-
async function start(config) {
64+
async function start() {
6665
const { dev } = await import('./core/dev/index.js');
6766

68-
const { address_info, server_config, close } = await dev({
67+
const { server, config } = await dev({
6968
port,
7069
host,
71-
https,
72-
config
70+
https
7371
});
7472

73+
const address_info = /** @type {import('net').AddressInfo} */ (
74+
/** @type {import('http').Server} */ (server.httpServer).address()
75+
);
76+
77+
const vite_config = server.config;
78+
7579
welcome({
7680
port: address_info.port,
7781
host: address_info.address,
78-
https: !!(https || server_config.https),
79-
open: first && (open || !!server_config.open),
82+
https: !!(https || vite_config.server.https),
83+
open: first && (open || !!vite_config.server.open),
8084
base: config.kit.paths.base,
81-
loose: server_config.fs.strict === false,
82-
allow: server_config.fs.allow
85+
loose: vite_config.server.fs.strict === false,
86+
allow: vite_config.server.fs.allow
8387
});
8488

8589
first = false;
8690

87-
return close;
91+
return server.close;
8892
}
8993

9094
async function relaunch() {
9195
const id = uid;
9296
relaunching = true;
9397

9498
try {
95-
const updated_config = await load_config();
9699
await close();
97-
close = await start(updated_config);
100+
close = await start();
98101

99102
if (id !== uid) relaunch();
100103
} catch (e) {
@@ -114,8 +117,7 @@ prog
114117

115118
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
116119

117-
const config = await load_config();
118-
close = await start(config);
120+
close = await start();
119121

120122
chokidar.watch('svelte.config.js', { ignoreInitial: true }).on('change', () => {
121123
if (relaunching) uid += 1;
@@ -178,11 +180,10 @@ prog
178180
await check_port(port);
179181

180182
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
181-
const config = await load_config();
182183

183184
const { preview } = await import('./core/preview/index.js');
184185

185-
await preview({ port, host, config, https });
186+
const { config } = await preview({ port, host, https });
186187

187188
welcome({ port, host, https, open, base: config.kit.paths.base });
188189
} catch (error) {

packages/kit/src/core/dev/index.js

+7-10
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import path from 'path';
22
import { svelte } from '@sveltejs/vite-plugin-svelte';
33
import * as vite from 'vite';
44
import { deep_merge } from '../../utils/object.js';
5-
import { print_config_conflicts } from '../config/index.js';
5+
import { load_config, print_config_conflicts } from '../config/index.js';
66
import { get_aliases, get_runtime_path } from '../utils.js';
77
import { create_plugin } from './plugin.js';
88
import * as sync from '../sync/sync.js';
@@ -14,13 +14,15 @@ const cwd = process.cwd();
1414
* port: number,
1515
* host?: string,
1616
* https: boolean,
17-
* config: import('types').ValidatedConfig
1817
* }} Options
1918
* @typedef {import('types').SSRComponent} SSRComponent
2019
*/
2120

2221
/** @param {Options} opts */
23-
export async function dev({ port, host, https, config }) {
22+
export async function dev({ port, host, https }) {
23+
/** @type {import('types').ValidatedConfig} */
24+
const config = await load_config();
25+
2426
sync.init(config);
2527

2628
const [vite_config] = deep_merge(
@@ -98,13 +100,8 @@ export async function dev({ port, host, https, config }) {
98100
const server = await vite.createServer(merged_config);
99101
await server.listen(port);
100102

101-
const address_info = /** @type {import('net').AddressInfo} */ (
102-
/** @type {import('http').Server} */ (server.httpServer).address()
103-
);
104-
105103
return {
106-
address_info,
107-
server_config: vite_config.server,
108-
close: () => server.close()
104+
server,
105+
config
109106
};
110107
}

packages/kit/src/core/preview/index.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import sirv from 'sirv';
66
import { pathToFileURL } from 'url';
77
import { getRequest, setResponse } from '../../node/index.js';
88
import { installPolyfills } from '../../node/polyfills.js';
9+
import { load_config } from '../config/index.js';
910
import { SVELTE_KIT_ASSETS } from '../constants.js';
1011

1112
/** @typedef {import('http').IncomingMessage} Req */
@@ -28,14 +29,14 @@ const mutable = (dir) =>
2829
* @param {{
2930
* port: number;
3031
* host?: string;
31-
* config: import('types').ValidatedConfig;
3232
* https?: boolean;
3333
* cwd?: string;
3434
* }} opts
3535
*/
36-
export async function preview({ port, host, config, https: use_https = false }) {
36+
export async function preview({ port, host, https: use_https = false }) {
3737
installPolyfills();
3838

39+
const config = await load_config();
3940
const { paths } = config.kit;
4041
const base = paths.base;
4142
const assets = paths.assets ? SVELTE_KIT_ASSETS : paths.base;
@@ -163,7 +164,7 @@ export async function preview({ port, host, config, https: use_https = false })
163164

164165
return new Promise((fulfil) => {
165166
http_server.listen(port, host, () => {
166-
fulfil(http_server);
167+
fulfil({ server: http_server, config });
167168
});
168169
});
169170
}

0 commit comments

Comments
 (0)