1+ const { default : replace } = require ( "@rollup/plugin-replace" ) ;
2+
13module . exports = function ( grunt ) {
24
35 const versionPlaceholder = '"#version#"' ;
6+ const extVersionPlaceholder = '"#extVersion#"' ;
47
58 const aiCoreDefaultNameReplacements = [
69 ] ;
@@ -158,10 +161,19 @@ module.exports = function (grunt) {
158161 return new RegExp ( str . replace ( / ( [ . + ? ^ = ! : $ { } ( ) | \[ \] \/ \\ ] ) / g, '\\$1' ) , 'g' ) ;
159162 }
160163
161- function setVersionNumber ( path , packageVersion ) {
162- var expectedVersion = _createRegEx ( versionPlaceholder ) ;
163- var replaceVersion = "'" + packageVersion + "'" ;
164+ function setVersionNumber ( path , packageVersion , extPackageVersion ) {
164165 var srcPath = path + '/src' ;
166+ var replacements = [ {
167+ pattern : _createRegEx ( versionPlaceholder ) ,
168+ replacement : "'" + packageVersion + "'"
169+ } ] ;
170+
171+ if ( extPackageVersion ) {
172+ replacements . push ( {
173+ pattern : _createRegEx ( extVersionPlaceholder ) ,
174+ replacement : "'" + extPackageVersion + "'"
175+ } ) ;
176+ }
165177
166178 // This is the grunt string-replace configuration to replace version placeholder with the actual version number
167179 return {
@@ -172,18 +184,31 @@ module.exports = function (grunt) {
172184 src : '**/*.ts'
173185 } ] ,
174186 options : {
175- replacements : [ {
176- pattern : expectedVersion ,
177- replacement : replaceVersion
178- } ]
187+ replacements : replacements
179188 }
180189 } ;
181190 }
182191
183- function restoreVersionPlaceholder ( path , packageVersion ) {
184- var expectedVersion1 = _createRegEx ( "'" + packageVersion + "'" ) ;
185- var expectedVersion2 = _createRegEx ( '"' + packageVersion + '"' ) ;
192+ function restoreVersionPlaceholder ( path , packageVersion , extPackageVersion ) {
186193 var srcPath = path + '/src' ;
194+ var replacements = [ {
195+ pattern : _createRegEx ( "'" + packageVersion + "'" ) ,
196+ replacement : versionPlaceholder
197+ } , {
198+ pattern : _createRegEx ( '"' + packageVersion + '"' ) ,
199+ replacement : versionPlaceholder
200+ } ] ;
201+
202+ if ( extPackageVersion && extPackageVersion !== packageVersion ) {
203+ replacements . push ( {
204+ pattern : _createRegEx ( "'" + extPackageVersion + "'" ) ,
205+ replacement : extVersionPlaceholder
206+ } ) ;
207+ replacements . push ( {
208+ pattern : _createRegEx ( '"' + extPackageVersion + '"' ) ,
209+ replacement : extVersionPlaceholder
210+ } ) ;
211+ }
187212
188213 // This is the grunt string-replace configuration to replace the actual version number with the version placeholder
189214 return {
@@ -194,13 +219,7 @@ module.exports = function (grunt) {
194219 src : '**/*.ts'
195220 } ] ,
196221 options : {
197- replacements : [ {
198- pattern : expectedVersion1 ,
199- replacement : versionPlaceholder
200- } , {
201- pattern : expectedVersion2 ,
202- replacement : versionPlaceholder
203- } ]
222+ replacements : replacements
204223 }
205224 } ;
206225 }
@@ -321,9 +340,21 @@ module.exports = function (grunt) {
321340 var replaceCmds = buildCmds [ 'string-replace' ] ;
322341 // Read the actual module version from the package.json
323342 var packageVersion = pkg [ 'version' ] ;
343+ var extPackageVersion = packageVersion ;
344+
345+ if ( key !== "1dsPost" && key !== "1dsCore" ) {
346+ // Support for #extVersion# placeholder (old 1ds core version with major version incremented by 1)
347+ var idx = packageVersion . indexOf ( "." ) ;
348+ if ( idx !== - 1 ) {
349+ var majorVersion = parseInt ( packageVersion . substring ( 0 , idx ) ) ;
350+ if ( ! isNaN ( majorVersion ) ) {
351+ extPackageVersion = ( majorVersion + 1 ) + packageVersion . substring ( idx ) ;
352+ }
353+ }
354+ }
324355
325- replaceCmds [ key ] = setVersionNumber ( modulePath , packageVersion ) ;
326- replaceCmds [ key + '-reverse' ] = restoreVersionPlaceholder ( modulePath , packageVersion ) ;
356+ replaceCmds [ key ] = setVersionNumber ( modulePath , packageVersion , extPackageVersion ) ;
357+ replaceCmds [ key + '-reverse' ] = restoreVersionPlaceholder ( modulePath , packageVersion , extPackageVersion ) ;
327358 }
328359 }
329360
0 commit comments