Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
opt
/
nodejs-18
/
usr
/
lib
/
node_modules
/
npm
/
node_modules
/
libnpmexec
/
lib
/
//opt/nodejs-18/usr/lib/node_modules/npm/node_modules/libnpmexec/lib/file-exists.js
const { resolve } = require('path') const { stat } = require('fs/promises') const walkUp = require('walk-up-path') const fileExists = async (file) => { try { const res = await stat(file) return res.isFile() } catch { return false } } const localFileExists = async (dir, binName, root) => { for (const path of walkUp(dir)) { const binDir = resolve(path, 'node_modules', '.bin') if (await fileExists(resolve(binDir, binName))) { return binDir } if (path.toLowerCase() === resolve(root).toLowerCase()) { return false } } return false } module.exports = { fileExists, localFileExists, }