seogeneratorserver/tests/_helpers/commonjs-bridge.js

27 lines
788 B
JavaScript

/**
* Bridge pour importer les modules CommonJS depuis les tests ES modules
*/
import { createRequire } from 'module';
import path from 'path';
const require = createRequire(import.meta.url);
const ROOT = process.cwd();
export function requireCommonJS(modulePath) {
try {
const fullPath = path.join(ROOT, 'lib', `${modulePath}.js`);
// Clear require cache pour tests fraîches
delete require.cache[require.resolve(fullPath)];
return require(fullPath);
} catch (error) {
throw new Error(`Failed to require ${modulePath}: ${error.message}`);
}
}
export function mockModule(modulePath, mockExports) {
const fullPath = path.join(ROOT, 'lib', `${modulePath}.js`);
require.cache[require.resolve(fullPath)] = {
exports: mockExports,
loaded: true
};
}