@@ -59,6 +59,12 @@ function writeNpmShrinkwrapJson (version, option) {
5959 fs . writeFileSync ( 'npm-shrinkwrap.json' , JSON . stringify ( shrinkwrap ) , 'utf-8' )
6060}
6161
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+
6268function writeGitPreCommitHook ( ) {
6369 fs . writeFileSync ( '.git/hooks/pre-commit' , '#!/bin/sh\necho "precommit ran"\nexit 1' , 'utf-8' )
6470 fs . chmodSync ( '.git/hooks/pre-commit' , '755' )
@@ -676,6 +682,24 @@ describe('standard-version', function () {
676682 } )
677683 } )
678684
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+
679703 describe ( 'dry-run' , function ( ) {
680704 it ( 'skips all non-idempotent steps' , function ( done ) {
681705 commit ( 'feat: first commit' )
0 commit comments