UNPKG

cross-import

Version:

Import .ts, .mjs, .cjs files across environments as JavaScript modules

31 lines (27 loc) 896 B
'use strict'; var jiti = require('jiti'); function crossImport(modulePath) { if (!modulePath) return; /** try to delete cache first */ try { if (require.cache[modulePath]) { delete require.cache[modulePath]; if (process.env.DEBUG) console.log('[cross-import] cache deleted'); } } catch {} try { if (process.env.DEBUG) console.log('[cross-import] require:', modulePath); return require(modulePath); } catch (error) { if (process.env.DEBUG) { console.error(error); console.log('[cross-import] fall back to jiti runtime transform:', modulePath); } return jiti.createJiti(__dirname, { cache: false, debug: !!process.env.DEBUG, fsCache: false, moduleCache: false })(modulePath); } } module.exports = crossImport;