1 |
|
---|
2 | # TypeScript
|
---|
3 |
|
---|
4 | [![GitHub Actions CI](https://github.com/microsoft/TypeScript/workflows/CI/badge.svg)](https://github.com/microsoft/TypeScript/actions?query=workflow%3ACI)
|
---|
5 | [![Devops Build Status](https://dev.azure.com/typescript/TypeScript/_apis/build/status/Typescript/node10)](https://dev.azure.com/typescript/TypeScript/_build?definitionId=7)
|
---|
6 | [![npm version](https://badge.fury.io/js/typescript.svg)](https://www.npmjs.com/package/typescript)
|
---|
7 | [![Downloads](https://img.shields.io/npm/dm/typescript.svg)](https://www.npmjs.com/package/typescript)
|
---|
8 |
|
---|
9 | [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/typescript).
|
---|
10 |
|
---|
11 | Find others who are using TypeScript at [our community page](https://www.typescriptlang.org/community/).
|
---|
12 |
|
---|
13 | ## Installing
|
---|
14 |
|
---|
15 | For the latest stable version:
|
---|
16 |
|
---|
17 | ```bash
|
---|
18 | npm install -g typescript
|
---|
19 | ```
|
---|
20 |
|
---|
21 | For our nightly builds:
|
---|
22 |
|
---|
23 | ```bash
|
---|
24 | npm install -g typescript@next
|
---|
25 | ```
|
---|
26 |
|
---|
27 | ## Contribute
|
---|
28 |
|
---|
29 | There are many ways to [contribute](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript.
|
---|
30 | * [Submit bugs](https://github.com/microsoft/TypeScript/issues) and help us verify fixes as they are checked in.
|
---|
31 | * Review the [source code changes](https://github.com/microsoft/TypeScript/pulls).
|
---|
32 | * Engage with other TypeScript users and developers on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript).
|
---|
33 | * Help each other in the [TypeScript Community Discord](https://discord.gg/typescript).
|
---|
34 | * Join the [#typescript](https://twitter.com/search?q=%23TypeScript) discussion on Twitter.
|
---|
35 | * [Contribute bug fixes](https://github.com/microsoft/TypeScript/blob/master/CONTRIBUTING.md).
|
---|
36 | * Read the archived language specification ([docx](https://github.com/microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification%20-%20ARCHIVED.docx?raw=true),
|
---|
37 | [pdf](https://github.com/microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification%20-%20ARCHIVED.pdf?raw=true), [md](https://github.com/microsoft/TypeScript/blob/master/doc/spec-ARCHIVED.md)).
|
---|
38 |
|
---|
39 | This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see
|
---|
40 | the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com)
|
---|
41 | with any additional questions or comments.
|
---|
42 |
|
---|
43 | ## Documentation
|
---|
44 |
|
---|
45 | * [TypeScript in 5 minutes](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html)
|
---|
46 | * [Programming handbook](https://www.typescriptlang.org/docs/handbook/intro.html)
|
---|
47 | * [Homepage](https://www.typescriptlang.org/)
|
---|
48 |
|
---|
49 | ## Building
|
---|
50 |
|
---|
51 | In order to build the TypeScript compiler, ensure that you have [Git](https://git-scm.com/downloads) and [Node.js](https://nodejs.org/) installed.
|
---|
52 |
|
---|
53 | Clone a copy of the repo:
|
---|
54 |
|
---|
55 | ```bash
|
---|
56 | git clone https://github.com/microsoft/TypeScript.git
|
---|
57 | ```
|
---|
58 |
|
---|
59 | Change to the TypeScript directory:
|
---|
60 |
|
---|
61 | ```bash
|
---|
62 | cd TypeScript
|
---|
63 | ```
|
---|
64 |
|
---|
65 | Install [Gulp](https://gulpjs.com/) tools and dev dependencies:
|
---|
66 |
|
---|
67 | ```bash
|
---|
68 | npm install -g gulp
|
---|
69 | npm ci
|
---|
70 | ```
|
---|
71 |
|
---|
72 | Use one of the following to build and test:
|
---|
73 |
|
---|
74 | ```
|
---|
75 | gulp local # Build the compiler into built/local.
|
---|
76 | gulp clean # Delete the built compiler.
|
---|
77 | gulp LKG # Replace the last known good with the built one.
|
---|
78 | # Bootstrapping step to be executed when the built compiler reaches a stable state.
|
---|
79 | gulp tests # Build the test infrastructure using the built compiler.
|
---|
80 | gulp runtests # Run tests using the built compiler and test infrastructure.
|
---|
81 | # You can override the specific suite runner used or specify a test for this command.
|
---|
82 | # Use --tests=<testPath> for a specific test and/or --runner=<runnerName> for a specific suite.
|
---|
83 | # Valid runners include conformance, compiler, fourslash, project, user, and docker
|
---|
84 | # The user and docker runners are extended test suite runners - the user runner
|
---|
85 | # works on disk in the tests/cases/user directory, while the docker runner works in containers.
|
---|
86 | # You'll need to have the docker executable in your system path for the docker runner to work.
|
---|
87 | gulp runtests-parallel # Like runtests, but split across multiple threads. Uses a number of threads equal to the system
|
---|
88 | # core count by default. Use --workers=<number> to adjust this.
|
---|
89 | gulp baseline-accept # This replaces the baseline test results with the results obtained from gulp runtests.
|
---|
90 | gulp lint # Runs eslint on the TypeScript source.
|
---|
91 | gulp help # List the above commands.
|
---|
92 | ```
|
---|
93 |
|
---|
94 |
|
---|
95 | ## Usage
|
---|
96 |
|
---|
97 | ```bash
|
---|
98 | node built/local/tsc.js hello.ts
|
---|
99 | ```
|
---|
100 |
|
---|
101 |
|
---|
102 | ## Roadmap
|
---|
103 |
|
---|
104 | For details on our planned features and future direction please refer to our [roadmap](https://github.com/microsoft/TypeScript/wiki/Roadmap).
|
---|