1 | _ = require 'lodash'
|
2 | logger = require 'torch'
|
3 |
|
4 | getKeys = (obj) ->
|
5 | if obj? then Object.keys(obj) else undefined
|
6 |
|
7 | module.exports = (pkg, blacklist) ->
|
8 |
|
9 | dependencies = _.union getKeys(pkg?.dependencies), getKeys(pkg?.devDependencies)
|
10 |
|
11 | # Filter out non-axiom NPM modules
|
12 | axiomNpmModules = dependencies.filter (dep) -> /^axiom-\S\S*/.test dep
|
13 |
|
14 | # Remove the 'axiom-' prefix
|
15 | axiomModules = axiomNpmModules.map (m) -> m.slice('axiom-'.length)
|
16 |
|
17 | # We only want the axiom modules not blacklisted, so take the
|
18 | # set difference of 'axiomModules' \ 'blacklist'.
|
19 | axiomModules = _.difference axiomModules, blacklist
|
20 |
|
21 | return axiomModules
|