Tuesday, June 9, 2015

TypeScript–Compilation failed for d.ts files

A colleague was working on a web application and decided to make the switch from regular JavaScript to TypeScript. To get the type system happy, he loaded the necessary Type Definition(.d.ts) files for jQuery and some other external libraries he was using in this project.

After doing that, he got a long list with compiler errors inside the type definition files. Here is a subset of the errors he got:

jquery.d.ts(279,61): error TS1005: '=' expected.
jquery.d.ts(279,64): error TS1109: Expression expected.
jquery.d.ts(279,97): error TS1005: ',' expected.
jquery.d.ts(279,118): error TS1005: '=' expected.
jquery.d.ts(279,121): error TS1109: Expression expected.
jquery.d.ts(342,40): error TS1005: ',' expected.
jquery.d.ts(342,61): error TS1005: '=' expected.
jquery.d.ts(342,64): error TS1109: Expression expected.
jquery.d.ts(342,103): error TS1005: ',' expected.
jquery.d.ts(342,124): error TS1005: '=' expected.
jquery.d.ts(342,127): error TS1109: Expression expected.
jquery.d.ts(352,48): error TS1005: ',' expected.
jquery.d.ts(352,69): error TS1005: '=' expected.
jquery.d.ts(352,72): error TS1109: Expression expected.
jquery.d.ts(352,111): error TS1005: ',' expected.
jquery.d.ts(352,132): error TS1005: '=' expected.
jquery.d.ts(352,135): error TS1109: Expression expected.
jquery.d.ts(677,35): error TS1005: ',' expected.
jquery.d.ts(677,36): error TS1016: A required parameter cannot follow an optional parameter.
jquery.d.ts(692,39): error TS1005: ',' expected.
jquery.d.ts(692,40): error TS1016: A required parameter cannot follow an optional parameter.
jquery.d.ts(722,36): error TS1005: ',' expected.

The latest version of the jquery.d.ts file uses a syntax that is new to TypeScript 1.4. As the colleague had TypeScript 1.3 installed, the compiler throw a lot of errors.

There are 2 possible solutions to fix this problem:

  • Option 1 – Upgrade the TypeScript compiler from 1.3 to 1.4.
  • Option 2- Use an earlier version of the .d.ts files. Have a look at the "1.3" branch on DefinitelyTyped.

No comments: