diff --git a/package.json b/package.json index fa5ff7cd8d..37aa02f4f7 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ "build-docs": "lerna run build-docs", "eslint": "eslint ./libraries/*/src/*.ts ./libraries/*/src/**/*.ts", "eslint-fix": "eslint ./libraries/*/src/*.ts ./libraries/*/src/**/*.ts --fix", - "set-dependency-versions": "node tools/util/updateDependenciesInPackageJsons.js ./libraries ${Version} botframework-expressions botbuilder-lg botframework-streaming botbuilder botbuilder-ai botbuilder-dialogs botbuilder-core botbuilder-applicationinsights botbuilder-testing botframework-connector botframework-config botframework-schema testbot && node tools/util/updateDependenciesInPackageJsons.js ./transcripts ${Version} botbuilder botbuilder-ai botbuilder-dialogs", + "set-dependency-versions": "node tools/util/updateDependenciesInPackageJsons.js ./libraries ${Version} ${PreviewPackageVersion} botframework-expressions botbuilder-lg botframework-streaming botbuilder botbuilder-ai botbuilder-dialogs botbuilder-core botbuilder-applicationinsights botbuilder-testing botframework-connector botframework-config botframework-schema testbot && node tools/util/updateDependenciesInPackageJsons.js ./transcripts ${Version} botbuilder botbuilder-ai botbuilder-dialogs", "update-versions": "lerna run set-version && npm run set-dependency-versions" }, "dependencies": { diff --git a/tools/util/updateDependenciesInPackageJsons.js b/tools/util/updateDependenciesInPackageJsons.js index 54451e27d3..b1c5678c7a 100644 --- a/tools/util/updateDependenciesInPackageJsons.js +++ b/tools/util/updateDependenciesInPackageJsons.js @@ -7,10 +7,22 @@ console.log('Started ' + (new Date())); var myArgs = process.argv.slice(2); var rootPath = myArgs[0]; var newVersion = myArgs[1]; -var dependencies = myArgs.slice(2); +var previewVersion = myArgs[2] || process.env.PreviewPackageVersion; +// This is a hack to deal with the inconsistencies between CI and daily builds right now +if(previewVersion === 'botframework-expressions') { + previewVersion = undefined; +} +var previewPackages = { + 'botbuilder-lg': true, + 'botframework-expressions': true +} +var dependencies = myArgs.slice(previewVersion ? 3 : 2); console.log('newVersion =', newVersion); +console.log('previewVersion = ' + previewVersion); console.log('dependencies ='); console.log(dependencies); +console.log('Preview packages: '); +console.log(JSON.stringify(previewPackages, null, ' ')); // Update versions for specified dependencies in package.json file function updateDependencies(filePath) { @@ -20,10 +32,13 @@ function updateDependencies(filePath) { return console.log(err); } + console.log('Updating file: ' + filePath); + var result = ''; dependencies.forEach(function (dependency) { - var findString = new RegExp('("dependencies":)(.+?)("' + dependency + '":\\s*")([^\/"]+)', "gms") - var replaceString = '$1$2$3' + newVersion; + var findString = new RegExp('("dependencies":)(.+?)("' + dependency + '":\\s*")([^\/"]+)', 'gms') + var replaceString = '$1$2$3' + ((previewVersion && previewPackages[dependency]) ? previewVersion : newVersion); + console.log('Replace string: ' + replaceString); result = data.replace(findString, replaceString); data = result; });