8

I'm playing with TypesScript, but the compiler complains when I use browser types such as HTMLCanvasElement. I guess I need definition files for these types. I bet there is a repository of definition files for the DOM and for most popular frameworks, but Google has not been able to help me find it.

Do you guys know of such a repository?

Robert Larsen
  • 1,018
  • 2
  • 11
  • 18

2 Answers2

27

In addition to what @Christoffer has said for the DOM, @Boris Yankov has a really useful repository here: https://github.com/borisyankov/DefinitelyTyped with definition files for more than thirty, one hundred and thirty close to two hundred libraries(and counting!).

There's even a manager for the type definition files now: http://definitelytyped.org/tsd/ (Do not follow: link is now NSFW spam)

AND: Quite a lot of definition files are now on nuget: http://www.nuget.org/packages?q=TypeScript

Jude Fisher
  • 11,138
  • 7
  • 48
  • 91
  • That looks very useful indeed. Thanks for the link. – Robert Larsen Oct 29 '12 at 20:03
  • @JcFx Do you know of any plugin or Grunt task that can create definitions for newly created, local typescript files? E.g. I have a *_definitions.ts* file that contains all my definitions (local and plugins e.g. AngularJS). This file then gets referenced from every other .ts file. It would be great if something could update *_definitions.ts* with every new typescript file I create, automatically. – GFoley83 Oct 31 '14 at 02:36
  • 1
    TSD has been deprecated in favor of Typings now: https://github.com/typings/typings/blob/master/docs/tsd.md – jocull May 18 '16 at 16:43
  • 1
    We may need to update the link for type definition file manager. It redirects to something completely different now. – Rafael Schimassek Oct 14 '19 at 10:35
11

The lib.d.ts that is included in the source (http://typescript.codeplex.com/SourceControl/changeset/view/fe3bc0bfce1f#bin%2flib.d.ts) contains definitions for most of the DOM related stuff. If you are using Visual Studio, you should consider downloading the tools which includes a template where lib.d.ts is bundled.

If anything is missing, I think you can use the declare syntax.

Christoffer
  • 2,125
  • 15
  • 21