@@ -12,14 +12,28 @@ module.exports = function(grunt) {
1212 grunt . registerTask ( 'packageRewriteComposer' , '' , function ( ) {
1313 var pathBuild = grunt . config ( 'config.buildPaths.html' ) ;
1414 var pathPackage = grunt . config ( 'config.packages.dest.docroot' ) ;
15+ // Check if we are packaging to a custom destination.
1516 if ( pathBuild !== pathPackage ) {
17+ var changed = false ;
18+ var regex = new RegExp ( '^' + pathBuild ) ;
1619 // Load `composer.json` as JSON, convert to object.
17-
18- // Alter keys in `extra.installer-paths` object to change `build/html`
19- // to `html` or an alternative path from the config.
20-
21- // Write out data to `composer.json` in the package output.
22-
20+ var composer = grunt . file . readJSON ( 'composer.json' ) ;
21+ for ( var key in composer . extra [ 'installer-paths' ] ) {
22+ var newKey = key . replace ( regex , pathPackage ) ;
23+ if ( newKey != key ) {
24+ // Alter keys in `extra.installer-paths` object to change `build/html`
25+ // to `html` or an alternative path from the config.
26+ var value = composer . extra [ 'installer-paths' ] [ key ] ;
27+ delete composer . extra [ 'installer-paths' ] [ key ] ;
28+ composer . extra [ 'installer-paths' ] [ newKey ] = value ;
29+ changed = true ;
30+ }
31+ }
32+ if ( changed ) {
33+ // Write out data to `composer.json` in the package output.
34+ var composerString = JSON . stringify ( composer , null , 2 ) ;
35+ grunt . file . write ( 'composer.json' , composerString ) ;
36+ }
2337 }
2438 } ) ;
2539
0 commit comments