-
Notifications
You must be signed in to change notification settings - Fork 0
Setting Compiler Options in MSBuild projects
Compiler options can be specified using MSBuild properties within an MSBuild project.
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<TypeScriptRemoveComments>false</TypeScriptRemoveComments>
<TypeScriptSourceMap>true</TypeScriptSourceMap>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<TypeScriptRemoveComments>true</TypeScriptRemoveComments>
<TypeScriptSourceMap>false</TypeScriptSourceMap>
</PropertyGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" /> Compiler Option | MSBuild Property Name | Allowed Values
---------------------------------------------|--------------------------------------------|-----------------
--declaration | TypeScriptGeneratesDeclarations | boolean
--module | TypeScriptModuleKind | AMD, CommonJs, UMD, or System
--target | TypeScriptTarget | ES3, ES5, or ES6
--charset | TypeScriptCharset |
--emitBOM | TypeScriptEmitBOM | boolean
--emitDecoratorMetadata | TypeScriptEmitDecoratorMetadata | boolean
--experimentalDecorators | TypeScriptExperimentalDecorators | boolean
--inlineSourceMap | TypeScriptInlineSourceMap | boolean
--inlineSources | TypeScriptInlineSources | boolean
--locale | automatic | Automatically set to PreferredUILang value
--mapRoot | TypeScriptMapRoot | File path
--newLine | TypeScriptNewLine | CRLF or LF
--noEmitOnError | TypeScriptNoEmitOnError | boolean
--noEmitHelpers | TypeScriptNoEmitHelpers | boolean
--noImplicitAny | TypeScriptNoImplicitAny | boolean
--noLib | TypeScriptNoLib | boolean
--noResolve | TypeScriptNoResolve | boolean
--out | TypeScriptOutFile | File path
--outDir | TypeScriptOutDir | File path
--preserveConstEnums | TypeScriptPreserveConstEnums | boolean
--removeComments | TypeScriptRemoveComments | boolean
--rootDir | TypeScriptRootDir | File path
--isolatedModules | TypeScriptIsolatedModules | boolean
--sourceMap | TypeScriptSourceMap | File path
--sourceRoot | TypeScriptSourceRoot | File path
--suppressImplicitAnyIndexErrors | TypeScriptSuppressImplicitAnyIndexErrors | boolean
--suppressExcessPropertyErrors | TypeScriptSuppressExcessPropertyErrors | boolean
--moduleResolution[1] | TypeScriptModuleResolution | Classic or NodeJs
--experimentalAsyncFunctions[1] | TypeScriptExperimentalAsyncFunctions | boolean
--jsx[1] | TypeScriptJSXEmit | React or Preserve
--project | Not supported in VS |
--watch | Not supported in VS |
--diagnostics | Not supported in VS |
--listFiles | Not supported in VS |
--noEmit | Not supported in VS |
VS only option | TypeScriptAdditionalFlags | Any compiler option
1 These settings are new in TypeScript 1.6
Look in your C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets file.
The authoritative mappings between MSBuild XML tags and tsc compiler options live in there.
TypeScript Language Basics
- Basic Types
- Interfaces
- Classes
- Namespaces and Modules
- Functions
- Generics
- Compiler Options
- tsconfig.json
- Integrating with Build Tools
- Nightly Builds
TypeScript Language Advanced
- Mixins
- Declaration Merging
- Type Inference
- Type Compatibility
- JSX
- Writing Declaration Files
- Typings for NPM packages
News
TypeScript Contributors
- Contributing to TypeScript
- TypeScript Design Goals
- Coding Guidelines
- Spec conformance testing
- Useful Links for TypeScript Issue Management
- Writing Good Design Proposals
- Compiler Internals
Building Tools for TypeScript
- Architectural Overview
- Using the Compiler API
- Using the Language Service API
- Dev Mode in Visual Studio
- Debugging Language Service in VS Code
FAQs