Closed
Description
First issue: https://nodejs.org/dist/v12.2.0/docs/api/esm.html
Problem: mentions the deprecated module.createRequireFromPath()
(and not module.createRequire()
).
Second issue: https://nodejs.org/dist/v12.2.0/docs/api/modules.html#modules_module_createrequire_filename
The code example is:
const { createRequire } = require('module');
const requireUtil = createRequire(require.resolve('../src/utils/'));
// Require `../src/utils/some-tool`
requireUtil('./some-tool');
I believe this would be a better example (import
vs. require
; import.meta.url
vs. require.resolve()
):
import {createRequire} from 'module';
const require = createRequire(import.meta.url);
const siblingModule = require('./sibling-module.cjs');
Additionally, one could demonstrate url.pathToFileURL()
and import a module via an absolute path. I suspect that it may be better not to allow absolute paths as arguments for createRequire()
.