Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

Subscribe to updates I use TypeScript

Statistics on TypeScript

Number of watchers on Github 31880
Number of open issues 2693
Average time to close an issue about 14 hours
Main language TypeScript
Average time to merge a PR about 22 hours
Open pull requests 503+
Closed pull requests 103+
Last commit almost 2 years ago
Repo Created over 5 years ago
Repo Last Updated almost 2 years ago
Size 563 MB
Homepage http://www.typesc...
Organization / Authormicrosoft
Latest Releasev2.7.2
Page Updated
Do you use TypeScript? Leave a review!
View open issues (2693)
View TypeScript activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating TypeScript for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Build Status npm version Downloads


Join the chat at

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 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

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.

TypeScript open issues Ask a question     (View All Issues)
  • about 3 years Codegen: Avoid useless zero subtraction in rest arguments
  • about 3 years Can cast to partial interface of types unless you also provide an optional member
  • about 3 years 'Type aliases can be used only in a .ts file' error popping up in Flow enabled files
  • about 3 years Render Markdown of JSDoc
  • about 3 years Indirect type narrowing via `const`
  • about 3 years return type of generic method from interface not checked
  • about 3 years Add support for defining: string - 'a' (string minus string literal type)
  • about 3 years Error TS7006 when the compiler can actually imply the expected type?
  • about 3 years Formatter is broken when using tabs
  • about 3 years Extends bug for static method when use ES6/ES2015 Class
  • about 3 years Is it possible to write jsdoc state that a property of an object is function?
  • about 3 years typescript@master: Object rest does not support computed properties
  • about 3 years importHelpers does not emit import unless at least one other import is present
  • about 3 years Language service crash in 'displayPartKind'
  • about 3 years Import completion broken on vscode with 2.1
  • about 3 years Argument not assignable to parameter with mix of generic and union
  • about 3 years Readonly vs. litteral type breaking change?
  • about 3 years String method is wrongly allowed as a type
  • about 3 years instanceof doesn't work for extended builtin types
  • about 3 years Destructured parameter does not result in most specific type
  • about 3 years Suggestion and autocompletion for all string properties
  • about 3 years Interface ProxyHandler (lib.es6.d.ts) incorrect
  • about 3 years Extended members disappear when extending native classes
  • about 3 years TypeError for quick info of property of `export =` class
  • about 3 years Excess property declaration supersedes checks on named properties
  • about 3 years [tsserver] CompileOnSaveEmitFile should returns emited files (js, map, d.ts) path
  • about 3 years Incorrect transpiled constructor of derived classes
  • about 3 years TypeScriptLanguageService:For literals, typeToString() returned an incorrect value
  • about 3 years jsdoc: type expressions containing new lines aren't parsed
  • about 3 years nodeOnRightSide.parent.kind cause "Cannot read property 'kind' of undefined" at typescript.js:33455
