diff --git a/.changeset/tricky-pillows-remain.md b/.changeset/tricky-pillows-remain.md new file mode 100644 index 000000000000..daf00ccf1e9a --- /dev/null +++ b/.changeset/tricky-pillows-remain.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/adapter-node': patch +--- + +fix: set no-cache cache-control header for non-immutable assets diff --git a/packages/adapter-node/src/handler.js b/packages/adapter-node/src/handler.js index b1a40bb19955..c3556e733794 100644 --- a/packages/adapter-node/src/handler.js +++ b/packages/adapter-node/src/handler.js @@ -51,12 +51,13 @@ function serve(path, client = false) { brotli: true, setHeaders: client ? (res, pathname) => { - // only apply to build directory, not e.g. version.json - if ( - pathname.startsWith(`/${manifest.appPath}/immutable/`) && - res.statusCode === 200 - ) { - res.setHeader('cache-control', 'public,max-age=31536000,immutable'); + if (res.statusCode === 200 && pathname.startsWith(`/${manifest.appPath}/`)) { + if (pathname.startsWith(`/${manifest.appPath}/immutable/`)) { + // only apply to build directory, not e.g. version.json + res.setHeader('cache-control', 'public,max-age=31536000,immutable'); + } else { + res.setHeader('cache-control', 'public,max-age=0,must-revalidate'); + } } } : undefined