TypeScript is a superset of JavaScript that compiles to clean JavaScript output. http://www.typescriptlang.org
TypeScript
Find file
Choose a clone URL
HTTPS (recommended) Clone with Git or checkout with SVN using the repository's web address.
Switch branches/tags
6974_addlibraryoption FixCommonJSModules FixEs6ImportsOfCommonJS JSDocFunctionDescriptions analyzer aquiredts asyncSimpleArrow baseClassDeclarationOrder bindOperator breakinglibrary captureArguments check-this-function-types codeCoverage comparableRelation containerMadness containerSanity contextually-type-binding-initializers-WIP contextually-type-implemented-properties dbaeumer/getDependencies declarationMerging declarations-moduleOut declarations decoratorClassification decoratorsExperiment deferredBinding downWithDreadedCurlyCurly emitDependencyFile emitExportDeclarationsInPlace es6Destructuring_WIP expandDocTemplateCoverage experimentalTransforms externalModuleNameCompletions factoryPerf fix1507_findrefshorthand fix7354 fixClassExtendsNullDeclEmit2 fixCompletionInFuncExpAndClassExp fixES7Ordering fixReadingRWC fixSourceMapsInTests_WIP fixSuperInAsyncMethod flipSidesInSignatureCheck forEachForEachUseForOf getIndentationAccountsForJSDoc gh-pages glob2 handelIntersection importOption includeupdatescript incompleteObjectBindingPatterns indexersAndContextualTypesAndStuff inferStringLiteralsForConst infiniteExpansionCaching inherit-construct-signature-from-extended-interface instantiate-anonymous-types-less interfaceClassMerging internalModifier javaScriptModules jsDocSupport jsInference jsTypingForAcquireDts lhsImportFix lineEndingsAreAnUnsolvedProblemInComputing lintByDefault listEmit listEmittedFiles literalTypeLocations literalTypeWidening loadJsFromModules lstest makeGetNewLineRequired master matchableRelation mergedClassFunction multipleDefaultFunctionsOfDifferingNames namespace-before-ambient-derived-class-finds-heritage narrowAnyWithAllTypeGuards noImplicitReturnsWithProtectedBlocks_WIP noVoidBranches nonTSExtensions omitComments packageDeclaration2 parenthesizeTypeAssertions perf_tracing perfFixes prototypeAsync refactoring release-1.0.3 release-1.1 release-1.3 release-1.4 release-1.5 release-1.6 release-1.7 release-1.8 removeCachePathFromDiscoverTypings revertNoCustomPromise sourceMapOfClass splitAbstractTest02 spreadOperatorSourceMap strictModeInBinder strictNullChecks textSpan this-function-types thisTypesInBasePropAndContainer thisTypesInBasePropAndContainerOfBase transforms-flags transforms-printer transforms-transformer-es6 transforms-transformer-es7 transforms-transformer-jsx transforms-transformer-module transforms-transformer-ts transforms-transformer transforms-visitor transforms tscJsFiles tslintSupport type-predicates-cannot-be-unions typeGuardsViaPropertyAccess typePredicateOverloadCompat typePreviews updateES6DotDDotTsForFinalDraft useDecoratorsInShims warnOnBundlingRelativeNames_WIP
Nothing to show
Latest commit 311f8dd @RyanCavanaugh RyanCavanaugh Merge pull request #7309 from RyanCavanaugh/fix6878
Support JSDoc on class / obj. literal getters

README.md

Build Status npm version Downloads

TypeScript

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.

Installing

For the latest stable version:

npm install -g typescript

For our nightly builds:

npm install -g typescript@next

Contribute

There are many ways to contribute to TypeScript.

Documentation

Building

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 Jake tools and dev dependencies:

npm install -g jake
npm install

Use one of the following to build and test:

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.
                      # Bootstrapping step to be executed when the built compiler reaches a stable state.
jake tests            # Build the test infrastructure using the built compiler. 
jake 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>. 
jake runtests-browser # Runs the tests using the built run.js file. Syntax is jake runtests. Optional
                        parameters 'host=', 'tests=[regex], reporter=[list|spec|json|<more>]'.
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 -T               # List the above commands. 

Usage

node built/local/tsc.js hello.ts

Roadmap

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