node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


Visual Studio Services Client SDK

This package is renamed to vss-web-extension-sdk. Please use the new package.

This repo contains core client SDK file and TypeScript declare files needed for developing Visual Studio Online Extensions.

VSS.SDK.js enables an extension to communicate to host to perform operations like initializing, notifying extension is loaded or getting context about the current page on the host.

Getting started

  • Add this line: <script src="sdk/scripts/VSS.SDK.js"></script>
  • Using npm install vss-sdk
  • Using bower install vss-sdk


Next step is initializing the extension using two options below:

  1. Implicit handshake

      // Initialize 
          usePlatformScripts: true, 
          usePlatformStyles: true
      // Register callback to get called when initial handshake completed 
      VSS.ready(function() {
          // Start using VSS 
  2. Explicit handshake

      // Initialize with explicitNotifyLoaded set to true  
          explicitNotifyLoaded: true,
          usePlatformScripts: true, 
          usePlatformStyles: true
      // Perform some async operation here 
          function(result) {
              // Succeeded 
              // Start using VSS 
          function(error) {
              // Failed 

Full API reference of VSS.SDK.js can be found at Core Client SDK page.


  • Types of VSS.SDK.js are available in typings/vss.d.ts.
  • REST Client types are available in typings/tfs.d.ts

Using tsd

Although TypeScript declare files do not exist at DefinitelyTyped repo, they can still be used through tsd.

  1. First, make sure that the dependencies are loaded using below command:
  • tsd install jquery knockout q --save
  1. Next, run below command to get vss-sdk types added to tsd.d.ts:
  • tsd link
  1. Finally, add only reference to typings/tsd.d.ts in your TypeScript files.