-
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
- Common Errors
- Integrating with Build Tools
- Compiler Options
- tsconfig.json
TypeScript Language Advanced
- Mixins
- Declaration Merging
- Type Inference
- Type Compatibility
- JSX
- Writing Definition 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
FAQs