vsts-extension-ts-seed-simple
vsts-extension-ts-seed-simple copied to clipboard
Very simple seed project for developing a VSTS extension
vsts-extension-ts-seed-simple
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 **
Structure
/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
Version History
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.
Usage
- Clone the repository
-
npm install
to install required local dependencies -
npm install -g grunt
to install a global copy of grunt (unless it's already installed) -
grunt
to build and package the application
Grunt
Three basic grunt
tasks are defined:
-
build
- Compiles TS files inscripts
folder -
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 usingtfx-cli
-
publish-release
- Publishes the release version of the extension to the marketplace usingtfx-cli
Note: To avoid tfx
prompting for your token when publishing, login in beforehand using tfx login
and the service uri of https://marketplace.visualstudio.com
.
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.
VS Code
The included .vscode
config allows you to open and build the project using VS Code.
Unit Testing
The project is setup for unit testing using mocha
, chai
, and the karma
test runner. A simple example unit test is included in scripts/logic/messageHelper.tests.ts
. To run tests just execute:
grunt test