{"_id":"teamsfx-extension","_rev":"28-1a9fb9cb36c649c720bb6ab9d8b10186","name":"teamsfx-extension","dist-tags":{"latest":"2.0.0-rc.1","alpha":"2.0.0-alpha.29","rc":"2.0.0-rc.1"},"versions":{"2.0.0-alpha.11":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-alpha.11","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx","name":"Commands"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\"","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","build":"^0.1.4","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.4","fx-core":"^1.1.1-alpha.4","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"a15ab5c6f8ee660789e89b4d6a971d948e27536f","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.11","_nodeVersion":"14.16.0","_npmVersion":"lerna/4.0.0/node@v14.16.0+x64 (darwin)","dist":{"integrity":"sha512-zBLIOwD9wnHSawf7J6EPDgb1LutUZCezl5v7GNaYVqw3d0vCKbSSx2p3p1hCbFEvGyVXejSxXZRhfMfn26MA6g==","shasum":"9b86f74c7fb952eb01b41c4b4dc90729cfbfdf4e","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.11.tgz","fileCount":153,"unpackedSize":36305346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghEcnCRA9TVsSAnZWagAAUfsP/jU3X468mLxuyAMFyjoC\n37TgwkVCuhTXMVCbYzW6i0OoQdfbkBrxlytxibMH85ezWaGBSD2WfQ7rnxsA\nFPR9rJVOO8jw3qnxXcwaRYYNVq6HPaLVMZRccTMpIsw3LxHjL9+2AAAKc6JG\n2t1Ai9jKEScpGsI7ouxf8B7Tk/tVhkY297GTH+phVEc5LAsuK1ebjIvPv3+e\n4DXaRLOqMdV2rLD5vg3e2Xe549hjDYohU11dom3li4gJF8gKOT6hjogNjcf3\nWgL5czCBYg8sqPOZBF++57yU85H+UVw27GG3wKTX9L4NDLa5Vmkw/377xcKL\neK0eY7yF1iGe0ky/UqInPIeEf3nugnBh0+3v6UxtFRyEvR6ouBS0tel7H2d0\n+7QK7RchQSLTT7CHvijNF27ilGp30CJAJOAvGtkYNQfE2/RvF1AU06ZXc7tZ\nUBD84YBxdpW/mVQ3NlxWNSMcRWjdEGbMiazsZjtH2zaInCIqOu9F7Ooy1/tb\n8VsYhGRqqDdFvoFOC7oWdfvLhz5+zsG4qNZ2dJKmIeIsYDIajvxmKpdcXQ6R\nogWP3kaGTM0w3nX0gO1uw+ysDFonwromYC4bvGB1QOYn6tl5u5dqfQh64ZC1\n83mngXOPBRjX8MuE3tV+xv+ya1ZBdQssynoueQ0ZFm3OQ4Kk9zsP1CVNAIDq\njshv\r\n=bMwO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGiBYQpq25Ii++o9oawRkM0fcgC8c1mRvFpg5wzOkawyAiEA0LTDSZATOZNucI8laI1pnn0Jh8lU+iGxBN22aXcfZwU="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.11_1619281702986_0.5256104484024813"},"_hasShrinkwrap":false},"2.0.0-alpha.12":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-alpha.12","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx","name":"Commands"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.5","fx-core":"^1.1.1-alpha.5","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"14d2ce7e65df2d2ca705c2ca421a444708656192","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.12","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-RWUCby4joCKwddFjExRcrVIBtDDYcg23EyanRH76ZTLFjotVuChv29PhcctjXhKg8fhlMiIEeBqjZx1wTwaKWQ==","shasum":"1e933707735590dcc323fcd4263a2b3c1d36a884","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.12.tgz","fileCount":146,"unpackedSize":1996249,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghcziCRA9TVsSAnZWagAAL0kP/i69QI0J7UInehYZ/kQL\nB0FczUb2u6BPh93LvMtqug9z0jke9xSnvPiBJl4v9HaZxH984UsnoNrCapjd\nN/TPBshOyPb9Ga0OygPOaoU9CIzPKo+0evJw+BAha4bsnTqrcCDXzD6r6INY\n0755BPmwfU3tuqw6lYkwHwW4c9p1KStg7K5wyewRyEf/RH2xHGHty46I2hIC\n0/E5UirwphCYSvXu5EM0TcviLBHHuMRlrE0TBwY9Xi8pSRLVHKccKuUiHW3A\nX2cqgpCKW/MVKwU9F/pIdS+fnxtWjeKVnKDWCs8t8VtFNw1lE/jDhHCCInOf\n6k8Fc+YVOCFge/9sM+IlEwg1C0gdaxVkD6erkv83t5l3a8KWm7BifGFJlkRb\nKzcRqMNy83RP/XDAErDJ/uU5crfPiaIt0+0otQAc7/sQF/w618bbkggb4QAo\nyB8d7X4hMXPY4f2cRiKkCfW+8NstPQyL8fI1rbQnYC58VmpWo5Gn3wLMasSn\nVBIOHS3g5V6xXOq9VTtsKt7jNH53cPLwVLFdHE/F8cjBFFdF5deFlamZn3/W\nWJUNzhrCSL081+lv2XlAehib7kXjXVog6ddC5xaMrJ3WWvezyJpYvpcdS86f\nnqYyTfmH6eWqD8tMncHLZZeqisTDe/uPQ84l5zK78HtN6hatO5pPvtduBHwC\n9WFW\r\n=l7IG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDL+7lwY8sFExDaN2+F24mZndvHFRuyN8En9I/NPaMPnQIhAJd8CR965xkxnURZodn0TB+3MOfrfehPFngvhelRFK/m"}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.12_1619381473800_0.7239918526832343"},"_hasShrinkwrap":false},"2.0.0-alpha.13":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-alpha.13","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx","name":"Commands"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.6","fx-core":"^1.1.1-alpha.6","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"d9a2f9627bbee548e47100c941705dcf7de3147f","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.13","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-dhKRN1f09JsZWJ7VMr+neEjR8d8Ua0Nlh55k3B+mlNJufoYJ/2BXJqtBCAh64yD6VaxkyCkqpHjfBGWPFeE0Dg==","shasum":"dec34678625d59e7dccbb86894443d83cd6353b8","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.13.tgz","fileCount":146,"unpackedSize":1999836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgh54TCRA9TVsSAnZWagAABS4P/0fPuTvPhvfp4ZCeGbg+\nkCU39UCtr9sFtd2kHOHr23cODt5YMdI3YsW6hoHvOxT1uTKYuhm/wVUmC7Cz\n6JuJghC7BG4pyMdHXuHYy2Q0z7qqAMedhgJrnsB068GZ5taF5D3Wa0iPjONj\nVw7Z68LJdMyRMe8AbczVTpqr4BIQn/mg/cHqW/UlLah8G27lOIQ/qC/Csl1D\nVYVN0T462TesHt5LChf509EshLFaIglV+Y0nWx5XuxjhfZxv3Z4NuhIyoqNV\nTAt1Vu+/+s7dCOFAVNomb2LznpK/kbMPBgR71hay0uaxMssMY9/Ns81ETN6h\nh/OFjAufCAo/12hkIm9f0A64St1cJFxhxcJtOxvZBh+pYlcw9kJFmY1gdVXG\nNv/r0GzZYPyxPyaLqwwa+Xk/32hcaiXjpMKxb9rv6snB8jtdCFCBAfTjY0pu\nOxEQqBccaGirmFMCdFLfInIuGp7qoUgMNHbr/+GiEOdVRylLdIlwEldJcxVI\n+DB6tkFs0vhumh3Xs0eGzUuuXJqkhf9yrgD5ceAEDzQmW4G/AVs7J2WJ+6lw\nYigjXbAe/6Nj+bGU4lWOisdFCvE6f2roC2TPn5JV4IBUVJ/s1tRDag61sUkK\ndkMOWYxs4vD3ZdatPtHKHN42eZKDjKFsaDug3pZRy5qRobtwr9VUPF7Rys1/\n/DFl\r\n=xwF6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFMoemZGtZ3V8BgL1ed18aRYp++nUnY24dmD5tGzrNVTAiEAxqsgY0jpye+aPw5fFzJXgk9qdzn+ZHop5kQGMdbdv44="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.13_1619500562784_0.24743428134839873"},"_hasShrinkwrap":false},"2.0.0-alpha.14":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-alpha.14","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.7","fx-core":"^1.1.1-alpha.7","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"3ef8721c264df02608e4305359a60bd3c0d0aee1","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.14","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-zREgDMgpPFRy/IJFlchJ8ddPguv64XdqHrVgcQsDsEMsYJOlWJiUwDQT2OQDhjdRyFdtMcRc4CYhebGWPWbbeg==","shasum":"253fc80cd126fdaf9026e725892fc2d2904a3d55","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.14.tgz","fileCount":146,"unpackedSize":2002974,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiG6xCRA9TVsSAnZWagAA8n0P+wZ0lvM/GVEUIp4TLT5/\nWeWJnV1sd11ciNV+8+7I68JLZJrBHSlD3XDx575Wi1yzN2VvmiqXL+6SvvgZ\nhaRQ55fVkU7Zr4oEvBcLvYOn7qnvsAFzEvJAUZB+u/YiAd2HUkTDKINVvSzG\nHNek1B3daNkOhzxeIikf8eKt843v2kS1O2UVr2kc3tfg5k3J7xS4z2nq4Opn\nsfkqF9Tn0d2ODOCl+uC68ShFOPUFC0C2/m6X6OpNkcPiHE8iv+B+j9JROt9d\nHPyd0Mj0t/kK7qdJGhmK9bx4KGiixjoDuVuXUPzAAPMS5tsOf6cqUd/Xey04\naPWbYd1wvQzAd6unaqfjWX7I2e1MGNQzDyodigwBrA6nRd4u6LHj8qLMArnE\nhX8C6Yu3HJy0O7C/mqRSCMVHefZ7dJzUjUsd7KhESNPSr770Cn92aMm80mvV\nTLnHTRp1gc/Pv3RnEIb0RvA50qq7LZA+LdEPR4ZV06Q+offIO9AlJYSF2jo/\n/8fbgyi+glUBtMSWFlsmkikT5QkZQyQjiqqZquXeDXGGSiZBlarQYTDijm9/\nVOqjemWzjpdmm5ES0/afDUXiGmYEol2o4llAs6lxxCwAqpJpVhk8vChU6vfj\nygiCXbgn+WY+auEgplDiLC5I6SLri6UvWg04IRT3FshtHeVQ/7GAqjgyPRVp\ntsdJ\r\n=Ea33\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDIgSyv+fvwmbwOz8E5sAfuuFX1Y7vp2Zm0Y6Gj8E4igQIhAO6g/k9MkDYoPzBwawSEYkyLTdQnCJCvolahaAaohXIo"}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.14_1619553969347_0.7647431227563144"},"_hasShrinkwrap":false},"2.0.0-beta.0":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-beta.0","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all teamsfx tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-beta.0","fx-core":"^1.1.1-beta.0","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"95ac540b912951719a24226b35798c9c4c278f96","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-beta.0","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-TvlieE87d7k0jodhC3P1u76GrUh6+CL1tDtt7txIOd7ZWx4En4/9bcuIx5jE/D/XTojkT1hFSsOez8TPZCGaYw==","shasum":"57a078e02c9ed0156dcd3ffd2987da88a63a34ea","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-beta.0.tgz","fileCount":152,"unpackedSize":2051413,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgiQi4CRA9TVsSAnZWagAAl/MP/0dCJjwgK8OLjNL8zQrJ\naXKCI9KTTRcLTpY51FgmqGIolN3Gcffgah4EaJ3BZlM+7FCtkDq5hWWRMPrP\nU/C/0tRkoOX0Tw1CKIc6CjU2JhGNDpHj68SC1zvvR1DeiDMsHofXAfvWr0Wz\nJiLiyu1N0czgHtIteoDoJxeoUp8BJrqs3OI+uHqKZY9kqXbq8RoAMb9l5Yrt\nRCB2dwwsOk5WmPBDKNlcS5G9GW6HlkUsD2h5DNEJdK+Jg922e+/vpECtxQEM\nB+Cwmf2FQdHvbQbAdzSlPr7oRtlxM0YBVEAJEtAXwGvHxNCRGNjl247qmlvU\nhg+ykDBul6M4lv+NPUJsxI4vlUsXVQBLUasHKq2YZmO/2UMJQxBb8xaTUIMb\nPRbDl1OxjCnmcttxGaNbjSeHa6qIuA1eVLcrfv6DjKpsJiO4BjgxC+cb6Qpc\ngbOX8B5rShf//cF43ENIFP97pd0HDA/ukmoWLbnb1W/OXhWMcP4nLTkhvKtv\n9p3PiVXk8u+Tt7z6EFqVCKiK5xcgxJu8siT47g1A/X0aDwlEgtDEryMIQyPl\nH8AhGGZ0tW0g+Lj10weDhqb9VE/eCga+hZFuSZR5Liv2kzryOqvEJSqLGxIz\n9Ixh9ytVEDEgSVDAdQ5T5ZbkLGJE++pRPWlD6t48vJo3VnT4JN0BrYCHj6DT\nr1iS\r\n=8wMs\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDHCsel4xvD0bnqDIdDV+8B5+27ueq8NeBnBW5lHpt5oAIgLEAbslGwWfEI6fGa83YX157TtOnpyxk6IvyGkYWyXt8="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-beta.0_1619593399758_0.9971463174023951"},"_hasShrinkwrap":false},"2.0.0-alpha.15":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-alpha.15","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all teamsfx tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.8","fx-core":"^1.1.1-alpha.8","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"6729b89a8704b0c970189a9a7f9aa7cbfc77d4c0","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.15","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-x0oGhrEhQ78zGWtRPqsJhSqdUUN2ndJUEspofP99xi5vswIPCRE3hx3VmLW1fZyxLoXLsXM0TFmb4h/6lAeEsw==","shasum":"241d91c02d0b71b014e64cb4ef1b3311a290c95b","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.15.tgz","fileCount":152,"unpackedSize":2053555,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgicBECRA9TVsSAnZWagAAX+MP/24fdUVhndQK0KVZZXbj\n6jpOq8iwpc4RKW3gVwDrCdgkpeQ3ZrOWot80YVTNK75vnuNsTbxirDLkK7vS\nSDWXvWJbc28b2k4VXNG/CpYgbuljzgU6FANYbD2Xzty3ZPEGaRhqDKU0K0GQ\nfGga3ut3pz1lBLZZk/4geiXgnu/o/l/51Y9+4IpZ0LlIp2b2zAYM+pz2kvwA\ndsOsv+YmuuXk7Tg+CFAtKh+m4MiNYLTUGiM/qN1OgAOA8t2JxwBRlgXaCXmX\nqG3/ZSY98rmyTZqY7jDNfLUMTo3PMIZ5se4dhJn6tX3m+L0QfmwhNVzRNSi7\nehflAuysv5XpwXx5juizyQUBubWQON7iDGrdeI86+XRwIwR18zLVZSIE79wD\nPwe5kzrA2vB2lbqZCdeA8a1oeaFWleQljqmAK6sdtVwhkyscCt261T7VjsgT\nfBHOfecwPpELS6bU6pKKU58t68+ieMLdHEeDbWzUo/cZTADA99FJGDb3yA1v\nQFY+ZGiL8zLUbWl/DZQQMgebpXFbfu98BSxoPBfIDbsHWvrug1rXHEVPW+kO\ni0w2LpCM6UQutcQK0rNUNmWoSu0ayNB4m5DLWDs6JxL5IKfhTYg8qbZytZ0C\nQi3y6U8P+JxC6fvgoMqeVFh/vLN5HTKE0M7ZHskDi6WPxDfK+wqbeOcu5wDl\n6/Z2\r\n=8N6X\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCjF02YA1iAwjj6sQ3txWm2hykLF7150uOuNhFBq8GeLgIhAJRMuQ0K8ZOLkiN/m/arYkWenSIe/LpkCMlpTG1nc2MI"}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.15_1619640387796_0.37642288906485577"},"_hasShrinkwrap":false},"2.0.0-alpha.16":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.16","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Ensure Azure Functions Core Tools is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.9","fx-core":"^1.1.1-alpha.9","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"ee11de07f2c2401a72442f38ac35159413808804","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.16","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-RaJhfpIbvtClKSz91Lhze0XBAQ/YNal6BCHIwMaHJ+pHJWWdnIXhTvf1jjf8Us0ILlOVEBGh4w+HgMsk8Uhd2Q==","shasum":"2c664b962a38e541cdc2b15f3fd35d4bb34d2cff","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.16.tgz","fileCount":152,"unpackedSize":2070421,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgixHPCRA9TVsSAnZWagAA2WEP/RVHbHTeOzWp00lbWdNJ\nf6OAbmQqwKQ/bI1kRp8ljlntZT20BLWQGhnwHVVNBMzHsuP8v8htG273ajY9\nYwjNVyxxwrIXrN3HPrXLKxw2e5d85usV7qbUJsx77k0OLbvZq+suOKbXkHEd\nt/uiXZ287MCdPk0FoeFLM1r3i7DUomjF8VpQwQhl0YLpYzvFjTKwYZPgVnJU\nwq35LmYJZqYxsBzAB3Tqe9I8Y3mJd6iLmB9D5sKL6wmyleFEIBrXJOR6PVXh\n7gvGTWVtISwnuzQDWenXBRzJu0YWtyO+jM49h+/+Ig2pFaqzUv+oDhQBv/7h\nPu1S5MrhBOv3scPt/czNUQz78WGLklK9OQ0MoxsjmqiTbscY0ZMQ7hJrCHmf\nsPQEo/oESuCK+IBSfrwv3fwQHrjZ+2iPXXlH68z8PjntS0PIiIrXoAtKFRs8\nrNCFVme4bPcEs0M/Sc4ion4YqTExMnfTDcAEY+3LS+qtqi3PWId5IvbuT4rC\nyIEpmcEF5Aw+beWDZOD2nLU4Ekws9ue8ySRwpcvSmGpXF6ypDxfM/ko07ZCT\nHeNZjQP60qFaBkgxtLkP5T+f3woFrx0u8DplnViDIXnV7Ycoorxtb5ZgAUHy\nfwBd0RTwQocs6Udr86l85Lm21Wkptp8Ut9GXTJfB0S4+ko1+kcULoqMVwsfa\n3OPV\r\n=2dQk\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBq7e+XKRUXNfagSowpcD99cL8uWldIuKrBubomikZtCAiEAhofOi3Ld1XO5pc+yuwq1aa4MEBTwpjquL++NsnCkACk="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.16_1619726799482_0.19329731796845628"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-beta.1","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all teamsfx tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-beta.1","fx-core":"^1.1.1-beta.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"998e782912d08bc539dd92cc7b9df086382d97a4","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-beta.1","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-cZ6RLNhC0SLEZnh1GNw1O0pHDCOSFiDIa1j9Xd+cM30M5/OrcB/rN9wuWaiZw61T5awJye2a5bo03f/J7P1kAA==","shasum":"b51e98ff8d44faf6dbeefab089a8d032672b03dd","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-beta.1.tgz","fileCount":152,"unpackedSize":2052900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgi2mPCRA9TVsSAnZWagAAwhcP+gJs4dYRGdf43dB/H2kq\nqiUMtf51pkXuISMpVoaAQ7OJy/Cl0aMjGe7EflBFljZyekA90EnGEICodnq9\nHq9tbqvH5gwzBcxq3Mo2K01XSwIAXWXhhJp1jPBOTEL0AjCghDvoHT6IZcRs\nJLdERw9ssaKTSp4Zr9PTwCC3BvUINll4UGcmflMVQjJejiKZBSnajyZho3Zu\nxpZdEOyv8EfCzO4nx8MSkYDsNpSUtXDuMhx5tqdykG1DDlDfyi3B6albq2RB\nQdo0PZersCYTekWgAeLyYM+5HJCP60WyZBUEaYN1gM9R+qIQik+Ef5Um8ILH\n/WLXIcDBPCtFdYledQZa9K2VRV0fRDmiufoctu997KdZBJ/VskiIXki5oETA\nm2OMA5LIIcyjbHvUcK7MFBb9xg+WBbA6OUk2TKGk7tJOmchWGC3qA42HTho1\nqwdw+OZHGQS8KoV4+G7Vix6tiMA6nCZd+L3XuffuWYNgmEFwNfsQi7f/NZ5n\n6bYgHq/9nzNBYqSl2xmzg13fbrH0Ff4KMSzyuWs4TRdrhbjlnHLSH3uWliDf\nksmK/rke4O7ME5BKtHzujKq0JQn/JYq5f+nc/HEYjKc1N9SB0P/MJ8OsrtcG\ngIdhRBd1aXKkqlbcLHdcHGT7lUK477gpG1lQZFqhBUNYUxQ2Q9j526lnEBAz\nxHy1\r\n=HNxi\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAbVlsNJuWGfx8h6emQaLeEUEwE4OrDCLlC1/LxIiIWGAiAdRCM+x8pc+6h4wyn+njd3ikUZszNL2HeLRwZe1timBA=="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-beta.1_1619749263191_0.3082518185551604"},"_hasShrinkwrap":false},"2.0.0-alpha.17":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.17","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Ensure Azure Functions Core Tools is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.10","fx-core":"^1.1.1-alpha.10","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"8284326ad762e7f32bcae8e51423266518df5a80","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.17","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-bYw9DKorsmA1wDz2/hWQ42/b6TfzRj73HGRV/n5SfZSdzeX41TrfCY1Gzpwz149hs2yKlxhyfDwlB06ZfrpSoQ==","shasum":"0454b320033a078e5df65f6c252b95e4ee5c39a7","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.17.tgz","fileCount":152,"unpackedSize":2082891,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgjGOCCRA9TVsSAnZWagAARpcP/3o54TohuTD2HWf0ngOV\n16TOlETIuDItTVRWOO+nvEhw8+DPMoMTxe4lN/UhRtwdWQzfwZfCEeQmyRx3\n2sKSTW4/0GlBrl3z6XGnB5YAos4JmJyjqEm56Onvf1KhzTrxcr4Tc2s5erI6\nn+yLaf0PXJ2WGIp9ifinSpMyAuY6+20IIJE7udWgCy4JNBNL2TJ/H78TaJtK\njPdvHY6gqJpmQWCDTBQgpg1L+wuE1C6E/pBMU/CzHUCFOumZv9sQRaPVr9q6\nwHOQB4TCFM91+Kf+ZHFboF40zN6PPWGfup1wGiC/gazXCoccmrR/F0mXG0Oc\nbW7s4DdZg8wjOFFyQIHroxkdjzJnsw+04czqgFKmajviQFIgs5x3R+k/AGCD\n8L047ZnScaYe51PqqsWzSCzvBk1q4FC35zB4xMJPncRF6D/XpHbs+NHa1+yq\nBHofmy2fQpvQrVGkgzJIx1bmWLg6CmxtLFY76MZZI+JE7Nj3mWE3P+H3655L\n5fYOr6GYRRKuCi4P037E+opmh0NLYa4Sza6ivuOb5Rno/sEEteBox9AJfmPY\nBXG/NKjgZVMBiM3/+P8pJ7Er1Bc19nciuv94uePIrn+8StEr7WpxGLpqCJGc\nEV5WiUl80DbWRMK+031WiiYRLYSLXGdwGYkADElgU/tf7Y88gFCOztQ3wAA1\n7MUP\r\n=jT1/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEl8LZPvbDcGRigE8v8ebO/OzazJyseLxqBJB38rHeIUAiAa72ZlUFzG9rtYDlDwteISU0+HZtMEM8KI2NX/YRNxfA=="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.17_1619813250338_0.1184784681431883"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"teamsfx-extension","displayName":"Teams Toolkit V2","description":"Create, debug, and deploy Teams apps directly from Teams Toolkit v2","version":"2.0.0-beta.2","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit v2","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.openWelcome","title":"Teamsfx: Quick Start"},{"command":"fx-extension.openSamples","title":"Teamsfx: Samples"},{"command":"fx-extension.openDocument","title":"Teamsfx: Documentation"},{"command":"fx-extension.create","title":"Teamsfx: Create New Project "},{"command":"fx-extension.update","title":"Teamsfx: Add Resources"},{"command":"fx-extension.addCapability","title":"Teamsfx: Add Capability"},{"command":"fx-extension.openManifest","title":"Teamsfx: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teamsfx: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teamsfx: Build Teams Package"},{"command":"fx-extension.provision","title":"Teamsfx: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teamsfx: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teamsfx: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teamsfx: App Management"},{"command":"fx-extension.openBotManagement","title":"Teamsfx: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teamsfx: Report issues"},{"command":"fx-extension.validate-dependencies","title":"TeamsFx - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"TeamsFx - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"TeamsFx - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit v2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"Session Status\\s*connecting","endsPattern":".*"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teamsfx Toolkit V2","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Validate the Node.js is installed before local debugging.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Validate the Azure Functions Core Tools is installed before local debugging.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Validate the .NET SDK is installed before using it.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all teamsfx tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-beta.2","fx-core":"^1.1.1-beta.2","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"631e8d10170bade273a087ea65cd129066a71495","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-beta.2","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-P/yiN3bVnlj6BcYtUbJGSUIJtnTUFHGy5hQx/u0gHxl+2W62xiJcAB0cOlih6IfOPZ9os8Dkd9FwCcfkfzqOxA==","shasum":"3883498d22508b440869c1126c436b3d8cec35b6","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-beta.2.tgz","fileCount":152,"unpackedSize":2052900,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgj9qdCRA9TVsSAnZWagAAkSEQAKEiQqhbEIIGvTDkFWT5\nENEEM45yCpZ0uKeYnBAUfYRmDhCp90bQt/Fta/Q9En/6rcZO3GbWSHJR15r4\naZ9tQf2ccdpnwEByVQQkdwiBWqaVYsa1S7lD7QmYiRsMdqs0hijW/Cwp3T4k\n2uU6MG2sdqxxLkEq57Lz00bYZOKQj0OgBRhazCGTCF5CUrFuFaBQyxxJ/5nD\n9vOvwzb+ZQ7DtJYXI+boLKmoPB3rrdH/UZX5SX2F669BMhcwfQTht3j6dwee\nsrdDIPpuA62OMa1I69OsPw2sw+pPopr3PZvzBX9kw+vMyapEVHvVL3zOGjuU\nmJnSG1bNqTk73s2gvCLfaBWKoJwgMm6VWMe82dvkFnaycatbiGc4KwYeJaPw\ncK2jOjd6SpU8zf/eTw5o7baGOfGtGSMT6B2XKxgn9csOcCNXta49Y5ipG3/J\nz0ejHuVU0s+u+ryf7RY/rh+hD3msdCDWDT1QtyCZwNFKeDY0zk7Swoe05NWf\nsIsntGVoRmzyCV/xdDmB00f4+Y3dWF/YeG0S61HsXxh7wOA2aqsBdYL1lIT7\ny4M3Qg33WWYQNUj0m1mlpH/HCMb0Sw7YeTLkhE7mBeF0ZqEzsAK+jnJNMdFN\nokeJc6nANJ9bs4YfZ7yXTx0wHZcgBZIh8z5lTURhS6j/den5ECaMzYzOU8iV\n/FID\r\n=lott\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCW8WgX6fyvAyEOQBvImZyGd68LMEUeoU4Osyu9DWoqYQIgF9i4Vt3V1siw+HkJ6Ax6jUGk575p/HBc4pcLwke4zfM="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-beta.2_1620040348621_0.25409297140245"},"_hasShrinkwrap":false},"2.0.0-alpha.18":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.18","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateFuncCoreTools":{"type":"boolean","description":"Ensure Azure Functions Core Tools is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.10","fx-core":"^1.1.1-alpha.10","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"0e48426c23a3fabc40929a58b5d017e48e5283ae","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.18","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-JL/9JT3/MsvzSpkkTk8Oz4Iw6YU3inBLwo2quaxr2G12plaUFgAgnAe/n0eallpuNIL14Ka4ubWEMdG/hUEH6Q==","shasum":"c81eaa94ef96abcd1bbba5c9d8b3010aa2993726","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.18.tgz","fileCount":152,"unpackedSize":2083004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk1yoCRA9TVsSAnZWagAAcVMP/26qQFDAAAXeoz4cXG4o\nuaMfhel/ENCngdG45IA3UmlDuMK94XLOfzi5c0Cmb2TQZMDJaakXRNMhA3Mh\n2tF/7QmAkdYR2XaHn9Gr9j/8C9/5TFv3CayAKWuusVkJiaMAEUPsax5O2JqD\nSlhjbubZxWOh7eUtH5XEBj5vu03Z/g1ZL0FvBvhOcZS2RfRiFn/ZRgHf6M0D\nUSiZcyhQWILgtr4vOKhA9l4PP9Q18HJehPwaVtrl+Xu6gXu4Lj3zS849NA1c\nIoFR4KIfXKskdjqsc8NQnBAaYa41EgSQJakNGNW1Hfen3qQFYqliPBWfF/xT\nktj+ZNUJfBln751A8OZfWuumgZ2Fw9GKxXN2dDnF9VFpg+FpTNTALHNpCXzZ\nRBdLoGaeBe9LNd1GHK9QNZRvhV3eMIuPAz78KNinzOXKK4iH8ORQh2VePhy0\nAhXfxnFS2rXAeyP9kvx079f+nL5xIJEZ3AqZp2DYpSGNnm27LbJVx3GD8mtm\njzaBf/mWoMYtHegf/+C3alShEIA74SNm3S+vgGNRFdNGhz6Y8MdFA0A/sqdN\n+AkiOF+hGNiNDsT+5Gouty4KMx4ae8ci6CN4JwBjWj5/Iqr85B595yZ3PsK+\nj4m9naXPYyXu5yfFBYP+be+3Rkk0hz0qEmnaylXLIY02sLR27zKZ/xRDf5uu\nhj1m\r\n=/Cws\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHvsnn94VBJW+3Ql59211gPwK0tcCol7OhsOJAdtmBRxAiEA84lWjWdAf5n8Re5ha//eg5hqEIjpD4X43neM5h8b+Uw="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.18_1620270247841_0.10505512344300771"},"_hasShrinkwrap":false},"2.0.0-alpha.19":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.19","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.11","fx-core":"^1.1.1-alpha.11","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"4b3cdf67ba513c7cd530396ed46baf47f0a0bfe1","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.19","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-Twpl+F16xl1HH1n3O9KjZ/IeVoIOpcTSEZAySoy4CeNbM/iFj5MIouCAAKZQPccAW7GThjHj/U5wyaRyGysFFA==","shasum":"1dc3f0ea613f510b8bd80b1d9028cd6d712da32d","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.19.tgz","fileCount":154,"unpackedSize":2103146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgk/ZxCRA9TVsSAnZWagAAvGIP/1bk00S9jupoVxLcVCkI\nWoLor59CcLciEmXnfsHQLX/Gpx8PYKPPt6W+KqESbL67OC8iSIRObHgP99g9\nUVaInv8oQIL5HXXhsTxrRz7ZihYHgwlTEP1Do9P1p3Sot4U4Tu/r8f3zIfZP\nF55SH8FB+Lwib3AD873j0x6Ys0PTZNWfi5vpn+za+l4D5i+4ntfp68dcLTrs\nErPwHLlGd2RJ+wYrZemsZGlP5IInWX8e7Nq6aMMOi2cQ0Tt4CLxfrmgWFPI6\nMQ8x8tJ8RSOlt7+to0/jwjPQTwuXViStZnDJwunJ51h9Lq5myAsziswCM9rU\nDgmw9PKzz6umDeaTD4bHjasfPBrpzFFo/LFUGa8wLyz/zJhYTOS2lWl+VULc\nMIRPX2kPnliLT3t8A09kr8SH5ujjxx52/yaK1pL9tJON9HmbN6AdvTLIoa4W\n1iYoqBA2FsFCMPEYUUKQCU02EvJiceJrlyAauTNW3K7DSQ2Vv2NxnhyFXfMv\nXb9lK1vtXJYnoh68rOz06NPmcv5mV8T5QTvhjxqzhciOgA9khCovPOt8O5l+\nIpENGfBrgI2fUr14R/2qNlLzcMREF6Dp6Y2z3PXnmrjKN7BsN0/q1C2bppnI\nnzPKy8QvgleDPZoeTanKCdaGi/RUWikqe3/FIIUyzG0vycOPtEQOTFEJmMt3\nm7oa\r\n=brX9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDC7RfKP33uEYVWHhCBa+UFwps12cJ9Ag46czEtIZSNcAIhAJQ6QV8ojlrdU9FqhqWNeS/Kn0IVMn1BCwx4svYCTaEt"}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.19_1620309616900_0.8273345230209976"},"_hasShrinkwrap":false},"2.0.0-alpha.20":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.20","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.1-alpha.12","fx-core":"^1.1.1-alpha.12","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"6ee1271f4f834458136d5c4bf626bca138e9c5b3","readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v.12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.20","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-1zIFLOsyTv+uMuOtQZGuz0EzEdKAWcc9qzWbU0x7F7iUXi79eeqiEp6v7ggCVz3TLnbk7zivXUdkLkN0Kjmf3A==","shasum":"3c1fc9eeb6fa0b7771bf6ba84eb103994f25c091","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.20.tgz","fileCount":158,"unpackedSize":2108163,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglQ3ICRA9TVsSAnZWagAACZcP/R4PkJBBDz2jzvPT/1SX\nARkFrwXf+OEUagXj4RIW0ir9qcsCPDKRfaVCb662Hg5xknNpeYmVo3rZOcxL\ncKrSlminCR3R7sPSKZEeaAwd/m7jsUPg0Sw7XGy1wVggUANlj6lD3PBhYTog\nM5ggFyTtpV3209d+WFEMgj5Chn+/XrHZljZYXF36k9b0iUZ6flgt8gIZjWP8\n64bRNbbWF6QGplhyH1PGCLxlZ4IwuBtoEPBwgoLMnW3iyLGyj+ikEkExqIRP\nDgTaNE6ANrw1QVVMK7jzEXBvvT2DmuNiTXv23VVfsDafxx4B5r2tTLg4HHag\nrD5wphGxUgX50PEnFhdiUUs/hqJbv7D+jYLwJgpeXmN/yH7034EHo2n6txN/\nSutiB2pTE2L15kBaR92kGTFpTUV+l1oygD9qJQES7tPBeyMWkHG0j86U+IR9\ndC4Ue49Rkq7w/s7XvnwzwrytMvr1WRR/ailZuMEmOXTDpMB+/CpyfIliPz/A\nj6O//HQuDDNXwmuDawd7wnKkthJay6CJY0vBWJzEHA1Ochvs27TrIj+OA++w\n+ULjpjukvVle6/wz0xgorljf3RnZ6bIu6693nVd4qYOZM8SRRNifcamFHPY9\nifyEqYRZJh/jk3hzEtM17S3vRSKKH4rIu8BNx1kDZsN17rU9Tsk0l7bxv6cd\nhq65\r\n=4m2V\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAwWBDX68JAV6It7+6pBr9rTxvF7sAqYynWv1orIBtg5AiAh6dZ1SI2VBYmePzE5kxJ0lW4AL/0RKjiDsyhb4UXNvg=="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.20_1620381127927_0.056953698433239275"},"_hasShrinkwrap":false},"2.0.1-alpha.0":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.1-alpha.0","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.2-alpha.0","fx-core":"^1.1.2-alpha.0","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"c5a466b81378b6be263a143c475ccfb2d3793a71","readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v.12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.1-alpha.0","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-n8Fay6UnUcFoeffiVNGWcLuYXntaG+WhVsBsERBLcVr8SbDeP3Jk3BrsLF/F7mULTDMLmnSboiyG85mv5YODPg==","shasum":"2fd10c5752a806498fab31eaadb1144b78f66156","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.1-alpha.0.tgz","fileCount":158,"unpackedSize":2108157,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglROFCRA9TVsSAnZWagAAqMkP/29Ljt/FMRa2ppLQmPgH\njXAXRfOsXBJvQluzQ6L0wYF41peSHCoehQk4sU7tHiSCishaqHBrjGFxlXgA\nqkIg1+y1O10zqcMuq63XE7aPNBOKusBqe9P71TYczKH8B6EXsrTc1Q2Vf9ae\nEw6Qnb6N5q38ATEJxgC2hpH7RjNF+3wrXJDyv022VNqz954BAL5ubE9Yoh3W\n5dcTP52jijuVCb+Ay7pB56yPrjwFNX8Ufj6mREYeJqBvsft9p/er6UIBYTY/\nzH2eSOPiOhvnmtJ2upGoN2asxsNbK7KRQX1zVRU7izNTmmCJBNKFd1JTrBXU\nE7jfTge3eIcRDuW4xgOiBDhER/I9PE4EBqqHLqcGAGN3YITtwpk85NB1PZbc\n+qs8JHkDxBH2dYKx7mdPxZ0r9uevJX21qltc7EHXWq/qnCp7TdRn0nwvfR5b\narcB4csHEtb9+uJ7NWNVVGXudSNsM5rQhquuzOdTGGjeOBOmV6kftczWBVG5\ndPUWM8HsT2mY6851OrALQGJBMi7d8xAg8V6THLrbHWNixzDb8WIEsPvotGbi\n5W6cEWz5V48VjC3LSBQa7lc2+THurGruJZyWzSxZfB13zSB64KnA+bApLpct\nrOspykeqKxbyzP1zSTTANlekj+XYw8qGD7qdQwsKJQRNEc/8aG2CHErdOzio\n3PWo\r\n=YQOF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDsSGHFgnAq5IGCWl29ogcfLa0aCksGNKblsdhhXsFRPAIhANagtZuYo7BWorSKotxA8VSxG7GbxwNON/rYSKJQbOZw"}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.1-alpha.0_1620382596841_0.2847933639207849"},"_hasShrinkwrap":false},"2.0.1-alpha.1":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.1-alpha.1","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","fx-api":"^1.1.2-alpha.1","fx-core":"^1.1.2-alpha.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"c62a8d530e391782d48a72dc78d3345e06f1a01b","readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v.12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.1-alpha.1","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-lxELiRWyI319f0qN0sOocPnd22SstwzJPIYnDrgEvrLMXbG/oKLpynW8/CAFzn+LdxmWhNgG0dCSbv/kD7PvOg==","shasum":"5d2d63e4fea0609b4b5fdf968dd898ec384a5446","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.1-alpha.1.tgz","fileCount":158,"unpackedSize":2108781,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgl68yCRA9TVsSAnZWagAAygEP+QEFJAIZHAUVcm6DwWmx\n9Xv62pNOpGIcjkSX5F0UKM8EjReC26w2m8NXF/EKadQbkxLLMFqi6EfzWgmP\nIwG5f4JsyyqHbDVbnzWkpwaFR/t+1/56O4mhFxbPSK+vzs9nbDnjkruUA24l\ndnWx7uj37kPP3WJS/8v8ftdfhr82AtDf+honHYuIEr6DA5cYlBVo5LxXGx9P\n3WVZUVioTIom6+ssbYo+jQePHEZ5pcHMgAYOITNWUQygvSFK6sQm6WFOZ3bw\n610C16pjNw+anl+0HBnYiQDUYskHbt+w7c4ZzU5S7tLFzoBYBCydtHXz1cWI\nncfX8K37Bh7eCbNWL0ltqkYFXKurXUooJe4K0RgqcWteQj1fPt/K9GJKHeyx\nLPjPQEJCGD84C4E1jXO7zcihvKWvDWnvPwqS26HxSGO7NVI0PEOnJ7cQfQd0\nr7fwBDM2w6N1apnVjJ2BLOeYAYcjuij8y2TXwrG4TqMpJIT1Dbv1HzJXYfDB\nIP9O78XZczA/hi2DVK72dCXqOY5hYz0UydtSypK4aqDqydb+VwusGlPHgzW4\nNKHVjJ18dMr72nR9DVrH/FUryLrPUAxGjfxeTNQiNBqHH8qQ3KD2KiQZwtho\nhu75BHSDWZPIUbovvKwnapZdkW/492BsT338cBmCwc1WC3ZuQX/t3PJojt+z\nrQ56\r\n=kD1l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIWD+QcxelUPja3zFmcn43bWN+xDNGAmXkxLoYu/6tUwIge+55v/qPcv+43CG3iLSes/I0hRQllrLPeamISXHLW8E="}]},"_npmUser":{"name":"zhyuer","email":"zhany@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.1-alpha.1_1620553521977_0.29819718791407857"},"_hasShrinkwrap":false},"2.0.0-alpha.22":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.22","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.2","@microsoft/teamsfx-core":"^0.1.0-alpha.2","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"190c9eef88056180d2e7b0e69a7be8acb3bd75cc","publishConfig":{"access":"public"},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v.12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.22","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-FcNc31SiDWS8KTzTrkrT/KwrOVlk/rdTyWETuAKnRCJPbGXJNUUEBKdffAqjgTy8PEmMIE4E9skeTLgiKaWILw==","shasum":"80e10d1b21f8f207f630238b74632d7e24767240","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.22.tgz","fileCount":160,"unpackedSize":2129196,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmQECCRA9TVsSAnZWagAAgM8QAIYOfViDMAAZlHMhlZTB\nOcRRytICty3H3X9HLznZH6HopY+EGkxNdCvTmDfDebEJOxf2OhD4V3ZsuCvX\nZZSgCyPMofcezr6Hn8olf77+2hcM+rnPY+jMid8TtApbr8uUXiqrB+R0LQZ8\negvp/Bdl/sgw/XdpNjtibbMdoYz9xblxdFD3PODH9CkDSedBg+9oBT1N7qD/\nniV+b4xFOzyv1FNCw4lqZxt2IOjxxJcadn7mGhkdl1vLxetI87qOElmb+NL/\nStQsv1SWQ8airYih+cGBP6ueVMM+5lZ/CCQy7BWbQ7e/+3K32RR4wD9rNxoo\nwCOE18lNalZRXIiTiO9K2RyYDqKvtHBN7fuZS/9E9iG3ok7YIl7xkvLuEedL\nehghvzZ3FcbRZWjAZzlT3DkTQBkYjP6q/JuVZSs8+345j2s6vhpBayq5t8mu\n4Z6HyhhaWeHHE2Vv16drXzy3ltnVViBRvItaoJ3XdJAKOf0cOr7jKvuCEF4y\nhrW5D6vuMjC9gLHlWcyLBRkAY2SXeEj4/m/lmGm3QfRQh9n4OEo/rsgVZ0sn\nypTxI8hqxivXBgpeOU+qPAQTLqp/q/ov7mmLQxlWsprUtvcclrgfG38YaBF1\nLgfbB80N+01oKPofL26EGCHiAXqP6u5mt7jCSlpIQiNnP3Fk5g0P1PDUM2Kr\nRrwd\r\n=9OjD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBio8mIPdTEQwA/2w99fRltnOrMGOky5qxa4++yFHRcSAiB7/ZMGqIF/gy7LoCwyVYnqmJlRTpnAR5q3f6SsWVoXTw=="}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.22_1620640001681_0.1527362862611219"},"_hasShrinkwrap":false},"2.0.0-alpha.23":{"name":"teamsfx-extension","displayName":"Teams Toolkit","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.23","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.2","@microsoft/teamsfx-core":"^0.1.0-alpha.2","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"c59a9e160a96981eea3b78a5fd4bb9124c733182","publishConfig":{"access":"public"},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v.12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.23","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-AeypNYi67gg8EY2S/3d7zl7/zbO0u2TOabruVwc/erw04Mf791SdQmczdB8J80XS9CzhDptkPeozAyRtXv2W7Q==","shasum":"4aca1e80ef2c2f2450f753d8c4131d4102e86a92","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.23.tgz","fileCount":160,"unpackedSize":2129196,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmRrgCRA9TVsSAnZWagAAOwwP/0ye0wQXUEGZC0srpplD\ncLNkmT8LP7cc/NWuWrE0JctFsF07ZlkVMEtZYvREPFw+rHH/dKcwB/xBsBWU\n8BTBFzQoJB2YuH69UY0XsRdKgZTpjgDU6nzvz0jRS2YeGEdPXkfdxmBFlPyP\n2nH1AgnQFVbaQswE1Pr4Mjr5BdWqVFkzbTEVzRWsOizQIelPpuZMDMN7hIly\nWEWtHySbfA4Z2f+zHsdwfNioErytDN9fM0ave2qJnI6UroWx9KMpEzOvGyQI\nYPNfwRxCSOpKZue/9VrdQTm53Ya00gEF5SForg8YqY8q36e1Q8Hd72UIAENv\nl7RNMgsFGDK4v/9YJ1QXHfacBc9ZW7gYGYFA/mfJayem7jQhcD/bTbOGI4P5\nO5De1Dz/vBI8tn7LTelZRECFz1QJxc9Yyoj2aXoCBDmq8dZNtKrIg9PqXdFo\nAtSOlpcJIREsmdc50sJlDoz9Z8lFQgeT8Z1A/3CcdS3e28yfw2wP9vpbPzEh\nzAMwnNxxAD5OnQDFYpl+Iv3kk4U+0Eplm4QGvfPa0NbF8DrUTvQAh15e6vVG\nosGMa04msUa/WJtk/fUQlmEFKQbI857mYrfwlHnNNbgPeCrprJJCWM5+aeMe\nBURj+vyis9gRD13xshp5FNJsVd8Yb5OqHU7qf7S7fXRb4w4GEfhBdMyNYV8E\nYvxp\r\n=HpXM\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzgGAVu2VZDrWDgpL30N0FqaN7duC184IKOnMDmdq79gIhALoLoRG2yL2A9unExCHrYfdDW8RdQTaWZrVniruAMxI3"}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.23_1620646623850_0.99728695156642"},"_hasShrinkwrap":false},"2.0.0-alpha.24":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.24","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.3","@microsoft/teamsfx-core":"^0.1.0-alpha.3","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"493de9399bdff1597d6fb3f8371eebe8d689de18","publishConfig":{"access":"public"},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v.12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.24","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-syHYf6If1c3OrBmIlWTzhiTgMq54VpVrYNbQ4wZ3p8qLoIRt07bSbgJ1jhhZiDziOpVQekav5sjUw8lj4yrWSw==","shasum":"a9a61177837ac05ff0bcff60ff46cc28547099ae","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.24.tgz","fileCount":160,"unpackedSize":2135532,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmiflCRA9TVsSAnZWagAANUkP/iqq+aSV4L/mlMShMyzC\nZuPL/xglKFyszH+BKlJQ4zlBY1HUqPkvJZlDDYtrjX8vOy2EEi1KprXZlE7y\nqICvKkKu3o/xX26PRhqj5XWOUpwcYFBp0c1JpII5OwWwrU2AT2olI6vOx+UN\nb+rtbEe/5fxu+HhbQwO7kDXgkYtwn4BCJZPHYnPIuhPzGg45MBuqEVXO5NuA\nkHBhBAH84Tccvk6XZBCBM7zhpOI0y1w0N5JGjWsTecJ7XLQM/pEg5DcL4iZi\nGouL9fxa1RPnvhx7CtWQ+Yn1TQCwUImZVSs0/WsN8tO4jel8MtWN+TMA3Ws/\nu/c13j6gfi8gTvXl8AyBOW1EjpFmaB7sExSx16hvyBxzbrpYz8WZz2VNdA2E\nmvBysEzkvFFBTdudfqrEFokBuAVaqWhulCMLPVYycXtFwVxFIQmp2xJPG1nG\nbaQ1k2drGh/z1vWA7i0+rN2KAvi5PEkT8Lb3h0ikQip4jSabNNoX+MCnMJFr\nVTUOSpNCZKMJ2diozlSOGa/IoDWZyq9hKOUxy1HXzGFfZCdqdv6CDdEWfR7b\nm+rMK7y+wePq9PN7YygabF4RASmcyab58TPoeBuImCZTam4vsKdL3E9vjSvY\nTAZKqY+FEZYM3voGTd7u79kTFdtuTDfciiZtjkiWTKmnG0ciYzmgJUbHMhzm\nXMAA\r\n=Wfnd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCToVCgqQV1z2i2nHDqJEReqhei8/mWLFusqDBMjptwAwIgSfQAicLhBw/IKGQcthvUibJVgj3opL9cS7PtJDXhKWY="}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.24_1620715492651_0.905886816230203"},"_hasShrinkwrap":false},"2.0.0-alpha.25":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.25","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.4","@microsoft/teamsfx-core":"^0.1.0-alpha.4","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"78d04ad035e5725bb2337b26807788e58e11ea61","publishConfig":{"access":"public"},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v.12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.25","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-/wYEvuliaASrGurGF+mR7xUuvQ7lI47lxql5jrlzRnkuSyANEVo58XcPNzilbtXTvwdfIXbQYDiK+LZHDVFCqw==","shasum":"40a1ba559a89a2fcbc0ff7572fd51308a30e8ce3","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.25.tgz","fileCount":160,"unpackedSize":2139774,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgmlJ4CRA9TVsSAnZWagAAUfsP/3YRkkvyhHS/fdiGglls\nToTNX30hLuPpKpH6rCGY6t0vzeWW9NjIpZcKkh0DPmAwBy7wUR55U06o3eq0\nl6iPuMNdqP0zcBOgGh0+1mm6lBcgmAMKZRCSrNzv0Uf5Uc5gGr6AnI/2KusS\nDMyU0KUkmCBPbZGHBT3nI0yv6QYff589GBhorIE+vbrJJ9cIE0K6KnDPzuVZ\nr/CLUDKj1qJbPVhJVnFc1N8LjIKsk6zyGuTWS9hxixvjNiJk/raZQMB15RmP\nzMxRhZapq+qtSU/N6gVFGhLGB9ILzFR73+XrLjPbRS1z9ZnKFp+AYWVh6AQj\na3kqiWB9FM9EB97ogsaplTFm0faEkKjkIP+8/SCgR5lGgfH5v21FybM94Puj\nI0i+6vSUA+fh+nS3pVlWEv6Publkll0gEpLS1t4K1pOaOHmU1uTvF9wUHcME\nifsHBkw/J3+UjzmxfhAcfpGNv2h9lTBFAbQFLbvHnbWDsAH7kpA2UWWZho4H\nkXHBaORGtJXeLk/DSKryvRu78w6NS/NdH1bvzhUQqcxErFdbOjXihyiDU0f6\nH9R1JBIVGinT1Xtp80rB8c+V92AvkMcN87NraYzqz0/Ri11cmdPif+C/+q2E\nSwkqDfgnXtTpiW2BbZFYJZYQOtlKtTFzuN/LyC6OjvYNvAYj3VEapir0hV6O\nBeLU\r\n=bZAW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC4b0YgZRxdD+ICGf07fVkHNmwL8icM3fkkM5hKVvTzuwIgepaggdeBaEsESg7nVkOyD6nwr1P7gpUyf4iY2MHWfk0="}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.25_1620726391736_0.13844906296646542"},"_hasShrinkwrap":false},"2.0.0-alpha.26":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.26","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.teamsfx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Dev Center"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsfxTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}],"languages":[{"id":"teamsfx-toolkit-output","mimetypes":["text/x-code-output"]}],"grammars":[{"language":"teamsfx-toolkit-output","scopeName":"teamsfx-toolkit.output","path":"./syntaxes/teamsfx-toolkit-output.tmLanguage"}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.0.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","husky":"^4.3.8","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","prettier":"^1.16.4","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.5","@microsoft/teamsfx-core":"^0.1.0-alpha.5","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"lint-staged":{"**/*.ts":["eslint"]},"extensionDependencies":["ms-vscode.azure-account"],"husky":{"hooks":{"commit-msg":"commitlint -e $HUSKY_GIT_PARAMS"}},"gitHead":"94fa981f1c22d907bfc4b727e4bec074c92882aa","publishConfig":{"access":"public"},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.26","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-gWkQ/dZnRRPvowO8Slu84YXq/tn7JMu+wFkV1iCBJdjlQsKQ9yOLGO2sd9QIlKR4Inbk9jFzU1gSUCzbs86qyQ==","shasum":"6a33d695c10e5fb85f7f0659a907984acf5bfd6f","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.26.tgz","fileCount":160,"unpackedSize":2146585,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgm6QrCRA9TVsSAnZWagAAQp0P/3/jZgEt59fyggWb5qCR\nQYW262Ctaj8OzoGzr8VtjBKSrH333An/cTLNH/tjrHCO+kV6YldlBgIoJpjH\n459N02qaiqO+7GZ9bHYA2zLtGq/30s+ldBRF05sYxaN/USdldvjEMIoQgkxc\nyH0+tsNrTmtxoDZ2ZCKUqHrt9tmJwS8hqdJg8yjppGSmpEbEHW313mwRI1gu\n+Hn8h9w2iCHFkZLz+PN4eXHCsrL2rphiJjjoWfPXdqpiH6Ee5hfhvWn4sHcO\n3p9AeBLmmgZgXePyGyDPl7xsf6iaWg32kz7HRiydhlzLHBPhXKRGU/hDVhYh\nBeM8iJw/OW3DSMl2f/ORHey0GMSCKNF7tJoRYYhJQZP2N3A9JdCQ7DI/Kmuv\n46OlSapSYazK3pQ32qt12uCC0c+bccqCqkEotklVPzAb8x3MNX0lvRS04OxO\nGeo2q06vpf8l6ZIuQ6wWsF2WSoEtML0xs5qWbnuc4N+ICl7pRQZbsJ43ow72\n++jiewt4EHBKv9odModVD3cOxYusZpJKxhw1b9dGvVQ0g4lVLmgw7SMpcEj5\nEC0ayBep9OIYZqgXbJEzooYREPdyTN49aVPH7/8s78DDUlz+ucPdc0jEZazO\nK8qGvpOciJZxGAFWyDtABb4bw6TRoBLcWIQgBf0I8LLQvA+EjHlAd5a6PpH5\n5a/L\r\n=L2lR\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBO651Rt2d9MTptYsuowA3x8SKlZXiYfNuYTK909yxAeAiB/6Wxss538Gyxd7jxV3RhBaYtuxxGCkL+sdE4g3cap/A=="}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.26_1620812843397_0.10414508544552747"},"_hasShrinkwrap":false},"2.0.0-alpha.27":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.27","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.openWelcome","onCommand:fx-extension.openSamples","onCommand:fx-extension.openDocument","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.openManifest","onCommand:fx-extension.validateManifest","onCommand:fx-extension.build","onCommand:fx-extension.openAppManagement","onCommand:fx-extension.openBotManagement","onCommand:fx-extension.openReportIssues","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.fx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Developer Portal"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsToolkitTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}],"languages":[{"id":"teamsfx-toolkit-output","mimetypes":["text/x-code-output"]}],"grammars":[{"language":"teamsfx-toolkit-output","scopeName":"teamsfx-toolkit.output","path":"./syntaxes/teamsfx-toolkit-output.tmLanguage"}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"rimraf out && npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build","precommit":"lint-staged"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.1.0","@shared/prettier-config":"^0.1.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.6","@microsoft/teamsfx-core":"^0.1.0-alpha.6","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"extensionDependencies":["ms-vscode.azure-account"],"gitHead":"a7411a6bc118d2e22f9dfe6fb2b41d33b8d025e2","publishConfig":{"access":"public"},"lint-staged":{"*.{js,jsx,css,ts,tsx}":["npx eslint --cache --fix --quiet"],"*":["npx prettier --config .prettierrc.js --ignore-unknown --write --ignore-path .prettierignore "]},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.27","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-HNkDE71ynWpqhDAHU5ILNbpjPJfC6sn/uQhs9hqKxcsNnJaD0uT0AmZX0n7aOPo5cuy/LSMQRNWL8T2RFGithA==","shasum":"076dc0634cfd883b93d8f19eeb7df32f0b76aa3f","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.27.tgz","fileCount":158,"unpackedSize":893620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnPs8CRA9TVsSAnZWagAAN/cQAJkFzQpvXU/IEkZ0J1U5\nbYe3Sgjjpuo4rUsf5LooaGrDNE51rpO94yq5BIXffN/uTkWHbuMsU26BKBa8\nDUn1fh+f/vwUa33NVCODeGx3gS0cOkvWhc6UzMAnLuL6yH6oUVU6wHh6uE86\nT9xJLkPVxYHiKXEFb+nhcGPOWDAnSvDDcPMCdSygZQlIlD2jloqHqrguJyPv\nuHOYRUWDj7CHrH5PTTizvOAGtnbArOmBppZeSdRrFNlhofsB59FgA1H2pftX\n55/VW7gxoiwFTp+MGej4TztTiVwrdigegzOY4rehCV0nX0dcCJRdx6hRFkqJ\n9JTAiLcSS/uvQNaJvcBHDGEfk0/bepXh3BJ3WbdIE2AgEoVt5Kn6rNP5ZNgI\nLHqLnKjK/XjhrOA9vmMzXRWhk3/NGVQaoHlB/H7GgvkBHeMSfDl4Sgdx6iRj\nqGKLNoB/JOBw8suD3Tes4fzuidO3p9n9NKbPssV7hYwcinvPzY+45aOAWMC3\nRUNVfh+awi6A1dcYJbfikTOh52zIbE/j5eBHcv5b2pkD4Eze8e3I4Q7GyUjn\nPqFPs+xoIS1Gw0pIGMXf6k6ACuzInVV86kwX7djdBd2TsZkc/vSQuoCy5Zka\nGBFjPTe70w2WWUiEJ0grHqGfsEamqlokQyax6XxayPUeItF+aV1dtAS7ZwXR\n7W7H\r\n=G6Lp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCSv/vW+Dc1IRPEepXthPOgXivOYPk4sVNc8HmrYH4W9QIhAIt7JrhDVFJ+zoQfwz9cKuwjVg0hUP5nZaCq30wXTMAc"}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.27_1620900667962_0.9797468122586233"},"_hasShrinkwrap":false},"2.0.0-alpha.28":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.28","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.openWelcome","onCommand:fx-extension.openSamples","onCommand:fx-extension.openDocument","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.openManifest","onCommand:fx-extension.validateManifest","onCommand:fx-extension.build","onCommand:fx-extension.openAppManagement","onCommand:fx-extension.openBotManagement","onCommand:fx-extension.openReportIssues","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.fx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Developer Portal"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsToolkitTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}],"languages":[{"id":"teamsfx-toolkit-output","mimetypes":["text/x-code-output"]}],"grammars":[{"language":"teamsfx-toolkit-output","scopeName":"teamsfx-toolkit.output","path":"./syntaxes/teamsfx-toolkit-output.tmLanguage"}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"rimraf out && npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build","precommit":"lint-staged"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.1.0","@shared/prettier-config":"^0.1.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.6","@microsoft/teamsfx-core":"^0.1.0-alpha.7","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"extensionDependencies":["ms-vscode.azure-account"],"gitHead":"fd2b1d135ea1d9c94951c0936f45a0ac39233f5a","publishConfig":{"access":"public"},"lint-staged":{"*.{js,jsx,css,ts,tsx}":["npx eslint --cache --fix --quiet"],"*":["npx prettier --config .prettierrc.js --ignore-unknown --write --ignore-path .prettierignore "]},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/HuihuiWu-Microsoft/Teams-Toolkit-V2/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.28","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-UBj/cFlRs1Z+0qaMsZ3JPEw/jW/RnrP+u+tjfKMKt+vuX7nH2kOuSh56vnN1kVFecaRsA+dOz1+r/v6IShqdaA==","shasum":"b33f31161b9d0947969f9fc12e0c1d39305b50ec","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.28.tgz","fileCount":158,"unpackedSize":893620,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnQ49CRA9TVsSAnZWagAAUOIP/19QXLK81Lza9QgalrFC\nmqnBEnB2tMq6edbhq+k71wkCoLUwXjIH2JWzdxTJyfZg6ugyxN6E0zjkDK+m\nllWt+viSUadWTQm5fmlPQN5sv1EncXpfn7PDGkC6rZcKljD28xRndRe21sIr\n5MpKY9iXrdjc6My4lS8FepZ9JaSIT6kuOZXUMj1FTG2ujFjk/XV6JZCtoYcw\ncRuSXs0ZxOldadpC2KLsVr+nO95fV160oi8cNZRdpfBKxpsHj5RAm2Z3QhMF\nMtEh9/4LHj6pBUjZwq7tE53iuK4kxA2IrwFcCuw/vENwytYLonN+WUOchH3p\nYyopVamnInuos5Gm+/NDCj7aHK8sI1wnxM7fwUojfNz822qTAdWi3yoeS/qQ\nqnylK1lZd4cYyFeDq1bn9KNHvxxsbBSycskn2tM0rLk9b3k/ay6+mDCuRS0V\n28g2vh7ZldGub2WOcjKgk6LmC1+il36sGITRiyBojtLuZD0JXc48KqHcmOB9\nxJh2YzRexBTQ4UZbEzIejcxdDSGy42Y1A7ebuOLg9MH3lMSB2bEPgnMBlz+r\nYi5JRDobXDDF1RsyQk+sCo+44wr7QyAD0tPo6+0G+pD2l7Pp5phMvLYFh9N9\nwnJZg53EDS12+TuHHBB99Ll12qfddiBGo3zm/6w1HPKLOEE6cQqpz42V993p\nsgwL\r\n=DGE9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCjXIAbKnAAL8vVV/C2/yS7X+FlZI9rQResaX4C64Z6bQIgfWDpOGIf7CVtYgon+m3n0II/f1lM1f8NBJ9sA9XVQB0="}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.28_1620905532728_0.9561551013015683"},"_hasShrinkwrap":false},"2.0.0-alpha.29":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-alpha.29","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.openWelcome","onCommand:fx-extension.openSamples","onCommand:fx-extension.openDocument","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.openManifest","onCommand:fx-extension.validateManifest","onCommand:fx-extension.build","onCommand:fx-extension.openAppManagement","onCommand:fx-extension.openBotManagement","onCommand:fx-extension.openReportIssues","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.fx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Developer Portal"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsToolkitTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}],"languages":[{"id":"teamsfx-toolkit-output","mimetypes":["text/x-code-output"]}],"grammars":[{"language":"teamsfx-toolkit-output","scopeName":"teamsfx-toolkit.output","path":"./syntaxes/teamsfx-toolkit-output.tmLanguage"}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"rimraf out && npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build","precommit":"lint-staged"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.1.0","@shared/prettier-config":"^0.1.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-alpha.6","@microsoft/teamsfx-core":"^0.1.0-alpha.7","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"extensionDependencies":["ms-vscode.azure-account"],"gitHead":"e3e3d42bd181f7043d08ad7afb0fc709f42a49d0","publishConfig":{"access":"public"},"lint-staged":{"*.{js,jsx,css,ts,tsx}":["npx eslint --cache --fix --quiet"],"*":["npx prettier --config .prettierrc.js --ignore-unknown --write --ignore-path .prettierignore "]},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v12.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n>Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with. \n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency. \n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-alpha.29","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-HZA3IuAUpt1ZkgLxBhz5g8WHaRrxtKnon+0UPfF0dqTdmH/9NsSVYiRh4lKvjxqIfVnifarH+WniJYjCFO6pUg==","shasum":"e816b0b0ba90e5c1d0947c301b36bd476fc21f19","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-alpha.29.tgz","fileCount":158,"unpackedSize":893522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgnRUnCRA9TVsSAnZWagAAhvkP/Ay6X8wohUp3CxhA0zqR\nfUIV4EX9QLj/9va++QrsNZBExuXPs7PCVWOUtzhXOCoBsHO89CizvQtYzEW1\n+0tBhsFK3MDNLVNY23kv9RxUXa1RFZxwrj1SDOE0uxGF8KRsEeUkqhN5Pe19\nbGUSggCUasY9gD4GktnC6m6bhJnqRm/zCp1ChbEHewa76f3WGZTV920uF70w\nHwxP1glIjYvZmF6me0uWw8vSp7TfLrft49U6a4E/M4Kd1lqYzGT77QvQJ0IJ\nBTIRE6v4bPsSsR+cPoz5a6dZr7RrLbdiXlhGR1aSp+lXqwCIX54qHlAfqldQ\nqXZPaIs8EMy7+OZmBqcaudkQHSA1/sEVYfbapOp52Yu1/LoBbyTQA1ZOdvU1\n7pAsQr0h3kkEZQ1Eh9ixzGEmSDcSfE0Z0HJc8sTBqjn0tY/5DjospNteAm+7\nKZFbFoUoR38ew6DELCY2b9c9n4llI6lx6fl/LHlsAgckzW1Dsxtm1ZJ7hwq6\nQsLHOU/vcsJswf56qH5k389bjN3BGSJ//4l8hlyYH9GIK8JMbEqQjA2r30rr\nOCEG6uPPOhjMKNUcErMja0hpUHlZCMXf45YjKNyA+PAHMWMz9aHwazmj5RX6\nt6vUwjb83ed4Mon1NjlLQdXTPV20PhWs2rGQjMvzLjefNjE7KsltjY25uNPG\nnPfu\r\n=RMKu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFLm2XkizR73U825dAifsYYIb/MvBJgTZL+HEWq+XoEHAiEA4XCrxsWeBgEVe3uqkBx+pJOgpwGR1JZdmsB1iiwGFm8="}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-alpha.29_1620907302606_0.5943322893721257"},"_hasShrinkwrap":false},"2.0.0-rc.0":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-rc.0","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.openWelcome","onCommand:fx-extension.openSamples","onCommand:fx-extension.openDocument","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.openManifest","onCommand:fx-extension.validateManifest","onCommand:fx-extension.build","onCommand:fx-extension.openAppManagement","onCommand:fx-extension.openBotManagement","onCommand:fx-extension.openReportIssues","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.fx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Developer Portal"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsToolkitTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}],"languages":[{"id":"teamsfx-toolkit-output","mimetypes":["text/x-code-output"]}],"grammars":[{"language":"teamsfx-toolkit-output","scopeName":"teamsfx-toolkit.output","path":"./syntaxes/teamsfx-toolkit-output.tmLanguage"}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"rimraf out && npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build","precommit":"lint-staged"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.1.0","@shared/prettier-config":"^0.1.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-rc.0","@microsoft/teamsfx-core":"^0.1.0-rc.0","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"extensionDependencies":["ms-vscode.azure-account"],"gitHead":"a7e5288915d896b269083e6bb23e9dabc1e429fb","publishConfig":{"access":"public"},"lint-staged":{"*.{js,jsx,css,ts,tsx}":["npx eslint --cache --fix --quiet"],"*":["npx prettier --config .prettierrc.js --ignore-unknown --write --ignore-path .prettierignore "]},"bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-rc.0","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-rzs5JKGFKJoVT1oSvNP+d6AEk8zlnpd0Nrb5f5FOfGftRKErwYcO82f6hL+mvAMVSvlJkMUxIjTtpZ64emsh+A==","shasum":"8175d95b2c0914961e79ee29b93e8e30b34d827a","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-rc.0.tgz","fileCount":158,"unpackedSize":901494,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgniZnCRA9TVsSAnZWagAA3UUP/2c8CkNaxL8KC2/YIu3H\nVUcIHS2939mf6kCwwHcx5k5Z0GGhH44xFMtKilELRNGhKlK3aQqMDB/H6CPh\nN/DSzciAEC5xyTYoHiyiWPIoZnItMSAJ14TYHd8jEo7in9srJWkSMtoXA/HI\nBRwGKN8ALYjjg1eRhoDNj4/YnTMM574IyF0XKUw3OS3ZVzq9utIjVUqsAkL1\nL9zbwfI/LdFL/n/+kCnNtZhRuVAUXVdCfoBTwtw2HRYZc/cbyAb8Kaac9g7Y\nQcE0nxvFSGtNZEMr8pVVcNr+lDAD7m4/sBeqqPLpJL1o1p0/YKMV5XuIJXFM\nbBTP6268xgVyJLuVEgse2sWgMOznINF1VoGFxJUbHYNCZGaq8QPMQ+/6TN7+\nysNN/gAQ+o8IvjVEkOx63AJgdxyDaWzGpJEykzdsRkpH7AC7EQ/BCg5KjLUB\npxXg5+UvKFSQ+TX8zpFN1XtsaJLRAOt7Pno3qL2l6BftJvjPcoMRhZY7oEJ0\nJXaLrd6ZGad5PsBeQVSA5skaugXdxgQhiBP9e5J9RZZg0L3o+57C2maQD05C\n0eLBEY+D6qm+3vVH5ij1aPNGAcvyZ7rvcPAzETJxGst2bXcsaOMZmejUbk/m\ngLcN+Q/DF8SC0TvrDOs+NhYU+UnRdSDkanZ+EumbQYfX1PvPc4lxQL7CNCqT\nJoa+\r\n=fTKX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDuWBKB40yiNOE/7Ex1g4eB7KOzL5e1MMhygyXcGYdn+gIhAIqrqM8ZMcrtfFB+qTYcyb9kxcrHow7T95U59LUt2LBv"}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-rc.0_1620977254965_0.1649014891065832"},"_hasShrinkwrap":false},"2.0.0-rc.1":{"name":"teamsfx-extension","displayName":"Teams Toolkit (Preview)","description":"Create, debug, and deploy Teams apps with Teams Toolkit","version":"2.0.0-rc.1","publisher":"Microsoft","author":{"name":"Microsoft Corporation"},"icon":"media/teams.png","main":"./out/src/extension.js","repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"views":{"teamsfx-toolkit":[{"id":"teamsfx-toolkit","name":"Commands"}]},"engines":{"vscode":"^1.51.0"},"license":"MIT","keywords":["Microsoft Teams","Azure","M365"],"preview":true,"categories":["Azure","Extension Packs","Snippets"],"aiKey":"AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217","featureFlag":"true","activationEvents":["*","onCommand:fx-extension.openWelcome","onCommand:fx-extension.openSamples","onCommand:fx-extension.openDocument","onCommand:fx-extension.create","onCommand:fx-extension.update","onCommand:fx-extension.addCapability","onCommand:fx-extension.provision","onCommand:fx-extension.deploy","onCommand:fx-extension.updateAad","onCommand:fx-extension.openManifest","onCommand:fx-extension.validateManifest","onCommand:fx-extension.build","onCommand:fx-extension.openAppManagement","onCommand:fx-extension.openBotManagement","onCommand:fx-extension.openReportIssues","onCommand:fx-extension.validate-dependencies","onCommand:fx-extension.pre-debug-check","workspaceContains:**/.fx/*","onView:teamsfx"],"contributes":{"viewsContainers":{"activitybar":[{"id":"teamsfx","title":"Teams Toolkit","icon":"media/teams.svg"}]},"views":{"teamsfx":[{"id":"teamsfx-getting-started","name":"Getting Started"},{"id":"teamsfx-accounts","name":"Accounts"},{"id":"teamsfx-project","name":"Project"},{"id":"teamsfx-teams-dev-center","name":"Teams Developer Portal"},{"id":"teamsfx-feedback","name":"Feedback"}]},"menus":{"view/item/context":[{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@1"},{"command":"fx-extension.signOut","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@1"},{"command":"fx-extension.m365AccountSettings","when":"view == teamsfx-accounts && viewItem == signedinM365","group":"inline@2"},{"command":"fx-extension.azureAccountSettings","when":"view == teamsfx-accounts && viewItem == signedinAzure","group":"inline@2"},{"command":"fx-extension.specifySubscription","when":"view == teamsfx-accounts && viewItem == selectSubscription","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinM365","group":"inline"},{"command":"fx-extension.signInGuideline","when":"view == teamsfx-accounts && viewItem == signinAzure","group":"inline"}],"commandPalette":[{"command":"fx-extension.signOut","when":"false"},{"command":"fx-extension.signInGuideline","when":"false"},{"command":"fx-extension.m365AccountSettings","when":"false"},{"command":"fx-extension.azureAccountSettings","when":"false"},{"command":"fx-extension.specifySubscription","when":"false"}]},"commands":[{"command":"fx-extension.signOut","title":"Sign Out","icon":"$(sign-out)"},{"command":"fx-extension.signInGuideline","title":"Learn more about Teams development accounts","icon":"$(info)"},{"command":"fx-extension.m365AccountSettings","title":"M365 portal","icon":"$(settings-gear)"},{"command":"fx-extension.azureAccountSettings","title":"Azure portal","icon":"$(settings-gear)"},{"command":"fx-extension.specifySubscription","title":"Specify subscription","icon":"$(list-selection)"},{"command":"fx-extension.cmpAccounts","title":"Teams: Accounts"},{"command":"fx-extension.openWelcome","title":"Teams: Quick Start"},{"command":"fx-extension.openSamples","title":"Teams: Samples"},{"command":"fx-extension.openDocument","title":"Teams: Documentation"},{"command":"fx-extension.create","title":"Teams: Create New Project "},{"command":"fx-extension.update","title":"Teams: Add Resources"},{"command":"fx-extension.addCapability","title":"Teams: Add Capability"},{"command":"fx-extension.openManifest","title":"Teams: Manifest Editor"},{"command":"fx-extension.validateManifest","title":"Teams: Validate App Manifest File"},{"command":"fx-extension.build","title":"Teams: Build Teams Package"},{"command":"fx-extension.provision","title":"Teams: Provision in the Cloud"},{"command":"fx-extension.deploy","title":"Teams: Deploy to the Cloud"},{"command":"fx-extension.publish","title":"Teams: Publish to Teams"},{"command":"fx-extension.openAppManagement","title":"Teams: App Management"},{"command":"fx-extension.openBotManagement","title":"Teams: Bot Management"},{"command":"fx-extension.openReportIssues","title":"Teams: Report issues"},{"command":"fx-extension.validate-dependencies","title":"Teams - Validate Dependencies","enablement":"never"},{"command":"fx-extension.validate-spfx-dependencies","title":"Teams - Validate SPFx Dependencies","enablement":"never"},{"command":"fx-extension.pre-debug-check","title":"Teams - Pre Debug Check","enablement":"never"},{"command":"fx-extension.backend-extensions-install","title":"Teams - Backend Extensions Install","enablement":"never"}],"taskDefinitions":[{"type":"teamsfx","required":["command"],"properties":{"command":{"type":"string"}}}],"problemMatchers":[{"name":"teamsfx-frontend-watch","label":"%teamsfx.problemMatchers.teamsfxFrontendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/tabs"],"pattern":[{"regexp":"^.*?\\.js$","file":0},{"regexp":"^\\s*Line\\s+(\\d+):(\\d+):\\s+(.*)$","line":1,"column":2,"message":3}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":"Compiled|Failed"},"severity":"error"},{"name":"teamsfx-backend-watch","label":"%teamsfx.problemMatchers.teamsfxbackendWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/api"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"^.*(Job host stopped|signaling restart).*$","endsPattern":"^.*(Worker process started and initialized|Host lock lease acquired by instance ID).*$"}},{"name":"teamsfx-auth-watch","label":"%teamsfx.problemMatchers.teamsfxAuthWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":".*","endsPattern":".*"}},{"name":"teamsfx-ngrok-watch","label":"%teamsfx.problemMatchers.teamsfxNgrokWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"starting web service","endsPattern":"started tunnel|failed to reconnect session"}},{"name":"teamsfx-bot-watch","label":"%teamsfx.problemMatchers.teamsfxBotWatch%","owner":"Teams Toolkit","source":"teamsfx","applyTo":"allDocuments","fileLocation":["relative","${workspaceFolder}/bot"],"pattern":[{"regexp":"^.*$","file":0,"location":1,"message":2}],"background":{"activeOnStart":true,"beginsPattern":"[nodemon] starting","endsPattern":"listening|[nodemon] app crashed"}}],"configuration":[{"title":"Teams Toolkit","properties":{"fx-extension.validateNode":{"type":"boolean","description":"Ensure Node.js is installed.","default":true},"fx-extension.validateDotnetSdk":{"type":"boolean","description":"Ensure .NET SDK is installed.","default":true},"fx-extension.stopTeamsToolkitTasksPostDebug":{"type":"boolean","description":"Automatically stop all Teams Toolkit tasks when debug session ends.","default":true}}}],"languages":[{"id":"teamsfx-toolkit-output","mimetypes":["text/x-code-output"]}],"grammars":[{"language":"teamsfx-toolkit-output","scopeName":"teamsfx-toolkit.output","path":"./syntaxes/teamsfx-toolkit-output.tmLanguage"}]},"scripts":{"lint:staged":"lint-staged","vscode:prepublish":"rimraf out && npm run package","copy-files":"copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.ps1 src/**/*.sh out/src/","copy-test-files":"copyfiles -u 1 test/**/*.ps1 test/**/*.sh out/test/","compile":"tsc -p ./ && npm run copy-files","build":"rimraf out && npm run compile","watch":"webpack --watch --devtool nosources-source-map --info-verbosity verbose --config ./webpack.config.js","package":"rimraf out && webpack --mode production --config ./webpack.config.js","test-compile":"tsc -p ./","test-watch":"npm run copy-test-files && tsc -watch -p ./","pretest":"npm run lint && npm run check-format && npm run test-compile","test:unit":"echo 'to be implementd'","test:integration":"echo 'to be implementd'","test:e2e":"echo 'to be implementd'","test:env-checker":"npm run compile && npm run copy-test-files && npx mocha --require source-map-support/register --ui tdd \"./out/test/suite/envChecker/cases/**/*.js\" --timeout 180000","check-format":"prettier --list-different --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","format":"prettier --write --config .prettierrc.json --ignore-path .prettierignore \"src/**/*.ts\" \"test/**/*.ts\" \"*.{js,json}\"","lint:fix":"eslint --config .eslintrc.js package.json src test --ext .ts --fix --fix-type [problem,suggestion]","lint":"eslint \"src/**/*.ts\" \"test/**/*.ts\"","prepare":"npm run build","precommit":"lint-staged"},"devDependencies":{"@azure/arm-subscriptions":"^3.0.0","@azure/eslint-plugin-azure-sdk":"^2.0.1","@commitlint/cli":"^12.0.1","@commitlint/config-conventional":"^12.0.1","@fluentui/react":"^8.5.1","@shared/eslint-config":"^0.1.0","@shared/prettier-config":"^0.1.0","@types/adm-zip":"^0.4.33","@types/chai":"^4.2.14","@types/chai-as-promised":"^7.1.3","@types/chai-spies":"^1.0.3","@types/express":"^4.17.11","@types/fs-extra":"^9.0.5","@types/glob":"^7.1.3","@types/mocha":"^8.0.0","@types/node":"^12.11.7","@types/react":"^17.0.3","@types/react-dom":"^17.0.2","@types/react-router-dom":"^5.1.7","@types/sinon":"^9.0.9","@types/tmp":"^0.2.0","@types/underscore":"^1.11.0","@types/uuid":"^8.3.0","@types/vscode":"^1.51.0","@typescript-eslint/eslint-plugin":"^4.19.0","@typescript-eslint/parser":"^4.19.0","adm-zip":"^0.5.4","chai":"^4.2.0","chai-as-promised":"^7.1.1","chai-spies":"^1.0.0","copy-webpack-plugin":"^6.4.1","copyfiles":"^2.4.1","css-loader":"^5.1.3","eslint":"^7.22.0","find-process":"^1.4.4","fs-extra":"^9.0.1","glob":"^7.1.6","html-webpack-plugin":"^3.2.0","lint-staged":"^10.5.4","mocha":"^8.1.3","mocha-junit-reporter":"^2.0.0","mocha-multi-reporters":"^1.5.1","mock-require":"^3.0.3","ms-rest":"^2.5.4","node-loader":"^2.0.0","node-sass":"^5.0.0","react":"^17.0.2","react-dom":"^17.0.2","react-intl":"^5.13.5","react-router-dom":"^5.2.0","rimraf":"^3.0.2","sass":"^1.32.8","sass-loader":"^10.0.1","sinon":"^9.2.2","source-map-support":"^0.5.19","style-loader":"^2.0.0","terser-webpack-plugin":"^4.2.3","tmp":"^0.2.1","ts-loader":"^8.0.3","ts-node":"^9.0.0","typescript":"^4.2.4","url-loader":"^4.1.1","uuid":"^8.3.2","vsce":"^1.87.1","webpack":"^4.44.1","webpack-cli":"^3.3.12","winston":"^3.3.3"},"dependencies":{"@azure/identity":"^1.2.1","@azure/ms-rest-nodeauth":"^3.0.7","@azure/msal-node":"^1.0.0-beta.5","@microsoft/teamsfx-api":"^0.1.0-rc.1","@microsoft/teamsfx-core":"^0.1.0-rc.1","async-mutex":"^0.3.1","dotenv":"^8.2.0","express":"^4.17.1","jsonschema":"^1.4.0","opn":"^6.0.0","sudo-prompt":"^9.2.1","underscore":"^1.12.1","vscode-extension-telemetry":"^0.1.6","vscode-test":"^1.5.2"},"extensionDependencies":["ms-vscode.azure-account"],"gitHead":"1281ec4087ed7115a56a631483f3200ce0e39b82","publishConfig":{"access":"public"},"lint-staged":{"*.{js,jsx,css,ts,tsx}":["npx eslint --cache --fix --quiet"],"*":["npx prettier --config .prettierrc.js --ignore-unknown --write --ignore-path .prettierignore "]},"readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v14.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n> Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with.\n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency.\n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md","bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"homepage":"https://github.com/OfficeDev/TeamsFx#readme","_id":"teamsfx-extension@2.0.0-rc.1","_nodeVersion":"14.16.1","_npmVersion":"lerna/4.0.0/node@v14.16.1+x64 (linux)","dist":{"integrity":"sha512-lM3BEbWVUZmBVFTWOZruHIlWjO/idPuaZ1BrARgCkEZMUrf+5CPowD9AEkzffFLjAPliaNx3urWLqzQSk/XdRw==","shasum":"0750cbc4d510792533e21533f74121cde375745b","tarball":"https://registry.npmjs.org/teamsfx-extension/-/teamsfx-extension-2.0.0-rc.1.tgz","fileCount":158,"unpackedSize":903383,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgoiS0CRA9TVsSAnZWagAA1jkP/jZbeeA13J41IaJyUuK6\nHz1I1LnFZLXs4L5TJmfStbkHGlEpr10Z4FikX0GtY+AaEAAjX2j3Orn9RsVb\nVgw4DicsNhGI2ylYNSi5nuVpNlMVGDt8N4vBnfbqOfgK4moZGUj7MFoyfoWO\naKI93X+bP2kefsU9dnPo8Dqtqp4LM7iCDO6Fg5qfjTLPtSVA2gSjvIUiV0UZ\n96xjdxG0XmykBUtBfeLeM5SnjJ2pSz2uA1YAbfDcCx56S1c2l8gw6ZdNc2VS\nASIKpZXG5/LOZU/J/IzWRz/N1scrATTV0mquXfnjcf8o3vTUpK4h7/McsadP\np2NUQTgWGezxX0LIyoliZwl18fEAI8iH1e6gYyM1AFx+OH1/yUp/lKri44jK\neR6Po0X228TDmHN3fSYdmV3rJt8+0gMOO2+IfluXftU/43JMrEazmLnINkkP\nl5b+rsTsElgDAZKPOhsrLvsMw1rjIUFI8FTcGdvv68AYIYgt3tXlzuUm95CF\nO7RGIsypszLA/jgr7Ow+xK1CKoiHhSwPre1zlqRqkloQ943tZuNOQzUsIBF8\nvWqy31qRQwGLgtxGcVAJ5LMVWGMGBMBexMEQPuONULhnysBE2aJ4o9F5lZhS\n+/R833YaxSrhHdJCHa3Fjc8njL//uxavoL04s/uPLYeKOCOQbl/I1qDLIXNs\nYw0X\r\n=EdBm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG0RfQTeGEdNUf35nFa9+eWxnFj2FKN57GcySv6Gad4JAiB2PQM9UwmTqiGZTCS6pFv24paARblL8ng1I5usw3E/ow=="}]},"_npmUser":{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"},"directories":{},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/teamsfx-extension_2.0.0-rc.1_1621238964205_0.595137072035409"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-24T16:28:22.985Z","2.0.0-alpha.11":"2021-04-24T16:28:23.539Z","modified":"2022-05-19T18:39:22.396Z","2.0.0-alpha.12":"2021-04-25T20:11:14.049Z","2.0.0-alpha.13":"2021-04-27T05:16:03.073Z","2.0.0-alpha.14":"2021-04-27T20:06:09.625Z","2.0.0-beta.0":"2021-04-28T07:03:19.892Z","2.0.0-alpha.15":"2021-04-28T20:06:28.044Z","2.0.0-alpha.16":"2021-04-29T20:06:39.642Z","2.0.0-beta.1":"2021-04-30T02:21:03.386Z","2.0.0-alpha.17":"2021-04-30T20:07:30.490Z","2.0.0-beta.2":"2021-05-03T11:12:28.819Z","2.0.0-alpha.18":"2021-05-06T03:04:08.039Z","2.0.0-alpha.19":"2021-05-06T14:00:17.188Z","2.0.0-alpha.20":"2021-05-07T09:52:08.104Z","2.0.1-alpha.0":"2021-05-07T10:16:36.954Z","2.0.1-alpha.1":"2021-05-09T09:45:22.217Z","2.0.0-alpha.22":"2021-05-10T09:46:41.861Z","2.0.0-alpha.23":"2021-05-10T11:37:03.998Z","2.0.0-alpha.24":"2021-05-11T06:44:52.866Z","2.0.0-alpha.25":"2021-05-11T09:46:31.950Z","2.0.0-alpha.26":"2021-05-12T09:47:23.668Z","2.0.0-alpha.27":"2021-05-13T10:11:08.202Z","2.0.0-alpha.28":"2021-05-13T11:32:12.906Z","2.0.0-alpha.29":"2021-05-13T12:01:42.874Z","2.0.0-rc.0":"2021-05-14T07:27:35.189Z","2.0.0-rc.1":"2021-05-17T08:09:24.471Z"},"maintainers":[{"name":"zhyuer","email":"zhany@microsoft.com"},{"name":"msteamsfx","email":"teamsfxnpm@microsoft.com"}],"description":"Create, debug, and deploy Teams apps with Teams Toolkit","homepage":"https://github.com/OfficeDev/TeamsFx#readme","keywords":["Microsoft Teams","Azure","M365"],"repository":{"type":"git","url":"git+https://github.com/OfficeDev/TeamsFx.git"},"author":{"name":"Microsoft Corporation"},"bugs":{"url":"https://github.com/OfficeDev/TeamsFx/issues"},"license":"MIT","readme":"# Microsoft Teams Toolkit for Visual Studio Code\n\n## What is the Teams Toolkit?\n\nThe Teams Toolkit helps developers create and deploy Teams apps with integrated Identity, access to cloud storage, data from [Microsoft Graph](https://docs.microsoft.com/en-us/graph/teams-concept-overview), and other services in [Azure](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-bot) and [M365](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/build-and-test/prepare-your-o365-tenant) with a “zero-configuration” approach to the developer experience.\n\n<img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_MicrosoftTeams.png\">\n\n## What are Teams app “Capabilities”?\n\nTeams apps are a combination of [capabilities](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/capabilities-overview) and [entry points](https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/extensibility-points). For example, people can chat with your app's bot (capability) in a channel (entry point).\n\n### Tab\n\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/tabs/what-are-tabs>Tab</a> are Teams-aware webpages embedded in Microsoft Teams. They are simple HTML tags that point to domains declared in the app manifest and can be added as part of a channel inside a team, group chat, or personal app for an individual user.\n\n### Bot\n\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/bots/what-are-bots>Bots</a> allow users to interact with your web service through text, interactive cards, and task modules.\n\n### Messaging Extension\n\n<a href=https://docs.microsoft.com/en-us/microsoftteams/platform/messaging-extensions/what-are-messaging-extensions>Messaging extensions</a> allow users to interact with your web service through buttons and forms in the Microsoft Teams client.\n\n## Build a Teams app in less than 5 minutes\n\nBuild a Teams app from the scratch or explore our [samples](https://github.com/OfficeDev/TeamsFx-Samples) to help you quickly get started with the basic Teams app concepts and code structures.\n\n## Prerequisites\n\nVerify you have the right prerequisites for building Teams apps and install some recommended development tools. [Read more details](https://docs.microsoft.com/en-us/microsoftteams/platform/build-your-first-app/build-first-app-overview).\n\n<table>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_nodejs.png\"></td>\n        <td><h3>Node.js</h3>As a fundamental runtime context for Teams app, Node.js v10.x, v12.x or v14.x is required (v14.x is recommended).</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_m365.png\"></td>\n        <td><h3>M365</h3>The Teams Toolkit requires a Microsoft 365 organizational account where Teams is running and has been registered.</td>\n    </tr>\n    <tr>\n        <td><img src=\"https://raw.githubusercontent.com/OfficeDev/TeamsFx/main/packages/vscode-extension/media/landingPage_azure.png\"></td>\n        <td><h3>Azure</h3> The Teams Toolkit may require an Azure account and subscription to deploy the Azure resources for your project.</td>\n    </tr>\n</table>\n\n> Don’t have a M365 to experience building Teams app? Sign up for [Microsoft Developer Program](https://developer.microsoft.com/en-us/microsoft-365/dev-program), which allows you to have a testing tenant with preconfigured permissions.\n\n## Getting started\n\nAfter installing the Teams toolkit, follow the [Get Started](https://review.docs.microsoft.com/en-us/mods/build-your-first-app/build-first-app-overview?branch=main) instruction in our documentation to smoothly start with.\n\nUnder the Teams Toolkit extension tab, you can easily discover all applicable commands in the sidebar and Command Palette with the keyword ‘TeamsFx’. It also supports [Command Line Interface (CLI)](https://www.npmjs.com/package/teamsfx-cli) to increase efficiency.\n\n### Create your project\n\nUse the Teams Toolkit in Visual Studio Code to set up your first app project. Create your app project using the following steps:\n\n- Ensure you've installed the Microsoft Teams Toolkit\n- In Visual Studio Code, open the Command Palette (Ctrl+Shift+P / ⌘⇧-P or View -> Command - Palette) and type teams and choose TeamsFx - Start A New Project.\n- Type a name for your project and hit Enter\n- Next, Add capabilities comes up. Select capability you want then Next.\n- Choose options according to your purpose, i.e., front-end hosting type, language, cloud resources and so on.\n- Choose a location where your new application will be created in a new folder.\n\n### Configure your app\n\nAt its core, the Teams app embraces three components:\n\n- The Microsoft Teams client (web, desktop or mobile) where users interact with your app.\n- A server that responds to requests for content that will be displayed in Teams, e.g., HTML tab content or a bot adaptive card .\n- A Teams app package consisting of three files:\n\n  ✔️ The manifest.json.\n\n  ✔️ A color icon for your app to display in the public or organization app catalog.\n\n  ✔️ An outline icon for display on the Teams activity bar.\n\nWhen an app is installed, the Teams client parses the manifest file to determine needed information like the name of your app and the URL where the services are located.\n\n- To configure your app, navigate to the Microsoft Teams Toolkit tab in Visual Studio Code.\n- Go to Manifest Editor in the sidebar menu to edit the manifest.json of your Teams app.\n- The toolkit will automatically update the app registration data accordingly during app side-loading and publish.\n\n### Preview your app on your local/remote dev environment\n\nPrerequisites: [Enable Teams developer preview mode](https://docs.microsoft.com/en-us/microsoftteams/platform/resources/dev-preview/developer-preview-intro#enable-developer-preview)\n\nSimply press F5 to run your first Teams or navigate to the Debug tab in the activity bar and select Run icon to display the Run and Debug view. As a default, the toolkit will automatically help you to setup local environment and load the app in Teams.\n\nIf you want to have a better estimation of how the app will behave in the cloud environment, you can deploy your resources to the cloud and preview your app with the backend running in the cloud (remote).\n\n### Deploy your application to Azure\n\nDeployment happens in two steps: Provisioning and Deployment. Provisioning creates all the necessary Azure resources that your application uses. It is typically done once. To provision your backend to an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Provision Resource.\n- You will be asked to sign into your Azure account. This is the account where Azure resources will be provisioned. Typically this is different from the M365 account you used to sign in earlier.\n- You will be asked to select a subscription to use from the Azure account.\n- Once provisioning is completed, Visual Studio Code will popup the notification with the message \"[Teams Toolkit] provision finished successfully\".\n\nDeploy copies your application to the provisioned Azure resources. It is typically done after every change to your application. To deploy your application to the provisioned resources in an active Azure subscription:\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Deploy Package.\n- Select Tab app and Backend to deploy.\n- Once deploy is finished, go to the Visual Studio Code Debug Panel (Ctrl+Shift+D / ⌘⇧-D or View -> Run) and select Launch Remote (Edge).\n- Press the start button (green arrow) to launch your app - now running remotely on Azure!\n\n### Publish your application to Teams\n\nWhen your application resources and infrastructure are deployed successfully, you can publish and register your app to Teams app catalog to share with others in your organization.\n\n- In the Visual Studio Code Command Palette, enter the command TeamsFx - Publish to Teams.\n- Depending on your permission, you can send your app to the admin portal directly, or manually submit the app package file to your admin to check.\n- Once your app is approved by your admin, you can see it under ‘Built for your org’ section in Teams Apps.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- [Download our latest builds](https://github.com/OfficeDev/TeamsFx/releases).\n- [Submit bugs and feature requests](https://github.com/OfficeDev/TeamsFx/issues), and help us verify as they are checked in\n- Review [source code changes](https://github.com/OfficeDev/TeamsFx/pulls)\n- Review the [documentation](CONTRIBUTING.md) and make pull requests for anything from typos to new content\n\n## Reporting security issues\n\nGive security researchers information on how to privately report security vulnerabilities found in your open source project. See more details [Reporting security issues](https://docs.opensource.microsoft.com/content/releasing/security.html).\n\n## Telemetry\n\nThe software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described in the repository. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with` applicable law, including providing appropriate notices to users of your applications together with a copy of Microsoft's privacy statement. Our privacy statement is located at [Microsoft Privacy Statement](https://go.microsoft.com/fwlink/?LinkID=824704). You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.\n\n## Code of conduct\n\nSee [Microsoft Open Source code of conduct](https://opensource.microsoft.com/codeofconduct).\n\n## Trademark\n\nThis project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow [Microsoft's Trademark & Brand Guidelines](https://www.microsoft.com/en-us/legal/intellectualproperty/trademarks/usage/general). Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.\n\n## License\n\nCopyright (c) Microsoft Corporation. All rights reserved.\n\nLicensed under the [MIT](LICENSE) license.\n","readmeFilename":"README.md"}