Optimize build process: add stale cache cleanup, ensure minification is disabled for SQLite-WASM stability, and improve source map handling
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 10m3s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 10m17s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Successful in 3m17s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 2m1s

This commit is contained in:
2026-03-04 19:32:14 +01:00
parent e6aa22acdb
commit 178aa97133
4 changed files with 48 additions and 39 deletions
@@ -137,36 +137,7 @@ config.devServer.devMiddleware.mimeTypes = {
'application/javascript': ['js']
};
// 10. OPTIMIZATION: Aggressively disable ALL minimizers
// This is the ONLY stable way to prevent the Terser crash with SQLite-WASM
// in Kotlin/JS Production builds.
if (config.optimization) {
console.log("SQLite Config: Aggressively removing minimizers to prevent Terser errors.");
config.optimization.minimize = false;
config.optimization.minimizer = []; // Das hier ist das entscheidende "Brecheisen"
}
/*// 10. OPTIMIZATION: Exclude SQLite workers from parsing and minification
// This fixes the "return outside of function" error in Terser and speeds up build
config.module.noParse = config.module.noParse || [];
if (Array.isArray(config.module.noParse)) {
config.module.noParse.push(/sqlite3-worker1\.mjs/);
config.module.noParse.push(/sqlite3\.mjs/);
} else {
// If it's a function or RegExp, we wrap it (simplified for now, assuming array or undefined)
config.module.noParse = [config.module.noParse, /sqlite3-worker1\.mjs/, /sqlite3\.mjs/];
}
if (config.optimization && config.optimization.minimizer) {
config.optimization.minimizer.forEach(minimizer => {
if (minimizer.constructor.name === 'TerserPlugin') {
minimizer.options.exclude = minimizer.options.exclude || [];
const excludePattern = /sqlite3-worker1\.mjs/;
if (Array.isArray(minimizer.options.exclude)) {
minimizer.options.exclude.push(excludePattern);
} else {
minimizer.options.exclude = [minimizer.options.exclude, excludePattern];
}
}
});
}*/
// 10. OPTIMIZATION: Handled by z_disable-minification.js
// Minification is disabled in the alphabetically-last config file to ensure
// it cannot be overridden by any subsequent Kotlin/JS or plugin step.
// See: webpack.config.d/z_disable-minification.js