Skip to content

Commit a9f0adf

Browse files
committed
Add compiler that won't typecheck .d.ts-es
1 parent ddf4ed2 commit a9f0adf

File tree

2 files changed

+80
-0
lines changed

2 files changed

+80
-0
lines changed

build/tsc-dev.js

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
"use strict";
2+
var ts = require("typescript");
3+
var fs = require("fs");
4+
function compile(fileNames, options) {
5+
var program = ts.createProgram(fileNames, options);
6+
var sourceFiles = program.getSourceFiles().filter(function (f) { return f.fileName.lastIndexOf(".d.ts") !== f.fileName.length - 5; });
7+
// sourceFiles.forEach(sf => console.log(" - " + sf.fileName));
8+
var emitResults = [];
9+
var allDiagnostics = [];
10+
sourceFiles.forEach(function (srcFile) { return emitResults.push(program.emit(srcFile)); });
11+
sourceFiles.forEach(function (srcFile) { return allDiagnostics = allDiagnostics.concat(ts.getPreEmitDiagnostics(program, srcFile)); });
12+
emitResults.forEach(function (er) { return allDiagnostics = allDiagnostics.concat(er.diagnostics); });
13+
allDiagnostics.forEach(function (diagnostic) {
14+
var d = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
15+
var line = d.line;
16+
var character = d.character;
17+
var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
18+
var code = diagnostic.code;
19+
console.log(diagnostic.file.fileName + "(" + (line + 1) + "," + (character + 1) + "): TS" + code + ": " + message);
20+
});
21+
var exitCode = emitResults.some(function (er) { return er.emitSkipped; }) ? 1 : 0;
22+
console.log("Process exiting with code " + exitCode + ".");
23+
process.exit(exitCode);
24+
}
25+
var files = JSON.parse(fs.readFileSync("./tsconfig.json")).files;
26+
compile(files, {
27+
noEmitOnError: true,
28+
noEmitHelpers: true,
29+
target: ts.ScriptTarget.ES5,
30+
module: ts.ModuleKind.CommonJS,
31+
declaration: false,
32+
noImplicitAny: false,
33+
noImplicitUseStrict: true,
34+
experimentalDecorators: true
35+
});

build/tsc-dev.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import * as ts from "typescript";
2+
declare var process, require;
3+
var fs = require("fs");
4+
5+
function compile(fileNames: string[], options: ts.CompilerOptions) {
6+
var program = ts.createProgram(fileNames, options);
7+
8+
var sourceFiles = program.getSourceFiles().filter(f => f.fileName.lastIndexOf(".d.ts") !== f.fileName.length - 5);
9+
// sourceFiles.forEach(sf => console.log(" - " + sf.fileName));
10+
11+
var emitResults = [];
12+
var allDiagnostics = [];
13+
14+
sourceFiles.forEach(srcFile => emitResults.push(program.emit(srcFile)));
15+
sourceFiles.forEach(srcFile => allDiagnostics = allDiagnostics.concat(ts.getPreEmitDiagnostics(program, srcFile)));
16+
emitResults.forEach(er => allDiagnostics = allDiagnostics.concat(er.diagnostics));
17+
18+
allDiagnostics.forEach(diagnostic => {
19+
var d = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);
20+
var line = d.line;
21+
var character = d.character;
22+
var message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\n');
23+
var code = diagnostic.code;
24+
console.log(diagnostic.file.fileName + "(" + (line + 1) + "," + (character + 1) + "): TS" + code + ": " + message);
25+
});
26+
27+
var exitCode = emitResults.some(er => er.emitSkipped) ? 1 : 0;
28+
29+
console.log("Process exiting with code " + exitCode + ".");
30+
process.exit(exitCode);
31+
}
32+
33+
var files = JSON.parse(fs.readFileSync("./tsconfig.json")).files;
34+
compile(files,
35+
{
36+
noEmitOnError: true,
37+
noEmitHelpers: true,
38+
target: ts.ScriptTarget.ES5,
39+
module: ts.ModuleKind.CommonJS,
40+
declaration: false,
41+
noImplicitAny: false,
42+
noImplicitUseStrict: true,
43+
experimentalDecorators: true
44+
});
45+

0 commit comments

Comments
 (0)