@@ -198,13 +198,44 @@ const updateFramework = async () => {
198
198
fs . readFileSync ( path . join ( cwd , "remake-framework/package.json" ) ) ,
199
199
) ;
200
200
let keysToDeepExtend = [
201
+ "engines" ,
201
202
"ava" ,
202
203
"scripts" ,
203
204
"nodemonConfig" ,
204
205
"husky" ,
205
206
"dependencies" ,
206
207
"devDependencies" ,
207
208
] ;
209
+
210
+ let insertMapping = new Map ( [
211
+ [ "engines" , "main" ] ,
212
+ [ "ava" , "engines" ] ,
213
+ [ "scripts" , "ava" ] ,
214
+ [ "nodemonConfig" , "scripts" ] ,
215
+ [ "husky" , "alias" ] ,
216
+ [ "dependencies" , "husky" ] ,
217
+ [ "devDependencies" , "devDependencies" ] ,
218
+ ] ) ;
219
+
220
+ spinner . succeed ( ) ;
221
+
222
+ insertMapping . forEach ( ( insertAt , key , _ ) => {
223
+ if ( ! packageJsonFromApp . hasOwnProperty ( key ) ) {
224
+ spinner = ora ( "Migrating package.json key '" + key + "'." ) . start ( ) ;
225
+ let newPackageJsonFromApp = { } ;
226
+ for ( var item in packageJsonFromApp ) {
227
+ newPackageJsonFromApp [ item ] = packageJsonFromApp [ item ] ;
228
+ if ( item === insertAt ) {
229
+ newPackageJsonFromApp [ key ] = { } ;
230
+ }
231
+ }
232
+ packageJsonFromApp = newPackageJsonFromApp ;
233
+ spinner . succeed ( ) ;
234
+ }
235
+ } ) ;
236
+
237
+ spinner = ora ( "Updating package.json." ) . start ( ) ;
238
+
208
239
keysToDeepExtend . forEach ( ( key ) => {
209
240
deepExtend ( packageJsonFromApp [ key ] , packageJsonFromFramework [ key ] ) ;
210
241
} ) ;
@@ -214,11 +245,17 @@ const updateFramework = async () => {
214
245
) ;
215
246
} catch ( packageJsonError ) {
216
247
spinner . fail (
217
- "Error with package.json: Couldn't copy dependencies from framework to app's package.json." ,
248
+ "Error with package.json: Couldn't copy dependencies from framework to app's package.json.\n" +
249
+ packageJsonError +
250
+ "\n" +
251
+ packageJsonError . stack ,
218
252
) ;
219
253
return ;
220
254
}
221
255
256
+ spinner . succeed ( ) ;
257
+ spinner = ora ( "Removing temporary files." ) . start ( ) ;
258
+
222
259
rimrafError = await rimraf ( path . join ( cwd , "remake-framework" ) ) ;
223
260
224
261
if ( rimrafError ) {
0 commit comments