Very simple seed project for developing VSTS extensions using Typescript. Utilizes Typescript, grunt, and tsd. Detailed explanation how to get started can be found at https://cschleiden.wordpress.com/2016/02/24/extending-vsts-setup/.
** For new projects I'd recommend starting with one of my more modern extensions like https://github.com/cschleiden/vsts-quick-decompose **
/scripts - Typescript code for extension /img - Image assets for extension and description /typings - Typescript typings details.md - Description to be shown in marketplace index.html - Main entry point vss-extension.json - Extension manifest
0.8.0 - Update dependencies 0.7.0 - Updated VSS SDK, moved from `typings` to `@types` 0.6.0 - Updated VSS SDK to M104 0.1.1 - Automatically increase extension's minor version when packaging.
- Clone the repository
npm installto install required local dependencies
npm install -g gruntto install a global copy of grunt (unless it's already installed)
gruntto build and package the application
grunt tasks are defined:
build- Compiles TS files in
package-dev- Builds the development version of the vsix package
package-release- Builds the release version of the vsix package
publish-dev- Publishes the development version of the extension to the marketplace using
publish-release- Publishes the release version of the extension to the marketplace using
Note: To avoid
tfx prompting for your token when publishing, login in beforehand using
tfx login and the service uri of
Including framework modules
The VSTS framework is setup to initalize the requirejs AMD loader, so just use
import Foo = require("foo") to include framework modules.
.vscode config allows you to open and build the project using VS Code.
The project is setup for unit testing using
chai, and the
karma test runner. A simple example unit test is included in
scripts/logic/messageHelper.tests.ts. To run tests just execute: