2019-05-13 00:12:52 +05:30
# TypeScript
2021-01-29 12:38:26 -08:00
[](https://github.com/microsoft/TypeScript/actions?query=workflow%3ACI)
2020-06-16 10:26:28 -07:00
[](https://dev.azure.com/typescript/TypeScript/_build?definitionId=7)
2015-11-12 10:38:04 -05:00
[](https://www.npmjs.com/package/typescript)
2017-04-18 12:05:43 +02:00
[](https://www.npmjs.com/package/typescript)
2014-10-09 17:31:22 -07:00
2019-05-02 23:32:00 +05:30
[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 ).
2014-07-07 17:08:16 -07:00
2019-10-22 13:43:52 -04:00
Find others who are using TypeScript at [our community page ](https://www.typescriptlang.org/community/ ).
2015-07-24 11:28:08 -07:00
## Installing
For the latest stable version:
2017-09-07 12:20:56 -07:00
```bash
2015-07-24 11:28:08 -07:00
npm install -g typescript
```
For our nightly builds:
2017-09-07 12:20:56 -07:00
```bash
2015-07-24 11:28:08 -07:00
npm install -g typescript@next
```
2014-07-07 17:08:16 -07:00
2014-07-17 10:08:24 -07:00
## Contribute
2023-11-02 11:25:11 +08:00
There are many ways to [contribute ](https://github.com/microsoft/TypeScript/blob/main/CONTRIBUTING.md ) to TypeScript.
2019-08-16 13:12:25 -07:00
* [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 ).
2019-05-07 11:33:18 -07:00
* Engage with other TypeScript users and developers on [StackOverflow ](https://stackoverflow.com/questions/tagged/typescript ).
2019-10-22 13:43:52 -04:00
* Help each other in the [TypeScript Community Discord ](https://discord.gg/typescript ).
2018-10-31 18:05:43 +00:00
* Join the [#typescript ](https://twitter.com/search?q=%23TypeScript ) discussion on Twitter.
2023-11-02 11:25:11 +08:00
* [Contribute bug fixes ](https://github.com/microsoft/TypeScript/blob/main/CONTRIBUTING.md ).
* Read the archived language specification ([docx ](https://github.com/microsoft/TypeScript/blob/main/doc/TypeScript%20Language%20Specification%20-%20ARCHIVED.docx?raw=true ),
[pdf ](https://github.com/microsoft/TypeScript/blob/main/doc/TypeScript%20Language%20Specification%20-%20ARCHIVED.pdf?raw=true ), [md ](https://github.com/microsoft/TypeScript/blob/main/doc/spec-ARCHIVED.md )).
2014-07-17 10:08:24 -07:00
2019-05-07 11:33:18 -07: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 )
2016-09-13 16:43:52 -07:00
with any additional questions or comments.
2014-07-17 10:08:24 -07:00
2014-07-13 08:05:31 -07:00
## Documentation
2019-10-05 06:53:09 +02:00
* [TypeScript in 5 minutes ](https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes.html )
2023-11-02 11:25:11 +08:00
* [Programming handbook ](https://www.typescriptlang.org/docs/handbook/intro.html )
2017-06-23 15:51:12 -04:00
* [Homepage ](https://www.typescriptlang.org/ )
2014-07-13 08:05:31 -07:00
2014-07-17 10:12:43 -07:00
## Roadmap
2019-08-16 13:12:25 -07:00
For details on our planned features and future direction please refer to our [roadmap ](https://github.com/microsoft/TypeScript/wiki/Roadmap ).
2022-03-04 15:16:30 +08:00
## Changes
We made the following code modifications to support the ETS development paradigm.
### October 2021
* [x] Support custom component `struct` syntax, and add `StructDeclaration` and `EtsComponentExpression` node type.
### November 2021
* [x] Support `gotoDefinition` for custom component name and arguments.
* [x] Support completion of lifecycle for `StructDeclaration` type.
* [x] Support `@Builder` decorator for function and method.
### January 2022
* [x] Optimize eTS language support.
* [x] Support `@BuilderParam` decorator and custom container lambda syntax.
* [x] Add jsDoc and displayParts info in `getCompletionAtPosition` interface.
* [x] Support eTS language ScriptKind and Extension.
* [x] Add `PropertyAccessExpressionConditionCheck` for eTS.
### February 2022
* [x] Support `@Styles` decorator and related syntax.
* [x] Add check for `struct` name contain reserved tag name.
* [x] Support `stateStyles` property.
* [x] Performance optimization for eTS completion.
* [x] Support `@Extend` and `@Styles` decorators for function.