Skip to content

Commit

Permalink
Support for scoped packages
Browse files Browse the repository at this point in the history
Fixes #2
  • Loading branch information
nknapp committed May 8, 2017
1 parent 9c3a479 commit cefa825
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 7 deletions.
4 changes: 2 additions & 2 deletions src/find-packages.js
Expand Up @@ -7,7 +7,7 @@ var Glob = require('glob').Glob
function findPackages (cwd, progressHandler) {
return new Promise((resolve, reject) => {
const matcher = new Glob(
'**/node_modules/*/package.json',
'**/node_modules/{@*/,}*/package.json',
{cwd},
(err, results) => err ? /* istanbul ignore next */ reject(err) : resolve(results)
)
Expand All @@ -18,7 +18,7 @@ function findPackages (cwd, progressHandler) {
.then(dependencies => {
// Only allow paths liks node_modules/pkg-name/node_modules/pkg-name/node_modules/pkg-name/package.json
return dependencies.filter((file) => {
const valid = file.match(/^(node_modules\/[^/]*\/)*package.json/)
const valid = file.match(/^(node_modules\/(@[^/]*\/)?[^/]*\/)*package.json/)
return valid
})
})
Expand Down
5 changes: 5 additions & 0 deletions test/DependencyTree-spec.js
Expand Up @@ -12,6 +12,11 @@ describe('The DependencyTree-class:', function () {
it('should create a DependencyTree with production dependencies', function () {
return DependencyTree.loadFrom('test/fixtures/moduleWithDeps/package.json')
.then((tree) => expect(visit(tree.prod)).to.deep.equal([
{
'_id': '@scope/pkg@1.0.0',
'_size': 8192,
'deps': []
},
{
'_id': 'dep1@1.0.0',
'_size': 16384,
Expand Down
5 changes: 3 additions & 2 deletions test/fixtures/moduleWithDeps-depth1.txt
@@ -1,3 +1,4 @@
size: 24k... with-dependencies: 56k
size: 24k... with-dependencies: 64k
├── dep1@1.0.0, 16k, 1 deps
└── dep2@1.0.0, 16k, 1 deps
├── dep2@1.0.0, 16k, 1 deps
└── @scope/pkg@1.0.0, 8k, 0 deps
7 changes: 4 additions & 3 deletions test/fixtures/moduleWithDeps.txt
@@ -1,5 +1,6 @@
size: 24k... with-dependencies: 56k
size: 24k... with-dependencies: 64k
├─┬ dep1@1.0.0, 16k, 1 deps
│ └── dep1a@1.0.0, 8k, 0 deps
└─┬ dep2@1.0.0, 16k, 1 deps
└── dep2a@1.0.0, 8k, 0 deps
├─┬ dep2@1.0.0, 16k, 1 deps
│ └── dep2a@1.0.0, 8k, 0 deps
└── @scope/pkg@1.0.0, 8k, 0 deps

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit cefa825

Please sign in to comment.