Skip to content

Commit 7c34cdf

Browse files
committed
fix bug with deps, handle adding babel-core dep
1 parent a599556 commit 7c34cdf

5 files changed

Lines changed: 37 additions & 1 deletion

File tree

src/__snapshots__/packageData.test.js.snap

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
// Jest Snapshot v1, https://goo.gl/fbAQLP
22

3+
exports[`@babel/core peerDep 1`] = `
4+
Object {
5+
"devDependencies": Object {
6+
"@babel/core": "7.0.0-beta.39",
7+
"@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.39",
8+
"@babel/preset-env": "7.0.0-beta.39",
9+
"babel-loader": "v8.0.0-beta.0",
10+
},
11+
"name": "add-@babel/core-peerDep",
12+
}
13+
`;
14+
315
exports[`packages 1`] = `
416
Object {
517
"@babel/cli": "7.0.0-beta.39",

src/fixtures-babel-core.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"name": "add-@babel/core-peerDep",
3+
"devDependencies": {
4+
"babel-loader": "^7.1.1",
5+
"babel-plugin-transform-object-rest-spread": "^6.20.2",
6+
"babel-preset-es2015": "^6.18.0"
7+
}
8+
}

src/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ function updatePackageJSON(pkg) {
2727
));
2828
}
2929

30-
if (pkg.devDependencies) {
30+
if (pkg.dependencies) {
3131
pkg.dependencies = sortKeys(upgradeDeps(
3232
pkg.dependencies,
3333
getLatestVersion()

src/packageData.test.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ const { updatePackageJSON } = require('./');
22
const upgradeDeps = require('./upgradeDeps');
33
const depsFixture = require('./fixtures-deps');
44
const scriptsFixture = require('./fixtures-script');
5+
const babelCoreFixture = require('./fixtures-babel-core');
56

67
test('packages', () => {
78
expect(upgradeDeps(depsFixture, "7.0.0-beta.39")).toMatchSnapshot();
@@ -10,3 +11,7 @@ test('packages', () => {
1011
test('scripts', () => {
1112
expect(updatePackageJSON(scriptsFixture)).toMatchSnapshot();
1213
})
14+
15+
test('@babel/core peerDep', () => {
16+
expect(updatePackageJSON(babelCoreFixture)).toMatchSnapshot();
17+
})

src/upgradeDeps.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,16 @@ module.exports = function upgradeDeps(dependencies, version) {
3030
dependencies[pkg] = otherPackages[pkg];
3131
}
3232
}
33+
34+
// one-off on checking for `@babel/core` dep
35+
const deps = Object.keys(dependencies);
36+
if (deps.some(a => {
37+
return a.includes('@babel/plugin') || a.includes('@babel/preset');
38+
})) {
39+
if (!deps.includes('@babel/core')) {
40+
dependencies['@babel/core'] = version;
41+
}
42+
}
43+
3344
return dependencies;
3445
}

0 commit comments

Comments
 (0)