Current Dev State

This commit is contained in:
Tim Lorsbach
2025-06-23 20:13:54 +02:00
parent b4f9bb277d
commit ded50edaa2
22617 changed files with 4345095 additions and 174 deletions

View File

@ -0,0 +1,28 @@
'use strict'
var detective = require('detective')
var patch = require('patch-text')
var hasRequire = require('has-require')
var extend = require('xtend')
module.exports = function replaceRequires (code, replacements) {
var checker = new hasRequire.Checker(code)
var ids = Object.keys(replacements)
if (!ids.some(checker.has, checker)) return code
return patch(code, detective
.find(code, {nodes: true})
.nodes
.filter(requireLiteral)
.map(function (node) {
return extend(node, {replacement: replacements[node.arguments[0].value]})
})
.filter(function (node) {
return node.replacement != null
}))
}
function requireLiteral (node) {
var arg = node.arguments[0]
return arg && arg.type === 'Literal'
}