diff --git a/lib/fixer.js b/lib/fixer.js index 97c26b2..70be914 100644 --- a/lib/fixer.js +++ b/lib/fixer.js @@ -127,7 +127,7 @@ module.exports = { if (!data.dependencies) { data.dependencies = {} } - if (Object.prototype.hasOwnProperty.call(data.dependencies, bd)) { + if (!Object.prototype.hasOwnProperty.call(data.dependencies, bd)) { this.warn('nonDependencyBundleDependency', bd) data.dependencies[bd] = '*' } diff --git a/test/dependencies.js b/test/dependencies.js index 9d223de..cd450b6 100644 --- a/test/dependencies.js +++ b/test/dependencies.js @@ -29,15 +29,21 @@ tap.test('warn if bundleDependencies array contains anything else but strings', function warn (w) { warnings.push(w) } - normalize({ - bundleDependencies: ['abc', 123, {foo: 'bar'}], - }, warn) + var pkg = { + dependencies: { + def: '^1.0.0', + }, + bundleDependencies: ['abc', 'def', 123, { foo: 'bar' }], + } + normalize(pkg, warn) var wanted1 = safeFormat(warningMessages.nonStringBundleDependency, 123) var wanted2 = safeFormat(warningMessages.nonStringBundleDependency, {foo: 'bar'}) var wanted3 = safeFormat(warningMessages.nonDependencyBundleDependency, 'abc') t.ok(~warnings.indexOf(wanted1), wanted1) t.ok(~warnings.indexOf(wanted2), wanted2) - t.notOk(~warnings.indexOf(wanted3), wanted3) + t.ok(~warnings.indexOf(wanted3), wanted3) + t.equal(pkg.dependencies.abc, '*', 'added bundled dep to dependencies with *') + t.equal(pkg.dependencies.def, '^1.0.0', 'left def dependency alone') t.end() })