UNPKG

nvexeca

Version:
41 lines (23 loc) 833 B
import{readFile}from"node:fs/promises"; export const getContent=async({type,srcBinDir,filename})=>{ const path=`${srcBinDir}/${filename}`; const content=await readFile(path,"utf8"); const distContent=CONTENTS[type](srcBinDir,content); return distContent }; const getCmdContent=(srcBinDir,content)=>{ const srcBinDirA=srcBinDir.replaceAll("/","\\"); return content.replaceAll(CMD_REGEXP,`${srcBinDirA}$2`) }; const CMD_REGEXP=/(%%F|%~dp0|%dp0%)(\\node_modules)/gu; const getShellContent=(srcBinDir,content)=>{ const srcBinDirA=srcBinDir.replace("\\","/"); return content.replaceAll(SHELL_REGEXP,`${srcBinDirA}$1`) }; const SHELL_REGEXP= /(\$basedir|\$CLI_BASEDIR|\$NPM_PREFIX|\$PSScriptRoot|"\$nodedir|"\$npmprefix)(\/node_modules)/gu; const CONTENTS={ cmd:getCmdContent, bash:getShellContent, ps1:getShellContent };