-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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 Node
--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.
News
Debugging TypeScript
- Performance
- Performance-Tracing
- Debugging-Language-Service-in-VS-Code
- Getting-logs-from-TS-Server-in-VS-Code
- JavaScript-Language-Service-in-Visual-Studio
- Providing-Visual-Studio-Repro-Steps
Contributing to TypeScript
- Contributing to TypeScript
- TypeScript Design Goals
- Coding Guidelines
- Useful Links for TypeScript Issue Management
- Writing Good Design Proposals
- Compiler Repo Notes
- Deployment
Building Tools for TypeScript
- Architectural Overview
- Using the Compiler API
- Using the Language Service API
- Standalone Server (tsserver)
- TypeScript MSBuild In Depth
- Debugging Language Service in VS Code
- Writing a Language Service Plugin
- Docker Quickstart
FAQs
The Main Repo