Socket
Socket
Sign inDemoInstall

codependency

Package Overview
Dependencies
1
Maintainers
2
Versions
9
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.0 to 2.0.0

.eslintignore

52

index.js

@@ -0,1 +1,3 @@

'use strict';
var dirname = require('path').dirname;

@@ -7,2 +9,23 @@ var pathJoin = require('path').join;

function isRealDep(dependencies, name) {
if (!dependencies) {
return false;
}
if (!dependencies[name]) {
return false;
}
return true;
}
function isRealDepInPackage(pkg, name) {
return (
isRealDep(pkg.dependencies, name) ||
isRealDep(pkg.devDependencies, name) ||
isRealDep(pkg.optionalDependencies, name)
);
}
/**

@@ -13,2 +36,3 @@ * Resolves a peer dependency

* @param {Module} baseMod The middleware module from where we resolve.
* @param {Object} basePkg The parsed package.json of the base module.
* @param {string} name The name of the peer dependency to resolve.

@@ -18,6 +42,5 @@ * @returns {Object} Information about the peer dependency.

function realResolve(deps, baseMod, name) {
var pos;
if (~(pos = name.indexOf('/'))) {
function realResolve(deps, baseMod, basePkg, name) {
var pos = name.indexOf('/');
if (pos !== -1) {
name = name.slice(0, pos);

@@ -36,2 +59,10 @@ }

// if the dependency is never mentioned in package.json of the app, we consider it not-installed
if (!isRealDepInPackage(basePkg, name)) {
resolved.isInstalled = false;
resolved.isValid = false;
return resolved;
}
var pkg;

@@ -67,2 +98,3 @@

* @param {Module} baseMod The middleware module from where we require.
* @param {Object} basePkg The parsed package.json of the base module.
* @param {string} middlewareName The name of the middleware that is requiring.

@@ -76,6 +108,6 @@ * @param {string} name The name of the peer dependency to require.

function realRequire(deps, baseMod, middlewareName, name, options) {
function realRequire(deps, baseMod, basePkg, middlewareName, name, options) {
options = options || {};
var resolved = realResolve(deps, baseMod, name);
var resolved = realResolve(deps, baseMod, basePkg, name);
var isInstalled = resolved.isInstalled;

@@ -293,10 +325,14 @@ var range = resolved.supportedRange || '*';

// find the package.json belonging to the application
var basePkg = exports.findPackage(baseModule);
// create and return a requirePeer function
function requirePeer(name, options) {
return realRequire(deps, baseModule, middlewareName, name, options);
return realRequire(deps, baseModule, basePkg, middlewareName, name, options);
}
requirePeer.resolve = function (name) {
return realResolve(deps, baseModule, name);
return realResolve(deps, baseModule, basePkg, name);
};

@@ -303,0 +339,0 @@

10

package.json

@@ -11,3 +11,3 @@ {

],
"version": "1.0.0",
"version": "2.0.0",
"description": "Optional peer dependencies",

@@ -19,3 +19,3 @@ "main": "index.js",

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
"test": "eslint ."
},

@@ -27,3 +27,7 @@ "repository": {

"author": "Ron Korving <rkorving@wizcorp.jp>",
"license": "MIT"
"license": "MIT",
"devDependencies": {
"eslint": "^3.19.0",
"pre-commit": "^1.2.2"
}
}
SocketSocket SOC 2 Logo

Product

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc