$(TypeScriptSourceMap)
comes from about 4 lines earlier in the project file. It's simply " --sourcemap"
when in the debug configuration and ""
otherwise.
The @()
syntax here basically means "For every project item whose build action is TypeScriptCompile
, put its full path in double-quotes and join those resulting items by a space.
An emerging best practice for TypeScript projects is to have a "project.ts" file that looks like this:
project.ts
/// <reference path="file1.ts" />
/// <reference path="file2.ts" />
/// ... and so on
file1.ts
/// <reference path="project.ts" />
class alpha { ... }
file2.ts
/// <reference path="project.ts" />
class beta { ... }
With that setup, you can simply run tsc project.ts
or tsc project.ts --out app.ts
and the right thing will happen.