Skip to content

Commit

Permalink
module: add isBuiltIn method
Browse files Browse the repository at this point in the history
  • Loading branch information
hemanth committed Jun 14, 2022
1 parent 5ca2ab1 commit ec1f95a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 0 deletions.
5 changes: 5 additions & 0 deletions lib/internal/modules/cjs/loader.js
Expand Up @@ -1293,5 +1293,10 @@ Module.syncBuiltinESMExports = function syncBuiltinESMExports() {
}
};

Module.isBuiltIn = function isBuiltIn(moduleName) {
moduleName = String(moduleName).replace('node:', '');
return Module.builtinModules.includes(moduleName);
};

// Backwards compatibility
Module.Module = Module;
13 changes: 13 additions & 0 deletions test/parallel/test-module-isBuiltIn.js
@@ -0,0 +1,13 @@
'use strict';
require('../common');
const assert = require('assert');
const { isBuiltIn } = require('module');

// Includes modules in lib/ (even deprecated ones)
assert(isBuiltIn('http'));
assert(isBuiltIn('sys'));

// Does not include internal modules
assert(!isBuiltIn('internal'));
assert(!isBuiltIn(''));
assert(!isBuiltIn(undefined));

0 comments on commit ec1f95a

Please sign in to comment.