@@ -3,6 +3,7 @@ var fs = require( "fs" );
3
3
module . exports = function ( Release ) {
4
4
5
5
Release . define ( {
6
+ _jsonFiles : [ "package.json" , "bower.json" ] ,
6
7
_cloneRepo : function ( ) {
7
8
console . log ( "Cloning " + Release . remote . cyan + "..." ) ;
8
9
Release . git ( "clone " + Release . remote + " " + Release . dir . repo , "Error cloning repo." ) ;
@@ -68,15 +69,39 @@ Release.define({
68
69
69
70
checkRepoState : function ( ) { } ,
70
71
72
+ _readJSON : function ( fileName ) {
73
+ var json = fs . readFileSync ( Release . dir . repo + "/" + fileName , "utf8" ) ;
74
+ Release . packageIndentation = json . match ( / \n ( [ \t \s ] + ) / ) [ 1 ] ;
75
+ return JSON . parse ( json ) ;
76
+ } ,
77
+
78
+ _writeJSON : function ( fileName , json ) {
79
+ fs . writeFileSync ( Release . dir . repo + "/" + fileName ,
80
+ JSON . stringify ( json , null , Release . packageIndentation ) + "\n" ) ;
81
+ } ,
82
+
71
83
readPackage : function ( ) {
72
- var package = fs . readFileSync ( Release . dir . repo + "/package.json" , "utf8" ) ;
73
- Release . packageIndentation = package . match ( / \n ( [ \t \s ] + ) / ) [ 1 ] ;
74
- return JSON . parse ( package ) ;
84
+ return Release . _readJSON ( "package.json" ) ;
85
+ } ,
86
+
87
+ writePackage : function ( json ) {
88
+ Release . _writeJSON ( "package.json" , json ) ;
89
+ } ,
90
+
91
+ _versionJSON : function ( fileName , version ) {
92
+ if ( ! fs . existsSync ( Release . dir . repo + "/" + fileName ) ) {
93
+ return ;
94
+ }
95
+ console . log ( "Updating " + fileName + "..." ) ;
96
+ var json = Release . _readJSON ( fileName ) ;
97
+ json . version = version ;
98
+ Release . _writeJSON ( fileName , json ) ;
75
99
} ,
76
100
77
- writePackage : function ( package ) {
78
- fs . writeFileSync ( Release . dir . repo + "/package.json" ,
79
- JSON . stringify ( package , null , Release . packageIndentation ) + "\n" ) ;
101
+ _setVersion : function ( version ) {
102
+ Release . _jsonFiles . forEach ( function ( file ) {
103
+ Release . _versionJSON ( file , version ) ;
104
+ } ) ;
80
105
} ,
81
106
82
107
_getVersions : function ( ) {
@@ -122,28 +147,36 @@ Release.define({
122
147
} ,
123
148
124
149
_createReleaseBranch : function ( ) {
125
- var package ;
150
+ var json ;
126
151
127
152
console . log ( "Creating " + "release" . cyan + " branch..." ) ;
128
153
Release . git ( "checkout -b release" , "Error creating release branch." ) ;
129
154
console . log ( ) ;
130
155
131
- console . log ( "Updating package.json..." ) ;
132
- package = Release . readPackage ( ) ;
133
- package . version = Release . newVersion ;
134
- package . author . url = package . author . url . replace ( "master" , Release . newVersion ) ;
135
- package . licenses . forEach ( function ( license ) {
156
+ Release . _setVersion ( Release . newVersion ) ;
157
+
158
+ // Update package.json URLs
159
+ console . log ( "Updating package.json URLs..." ) ;
160
+ json = Release . readPackage ( ) ;
161
+ json . author . url = json . author . url . replace ( "master" , Release . newVersion ) ;
162
+ json . licenses . forEach ( function ( license ) {
136
163
license . url = license . url . replace ( "master" , Release . newVersion ) ;
137
164
} ) ;
138
- Release . writePackage ( package ) ;
165
+ Release . writePackage ( json ) ;
139
166
140
167
Release . generateArtifacts ( Release . _createTag ) ;
141
168
} ,
142
169
143
170
_createTag : function ( paths ) {
171
+ var jsonFiles = [ ] ;
172
+ Release . _jsonFiles . forEach ( function ( name ) {
173
+ if ( fs . existsSync ( name ) ) {
174
+ jsonFiles . push ( name ) ;
175
+ }
176
+ } ) ;
144
177
145
178
// Ensure that at least one file is in the array so that `git add` won't error
146
- paths = paths . concat ( "package.json" ) ;
179
+ paths = paths . concat ( jsonFiles ) ;
147
180
148
181
console . log ( "Committing release artifacts..." ) ;
149
182
Release . git ( "add -f " + paths . join ( " " ) , "Error adding release artifacts to git." ) ;
@@ -167,16 +200,12 @@ Release.define({
167
200
} ,
168
201
169
202
_updateBranchVersion : function ( ) {
170
- var package ;
171
-
172
203
console . log ( "Checking out " + Release . branch . cyan + " branch..." ) ;
173
204
Release . git ( "checkout " + Release . branch ,
174
205
"Error checking out " + Release . branch + " branch." ) ;
175
206
176
- console . log ( "Updating package.json..." ) ;
177
- package = Release . readPackage ( ) ;
178
- package . version = Release . nextVersion ;
179
- Release . writePackage ( package ) ;
207
+ // Update all JSON versions
208
+ Release . _setVersion ( Release . nextVersion ) ;
180
209
181
210
console . log ( "Committing version update..." ) ;
182
211
Release . git ( "commit -am 'Updating the " + Release . branch +
0 commit comments