2025-11-03 19:47:01 +01:00
|
|
|
/**
|
2025-11-03 23:49:21 +01:00
|
|
|
* Vitest setup file for module aliasing and CI logging
|
2025-11-03 19:47:01 +01:00
|
|
|
* This allows require("logger") to work in unit tests
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
const Module = require("node:module");
|
|
|
|
|
const path = require("node:path");
|
|
|
|
|
|
2025-11-03 23:49:21 +01:00
|
|
|
// Set test mode flag for application code to detect test environment
|
|
|
|
|
process.env.mmTestMode = "true";
|
|
|
|
|
|
2025-11-03 19:47:01 +01:00
|
|
|
// Store the original require
|
|
|
|
|
const originalRequire = Module.prototype.require;
|
|
|
|
|
|
2025-11-03 23:49:21 +01:00
|
|
|
// Track if we've already applied log level
|
|
|
|
|
let logLevelApplied = false;
|
|
|
|
|
|
2025-11-03 19:47:01 +01:00
|
|
|
// Override require to handle our custom aliases
|
|
|
|
|
Module.prototype.require = function (id) {
|
|
|
|
|
// Handle "logger" alias
|
|
|
|
|
if (id === "logger") {
|
2025-11-03 23:49:21 +01:00
|
|
|
const logger = originalRequire.call(this, path.resolve(__dirname, "../../js/logger.js"));
|
|
|
|
|
|
|
|
|
|
// Suppress debug/info logs in CI to keep output clean
|
|
|
|
|
if (!logLevelApplied && process.env.CI === "true") {
|
|
|
|
|
logger.setLogLevel("ERROR");
|
|
|
|
|
logLevelApplied = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return logger;
|
2025-11-03 19:47:01 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Handle all other requires normally
|
|
|
|
|
return originalRequire.apply(this, arguments);
|
|
|
|
|
};
|