📅 You're Invited: Meet the Socket team at RSAC (April 28 – May 1).RSVP
Socket
Sign inDemoInstall
Socket

deps-install

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

deps-install - npm Package Compare versions

Comparing version

to
0.2.1

25

index.js
'use strict';
const fs = require('fs');
const { resolve, join } = require('path');
const { resolve, join, basename, dirname } = require('path');
const cp = require('child_process');

@@ -27,3 +27,5 @@ const { promisify } = require('util');

const readVersions = async (root, filterer) => {
const AT = '@';
const readVersions = async (root, filterer, namespaces) => {
const moduleRoot = join(root, 'node_modules');

@@ -33,6 +35,8 @@ const entries = await readdirp.promise(moduleRoot, {

directoryFilter(entry) {
const dirName = entry.path.replace(moduleRoot, '');
return filterer.has(dirName);
if (entry.path.startsWith(AT) && entry.basename.startsWith(AT)) {
return namespaces.has(entry.basename);
}
return filterer.has(entry.path);
},
depth: 1
depth: 2
});

@@ -57,7 +61,14 @@

}
const filterer = new Set(Object.keys(deps));
const filterer = new Set();
const namespaces = new Set();
Object.keys(deps).forEach(dep => {
if (dep.startsWith(AT)) {
namespaces.add(dirname(dep));
}
filterer.add(dep);
});
if (Object.keys(deps).length === 0) {
return [];
}
const installed = await readVersions(root, filterer);
const installed = await readVersions(root, filterer, namespaces);
const needUpdate = Object.keys(deps).filter(name => {

@@ -64,0 +75,0 @@ if (!installed.hasOwnProperty(name)) return true;

{
"name": "deps-install",
"version": "0.2.0",
"version": "0.2.1",
"description": "Check if node_modules match package.json versions. npm / yarn install shortcut.",

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