@@ -59,6 +59,12 @@ function writeNpmShrinkwrapJson (version, option) {
59
59
fs . writeFileSync ( 'npm-shrinkwrap.json' , JSON . stringify ( shrinkwrap ) , 'utf-8' )
60
60
}
61
61
62
+ function writePackageLockJson ( version , option ) {
63
+ option = option || { }
64
+ var pkgLock = Object . assign ( option , { version : version } )
65
+ fs . writeFileSync ( 'package-lock.json' , JSON . stringify ( pkgLock ) , 'utf-8' )
66
+ }
67
+
62
68
function writeGitPreCommitHook ( ) {
63
69
fs . writeFileSync ( '.git/hooks/pre-commit' , '#!/bin/sh\necho "precommit ran"\nexit 1' , 'utf-8' )
64
70
fs . chmodSync ( '.git/hooks/pre-commit' , '755' )
@@ -676,6 +682,24 @@ describe('standard-version', function () {
676
682
} )
677
683
} )
678
684
685
+ describe ( 'package-lock.json support' , function ( ) {
686
+ beforeEach ( function ( ) {
687
+ writePackageLockJson ( '1.0.0' )
688
+ } )
689
+
690
+ it ( 'bumps version # in package-lock.json' , function ( done ) {
691
+ commit ( 'feat: first commit' )
692
+ shell . exec ( 'git tag -a v1.0.0 -m "my awesome first release"' )
693
+ commit ( 'feat: new feature!' )
694
+ require ( './index' ) ( { silent : true } )
695
+ . then ( ( ) => {
696
+ JSON . parse ( fs . readFileSync ( 'package-lock.json' , 'utf-8' ) ) . version . should . equal ( '1.1.0' )
697
+ getPackageVersion ( ) . should . equal ( '1.1.0' )
698
+ return done ( )
699
+ } )
700
+ } )
701
+ } )
702
+
679
703
describe ( 'dry-run' , function ( ) {
680
704
it ( 'skips all non-idempotent steps' , function ( done ) {
681
705
commit ( 'feat: first commit' )
0 commit comments