UNPKG

teamsfx-extension

Version:

Create, debug, and deploy Teams apps with Teams Toolkit

572 lines (571 loc) 20.4 kB
{ "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": "Microsoft Corporation", "icon": "media/teams.png", "main": "./out/src/extension.js", "repository": { "type": "git", "url": "https://github.com/OfficeDev/TeamsFx" }, "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", "files": [ "out/**/*" ], "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 " ] } }