Nexus File Manager
v2.0
🏠
Dashboard
⚡
System
🌐
›
usr
›
lib
›
node_modules
›
npm
›
node_modules
›
find-npm-prefix
Quick:
⬆️ Parent
🌐 Root
🏠 Home
🌍 WWW
📁 Temp
⚙️ Etc
📤 Upload
📁 Create
⚡ WordPress Admin
🔄 Refresh
✏️ find-prefix.js
← Back
'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)) } }) }) }
💻
System Info
Current path
/usr/lib/node_modules/npm/node_modules/find-npm-prefix
Contents
0 folders, 4 files
Disk free
100.49 GB
PHP version
8.3.30
🚀
Quick Actions
📍 Script location
🌐 Web root
🗑️ Temp
📁 /usr/lib/node_modules/npm/node_modules/find-npm-prefix
⚡ Nexus File Manager • 4 items