PHP 8.2.30
Preview: link-mans.js Size: 1.56 KB
/opt/alt/alt-nodejs16/root/usr/lib/node_modules/npm/node_modules/bin-links/lib/link-mans.js

const { dirname, relative, join, resolve, basename } = require('path')
const linkGently = require('./link-gently.js')
const manTarget = require('./man-target.js')

const linkMans = ({ path, pkg, top, force }) => {
  const target = manTarget({ path, top })
  if (!target || !pkg.man || !Array.isArray(pkg.man) || !pkg.man.length) {
    return Promise.resolve([])
  }

  // break any links to c:\\blah or /foo/blah or ../blah
  // and filter out duplicates
  const set = [...new Set(pkg.man.map(man =>
    man ? join('/', man).replace(/\\|:/g, '/').slice(1) : null)
    .filter(man => typeof man === 'string'))]

  return Promise.all(set.map(man => {
    const parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
    if (!parseMan) {
      return Promise.reject(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 stem = parseMan[1]
    const sxn = parseMan[2]
    const base = basename(stem)
    const absFrom = resolve(path, man)
    /* istanbul ignore if - that unpossible */
    if (absFrom.indexOf(path) !== 0) {
      return Promise.reject(Object.assign(new Error('invalid man entry'), {
        code: 'EBADMAN',
        path,
        pkgid: pkg._id,
        man,
      }))
    }

    const to = resolve(target, 'man' + sxn, base)
    const from = relative(dirname(to), absFrom)

    return linkGently({ from, to, path, absFrom, force })
  }))
}

module.exports = linkMans

Directory Contents

Dirs: 0 × Files: 15

Name Size Perms Modified Actions
329 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
2.07 KB lrw-r--r-- 2026-03-17 06:55:04
Edit Download
493 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
1.30 KB lrw-r--r-- 2026-03-17 06:55:04
Edit Download
534 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
1.22 KB lrw-r--r-- 2026-03-17 06:55:04
Edit Download
147 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
1.33 KB lrw-r--r-- 2026-03-17 06:55:04
Edit Download
118 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
343 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
775 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
2.72 KB lrw-r--r-- 2026-03-17 06:55:04
Edit Download
1.56 KB lrw-r--r-- 2026-03-17 06:55:04
Edit Download
232 B lrw-r--r-- 2026-03-17 06:55:04
Edit Download
2.11 KB lrw-r--r-- 2026-03-17 06:55:04
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).