Skip to content

Commit 139feb1

Browse files
authored
fix: take major version (#20)
1 parent 4639cd4 commit 139feb1

File tree

9 files changed

+47450
-158
lines changed

9 files changed

+47450
-158
lines changed

lib/formats/dotnet-cli-parser.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,14 @@ function parse(fileContent, packageTree) {
5959
// skip system packages in tree
6060
return;
6161
}
62-
dependency.dependencies[key] = new Dependecy(key, version);
62+
// a sub-dependency should never take priority over a regular one
63+
// even within the subtree
64+
if (packageTree.dependencies[key]) {
65+
dependency.dependencies[key] =
66+
new Dependecy(key, packageTree.dependencies[key].version);
67+
} else {
68+
dependency.dependencies[key] = new Dependecy(key, version);
69+
}
6370
}
6471
catch (err) {
6572
console.log(err);
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
var test = require('tap').test;
2+
var plugin = require('../lib/index');
3+
var projectPath = './test/stubs/dotnet_2/';
4+
var manifestFile = projectPath + 'obj/project.assets.json';
5+
var expectedTree = require('./stubs/dotnet_2/expected.json');
6+
7+
test('parse dotnet-cli 2 project and traverse packages', function (t) {
8+
plugin.inspect(
9+
null,
10+
manifestFile)
11+
.then(function (result) {
12+
t.deepEqual(
13+
result,
14+
expectedTree,
15+
'expects project data to be correct'
16+
);
17+
t.end();
18+
})
19+
.catch(function (error) {
20+
t.fail('Error was thrown: ' + err);
21+
});
22+
});

test/parse-dotnet-cli-2.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var expectedTree = require('./stubs/dotnet_project/expected.json');
66

77
test('parse dotnet-cli 2 project and traverse packages', function (t) {
88
plugin.inspect(
9-
projectPath,
9+
null,
1010
manifestFile)
1111
.then(function (result) {
1212
t.deepEqual(

test/parse-dotnet-cli-p-g.test.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
var test = require('tap').test;
2+
var plugin = require('../lib/index');
3+
var projectPath = './test/stubs/dotnet_p_g/';
4+
var manifestFile = projectPath + 'obj/project.assets.json';
5+
var expectedTree = require('./stubs/dotnet_p_g/expected.json');
6+
7+
test('parse dotnet-cli project and traverse packages', function (t) {
8+
plugin.inspect(
9+
projectPath,
10+
manifestFile,
11+
{
12+
packagesFolder: projectPath + './_packages',
13+
})
14+
.then(function (result) {
15+
t.deepEqual(
16+
result,
17+
expectedTree,
18+
'expects project data to be correct'
19+
);
20+
t.end();
21+
})
22+
.catch(function (error) {
23+
t.fail('Error was thrown: ' + err);
24+
});
25+
});

0 commit comments

Comments
 (0)