Server IP : 66.29.132.122 / Your IP : 3.142.124.237 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 : /proc/self/root/opt/alt/alt-nodejs20/root/lib/node_modules/npm/node_modules.bundled/bin-links/lib/ |
Upload File : |
const { dirname, relative, join, resolve, basename } = require('path') const linkGently = require('./link-gently.js') const manTarget = require('./man-target.js') const linkMans = async ({ path, pkg, top, force }) => { const target = manTarget({ path, top }) if (!target || !Array.isArray(pkg?.man) || !pkg.man.length) { return [] } const links = [] // `new Set` to filter out duplicates for (let man of new Set(pkg.man)) { if (!man || typeof man !== 'string') { continue } // break any links to c:\\blah or /foo/blah or ../blah man = join('/', man).replace(/\\|:/g, '/').slice(1) const parseMan = man.match(/\.([0-9]+)(\.gz)?$/) if (!parseMan) { throw Object.assign(new Error('invalid man entry name\n' + 'Man files must end with a number, ' + 'and optionally a .gz suffix if they are compressed.' ), { code: 'EBADMAN', path, pkgid: pkg._id, man, }) } const section = parseMan[1] const base = basename(man) const absFrom = resolve(path, man) /* istanbul ignore if - that unpossible */ if (absFrom.indexOf(path) !== 0) { throw Object.assign(new Error('invalid man entry'), { code: 'EBADMAN', path, pkgid: pkg._id, man, }) } const to = resolve(target, 'man' + section, base) const from = relative(dirname(to), absFrom) links.push(linkGently({ from, to, path, absFrom, force })) } return Promise.all(links) } module.exports = linkMans