mirror of
https://github.com/nodejs/node.git
synced 2025-04-28 13:40:37 +00:00

Fixes: https://github.com/nodejs/node/issues/36098 Co-authored-by: Antoine du Hamel <duhamelantoine1995@gmail.com> Co-authored-by: Guy Bedford <guybedford@gmail.com> Co-authored-by: Darshan Sen <raisinten@gmail.com> PR-URL: https://github.com/nodejs/node/pull/37246 Reviewed-By: Bradley Farias <bradley.meck@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
43 lines
965 B
JavaScript
43 lines
965 B
JavaScript
'use strict';
|
|
|
|
require('../common');
|
|
const assert = require('assert');
|
|
const fs = require('fs');
|
|
|
|
const errUnknownBuiltinModuleRE = /^No such built-in module: /u;
|
|
|
|
// For direct use of require expressions inside of CJS modules,
|
|
// all kinds of specifiers should work without issue.
|
|
{
|
|
assert.strictEqual(require('fs'), fs);
|
|
assert.strictEqual(require('node:fs'), fs);
|
|
|
|
assert.throws(
|
|
() => require('node:unknown'),
|
|
{
|
|
code: 'ERR_UNKNOWN_BUILTIN_MODULE',
|
|
message: errUnknownBuiltinModuleRE,
|
|
},
|
|
);
|
|
|
|
assert.throws(
|
|
() => require('node:internal/test/binding'),
|
|
{
|
|
code: 'ERR_UNKNOWN_BUILTIN_MODULE',
|
|
message: errUnknownBuiltinModuleRE,
|
|
},
|
|
);
|
|
}
|
|
|
|
// `node:`-prefixed `require(...)` calls bypass the require cache:
|
|
{
|
|
const fakeModule = {};
|
|
|
|
require.cache.fs = { exports: fakeModule };
|
|
|
|
assert.strictEqual(require('fs'), fakeModule);
|
|
assert.strictEqual(require('node:fs'), fs);
|
|
|
|
delete require.cache.fs;
|
|
}
|