UNPKG

preferred-node-version

Version:

Get the preferred Node.js version of a project or user

28 lines (19 loc) 823 B
import{join,resolve}from"node:path"; import pLocate from"p-locate"; import{isFile}from"path-type"; import{getSearchDirs}from"./dirs.js"; import{loadVersionFile,NODE_VERSION_FILES}from"./load.js"; export const getFilePath=({cwd,globalOpt,files})=>{ const customFiles=files.map((filename)=>resolve(cwd,filename)); const searchFiles=getSearchFiles(cwd,globalOpt); return pLocate([...customFiles,...searchFiles],isNodeVersionFile) }; const getSearchFiles=(cwd,globalOpt)=>{ const searchDirs=getSearchDirs(cwd,globalOpt); const searchFiles=searchDirs.flatMap(addNodeVersionFiles); return searchFiles }; const addNodeVersionFiles=(searchDir)=> NODE_VERSION_FILES.map((filename)=>join(searchDir,filename)); const isNodeVersionFile=async(filePath)=> (await isFile(filePath))&&(await loadVersionFile(filePath))!==undefined;