Server IP : 66.29.132.122 / Your IP : 3.140.188.23 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /lib/node_modules/npm/node_modules/find-npm-prefix/ |
Upload File : |
'use strict' // try to find the most reasonable prefix to use module.exports = findPrefix const fs = require('fs') const path = require('path') function findPrefix (dir) { return new Promise((resolve, reject) => { dir = path.resolve(dir) // this is a weird special case where an infinite recurse of // node_modules folders resolves to the level that contains the // very first node_modules folder let walkedUp = false while (path.basename(dir) === 'node_modules') { dir = path.dirname(dir) walkedUp = true } if (walkedUp) { resolve(dir) } else { resolve(findPrefix_(dir)) } }) } function findPrefix_ (dir, original) { if (!original) original = dir const parent = path.dirname(dir) // this is a platform independent way of checking if we're in the root // directory if (parent === dir) return Promise.resolve(original) return new Promise((resolve, reject) => { fs.readdir(dir, (err, files) => { if (err) { // an error right away is a bad sign. // unless the prefix was simply a non // existent directory. if (err && dir === original && err.code !== 'ENOENT') { reject(err) } else { resolve(original) } } else if (files.indexOf('node_modules') !== -1 || files.indexOf('package.json') !== -1) { resolve(dir) } else { resolve(findPrefix_(parent, original)) } }) }) }