File Explorer

/proc/self/root/proc/1/task/1/root/node24/lib/node_modules/npm/node_modules/libnpmdiff/lib

This explorer reads the filesystem of the server it runs on, so /workspace/user isn't present here. Browsing and the terminal still work against this server's own disk from /.

index.js1.3 KB · 66 lines
const pacote = require('pacote') const formatDiff = require('./format-diff.js')const getTarball = require('./tarball.js')const untar = require('./untar.js') // TODO: we test this condition in the diff command// so this error probably doesnt need to be here. Or// if it does we should figure out a standard code// so we can catch it in the cli and display it consistentlyconst argsError = () =>  Object.assign(    new TypeError('libnpmdiff needs two arguments to compare'),    { code: 'EDIFFARGS' }  )const diff = async (specs, opts = {}) => {  if (specs.length !== 2) {    throw argsError()  }   const [    aManifest,    bManifest,  ] =    await Promise.all(specs.map(spec => pacote.manifest(spec, {      ...opts,      _isRoot: true,    })))   const versions = {    a: aManifest.version,    b: bManifest.version,  }   // fetches tarball using pacote  const [a, b] = await Promise.all([    getTarball(aManifest, opts),    getTarball(bManifest, opts),  ])   // read all files  // populates `files` and `refs`  const {    files,    refs,  } = await untar([    {      prefix: 'a/',      item: a,    },    {      prefix: 'b/',      item: b,    },  ], opts)   return formatDiff({    files,    opts,    refs,    versions,  })} module.exports = diff