New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

copy-dependencies

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

copy-dependencies - npm Package Compare versions

Comparing version 0.0.3 to 0.0.4

75

index.js

@@ -26,9 +26,3 @@ #!/usr/bin/env node

function merge(source, target) {
var merged = Object.assign(
{},
source,
target
);
// sort
function sort(merged) {
return Object.keys(merged).sort().reduce((sorted, key) => {

@@ -40,6 +34,53 @@ sorted[key] = merged[key];

function merge(target, source) {
return Object.assign(
{},
target,
source
);
}
function logChanges(merged, target, pkgKey) {
var changes = Object.keys(merged).reduce((acc, key) => {
if(merged[key] != target[key]) {
acc[key] = merged[key];
}
return acc;
}, {});
var maxLength = Object.keys(changes).reduce((acc, key) => Math.max(key.length, acc), 0);
if(Object.keys(changes).length) {
console.log();
console.log(pkgKey);
Object.keys(changes).forEach(key => {
if(merged[key] && target[key] && (merged[key] !== target[key])) {
console.warn(`${key.padStart(maxLength)}: ${target[key]} => ${merged[key]}`)
} else if (merged[key] && !target[key]) {
console.warn(`${key.padStart(maxLength)}: => ${merged[key]}`)
}
});
}
}
function processDependencies(sourcePkg, targetPkg, key) {
var source = sourcePkg[key];
var target = targetPkg[key];
var merged = merge(target, source);
var sorted = sort(merged, source);
logChanges(sorted, target, key);
// sort
return sorted;
}
if(sourcePackage.dependencies) {
targetPackage.dependencies = merge(
sourcePackage.dependencies,
targetPackage.dependencies
targetPackage.dependencies = processDependencies(
sourcePackage,
targetPackage,
'dependencies'
);

@@ -49,5 +90,6 @@ };

if(sourcePackage.devDependencies) {
targetPackage.devDependencies = merge(
sourcePackage.devDependencies,
targetPackage.devDependencies
targetPackage.devDependencies = processDependencies(
sourcePackage,
targetPackage,
'devDependencies'
);

@@ -57,5 +99,6 @@ };

if(sourcePackage.peerDependencies) {
targetPackage.peerDependencies = merge(
sourcePackage.peerDependencies,
targetPackage.peerDependencies
targetPackage.peerDependencies = processDependencies(
sourcePackage,
targetPackage,
'peerDependencies'
);

@@ -62,0 +105,0 @@ };

{
"name": "copy-dependencies",
"version": "0.0.3",
"version": "0.0.4",
"description": "Copy the dependencies, peerDependencies and devDependencies from one node package to another.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -5,2 +5,4 @@ # copy-dependencies

(updates the target package.json file, does not copy any files across)
## Usage

@@ -7,0 +9,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc