Actualmente tengo una plantilla leída de un archivo en tstr y reemplazo los marcadores de posición así:
const obj = { main: 3 }; const func = () => { const a = 2; }; let tstr = ` <fname func> <fbare func> <var obj.main> `; tstr = tstr.replace(/<var ([^>]+)>/g, function () { return eval(arguments[1]) }); tstr = tstr.replace(/<fbare ([^>]+)>/g, function () { return eval(arguments[1]).toString() }); tstr = tstr.replace(/<fname ([^>]+)>/g, function () { return arguments[1] + ' = ' + eval(arguments[1]).toString() }); console.log(tstr);¿Hay una manera simple de reescribir estos reemplazos sin eval?