TASK22109: email api contract cleanup and phase21 coverage

This commit is contained in:
2026-03-17 14:23:42 +00:00
parent 864da9fe23
commit 6610e5c7f3
6 changed files with 195 additions and 10 deletions
+22 -3
View File
@@ -7,13 +7,32 @@ const rootDir = path.resolve(__dirname, "..", "..");
const loadModule = (relativePath, injected = {}) => {
const filePath = path.join(rootDir, relativePath);
let source = fs.readFileSync(filePath, "utf8");
const defaultExportNames = [];
source = source.replace(/import[\s\S]*?from\s+"[^"]+";\n?/g, "");
source = source.replace(/export const\s+/g, "const ");
source = source.replace(
/export default\s+(\w+);/g,
"module.exports.default = $1;"
/export default async function\s+(\w+)\s*\(/g,
(match, name) => {
defaultExportNames.push(name);
return `async function ${name}(`;
}
);
source = source.replace(
/export default function\s+(\w+)\s*\(/g,
(match, name) => {
defaultExportNames.push(name);
return `function ${name}(`;
}
);
source = source.replace(/export const\s+/g, "const ");
source = source.replace(/export default\s+(\w+);/g, (match, name) => {
defaultExportNames.push(name);
return `module.exports.default = ${name};`;
});
defaultExportNames.forEach((name) => {
source += `\nif (typeof ${name} !== "undefined" && !module.exports.default) module.exports.default = ${name};\n`;
});
source +=
'\nif (typeof respondSuccess !== "undefined") module.exports.respondSuccess = respondSuccess;\n';