Server IP : 51.89.169.208 / Your IP : 216.73.216.211 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /opt/cpanel/ea-nodejs20/lib/node_modules/npm/node_modules/libnpmdiff/lib/ |
Upload File : |
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 consistently const 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))) 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