From dad6af40038cdb5fc080c1f2a7b858ebb8fba179 Mon Sep 17 00:00:00 2001 From: Hermes Date: Wed, 12 Aug 2026 05:08:52 -0700 Subject: [PATCH] [grade=B] DC-072: Enable source maps in production esbuild bundles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add sourcemap: 'both' to esbuild.transform — emits inline + external .map files for production debugging. Stack traces now point to real source lines. DC-090: Already resolved — Dockerfile pins node:20.11.1-alpine3.19 (specific). --- status/build.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/status/build.js b/status/build.js index 0512377..352a9da 100644 --- a/status/build.js +++ b/status/build.js @@ -149,13 +149,18 @@ async function build() { const concatenated = parts.join(';\n'); // Minify with esbuild (safe to re-minify already-minified code like driver.min.js) - const { code } = await esbuild.transform(concatenated, { + // DC-072: sourcemap='both' emits inline + external .map for production debugging + const { code, map } = await esbuild.transform(concatenated, { minify: true, target: 'es2020', + sourcemap: 'both', }); const outPath = path.join(DIST, outName); fs.writeFileSync(outPath, code); + if (map) { + fs.writeFileSync(outPath + '.map', map); + } const rawSize = (Buffer.byteLength(concatenated) / 1024).toFixed(1); const minSize = (Buffer.byteLength(code) / 1024).toFixed(1);