Skip to content

Commit

Permalink
Implement support for bundledDependencies.
Browse files Browse the repository at this point in the history
- Make tests pass.
- Fixes import-js#1436.
  • Loading branch information
schmidsi committed Aug 8, 2019
1 parent 486e07a commit 7a03b9e
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/rules/no-extraneous-dependencies.js
Expand Up @@ -17,6 +17,7 @@ function extractDepFields(pkg) {
devDependencies: pkg.devDependencies || {},
optionalDependencies: pkg.optionalDependencies || {},
peerDependencies: pkg.peerDependencies || {},
bundledDependencies: pkg.bundledDependencies ||pkg.bundleDependencies || [],
}
}

Expand All @@ -28,6 +29,7 @@ function getDependencies(context, packageDir) {
devDependencies: {},
optionalDependencies: {},
peerDependencies: {},
bundledDependencies: [],
}

if (packageDir && packageDir.length > 0) {
Expand Down Expand Up @@ -63,6 +65,7 @@ function getDependencies(context, packageDir) {
packageContent.devDependencies,
packageContent.optionalDependencies,
packageContent.peerDependencies,
packageContent.bundledDependencies,
].some(hasKeys)) {
return null
}
Expand Down Expand Up @@ -121,11 +124,13 @@ function reportIfMissing(context, deps, depsOptions, node, name) {
const isInDevDeps = deps.devDependencies[packageName] !== undefined
const isInOptDeps = deps.optionalDependencies[packageName] !== undefined
const isInPeerDeps = deps.peerDependencies[packageName] !== undefined
const isInBundledDeps = deps.bundledDependencies.indexOf(packageName) !== -1

if (isInDeps ||
(depsOptions.allowDevDeps && isInDevDeps) ||
(depsOptions.allowPeerDeps && isInPeerDeps) ||
(depsOptions.allowOptDeps && isInOptDeps)
(depsOptions.allowOptDeps && isInOptDeps) ||
(depsOptions.allowBundledDeps && isInBundledDeps)
) {
return
}
Expand Down Expand Up @@ -169,6 +174,7 @@ module.exports = {
'devDependencies': { 'type': ['boolean', 'array'] },
'optionalDependencies': { 'type': ['boolean', 'array'] },
'peerDependencies': { 'type': ['boolean', 'array'] },
'bundledDependencies': { 'type': ['boolean', 'array'] },
'packageDir': { 'type': ['string', 'array'] },
},
'additionalProperties': false,
Expand All @@ -185,6 +191,7 @@ module.exports = {
allowDevDeps: testConfig(options.devDependencies, filename) !== false,
allowOptDeps: testConfig(options.optionalDependencies, filename) !== false,
allowPeerDeps: testConfig(options.peerDependencies, filename) !== false,
allowBundledDeps: testConfig(options.bundledDependencies, filename) !== false,
}

// todo: use module visitor from module-utils core
Expand Down

0 comments on commit 7a03b9e

Please sign in to comment.