PHP 8.2.30
Preview: read-shrinkwrap.js Size: 1.97 KB
/proc/self/root/proc/thread-self/root/opt/alt/alt-nodejs9/root/usr/lib/node_modules/npm/lib/install/read-shrinkwrap.js

'use strict'

const BB = require('bluebird')

const fs = require('graceful-fs')
const iferr = require('iferr')
const inflateShrinkwrap = require('./inflate-shrinkwrap.js')
const log = require('npmlog')
const parseJSON = require('../utils/parse-json.js')
const path = require('path')
const PKGLOCK_VERSION = require('../npm.js').lockfileVersion

const readFileAsync = BB.promisify(fs.readFile)

module.exports = readShrinkwrap
function readShrinkwrap (child, next) {
  if (child.package._shrinkwrap) return process.nextTick(next)
  BB.join(
    maybeReadFile('npm-shrinkwrap.json', child),
    // Don't read non-root lockfiles
    child.isTop && maybeReadFile('package-lock.json', child),
    child.isTop && maybeReadFile('package.json', child),
    (shrinkwrap, lockfile, pkgJson) => {
      if (shrinkwrap && lockfile) {
        log.warn('read-shrinkwrap', 'Ignoring package-lock.json because there is already an npm-shrinkwrap.json. Please use only one of the two.')
      }
      const name = shrinkwrap ? 'npm-shrinkwrap.json' : 'package-lock.json'
      let parsed = null
      if (shrinkwrap || lockfile) {
        try {
          parsed = parseJSON(shrinkwrap || lockfile)
        } catch (ex) {
          throw ex
        }
      }
      if (parsed && parsed.lockfileVersion !== PKGLOCK_VERSION) {
        log.warn('read-shrinkwrap', `This version of npm is compatible with lockfileVersion@${PKGLOCK_VERSION}, but ${name} was generated for lockfileVersion@${parsed.lockfileVersion || 0}. I'll try to do my best with it!`)
      }
      child.package._shrinkwrap = parsed
    }
  ).then(() => next(), next)
}

function maybeReadFile (name, child) {
  return readFileAsync(
    path.join(child.path, name)
  ).catch({code: 'ENOENT'}, () => null)
}

module.exports.andInflate = function (child, next) {
  readShrinkwrap(child, iferr(next, function () {
    if (child.package._shrinkwrap) {
      return inflateShrinkwrap(child, child.package._shrinkwrap || {}, next)
    } else {
      return next()
    }
  }))
}

Directory Contents

Dirs: 1 × Files: 33

Name Size Perms Modified Actions
action DIR
- drwxr-xr-x 2024-03-03 22:42:04
Edit Download
202 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
5.52 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
324 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
360 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
204 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.85 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
881 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.81 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
26.41 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
8.52 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
775 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1021 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
427 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
628 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
7.24 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
175 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
618 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
763 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.19 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
462 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
185 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
172 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
259 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
4.52 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.85 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.97 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
621 B lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.02 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
5.60 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.87 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
2.45 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
3.10 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download
1.00 KB lrw-r--r-- 2021-09-28 11:28:09
Edit Download

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