Socket
Socket
Sign inDemoInstall

snyk-nuget-plugin

Package Overview
Dependencies
Maintainers
1
Versions
123
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

snyk-nuget-plugin - npm Package Compare versions

Comparing version 1.1.0 to 1.1.1

31

lib/dependency.js

@@ -1,5 +0,4 @@

function Dependency(name, version, targetFramework) {
function Dependency(name, version) {
this.name = name;
this.version = version;
this.targetFramework = targetFramework;
this.dependencies = {};

@@ -12,3 +11,3 @@ this.versionSpec = 'unknown';

// clone, without the dependencies
var result = new Dependency(this.name, this.version, this.targetFramework);
var result = new Dependency(this.name, this.version);
result.versionSpec = this.versionSpec;

@@ -18,8 +17,24 @@ return result;

Dependency.extractFromDotVersionNotation = function (expression) {
var versionRef = /(?=\S+)(?=\.{1})((\.\d+)+)/.exec(expression)[0];
var name = expression.split(versionRef)[0];
return {
name: name,
version: versionRef.slice(1),
};
};
Dependency.from = {
folderName: function (folderName) {
var info = Dependency.extractFromDotVersionNotation(folderName);
var result = new Dependency(
info.name,
info.version
);
return result;
},
packgesConfigEntry: function (manifest) {
var result = new Dependency(
manifest.$.id,
manifest.$.version,
manifest.$.targetFramework);
manifest.$.version);
result.versionSpec = manifest.$.version;

@@ -34,5 +49,5 @@ return result;

.split(sep).slice(2,3).join(sep);
var versionRef = /(?=\S+)(?=\.{1})((\.\d+)+)/.exec(depLocalPath)[0];
var name = depLocalPath.split(versionRef)[0];
var version = versionRef.slice(1);
var packageInfo = Dependency.extractFromDotVersionNotation(depLocalPath);
var name = packageInfo.name;
var version = packageInfo.version;
var result = new Dependency(

@@ -39,0 +54,0 @@ name,

@@ -26,7 +26,4 @@ var fs = require('fs');

// TODO: attempt to retreive the root package name, version
module.exports = {
inspect: function (root, targetFile, options) {
debugger;
var flattendPackageList = {};

@@ -122,10 +119,32 @@ var nuspecResolutions = {};

}).then(function scanInstalled(installedPackages) {
function injectPath(dep) {
dep.path = path.resolve(
projectRootFolder,
'packages',
dep.name + '.' + dep.version);
}
installedPackages.forEach(function (entry) {
entry.path =
path.resolve(
projectRootFolder,
'packages',
entry.name + '.' + entry.version);
injectPath(entry);
flattendPackageList[entry.name] = entry;
});
try {
fs.readdirSync(path.resolve(projectRootFolder, 'packages'))
.filter(function (name) {
return name.slice(0, 7).toLowerCase() !== 'system.'
})
.map(function (folderName) {
return Dependecy.from.folderName(folderName);
})
.forEach(function (dep) {
injectPath(dep);
flattendPackageList[dep.name] = flattendPackageList[dep.name] || dep;
});
} catch (error) {
// could not read installed packages folder
}
var sorted = {}
Object.keys(flattendPackageList).sort().forEach(function (key) {
sorted[key] = flattendPackageList[key];
});
flattendPackageList = sorted;
}).then(function fetchNugetInformationFromPackages() {

@@ -162,4 +181,3 @@ // initiate collecting information from .nuget files on installed packages

requiredChild.name,
requiredChild.version,
requiredChild.targetFramework);
requiredChild.version);
transitiveDependency.versionSpec = requiredChild.version;

@@ -194,3 +212,2 @@ }

}
return packageTree;

@@ -197,0 +214,0 @@ })['catch'](function (err) {

@@ -37,3 +37,3 @@ var zip = require('zip');

(group.dependency || []).forEach(function (dep) {
const transitiveDependency = new Dependency(dep.$.id, dep.$.version, group.$.targetFramework) // jscs:ignore
var transitiveDependency = new Dependency(dep.$.id, dep.$.version) // jscs:ignore
transitiveDependency.versionSpec = dep.$.versionSpec

@@ -44,3 +44,3 @@ ownDependencies.push(transitiveDependency);

(rawDependency.dependency || []).forEach(function (dep) {
const transitiveDependency =
var transitiveDependency =
new Dependency(dep.$.id, dep.$.version, null);

@@ -47,0 +47,0 @@ transitiveDependency.versionSpec = dep.$.version;

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

{"name":"snyk-nuget-plugin","description":"![logo](https://res.cloudinary.com/snyk/image/upload/v1468845259/logo/snyk-dog.svg) ## Snyk: NuGet Plugin ***","main":"lib/index.js","scripts":{"lint":"jscs `find ./lib -name '*.js'` -v && jscs `find ./test -name '*.js'` -v","test":"npm run unit-test","unit-test":"tap `ls ./test/*.test.js` -R=spec","dev":"nodemon -x 'npm run unit-test'","semantic-release":"semantic-release pre && npm publish && semantic-release post"},"repository":{"type":"git","url":"https://github.com/snyk/snyk-nuget-plugin.git"},"keywords":["snyk","nuget"],"author":"snyk.io","license":"Apache-2.0","bugs":{"url":"https://github.com/snyk/snyk-nuget-plugin/issues"},"homepage":"https://github.com/snyk/snyk-nuget-plugin#readme","dependencies":{"es6-promise":"^4.1.1","xml2js":"^0.4.17","zip":"^1.2.0"},"devDependencies":{"jscs":"^3.0.7","nodemon":"^1.12.1","semantic-release":"^8.2.0","tap":"^10.7.0","tap-only":"0.0.5"},"version":"1.1.0"}
{"name":"snyk-nuget-plugin","description":"![logo](https://res.cloudinary.com/snyk/image/upload/v1468845259/logo/snyk-dog.svg) ## Snyk: NuGet Plugin ***","main":"lib/index.js","scripts":{"lint":"jscs `find ./lib -name '*.js'` -v && jscs `find ./test -name '*.js'` -v","test":"npm run unit-test","unit-test":"tap `ls ./test/*.test.js` -R=spec","dev":"nodemon -x 'npm run unit-test'","semantic-release":"semantic-release pre && npm publish && semantic-release post"},"repository":{"type":"git","url":"https://github.com/snyk/snyk-nuget-plugin.git"},"keywords":["snyk","nuget"],"author":"snyk.io","license":"Apache-2.0","bugs":{"url":"https://github.com/snyk/snyk-nuget-plugin/issues"},"homepage":"https://github.com/snyk/snyk-nuget-plugin#readme","dependencies":{"es6-promise":"^4.1.1","xml2js":"^0.4.17","zip":"^1.2.0"},"devDependencies":{"jscs":"^3.0.7","nodemon":"^1.12.1","semantic-release":"^8.2.0","tap":"^10.7.0","tap-only":"0.0.5"},"version":"1.1.1"}
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