TypeScript open pull requests (View All Pulls)
  • Add declarationDir option
  • do not make inferences with the same source\target pair multiple times
  • Fix ES6 imports of CommonJs modules
  • Firefox has
  • Non-nullable types
  • Instantiate anonymous types less
  • Support for spaces in paths on Windows systems added.
  • Nested private and protected class members
  • Load JavaScript modules from Node packages
  • spelling fixes (round 5)
  • Library modularization
  • Adds a simplified pretty printer for tree transformations
  • Adds the transformFiles API for tree transformations
  • Adds the Transform Flags concept for tree transformations
  • Control flow based type guards
  • Avoid writing files that are not changed while compiling incrementally.
  • Adds the visitor API foundation for tree transformations.
  • This function types
  • Fix ordering for default libraries
  • Mutability widening for literal types
  • pre-compute emitted files
  • [Salsa] Acquire d.ts files for JavaScript files
  • Remove static-side inheritance checking
  • Generic defaults
  • Infer string literals at comparison locations
  • Contextually type implemented properties
  • WIP: Member-type based type guards
  • Suggested solution to #5730 [tsserver] custom command
  • Adds glob-style pattern matching for files in tsconfig.json
  • Format false branch of ternary operation
  • Add upper limit for the program size to prevent tsserver from crashing
  • Prototype: Numeric Literal Types
  • do not add 'this' type for classes that considered safe (use 'this' only in property\element access expressions)
  • 6974 Add compiler flag "--lib"
  • Narrow type constraints
  • Fix #7397: Remove error checks for noEmit and out* compiler options combined.
  • [Salsa] Acquire d.ts for tsserver
  • Fix go to definition
  • Enable tsserver global operations to be performed on all projects
  • Feed the 'this' type as a type argument to constraints during relation checking
  • Support reference library directives in tsc
  • Disallow void branches
  • Remove check narrowing only certain types, add test showing issues wi…
  • Adds the Module transformers
  • Adds the ES6 transformer
  • Adds the ES7 transformer
  • Adds the JSX transformer
  • Adds the TypeScript transformer
  • Navigation bar items in methods
  • include type reference directives in .d.ts. files
  • Control flow based type analysis
  • [Transforms] Fix for incorrect namespace qualification.
  • Correct destructuring assignment to empty object
  • Add API support for LS host to specify script kind of a file to open
  • [Transforms] fix `_this = this` capture emitted before `"use strict"` directives in AMD module output
  • Source map updates for classes
  • Fixes rename for destructuring, named imports and default imports
  • Fix for dropped/extra comments
  • Baselining smaller changes in transformation-based emit
  • Array.prototype.filter.not.forcing.boolean
  • Support Trailing Commas
  • `this`-related changes + new String.normalize overload in core.d.ts and es6.d.ts
  • Support this.prop = expr; assignments as declarations for ES6 JS classes
  • Script side implementation for Brace Completion.
  • Porting servicesVersion change to 0.5 from release-1.8 branch to master
  • Fix generic default construct signature inheritance
  • Use LF line endings for LKGs
  • Fix #8507: Consider UnknownSymbols values for import/export purposes
  • Fix 7304: show correct quickinfo on "this" in type position
  • Tolerate non-existing files specified for tsserver
  • [Transforms] Fix 8343
  • Fix #8415: consider accessors when searching for contextually typed properties
  • Add support for completions inside string literals
  • Support = expr format for JavaScript module
  • Fix indentation for array items
  • Accept baselines for #8288
  • [API] Remove the GetErr api, and let server decide when to recompute the er…
  • Support for spaces in paths on Windows systems added.
  • Do not report errors of implicit any during contexual type checking of binding pattern element
  • Type corrections for Promise to adhere to Promises/A+ standard
  • [Salsa] Support @typedef for jsdoc
  • Issue an error when a derived class precedes its base class
  • Use binding pattern for type inference result `{}`
  • [Transforms] Fix emit static property declaration in classExpression for down-level and ES6 target
  • Optional class properties
  • Add test for #7301
  • Recursively mark object literals as non-fresh when checking assignability to intersections
  • Fix bug: getTouchingPropertyName does not return undefined, but it may return the source file node
  • Transforms fix more source maps
  • Move writer out of the checker into another file.
  • Declaration expressions
  • Running TypeScript compiler on Java Nashorn
  • Fix 8467: Fix incorrect emit for accessing static property in static propertyDeclaration
  • Use 'never' type for empty array literals
  • [Transforms] Performance improvements in the comment emitter.
  • [Transforms] Update baselines from merging with master
  • Allow an import of "foo.js" to be matched by a file "foo.ts"
  • Navbar refactor
  • Improve error elaboration for types that have a property that references the type recursively
  • Reorder options alphabetically
  • Change automatic type inclusion rules
  • Update of glob-style pattern matching
  • [Transforms] Add tests to cover issue 8343
  • [Transforms] Fix incorrect emit of capture block scoped variables in static properties of classExpression
  • Code changes to update references of the Identifiers
  • add SharedArrayBuffer
  • Use a function `show` rather than always saying `JSON.stringify(xyz, undefined, 2)`
  • Fix #8738: Handles Re-assignment of Exported Clause Member
  • Navigation bar class expression
  • Impossible to define static 'length' function on class
  • ignore casing when converting a source file path to relative path
  • Update Promise and PromiseLike, fix async functions issues with never.
  • Unused identifiers compiler code
  • Using baselines for transpile unittests
  • [Fix #9004] Improve error message for extending interface
  • Clear out unused compiler options when transpiling
  • [Transforms] Down-level transformations for Async Functions
  • Prevent renaming `this` parameters
  • Unions and intersections of readonly properties are now also readonly
  • Remove the stored dotToken from PropertyAccessExpression
  • Discriminated union types
  • Normalize basepath in parseJsonConfigFileContent()
  • Remove Jakefile.js, Add Gulpfile.ts
  • RFC: Extensibility model
  • add tsconfig.json to root to prevent VS from freaking out when openin…
  • Fix findIndex documentation.
  • Refactor navigation bar
  • Fix #9458: exclude parameters starting with underscore from unusedParamter checks
  • Increase timeout from running RWC. As UWDWeb takes slightly longer now
  • Merge master into release branch 06/30
  • Use sorcery to merge sourcemaps between browserify and gulp-typescript
  • Look for js files after @types files
  • runtests-parallel skips empty buckets
  • Do not scan nodes preceding formatted region, just skip over them
  • Number, enum, and boolean literal types
  • [Fix #8800] Emit comments after open braces
  • Fix 188: Autocomplete for imports and triple slash reference paths
  • Add node_modules cache to travis
  • Pvb/discover code actions
  • [Transforms] Merging Master to Transforms on 06/21
  • RFC: Language service extensions and tests
  • Remove unused reference files
  • Completion list for JSON files imported using CommonJS require
  • support jsxExtName for react-native project
  • Port TemplateStringsArray immutability to release-2.0
  • [Transforms] Address visitor performance.
  • Framework for discover typings extensions
  • Port symbol walker to latest
  • Add two APIs for enabling CompileOnSave on tsserver
  • Adding tslint rule to avoid signatures which differ by single paramet…
  • First UMD global in wins
  • Attempt to apply noUnusedLocals and noUnusedParameter flags to the compiler
  • Emit parens around type-asserted binary operators
  • Instantiate this for contextually typed type parameters
  • [Release-2.0] Fix 9632 Auto-completion for quoted property in object literal expression
  • Upgrade tsd to typings, Related to #9658
  • Convert getErrorBaseline to use canonical diagnostic formatting
  • Fix emit with this and rest parameters
  • This parameters in lib
  • Don't allow `.ts` to appear in an import
  • Normalize slashes for getDirectoryPath arguments
  • Fix #9601: Clarify the unused property message
  • Adding tslint rule to enforce consecutive function overloads
  • Fix: Namespace import doesn't work for modules exported with 'export=…
  • Adding tslint rule to disallow non primitive names
  • Code Refactoring Infra Changes & Inverted If Refactoring
  • Add @callback jsdoc tag
  • Add support for including dotted and .min.js files explicitly in include
  • Framework for discover typings extensions
  • Lint extensions
  • Language Service Extensions
  • Extension loading and management tools
  • Don't allow properties inherited from Object to be automatically included in TSX attributes
  • [Transforms] Adds profiler events for cpu profile analysis of the compiler
  • Port PR#9867 to Release-2.0
  • Allow JS multiple declarations of ctor properties
  • [Transforms] Minimal authoring support for down-level generator functions
  • Correctly narrow unconstrained type parameters
  • Check return code paths on getters
  • Port PR #10016 to Master
  • change error message for unused parameter property
  • add Array.prototype.filter signature with type guard
  • Narrow readonly properties of const locals in function expressions
  • Use brand types to clear up confusion about entity name expressions
  • `Null` and `undefined` are allowed as index expressions
  • Add `find` and `findIndex` to ReadonlyArray
  • JSDoc string literal types
  • Try using runtests-parallel for CI
  • Fix lssl task
  • Add type relationship functions to checker public api
  • Configuration Inheritance
  • Attempt to fix #9919 - Intersecting discriminated union breaks type narrowing
  • Improve definition of trailing vs leading comments
  • Clarify code checking for UMD exports...
  • Allow `await` in a simple unary expression
  • Unify representation of tuples and other generic types
  • Update parser comment with es7 grammar
  • Improve Promise type definition
  • Add a rule to toggle space after opening brace and before closing brace
  • Add error message
  • routine update of dom libs
  • Add `getOrUpdate` helper
  • Add `multiMapAdd` helper
  • Keysof type operator
  • Tolerate errors in config file
  • Return non-JsDocComment children for syntactic classification
  • make (no) space after type assertion user configurable
  • JSDoc supports null, undefined and never types
  • First in UMD global wins
  • Use `removeItem` instead of `copyListRemovingItem`
  • Add clearer error message when types are used as values
  • [Transforms] Merge master 08/09
  • Fix 10193: Compiler crash with decorator and two "export default"s
  • Add StringMap, NumberMap, and StringSet data structures
  • Fix incorrectly reported errors in ambient class with destructuring parameter that is optional
  • Pvb/codeaction/api
  • Break many functions out of services.ts and into their own modules.
  • Always use literal types
  • #10585 Do not exclude outDir if exclude is given
  • Remove service's jsdoc parser and enhance parser's jsdoc parser
  • [Transfroms] Fix8579: static property class expression referring to block-scope variable
  • Contextually type inherited properties (WIP)
  • Show an elaboration when accessing a non-existent property of a union type
  • Tsserver completion perf2
  • Fix boolean literal types
  • Change error message which warn unexposed namespace member
  • Narrow on element access of known property
  • When emitting react code, replace HTML numeric entities with their encoded characters
  • Fix #10544: Fix #10544: make sure an `export default` is considered visible
  • Allow undefined from ProxyHandler<T>.getOwnPropertyDescriptor
  • An import ending in "/" is always an import of a directory.
  • Always output something at the end of walkSymbol
  • Go to Implementation
  • Resolve export= module members
  • update documentation in protocol.d.ts (#11501)
  • Implicitly consider an extensionless file in "includes" to be a recursive directory glob
  • Fix #10758 Add compiler option to parse in strict mode
  • Remove cached resolvedModule result if the target file was deleted
  • Narrowed consts flow through object literal or class expression method
  • Allow untyped imports
  • Control flow analysis for array construction
  • Fix async return type check
  • Modified isNaN definition to be able to receive any kind of value.
  • Add ES8/ES2017 target
  • Turn on skipLibCheck for js-only inferred project and external project
  • Do not treat local resolution of require call as external module
  • Reduce overloads reordering
  • Use native maps when they're available
  • Fix tests changed by #11309
  • Restrict base-class-first error to class declaration bases
  • fix typo in type definition
  • fix #10698: infer primitive return type in generic position
  • Fix the Array interface (#10886)
  • Fix the Function interface (#11269)
  • Add jsxFactory compiler option.
  • Improve Array.prototype.splice typing
  • Minify our release files as part of LKG build
  • Object spread
  • Change error message for default export in namespace
  • Fix 10438 - Remove parameters of private methods and constructors in declaration files
  • Watch for types changes in tsc
  • add Array.prototype.filter signature with type guard
  • For JSX text, construct a single literal node `"foo bar"` instead of `"foo" + " " + "bar"`
  • Fix for #11719 - TSServer: JS files should display syntactic errors for TS syntax
  • Fix #10108 (Completion suggestion for object literal with getter)
  • Move module transformers to end of transformations
  • Pvb/fixmissingimports
  • Improved error message.
  • Return both ts and js results from module resolution
  • Remove localeFix function and use collator object when we can
  • Fix comparable in switch
  • Set maxNodeModuleJsDepth for inferred projects
  • Add spread syntax to JsxExpression
  • enable -per-request cancellation
  • Partial Types (#11233)
  • Expose emitter with visitors and transforms
  • Codefix for implementing interfaces
  • Codefix for removing Unused Identifiers
  • Support for --jsxFactory option
  • [Release 2.1] fix11754 global augmentation
  • Exclude js files in non-configured projects compile-on-save emitting
  • Mapped types
  • Enhance Object.assign static method signature
  • [WIP] Clean up version of using overload for JSX stateless function component
  • Allow a path mapping to provide a file extension
  • Fix grammar issue
  • Fixing #442: Impossible to define static 'length' function on class
  • Add undefined to default-initialised parameters
  • Object rest
  • Only resolve symlinks in `node_modules`
  • fix #11513 tsx formatter indents the closing bracket
  • Leave files from `node_modules` out when calculating `getCommonSourceDirectory`
  • fix #11480, disallow delete operator on readonly property or index signature
  • Report all the js file errors and skip only the nodes that are not allowed in JS file
  • Pvb/refactor/jsdoc
  • When looking up modules in @types, only look for `index.d.ts` and `pa…
  • Pvb/refactorapi
  • Rename "append" to "appendMany" to avoid confusion with "ts.append"
  • Move emit helpers into related transformers
  • [WIP] Using overload for JSX stateless function component
  • support type predicate callback functions on Array<T>.filter
  • Reset the noEmitForJsFiles option when updating compiler options (#12…
  • Rest of untyped binding pattern is any
  • Sort matched files by include order
  • Support quick fixes for UMD global
  • tsserver: get candidates from <K extends keyof Foo> (fix #12536)
  • Fix #1809, introduce non primitive object type
  • Added the fetch api
  • change class inheritance code
  • Enable per-request cancellation
  • Fixes smart indentation between two else statements
  • Use a symbol for untyped modules to distinguish from unknownSymbol
  • Async Iteration and down-level Generators
  • Use parser to parse tsconfig json instead of using Json.parse
  • Improve diagnostic messages for imported helpers
  • __awaiter helper with arrow functions for target=es6/es2015
  • Allow package.json "main" to specify a directory
  • Language service proxy
  • RFC: <script type="ts/module">
  • Adding tsconfig.json mixed content (script block) support
  • adding 2 new lines to tsc --watch output
  • Adds support for type parameter defaults
  • Improved checking of nullable operands in expressions
  • Support completions for string literal in rest parameter
  • Move code out of closure in `getReferencedSymbolsForNode`
  • Rest type
  • Fixing default typeRoots on Windows
  • Stop using "dom" types
  • Support import fix for missing namespace
  • WIP/RFC - first jab at implementing Flow-style annotations-in-comments
  • Quick fix indentation support
  • update declaration file to use intrinsic object type
  • Spread type
  • Support for an external exportStar helper
  • Adds override keyword
  • fix: add generic info for methods with thisArg of built-in classes
  • Use native maps when they're available
  • Properly determine whether an augmentation is a ValueModule or NamespaceModule
  • Property access for string index signatures
  • Add Log for When Typings Installer Finishes Updating the Types Registry
  • [Master] fix 15463
  • Get name of declaration uniformly, even for JS-style assignment declarations.
  • Deduplicate jsDocTagNames and sort alphabetically
  • Symbol table for homomorphic mapped type: Don't needlessly create twice
  • Improve type guards for type variables
  • Refactoring support
  • Clarify that some node types never have `name` defined.
  • Make TokenRange an interface and remove `ITokenAccess` delegation
  • At types prefix and import suffix
  • For completions of union type, get all possible properties
  • Never elide an `export *` when `--isolatedModules` is set
  • Don't allow to re-export a type when '--isolatedModules' is set
  • Emit declaration of class extending intersection
  • More factory functions
  • Spelling correction
  • String valued members in enums
  • Allow some dynamic names in types
  • Changed default from ES3 to ES5
  • Added formatToParts to es5.d.ts
  • Allow plugins to provide a list of external files.
  • Add `Object.getOwnPropertyDescriptors` definition
  • Add type guard for `in` keyword
  • Widen inference candidates for error reporting
  • Disallow calls to async functions from async functions without using 'await'
  • Fix duplication of first comment in file
  • Tsconfig inheritance: Do not resolve included files in an inherited tsconfig
  • Allow export default interface. Related to issue 3792.
  • Refactor how we (internally) expose JS module resolution
  • charCodeAt defaults to first index: index is optional
  • Wrap npmLocation if needed
  • Expose isSourceFileFromExternalLibrary
  • [Master] Add more JSDoc tests and move them into one folder instead of spread between salsa and jsdoc conformance
  • Make tokenToString return string|undefined
  • Check applicable signature fix
  • Add es3.d.ts
  • importFixes: Support missing "React" at a JSXOpeningElement
  • Weak type detection
  • Code fix add missing method
  • Fix expression list formatting
  • Expose `getContextualSignature`
  • Transform arrow function in variable declaration to named function
  • Add support for external file references in source maps
  • JSX Closing tags get priority over other completion types
  • Allow just generation of declarations, also allowJs
  • Get references and rename to include property in the search when short hand property assignment infers the property in the declaration
  • Add support for 'lib' reference directive
  • Remove ThisKeyword from list of keyword types; we use ThisTypeNode for that instead.
  • Fix formatting of parameter list of a multiple-line call expression
  • Quick fix for no-implicit-any errors to add explicit type annotation
  • [Master] wip-dynamic import
  • Add empty tuple type
  • Prefer constraint type for object literal completion
  • Add exported members of all project files in the global completion list
  • Simplify string literal completions
  • Emit unqiue symbols with typeof if possible before issuing an error
  • Move insertSorted from server to core, use for diagnostic collections
  • Just map type variables to constraints at certain positions for narrowing so that we do not map primitives
  • Fix JSX contextual types to not eagerly become apparent, use 2-pass inference for JSX
  • Add formik to the user suite
  • Check syntax kind in isDeclarationNameOrImportPropertyName
  • For `<div a= >`, after `=`, do not try to parse an expression
  • Add test for #21317
  • No assert is needed for oldProgram.structureIsReused since the reuse starts right there and we do initialize that field.
  • Remove isGlobalCompletionScope
  • Assert `exportingModuleSymbol` is defined
  • Assert the result of `getTokenValue` is defined
  • Use helper functions more in documentHighlights
  • Don't check modifier legality, highlight anyway
  • Conditional types
  • Print deferred mapped symbols 1 level deep
  • Use helper functions in a few more places
  • Simplify TextSpan creation
  • Added --preserveWatchOutput flag
  • Different watchFile and watchDirectory options through environment variable
  • Add support for transpiling per-file jsx pragmas
  • Get constraint with this argument of the type parameter for comparisons
  • Support getting string literal completions based on a type argument constraint
  • Apply 'align' lint rule
  • Computed property union lifting
  • Regex Validated String Types
  • Fix indent
  • Expose ts.matchFiles as public API (#13793)
  • Enable typings cache entries to expire and be updated
  • Add type infer formatting
  • Harden Extract Symbol against symbols without declarations
  • Fix structural identity relations
  • Fix bug: Handle QualifiedName in getMeaningFromRightHandSideOfImportEquals
  • Fix bug: Don't skip emitting JSX attributes
  • Reduce stack depth during emit
  • Try out CircleCI.
  • findAllReferences: Make definition info independent of search location
  • Avoid infinite loop checking yield expression
  • isValidMethodAccess: Instantiate signature this type if necessary
  • Mark many more places as contextual, skip first jsx inference pass if not contextual
  • Avoid an expression getting a contextual type from its own inferred type (2)
  • Add Awaited<T> to core library
  • Ignore specified error in //@ts-ignore
  • Avoid an expression getting a contextual type from its own inferred type
  • JsxTagNameExpression can only be Identifier | ThisExpression, not any PrimaryExpression
  • add support of codefix for Strict Class Initialization
  • In switch case, narrow base constraint of type
  • allow string concat in enum member declaration
  • allowJs:true + declaration:true
  • Show better error message about incompatible constructor signature.
  • remove stack message limit
  • Fix17667
  • support groups property
  • Use fs.closeSync
  • Resolve the modue names with "modulename.json" to json files when doing node module resolution
  • Import types in JS with var x = require('./mod')
  • Simplify TextChanges#getChanges
  • breakpoints: Fix invalid cast
  • Remove excess comment ranges from initialized and property parameter emit
  • Reload the text from file if there is pending reload of the script info before determining to use SVC
  • add refactor of convert private field to getter and setter
  • Much better comment preservation
  • Update category for TS4090 to Error
  • Use cache for the non-relative module resolution and enhance the watches for failed lookup locations
  • Allow characters in JsxText inside JsxFragment that usually don't scan
  • isControlFlowEndingStatement: don't try to enumerate all possible parent kinds
  • Combine getTouchingWord and getTouchingPropertyName
  • Avoid cast by providing type predicate to isExternalModuleAugmentation
  • Use global NonNullable type for nonnull types
  • Allow partial unions for indexed type access
  • Prefer 'return' over 'throw'
  • Debug.failBadSyntaxKind should always be defined and return 'never'
  • Add 'isNamedDeclaration' helper to reduce casts
  • Enable '--strictNullChecks'
  • Search till root just like tsc when the projectRootPath specified doesnt contain the info.path
  • Fix type of isIterationStatement
  • Remove unnecessary length check in `getSyntacticDocumentHighlights`
  • Fix bug where findAllReferences included a node outside of sourceFilesToSearch
  • Improve type of Statement#parent
  • replace element access if suggession is not a valid identifier
  • disallow nan and infinity in enum member
  • Apply 'no-unnecessary-initializer' lint rule
  • Add DOMTokenList.replace()
  • Fix crash after `var = require('x')` type resolution
  • Enable the commented out test and convert folder entries to sorted list
  • Allow for concurrent directory creation in nodeSystem.createDirectory()
  • Project References Core Support
  • Combine getLastChild helpers
  • Use isExternalModuleImportEquals in one more place
  • Parse and check type arguments on JSX opening and self-closing tags
  • Change es2015 transform to retain comments on for of loop bodies
  • WIP - Allow infer types in expression type argument positions
  • When --noUnusedLocals/--noUnusedParameters is disabled, add suggestions instead of errors
  • Use lib conditional types for type facts if possible
  • allow trailing comman in type arguments list
  • error if Property optional in destructuring
  • Fix #10991: Add improved error messages for comparison with narrowed types
  • Fix #21617: Give detailed message on `for-of` of iterators without downlevelIteration
  • Add more usages of emitIfPresent on optional nodes
  • Simplify createChildren
  • Alternative new pullrequest: Show better error message about incompatible construct signature.
  • Error on rest parameter with trailing comma
  • factory: replace Array parameters with ReadonlyArray
  • Added an errors summary for --pretty --watch results
  • Fix #19666: Check for symbol types in template expressions
  • Support services settings
  • Allow `|`, `&`, and `^` operators to have null/undefined inputs
  • Infer parameter names and types when applying Delcare Method codefix
  • provide spelling suggestion for indexed access
TypeScript questions on Stackoverflow (View All Questions)
  • TypeScript compiler produces wrong output
  • Using es-6 symbols in typescript
  • Angular 2.0 : Does Typescript support all the features of ES6?
  • How can i write module & classes across typescript files
  • Typescript Error: TS2604 - How to fix?
  • Typescript: index signature is missing in type when extending interface
  • Use typescript angularjs directive's controller and other inherit controller in directive's link function,
  • Cannot import a custom component - Angular2 and TypeScript
  • Why do we need _all.ts when using typescript with angularjs1.5?
  • undefined vs unassigned variable in typescript
  • How to initialize Http import in public function in typescript?
  • Typescript interface properties are changed to Pascal Case from camel Case
  • Split src and test files from gulp typescript js stream
  • Why you can't access a TypeScript nested elements even if you export
  • Typescript React componentDidMount not getting called
  • The TypeScript Compiler was given no files for compilation, so it will skip compiling
  • VS 2015 uses old TypeScript version
  • How to upgrade typescript to version 1.7?
  • Error using prettyjson with Typescript
  • Shorthand to declare "return type" in typescript
  • How to use both ES6 and Typescript features with Systemjs?
  • How can I pass additional arguments to a property decorator in TypeScript?
  • Typescript Reflect-MetaData in nodejs
  • How to dynamically create a TypeScript table in POWER BI
  • Systemjs transpiler complains but typescript compiler worked fine
  • Angularjs Karma and Typescript Gulp setup undefined error
  • Angularjs + strictdi error on http interceptor (typescript)
  • Prevent calling a TypeScript class as a function - _classCallCheck
  • How to get Visual Studio to automatically include JS files compiled from Typescript?
  • Visual Studio 2013 not finding javascript files compiled from typescript?
TypeScript list of languages used
TypeScript latest release notes
v2.7.2 TypeScript 2.7.2

This release include a set of bug fixes reported against TypeScript 2.7.1. For the complete list of fixed issues, check out the fixed issues query for TypeScript 2.7.2.


v2.7.1 TypeScript 2.7

For release notes, check out the release announcement

For new features, check out the What's new in TypeScript 2.7.

For breaking changes, check out the Breaking changes in TypeScript 2.7 page.

For the complete list of fixed issues, check out the issues fixed in TypeScript 2.7 RC and after TypeScript 2.7 RC.


Special thanks to all contributors to this release:

  • Adrian Leonhard
  • Alan Agius
  • Alex Khomchenko
  • Aluan Haddad
  • Anders Hejlsberg
  • Andrew Casey
  • Andy Hanson
  • Armando Aguirre
  • Arthur Ozga
  • @begincalendar
  • Benjamin Lichtman
  • Bill Ticehurst
  • Cameron Taggart
  • Charles Pierce
  • Daniel Rosenwasser
  • Diogo Franco (Kovensky)
  • Eugene Timokhov
  • @falsandtru
  • Herrington Darkholme
  • Homa Wong
  • @IdeaHunter
  • Jack Williams
  • Jakub Korzeniowski
  • Jing Ma
  • Josh Goldberg
  • Justin Bay
  • Klaus Meinhardt
  • Kris Zyp
  • Marius Schulz
  • Martin Hiller
  • Matt Bierner
  • @meyer
  • @micbou
  • Mike Morearty
  • Mine Starks
  • Mohamed Hegazy
  • Nathan Shively-Sanders
  • @nieltg
  • Orta Therox
  • Oussama Ben Brahim
  • Philippe Voinov
  • Priyantha Lankapura
  • Remo H. Jansen
  • Ron Buckton
  • Ryan Cavanaugh
  • Sean Barag
  • Sharon Rolel
  • Sheetal Nandi
  • Stanislav Iliev
  • Tycho Grouwstra
  • Wenlu Wang
  • Wesley Wigham
  • Wilson Hobbs
  • Yuichi Nukiyama
  • Yuval Greenfield
v2.7-rc TypeScript 2.7 RC

For release notes, check out the release announcement

For new features, check out the What's new in TypeScript 2.7.

For breaking changes, check out the Breaking changes in TypeScript 2.7 page.

For the complete list of fixed issues, check out the fixed issues query for Typescript 2.7.


Special thanks to all contributors to this release:

  • Adrian Leonhard
  • Alex Khomchenko
  • Aluan Haddad
  • Anders Hejlsberg
  • Andrew Casey
  • Andy Hanson
  • Armando Aguirre
  • Arthur Ozga
  • Benjamin Lichtman
  • Bill Ticehurst
  • Cameron Taggart
  • Charles Pierce
  • csigs
  • Daniel Rosenwasser
  • Diogo Franco (Kovensky)
  • Eugene Timokhov
  • @falsandtru
  • Herrington Darkholme
  • Homa Wong
  • @IdeaHunter
  • Jakub Korzeniowski
  • Jing Ma
  • Josh Goldberg
  • Justin Bay
  • Klaus Meinhardt
  • Kris Zyp
  • Marius Schulz
  • Martin Hiller
  • Matt
  • Matt Bierner
  • @meyer
  • @micbou
  • Mike Morearty
  • Mine Starks
  • Mohamed Hegazy
  • Nathan Shively-Sanders
  • Orta Therox
  • Oussama Ben Brahim
  • Priyantha Lankapura
  • Remo H. Jansen
  • Ron Buckton
  • Ryan Cavanaugh
  • Sean Barag
  • Sharon Rolel
  • Sheetal Nandi
  • Stanislav Iliev
  • Tycho Grouwstra
  • Wenlu Wang
  • Wesley Wigham
  • Wilson Hobbs
  • Yuichi Nukiyama
  • Yuval Greenfield
Other projects in TypeScript