TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
TypeScript HTML PowerShell Batchfile Groovy Shell
Latest commit 2d62245 Feb 18, 2017 @rbuckton rbuckton committed on GitHub Merge pull request #14163 from Microsoft/fix14151
Fix for-await-of emit in async function
Failed to load latest commit information.
.vscode [Transforms] Merge master 07/11 into transform (#9697) Jul 18, 2016
bin Moved LKG folder to lib Jul 27, 2015
doc Add 'wiki' and 'handbook' directories to the docs folder with READMEs. Feb 9, 2016
lib LKG update Feb 15, 2017
scripts Language service extensibility Feb 14, 2017
src Merge pull request #14163 from Microsoft/fix14151 Feb 18, 2017
tests Merge pull request #14163 from Microsoft/fix14151 Feb 18, 2017
.editorconfig Use CRLF, not LF. Mar 2, 2015
.gitattributes Never normalize end-of-lines on clone/commit. May 31, 2015
.gitignore Merge pull request #11605 from Microsoft/vladima/convert-enums-to-const Oct 14, 2016
.mailmap Update AUTHORS for release-2.2 Feb 2, 2017
.npmignore Add more files to .npmignore Dec 15, 2016
.travis.yml add release-2.2 (approved by @mhegazy) Feb 16, 2017
AUTHORS.md Update AUTHORS for release-2.2 Feb 2, 2017
CONTRIBUTING.md Remove baseline-accept warning from CONTRIBUTING Oct 17, 2016
CopyrightNotice.txt Add snapshot of compiler sources Jul 13, 2014
Gulpfile.ts Merge branch 'master' into publicTransformers Feb 17, 2017
Jakefile.js Merge branch 'master' into publicTransformers Feb 17, 2017
LICENSE.txt Add snapshot of compiler sources Jul 13, 2014
README.md move to contribute header Sep 13, 2016
ThirdPartyNoticeText.txt [Transforms] Merge master 07/11 into transform (#9697) Jul 18, 2016
issue_template.md Update issue template Nov 16, 2016
jenkins.sh Jenkins / .net CI support Oct 20, 2016
netci.groovy merge Dec 14, 2016
package.json update gulp-typescript to 3.1.5 Feb 16, 2017
pull_request_template.md No bold "Fixes" Feb 19, 2016
tslint.json Use native maps when they're available Dec 8, 2016


Build Status npm version Downloads


Join the chat at https://gitter.im/Microsoft/TypeScript

TypeScript is a language for application-scale JavaScript. TypeScript adds optional types, classes, and modules to JavaScript. TypeScript supports tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the playground, and stay up to date via our blog and Twitter account.


For the latest stable version:

npm install -g typescript

For our nightly builds:

npm install -g typescript@next


There are many ways to contribute to TypeScript.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.



In order to build the TypeScript compiler, ensure that you have Git and Node.js installed.

Clone a copy of the repo:

git clone https://github.com/Microsoft/TypeScript.git

Change to the TypeScript directory:

cd TypeScript

Install Gulp tools and dev dependencies:

npm install -g gulp
npm install

Use one of the following to build and test:

gulp local            # Build the compiler into built/local 
gulp clean            # Delete the built compiler 
gulp LKG              # Replace the last known good with the built one.
                      # Bootstrapping step to be executed when the built compiler reaches a stable state.
gulp tests            # Build the test infrastructure using the built compiler. 
gulp runtests         # Run tests using the built compiler and test infrastructure. 
                      # You can override the host or specify a test for this command. 
                      # Use host=<hostName> or tests=<testPath>. 
gulp runtests-browser # Runs the tests using the built run.js file. Syntax is gulp runtests. Optional
                        parameters 'host=', 'tests=[regex], reporter=[list|spec|json|<more>]'.
gulp baseline-accept  # This replaces the baseline test results with the results obtained from gulp runtests.
gulp lint             # Runs tslint on the TypeScript source.
gulp help             # List the above commands. 


node built/local/tsc.js hello.ts


For details on our planned features and future direction please refer to our roadmap.