2014-10-10 04:31:22 +04:00
[![Build Status ](https://travis-ci.org/Microsoft/TypeScript.svg?branch=master )](https://travis-ci.org/Microsoft/TypeScript)
2019-01-25 21:48:32 +03:00
[![VSTS Build Status ](https://dev.azure.com/typescript/TypeScript/_apis/build/status/Typescript/node10 )](https://dev.azure.com/typescript/TypeScript/_build/latest?definitionId=4& view=logs)
2015-11-12 18:38:04 +03:00
[![npm version ](https://badge.fury.io/js/typescript.svg )](https://www.npmjs.com/package/typescript)
2017-04-18 13:05:43 +03:00
[![Downloads ](https://img.shields.io/npm/dm/typescript.svg )](https://www.npmjs.com/package/typescript)
2014-10-10 04:31:22 +04:00
2014-07-08 04:08:16 +04:00
# TypeScript
2015-06-05 22:04:15 +03:00
[![Join the chat at https://gitter.im/Microsoft/TypeScript ](https://badges.gitter.im/Join%20Chat.svg )](https://gitter.im/Microsoft/TypeScript?utm_source=badge& utm_medium=badge& utm_campaign=pr-badge& utm_content=badge)
2014-07-08 04:08:16 +04:00
2018-08-03 21:46:26 +03:00
[TypeScript ](https://www.typescriptlang.org/ ) is a language for application-scale JavaScript. TypeScript adds optional types to JavaScript that support 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 ](https://www.typescriptlang.org/play/ ), and stay up to date via [our blog ](https://blogs.msdn.microsoft.com/typescript ) and [Twitter account ](https://twitter.com/typescriptlang ).
2014-07-08 04:08:16 +04:00
2015-07-24 21:28:08 +03:00
## Installing
For the latest stable version:
2017-09-07 22:20:56 +03:00
```bash
2015-07-24 21:28:08 +03:00
npm install -g typescript
```
For our nightly builds:
2017-09-07 22:20:56 +03:00
```bash
2015-07-24 21:28:08 +03:00
npm install -g typescript@next
```
2014-07-08 04:08:16 +04:00
2014-07-17 21:08:24 +04:00
## Contribute
There are many ways to [contribute ](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md ) to TypeScript.
* [Submit bugs ](https://github.com/Microsoft/TypeScript/issues ) and help us verify fixes as they are checked in.
* Review the [source code changes ](https://github.com/Microsoft/TypeScript/pulls ).
2017-06-23 22:51:12 +03:00
* Engage with other TypeScript users and developers on [StackOverflow ](https://stackoverflow.com/questions/tagged/typescript ).
2018-10-31 21:05:43 +03:00
* Join the [#typescript ](https://twitter.com/search?q=%23TypeScript ) discussion on Twitter.
2014-07-17 21:08:24 +04:00
* [Contribute bug fixes ](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md ).
2016-09-14 02:43:52 +03:00
* Read the language specification ([docx](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.docx?raw=true),
[pdf ](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.pdf?raw=true ), [md ](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md )).
2014-07-17 21:08:24 +04:00
2016-09-14 02:43:52 +03:00
This project has adopted the [Microsoft Open Source Code of Conduct ](https://opensource.microsoft.com/codeofconduct/ ). For more information see
the [Code of Conduct FAQ ](https://opensource.microsoft.com/codeofconduct/faq/ ) or contact [opencode@microsoft.com ](mailto:opencode@microsoft.com )
with any additional questions or comments.
2014-07-17 21:08:24 +04:00
2014-07-13 19:05:31 +04:00
## Documentation
2017-06-23 22:51:12 +03:00
* [Quick tutorial ](https://www.typescriptlang.org/docs/tutorial.html )
* [Programming handbook ](https://www.typescriptlang.org/docs/handbook/basic-types.html )
2014-09-26 00:44:50 +04:00
* [Language specification ](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md )
2017-06-23 22:51:12 +03:00
* [Homepage ](https://www.typescriptlang.org/ )
2014-07-13 19:05:31 +04:00
## Building
2014-07-08 04:08:16 +04:00
2017-06-23 22:51:12 +03:00
In order to build the TypeScript compiler, ensure that you have [Git ](https://git-scm.com/downloads ) and [Node.js ](https://nodejs.org/ ) installed.
2014-07-21 21:38:22 +04:00
Clone a copy of the repo:
2017-09-07 22:20:56 +03:00
```bash
2014-07-21 21:38:22 +04:00
git clone https://github.com/Microsoft/TypeScript.git
```
Change to the TypeScript directory:
2017-09-07 22:20:56 +03:00
```bash
2014-07-21 21:38:22 +04:00
cd TypeScript
```
2018-10-01 10:19:22 +03:00
Install [Jake ](http://jakejs.com/ ) tools and dev dependencies:
2014-07-21 21:38:22 +04:00
2017-09-07 22:20:56 +03:00
```bash
2018-05-12 00:03:57 +03:00
npm install -g jake
2014-07-21 21:38:22 +04:00
npm install
```
Use one of the following to build and test:
2017-09-07 22:21:33 +03:00
```
2018-05-12 00:03:57 +03:00
jake local # Build the compiler into built/local
jake clean # Delete the built compiler
jake LKG # Replace the last known good with the built one.
2014-09-23 23:16:12 +04:00
# Bootstrapping step to be executed when the built compiler reaches a stable state.
2018-05-12 00:03:57 +03:00
jake tests # Build the test infrastructure using the built compiler.
jake runtests # Run tests using the built compiler and test infrastructure.
2014-09-23 23:16:12 +04:00
# You can override the host or specify a test for this command.
# Use host=< hostName > or tests=< testPath > .
2018-05-12 00:03:57 +03:00
jake runtests-browser # Runs the tests using the built run.js file. Syntax is jake runtests. Optional
2014-09-23 23:17:34 +04:00
parameters 'host=', 'tests=[regex], reporter=[list|spec|json|< more > ]'.
2018-05-12 00:03:57 +03:00
jake baseline-accept # This replaces the baseline test results with the results obtained from jake runtests.
jake lint # Runs tslint on the TypeScript source.
jake help # List the above commands.
2014-07-21 21:38:22 +04:00
```
## Usage
2017-09-07 22:20:56 +03:00
```bash
2014-08-07 10:21:53 +04:00
node built/local/tsc.js hello.ts
2014-07-21 21:38:22 +04:00
```
2014-07-17 21:12:43 +04:00
## Roadmap
2017-03-10 21:55:50 +03:00
For details on our planned features and future direction please refer to our [roadmap ](https://github.com/Microsoft/TypeScript/wiki/Roadmap ).