'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; }