fix: make source maps opt-in to restore v1.67.0 memory baseline
Production source maps (--enable-source-maps) caused a ~50% memory increase (600MB to 1000MB) in v1.68.0. Node.js loads all .map files into memory when this flag is enabled, and Next.js server chunks generate hundreds of map files. Changes: - Guard productionBrowserSourceMaps and serverSourceMaps behind HOMARR_ENABLE_SOURCE_MAPS env var (default off) - Guard .map copy step and NODE_OPTIONS in Dockerfile behind ENABLE_SOURCE_MAPS build arg (default false) - run.sh checks HOMARR_ENABLE_SOURCE_MAPS before setting --enable-source-maps - Add Docker-based memory regression CI job (<700MB threshold) Closes #6123
This commit is contained in:
1 parent
597b5fbc8d
commit
57ef0af4a2
4 files changed
+78
-17
No files matched your search
@@ -31,8 +31,7 @@ const nextConfig: NextConfig = {
|
||||
},
|
||||
output: "standalone",
|
||||
reactStrictMode: true,
|
||||
// Ship browser source maps so production client stack traces are readable, see https://github.com/homarr-labs/homarr/issues/5891
|
||||
productionBrowserSourceMaps: true,
|
||||
productionBrowserSourceMaps: process.env.HOMARR_ENABLE_SOURCE_MAPS === "true",
|
||||
// react compiler breaks mantine-react-table, so disabled for now
|
||||
//reactCompiler: true,
|
||||
/** We already do typechecking as separate tasks in CI */
|
||||
@@ -43,8 +42,7 @@ const nextConfig: NextConfig = {
|
||||
*/
|
||||
serverExternalPackages: ["dockerode", "isomorphic-dompurify", "jsdom", "better-sqlite3"],
|
||||
experimental: {
|
||||
// Ship server source maps so production Node stack traces in logs reference original source, see https://github.com/homarr-labs/homarr/issues/5891
|
||||
serverSourceMaps: true,
|
||||
serverSourceMaps: process.env.HOMARR_ENABLE_SOURCE_MAPS === "true",
|
||||
optimizePackageImports: ["@mantine/core", "@mantine/hooks", "@tabler/icons-react"],
|
||||
turbopackFileSystemCacheForDev: true,
|
||||
preloadEntriesOnStart: false,
|
||||
|
||||
Reference in new issue
Block a user