mirror of
https://github.com/denoland/deno.git
synced 2025-02-23 21:53:26 -05:00

This will respect `"type": "commonjs"` in a package.json to determine if `.js`/`.jsx`/`.ts`/.tsx` files are CJS or ESM. If the file is found to be ESM it will be loaded as ESM though.
12 lines
478 B
JavaScript
12 lines
478 B
JavaScript
const tempDir = Deno.makeTempDirSync();
|
|
try {
|
|
// should work requiring these because this was launched via a node binary entrypoint
|
|
Deno.writeTextFileSync(`${tempDir}/index.js`, "module.exports = require('./other');");
|
|
Deno.writeTextFileSync(`${tempDir}/other.js`, "module.exports = (a, b) => a + b;");
|
|
const add = require(`${tempDir}/index.js`);
|
|
if (add(1, 2) !== 3) {
|
|
throw new Error("FAILED");
|
|
}
|
|
} finally {
|
|
Deno.removeSync(tempDir, { recursive: true });
|
|
}
|