1'use strict'; 2 3require('../common'); 4const assert = require('assert'); 5const fs = require('fs'); 6 7const errUnknownBuiltinModuleRE = /^No such built-in module: /u; 8 9// For direct use of require expressions inside of CJS modules, 10// all kinds of specifiers should work without issue. 11{ 12 assert.strictEqual(require('fs'), fs); 13 assert.strictEqual(require('node:fs'), fs); 14 15 assert.throws( 16 () => require('node:unknown'), 17 { 18 code: 'ERR_UNKNOWN_BUILTIN_MODULE', 19 message: errUnknownBuiltinModuleRE, 20 }, 21 ); 22 23 assert.throws( 24 () => require('node:internal/test/binding'), 25 { 26 code: 'ERR_UNKNOWN_BUILTIN_MODULE', 27 message: errUnknownBuiltinModuleRE, 28 }, 29 ); 30} 31 32// `node:`-prefixed `require(...)` calls bypass the require cache: 33{ 34 const fakeModule = {}; 35 36 require.cache.fs = { exports: fakeModule }; 37 38 assert.strictEqual(require('fs'), fakeModule); 39 assert.strictEqual(require('node:fs'), fs); 40 41 delete require.cache.fs; 42} 43