Using TSD for Typescript Definitions

This is an older post published on my blog on Jan 20 2015, I’m moving a few posts over here.

What is TSD?

TSD is a package manager to search and install TypeScript definitions files directly from the community driven DefinitelyTyped repository. While developing in typescript I’ve found it a bit distracting to have to keep going off to find the definitions; this has sped me up a lot.

Let’s get started

  1. You’ll need to install TSD globally so start of with: npm install tsd -g
  2. Navigate to your project folder as you would with a command prompt or it’s going to stick these files into you solution root.
  3. Run the following to get the json file that is going to hold your configuration: tsd init
  4. Now we can take a look inside of our empty (ish) tsd.json file:
  • Path is where we’re going to output out typings to.
  • Bundle is a nice file created with all of the reference paths added for your typings. This is going to save you adding them to the top of your typescript files like a caveman :P.
  • Installed is going to list our definitions and the commit hash so we always get the same file, we can update them if we need to later.
  1. Cool, it’s in there! Lets do a: tsd install angular -r -o -s
  • -o is overwrite, It’ll go over the top of any files already existing.
  • -s is save, this will save the tsd.json file.
  1. We can also add a grunt step to reinstall from this file:
grunt.initConfig({ 
tsd: {
refresh: {
options: {
// execute a command
command: ‘reinstall’,
// optional: always get from HEAD
latest: true,
// specify config file
config: ‘../conf/tsd.json’,
// experimental: options to pass to tsd.API
opts: {
// props from tsd.Options
}
}
}
}
})