SourceTermAnalysisSystem_vue/node_modules/eslint-plugin-n/lib/util/extend-trackmap-with-node-prefix.js
2026-05-15 10:22:44 +08:00

22 lines
668 B
JavaScript

"use strict"
const { isBuiltin } = require("node:module")
/**
* Extend traceMap.modules with `node:` prefixed modules
* @template {import('@eslint-community/eslint-utils').TraceMap<*>} TraceMap
* @param {TraceMap} modules Like `{assert: foo}`
* @returns {TraceMap} Like `{assert: foo}, "node:assert": foo}`
*/
module.exports = function extendTraceMapWithNodePrefix(modules) {
const ret = {
...modules,
...Object.fromEntries(
Object.entries(modules)
.map(([name, value]) => [`node:${name}`, value])
.filter(([name]) => typeof name === "string" && isBuiltin(name))
),
}
return ret
}