Skip to content
This repository was archived by the owner on Jan 11, 2023. It is now read-only.

Commit e91edae

Browse files
authored
Merge pull request #286 from sveltejs/invalidate-client-assets
always refresh client_assets in dev
2 parents 5375422 + e1a33c6 commit e91edae

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/middleware.ts

+11-5
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,6 @@ export default function middleware({ App, routes, store }: {
5656

5757
const output = locations.dest();
5858

59-
const client_assets = JSON.parse(fs.readFileSync(path.join(output, 'client_assets.json'), 'utf-8'));
60-
6159
let emitted_basepath = false;
6260

6361
const middleware = compose_handlers([
@@ -105,7 +103,7 @@ export default function middleware({ App, routes, store }: {
105103
cache_control: 'max-age=31536000'
106104
}),
107105

108-
get_route_handler(client_assets, App, routes, store)
106+
get_route_handler(App, routes, store)
109107
].filter(Boolean));
110108

111109
return middleware;
@@ -148,7 +146,13 @@ function serve({ prefix, pathname, cache_control }: {
148146
};
149147
}
150148

151-
function get_route_handler(chunks: Record<string, string>, App: Component, routes: RouteObject[], store_getter: (req: Req) => Store) {
149+
function get_route_handler(App: Component, routes: RouteObject[], store_getter: (req: Req) => Store) {
150+
const output = locations.dest();
151+
152+
const get_chunks = dev()
153+
? () => JSON.parse(fs.readFileSync(path.join(output, 'client_assets.json'), 'utf-8'))
154+
: (assets => () => assets)(JSON.parse(fs.readFileSync(path.join(output, 'client_assets.json'), 'utf-8')));
155+
152156
const template = dev()
153157
? () => fs.readFileSync(`${locations.app()}/template.html`, 'utf-8')
154158
: (str => () => str)(fs.readFileSync(`${locations.dest()}/template.html`, 'utf-8'));
@@ -159,6 +163,8 @@ function get_route_handler(chunks: Record<string, string>, App: Component, route
159163
const handlers = route.handlers[Symbol.iterator]();
160164

161165
function next() {
166+
const chunks: Record<string, string> = get_chunks();
167+
162168
try {
163169
const { value: handler, done } = handlers.next();
164170

@@ -384,7 +390,7 @@ function get_route_handler(chunks: Record<string, string>, App: Component, route
384390
function render_page({ head, css, html }) {
385391
const page = template()
386392
.replace('%sapper.base%', `<base href="${req.baseUrl}/">`)
387-
.replace('%sapper.scripts%', `<script>__SAPPER__={baseUrl: "${req.baseUrl}"}</script><script src='${req.baseUrl}/client/${chunks.main}'></script>`)
393+
.replace('%sapper.scripts%', `<script>__SAPPER__={baseUrl: "${req.baseUrl}"}</script><script src='${req.baseUrl}/client/${get_chunks().main}'></script>`)
388394
.replace('%sapper.html%', html)
389395
.replace('%sapper.head%', `<noscript id='sapper-head-start'></noscript>${head}<noscript id='sapper-head-end'></noscript>`)
390396
.replace('%sapper.styles%', (css && css.code ? `<style>${css.code}</style>` : ''));

0 commit comments

Comments
 (0)