From 9f7e0c6747e0276b294a8df90e7afe148abbae1a Mon Sep 17 00:00:00 2001 From: tracyboehrer Date: Thu, 3 Jun 2021 08:58:30 -0500 Subject: [PATCH 1/3] generator-bot-adaptive: Added command line option to specify SDK version --- generators/generator-bot-adaptive/baseGenerator.js | 12 +++++++++++- .../generator-bot-adaptive/generators/app/index.js | 7 ++++--- .../app/templates/dotnet/functions/botName.csproj | 6 +++--- .../app/templates/dotnet/webapp/botName.csproj | 6 +++--- generators/generator-bot-adaptive/platforms.js | 5 ++++- 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/generators/generator-bot-adaptive/baseGenerator.js b/generators/generator-bot-adaptive/baseGenerator.js index e17ce51ee0..b0fdbdfedb 100644 --- a/generators/generator-bot-adaptive/baseGenerator.js +++ b/generators/generator-bot-adaptive/baseGenerator.js @@ -35,7 +35,14 @@ module.exports = class extends Generator { alias: 'i', }); - const { botName, platform, integration } = this.options; + this.option('sdkVersion', { + desc: 'The Bot Framework SDK version to use', + type: String, + default: platforms.dotnet_sdk, + alias: 's', + }); + + const { botName, platform, integration, sdkVersion } = this.options; assert(botName, 'botName is required'); assert(typeof botName === 'string', 'botName must be a string'); @@ -49,6 +56,9 @@ module.exports = class extends Generator { integrations[integration], `${integration} is not a registered integration` ); + + assert(sdkVersion, 'sdkVersion is required'); + assert(typeof sdkVersion === 'string', 'sdkVersion must be a string'); } _copyBotTemplateFiles({ path = ['**', '*.*'], templateContext = {} } = {}) { diff --git a/generators/generator-bot-adaptive/generators/app/index.js b/generators/generator-bot-adaptive/generators/app/index.js index 4cf44f5691..c633045c2b 100644 --- a/generators/generator-bot-adaptive/generators/app/index.js +++ b/generators/generator-bot-adaptive/generators/app/index.js @@ -23,6 +23,7 @@ const options = rt.Record({ version: rt.String, }) ), + sdkVersion: rt.String, }); const defaultOptions = { @@ -33,6 +34,7 @@ const defaultOptions = { }, modifyApplicationSettings: undefined, packageReferences: [], + sdkVersion: undefined, }; module.exports = class extends BaseGenerator { @@ -70,6 +72,7 @@ module.exports = class extends BaseGenerator { packageReferences: this._formatDotnetPackageReferences( this.packageReferences ), + sdkVersion: this.options.sdkVersion, }, }); @@ -247,9 +250,7 @@ module.exports = class extends BaseGenerator { } _writeJsPackageJson() { - const { botName, integration } = this.options; - - const sdkVersion = '4.13.4-preview'; + const { botName, integration, sdkVersion } = this.options; const dependencies = { [integrations.functions]: { diff --git a/generators/generator-bot-adaptive/generators/app/templates/dotnet/functions/botName.csproj b/generators/generator-bot-adaptive/generators/app/templates/dotnet/functions/botName.csproj index eee16f6272..b1dea0166e 100644 --- a/generators/generator-bot-adaptive/generators/app/templates/dotnet/functions/botName.csproj +++ b/generators/generator-bot-adaptive/generators/app/templates/dotnet/functions/botName.csproj @@ -14,9 +14,9 @@ - - - + + + <%- packageReferences %> diff --git a/generators/generator-bot-adaptive/generators/app/templates/dotnet/webapp/botName.csproj b/generators/generator-bot-adaptive/generators/app/templates/dotnet/webapp/botName.csproj index d312a50673..d3ef64ca79 100644 --- a/generators/generator-bot-adaptive/generators/app/templates/dotnet/webapp/botName.csproj +++ b/generators/generator-bot-adaptive/generators/app/templates/dotnet/webapp/botName.csproj @@ -11,8 +11,8 @@ - - - <%- packageReferences %> + + + <%- packageReferences %> \ No newline at end of file diff --git a/generators/generator-bot-adaptive/platforms.js b/generators/generator-bot-adaptive/platforms.js index b046839756..055882a4e2 100644 --- a/generators/generator-bot-adaptive/platforms.js +++ b/generators/generator-bot-adaptive/platforms.js @@ -4,4 +4,7 @@ const dotnet = 'dotnet'; const js = 'js'; -module.exports = { dotnet, js }; +const dotnet_sdk = '4.13.2'; +const js_sdk = '4.13.4-preview'; + +module.exports = { dotnet, js, dotnet_sdk, js_sdk }; From 5baf6787785e7b59aa94bd75dd5a8ef1b30e80c5 Mon Sep 17 00:00:00 2001 From: tracyboehrer Date: Thu, 3 Jun 2021 11:18:59 -0500 Subject: [PATCH 2/3] generator-bot-adaptive: Refactored platform values to objects. No longer default sdkVersion option. --- generators/generator-bot-adaptive/baseGenerator.js | 6 +----- .../generator-bot-adaptive/generators/app/index.js | 12 ++++++------ generators/generator-bot-adaptive/platforms.js | 14 +++++++++----- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/generators/generator-bot-adaptive/baseGenerator.js b/generators/generator-bot-adaptive/baseGenerator.js index b0fdbdfedb..b7aa7811cf 100644 --- a/generators/generator-bot-adaptive/baseGenerator.js +++ b/generators/generator-bot-adaptive/baseGenerator.js @@ -22,7 +22,7 @@ module.exports = class extends Generator { platforms ).join(', ')}`, type: String, - default: platforms.dotnet, + default: platforms.dotnet.name, alias: 'p', }); @@ -38,7 +38,6 @@ module.exports = class extends Generator { this.option('sdkVersion', { desc: 'The Bot Framework SDK version to use', type: String, - default: platforms.dotnet_sdk, alias: 's', }); @@ -56,9 +55,6 @@ module.exports = class extends Generator { integrations[integration], `${integration} is not a registered integration` ); - - assert(sdkVersion, 'sdkVersion is required'); - assert(typeof sdkVersion === 'string', 'sdkVersion must be a string'); } _copyBotTemplateFiles({ path = ['**', '*.*'], templateContext = {} } = {}) { diff --git a/generators/generator-bot-adaptive/generators/app/index.js b/generators/generator-bot-adaptive/generators/app/index.js index c633045c2b..607ee3a360 100644 --- a/generators/generator-bot-adaptive/generators/app/index.js +++ b/generators/generator-bot-adaptive/generators/app/index.js @@ -64,7 +64,7 @@ module.exports = class extends BaseGenerator { const includeAssets = ['schemas']; switch (this.options.platform) { - case platforms.dotnet: { + case platforms.dotnet.name: { this._copyPlatformTemplate({ defaultSettingsDirectory: 'string.Empty', includeAssets, @@ -72,7 +72,7 @@ module.exports = class extends BaseGenerator { packageReferences: this._formatDotnetPackageReferences( this.packageReferences ), - sdkVersion: this.options.sdkVersion, + sdkVersion: this.options.sdkVersion || platforms.dotnet.defaultSdkVersion }, }); @@ -85,7 +85,7 @@ module.exports = class extends BaseGenerator { return; } - case platforms.js: { + case platforms.js.name: { this._copyPlatformTemplate({ defaultSettingsDirectory: 'process.cwd()', includeAssets, @@ -190,7 +190,7 @@ module.exports = class extends BaseGenerator { appSettings.runtime.key = `adaptive-runtime-${platform}-${integration}`; switch (platform) { - case platforms.dotnet: + case platforms.dotnet.name: switch (integration) { case integrations.functions: appSettings.runtime.command = `func start --script-root ${path.join( @@ -203,7 +203,7 @@ module.exports = class extends BaseGenerator { appSettings.runtime.command = `dotnet run --project ${botName}.csproj`; } break; - case platforms.js: + case platforms.js.name: appSettings.runtime.command = 'npm run dev --'; break; default: @@ -250,7 +250,7 @@ module.exports = class extends BaseGenerator { } _writeJsPackageJson() { - const { botName, integration, sdkVersion } = this.options; + const { botName, integration, sdkVersion = platforms.js.defaultSdkVersion } = this.options; const dependencies = { [integrations.functions]: { diff --git a/generators/generator-bot-adaptive/platforms.js b/generators/generator-bot-adaptive/platforms.js index 055882a4e2..c6070b959c 100644 --- a/generators/generator-bot-adaptive/platforms.js +++ b/generators/generator-bot-adaptive/platforms.js @@ -1,10 +1,14 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. -const dotnet = 'dotnet'; -const js = 'js'; +const dotnet = { + name: 'dotnet', + defaultSdkVersion: '4.13.2' +} -const dotnet_sdk = '4.13.2'; -const js_sdk = '4.13.4-preview'; +const js = { + name: 'js', + defaultSdkVersion: '4.13.4-preview' +} -module.exports = { dotnet, js, dotnet_sdk, js_sdk }; +module.exports = { dotnet, js }; From c99c6a5926fabdc654d1bdf0d7fb199bb695d8ec Mon Sep 17 00:00:00 2001 From: tracyboehrer Date: Thu, 3 Jun 2021 11:27:02 -0500 Subject: [PATCH 3/3] generator-bot-adaptive: corrected lint errors --- generators/generator-bot-adaptive/baseGenerator.js | 2 +- .../generator-bot-adaptive/generators/app/index.js | 9 +++++++-- generators/generator-bot-adaptive/platforms.js | 12 ++++++------ 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/generators/generator-bot-adaptive/baseGenerator.js b/generators/generator-bot-adaptive/baseGenerator.js index b7aa7811cf..1d838d6474 100644 --- a/generators/generator-bot-adaptive/baseGenerator.js +++ b/generators/generator-bot-adaptive/baseGenerator.js @@ -41,7 +41,7 @@ module.exports = class extends Generator { alias: 's', }); - const { botName, platform, integration, sdkVersion } = this.options; + const { botName, platform, integration } = this.options; assert(botName, 'botName is required'); assert(typeof botName === 'string', 'botName must be a string'); diff --git a/generators/generator-bot-adaptive/generators/app/index.js b/generators/generator-bot-adaptive/generators/app/index.js index 607ee3a360..0cbebf9ab3 100644 --- a/generators/generator-bot-adaptive/generators/app/index.js +++ b/generators/generator-bot-adaptive/generators/app/index.js @@ -72,7 +72,8 @@ module.exports = class extends BaseGenerator { packageReferences: this._formatDotnetPackageReferences( this.packageReferences ), - sdkVersion: this.options.sdkVersion || platforms.dotnet.defaultSdkVersion + sdkVersion: + this.options.sdkVersion || platforms.dotnet.defaultSdkVersion, }, }); @@ -250,7 +251,11 @@ module.exports = class extends BaseGenerator { } _writeJsPackageJson() { - const { botName, integration, sdkVersion = platforms.js.defaultSdkVersion } = this.options; + const { + botName, + integration, + sdkVersion = platforms.js.defaultSdkVersion, + } = this.options; const dependencies = { [integrations.functions]: { diff --git a/generators/generator-bot-adaptive/platforms.js b/generators/generator-bot-adaptive/platforms.js index c6070b959c..621dd9b47a 100644 --- a/generators/generator-bot-adaptive/platforms.js +++ b/generators/generator-bot-adaptive/platforms.js @@ -2,13 +2,13 @@ // Licensed under the MIT License. const dotnet = { - name: 'dotnet', - defaultSdkVersion: '4.13.2' -} + name: 'dotnet', + defaultSdkVersion: '4.13.2', +}; const js = { - name: 'js', - defaultSdkVersion: '4.13.4-preview' -} + name: 'js', + defaultSdkVersion: '4.13.4-preview', +}; module.exports = { dotnet, js };