TypeScript/tests/cases/compiler/APISample_compile.ts

36 lines
1.3 KiB
TypeScript
Raw Normal View History

2015-01-29 20:23:02 +01:00
// @module: commonjs
// @includebuiltfile: typescript.d.ts
// @stripInternal:true
2015-01-29 20:23:02 +01:00
/*
* Note: This test is a public API sample. The sample sources can be found
at: https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API#a-minimal-compiler
* Please log a "breaking change" issue for any API breaking change affecting this issue
*/
declare var process: any;
declare var console: any;
import ts = require("typescript");
export function compile(fileNames: string[], options: ts.CompilerOptions): void {
var program = ts.createProgram(fileNames, options);
var result = program.emit();
2015-01-29 20:23:02 +01:00
var allDiagnostics = program.getDiagnostics()
.concat(program.getTypeCheckerDiagnostics())
2015-01-29 20:23:02 +01:00
.concat(result.diagnostics);
allDiagnostics.forEach(diagnostic => {
var lineChar = diagnostic.file.getLineAndCharacterFromPosition(diagnostic.start);
console.log(`${diagnostic.file.fileName} (${lineChar.line},${lineChar.character}): ${diagnostic.messageText}`);
2015-01-29 20:23:02 +01:00
});
console.log(`Process exiting with code '${result.emitResultStatus}'.`);
process.exit(result.emitResultStatus);
}
compile(process.argv.slice(2), {
noEmitOnError: true, noImplicitAny: true,
target: ts.ScriptTarget.ES5, module: ts.ModuleKind.CommonJS
});