27 lines
788 B
JavaScript
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
|
|
};
|
|
} |