REDROOM
PHP 8.2.30
Path:
Logout
Edit File
Size: 1.98 KB
Close
//opt/alt/alt-nodejs18/root/usr/lib/node_modules/npm/node_modules/@npmcli/package-json/lib/update-dependencies.js
Text
Base64
const depTypes = new Set([ 'dependencies', 'optionalDependencies', 'devDependencies', 'peerDependencies', ]) // sort alphabetically all types of deps for a given package const orderDeps = (content) => { for (const type of depTypes) { if (content && content[type]) { content[type] = Object.keys(content[type]) .sort((a, b) => a.localeCompare(b, 'en')) .reduce((res, key) => { res[key] = content[type][key] return res }, {}) } } return content } const updateDependencies = ({ content, originalContent }) => { const pkg = orderDeps({ ...content, }) // optionalDependencies don't need to be repeated in two places if (pkg.dependencies) { if (pkg.optionalDependencies) { for (const name of Object.keys(pkg.optionalDependencies)) { delete pkg.dependencies[name] } } } const result = { ...originalContent } // loop through all types of dependencies and update package json pkg for (const type of depTypes) { if (pkg[type]) { result[type] = pkg[type] } // prune empty type props from resulting object const emptyDepType = pkg[type] && typeof pkg === 'object' && Object.keys(pkg[type]).length === 0 if (emptyDepType) { delete result[type] } } // if original package.json had dep in peerDeps AND deps, preserve that. const { dependencies: origProd, peerDependencies: origPeer } = originalContent || {} const { peerDependencies: newPeer } = result if (origProd && origPeer && newPeer) { // we have original prod/peer deps, and new peer deps // copy over any that were in both in the original for (const name of Object.keys(origPeer)) { if (origProd[name] !== undefined && newPeer[name] !== undefined) { result.dependencies = result.dependencies || {} result.dependencies[name] = newPeer[name] } } } return result } updateDependencies.knownKeys = depTypes module.exports = updateDependencies
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 0 × Files: 6
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
index.js
6.14 KB
lrw-r--r--
2026-03-09 09:08:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
normalize.js
19.43 KB
lrw-r--r--
2026-03-09 09:08:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
read-package.js
1.02 KB
lrw-r--r--
2026-03-09 09:08:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
update-dependencies.js
1.98 KB
lrw-r--r--
2026-03-09 09:08:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
update-scripts.js
664 B
lrw-r--r--
2026-03-09 09:08:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
update-workspaces.js
626 B
lrw-r--r--
2026-03-09 09:08:37
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).