Redirect to the official TS website

Mohamed Hegazy
2016-03-24 12:16:43 -07:00
parent b6f3f81b48
commit db2eb625df

@@ -1,100 +1 @@
## Overview
The presence of a `tsconfig.json` file in a directory indicates that the directory is the root of a TypeScript project. The `tsconfig.json` file specifies the root files and the compiler options required to compile the project. `tsconfig.json` is supported starting with TypeScript 1.5. A project is compiled in one of the following ways:
## Using tsconfig.json
* By invoking tsc with no input files, in which case the compiler searches for the `tsconfig.json` file starting in the current directory and continuing up the parent directory chain.
* By invoking tsc with no input files and a `-project` (or just `-p`) command line option that specifies the path of a directory containing a `tsconfig.json` file.
When input files are specified on the command line, `tsconfig.json` files are ignored.
## Examples
Example `tsconfig.json` files:
* Using the `"files"` property
```json
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"out": "../../built/local/tsc.js",
"sourceMap": true
},
"files": [
"core.ts",
"sys.ts",
"types.ts",
"scanner.ts",
"parser.ts",
"utilities.ts",
"binder.ts",
"checker.ts",
"emitter.ts",
"program.ts",
"commandLineParser.ts",
"tsc.ts",
"diagnosticInformationMap.generated.ts"
]
}
```
* Using the `"exclude"` property
```json
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"out": "../../built/local/tsc.js",
"sourceMap": true
},
"exclude": [
"node_modules",
"wwwroot"
]
}
```
## Details
The `"compilerOptions"` property can be omitted, in which case the compiler's defaults are used. See our full list of supported [[Compiler Options]].
If no `"files"` property is present in a `tsconfig.json`, the compiler defaults to including all TypeScript (\*.ts or \*.tsx) files in the containing directory and subdirectories. When a `"files"` property is present, only the specified files are included.
If the `"exclude"` property is specified, the compiler includes all TypeScript (\*.ts or \*.tsx) files in the containing directory and subdirectories except for those files or folders that are excluded.
The `"files"` property cannot be used in conjunction with the `"exclude"` property. If both are specified then the `"files"` property takes precedence.
Any files that are referenced by those specified in the `"files"` property are also included.
Similarly, if a file `B.ts` is referenced by another file `A.ts`, then `B.ts` cannot be excluded unless the referencing file `A.ts` is also specified in the `"exclude"` list.
There is no way now to indicate an `“include”` to a file outside the current folder in the `tsconfig.json` (tracked by [#1927](https://github.com/Microsoft/TypeScript/issues/1927)). You can achieve the same result by either: 1. Using a `“files”` list, or 2. Adding a `/// <reference path="..." />` directive in one of the files in your directory.
A `tsconfig.json` file is permitted to be completely empty, which compiles all files in the containing directory and subdirectories with the default compiler options.
Compiler options specified on the command line override those specified in the `tsconfig.json` file.
## `compileOnSave`
Setting a top-level property `compileOnSave` signals to the IDE to generate all files for a given tsconfig.json upon saving.
```json
{
"compileOnSave": true,
"compilerOptions": {
"noImplicitAny" : true
}
}
```
This feature is currently supported in Visual Studio 2015 with TypeScript 1.8.4 and above, and [atom-typescript](https://github.com/TypeStrong/atom-typescript/blob/master/docs/tsconfig.md#compileonsave) plugin.
## Schema
Schema can be found at: http://json.schemastore.org/tsconfig
> ### This page has moved to http://www.typescriptlang.org/docs/handbook/tsconfig.json.html