| Software: Apache. PHP/5.3.29 uname -a: Linux tardis23.nocplanet.net 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 
 Safe-mode: OFF (not secure) /opt/alt/alt-nodejs18/root/usr/lib/node_modules/npm/node_modules.bundled/bin-links/lib/   drwxr-xr-x | |
| Viewing file: Select action/file-type: 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
 | 
| :: Command execute :: | |
| --[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0211 ]-- |