teamsfx-extension
Version:
Create, debug, and deploy Teams apps with Teams Toolkit
572 lines (571 loc) • 20.4 kB
JSON
{
"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 "
]
}
}