Skip to content

Commit a894f04

Browse files
committed
Merge branch 'master' into moveTypeSerializationToEmitter
2 parents 990ce29 + e72d0d8 commit a894f04

642 files changed

Lines changed: 13645 additions & 3207 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Jakefile.js

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,7 @@ compileFile(servicesFile, servicesSources,[builtLocalDirectory, copyright].conca
361361
/*keepComments*/ true,
362362
/*noResolve*/ false,
363363
/*stripInternal*/ true,
364-
/*callback*/ function () {
364+
/*callback*/ function () {
365365
jake.cpR(servicesFile, nodePackageFile, {silent: true});
366366

367367
prependFile(copyright, standaloneDefinitionsFile);
@@ -379,12 +379,12 @@ compileFile(serverFile, serverSources,[builtLocalDirectory, copyright].concat(se
379379

380380
var lsslFile = path.join(builtLocalDirectory, "tslssl.js");
381381
compileFile(
382-
lsslFile,
383-
languageServiceLibrarySources,
382+
lsslFile,
383+
languageServiceLibrarySources,
384384
[builtLocalDirectory, copyright].concat(languageServiceLibrarySources),
385-
/*prefixes*/ [copyright],
386-
/*useBuiltCompiler*/ true,
387-
/*noOutFile*/ false,
385+
/*prefixes*/ [copyright],
386+
/*useBuiltCompiler*/ true,
387+
/*noOutFile*/ false,
388388
/*generateDeclarations*/ true);
389389

390390
// Local target to build the language service server library
@@ -488,7 +488,7 @@ var refTest262Baseline = path.join(internalTests, "baselines/test262/reference")
488488
desc("Builds the test infrastructure using the built compiler");
489489
task("tests", ["local", run].concat(libraryTargets));
490490

491-
function exec(cmd, completeHandler) {
491+
function exec(cmd, completeHandler, errorHandler) {
492492
var ex = jake.createExec([cmd], {windowsVerbatimArguments: true});
493493
// Add listeners for output and error
494494
ex.addListener("stdout", function(output) {
@@ -504,8 +504,12 @@ function exec(cmd, completeHandler) {
504504
complete();
505505
});
506506
ex.addListener("error", function(e, status) {
507-
fail("Process exited with code " + status);
508-
})
507+
if(errorHandler) {
508+
errorHandler(e, status);
509+
} else {
510+
fail("Process exited with code " + status);
511+
}
512+
});
509513

510514
ex.run();
511515
}
@@ -715,3 +719,23 @@ task('tsc-instrumented', [loggedIOJsPath, instrumenterJsPath, tscFile], function
715719
});
716720
ex.run();
717721
}, { async: true });
722+
723+
desc("Updates the sublime plugin's tsserver");
724+
task("update-sublime", ["local", serverFile], function() {
725+
jake.cpR(serverFile, "../TypeScript-Sublime-Plugin/tsserver/");
726+
jake.cpR(serverFile + ".map", "../TypeScript-Sublime-Plugin/tsserver/");
727+
});
728+
729+
// if the codebase were free of linter errors we could make jake runtests
730+
// run this task automatically
731+
desc("Runs tslint on the compiler sources");
732+
task("lint", [], function() {
733+
for(var i in compilerSources) {
734+
var f = compilerSources[i];
735+
var cmd = 'tslint -f ' + f;
736+
exec(cmd,
737+
function() { console.log('SUCCESS: No linter errors'); },
738+
function() { console.log('FAILURE: Please fix linting errors in ' + f + '\n');
739+
});
740+
}
741+
}, { async: true });

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@
3333
"mocha": "latest",
3434
"chai": "latest",
3535
"browserify": "latest",
36-
"istanbul": "latest"
36+
"istanbul": "latest",
37+
"tslint": "latest"
3738
},
3839
"scripts": {
3940
"test": "jake runtests"

scripts/errorCheck.ts

Lines changed: 66 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -4,84 +4,83 @@ let async = require('async');
44
let glob = require('glob');
55

66
fs.readFile('src/compiler/diagnosticMessages.json', 'utf-8', (err, data) => {
7-
if (err) {
8-
throw err;
9-
}
10-
11-
let messages = JSON.parse(data);
12-
let keys = Object.keys(messages);
13-
console.log('Loaded ' + keys.length + ' errors');
7+
if (err) {
8+
throw err;
9+
}
1410

15-
for (let k of keys) {
16-
messages[k]['seen'] = false;
17-
}
11+
let messages = JSON.parse(data);
12+
let keys = Object.keys(messages);
13+
console.log('Loaded ' + keys.length + ' errors');
1814

19-
let errRegex = /\(\d+,\d+\): error TS([^:]+):/g;
15+
for (let k of keys) {
16+
messages[k]['seen'] = false;
17+
}
2018

21-
let baseDir = 'tests/baselines/reference/';
22-
fs.readdir(baseDir, (err, files) => {
23-
files = files.filter(f => f.indexOf('.errors.txt') > 0);
24-
let tasks: Array<(callback: () => void) => void> = [];
25-
files.forEach(f => tasks.push(done => {
26-
fs.readFile(baseDir + f, 'utf-8', (err, baseline) => {
27-
if (err) throw err;
19+
let errRegex = /\(\d+,\d+\): error TS([^:]+):/g;
2820

29-
let g: string[];
30-
while (g = errRegex.exec(baseline)) {
31-
var errCode = +g[1];
32-
let msg = keys.filter(k => messages[k].code === errCode)[0];
33-
messages[msg]['seen'] = true;
34-
}
21+
let baseDir = 'tests/baselines/reference/';
22+
fs.readdir(baseDir, (err, files) => {
23+
files = files.filter(f => f.indexOf('.errors.txt') > 0);
24+
let tasks: Array<(callback: () => void) => void> = [];
25+
files.forEach(f => tasks.push(done => {
26+
fs.readFile(baseDir + f, 'utf-8', (err, baseline) => {
27+
if (err) throw err;
3528

36-
done();
37-
});
38-
}));
29+
let g: string[];
30+
while (g = errRegex.exec(baseline)) {
31+
var errCode = +g[1];
32+
let msg = keys.filter(k => messages[k].code === errCode)[0];
33+
messages[msg]['seen'] = true;
34+
}
3935

40-
async.parallelLimit(tasks, 25, done => {
41-
console.log('== List of errors not present in baselines ==');
42-
let count = 0;
43-
for (let k of keys) {
44-
if (messages[k]['seen'] !== true) {
45-
console.log(k);
46-
count++;
47-
}
48-
}
49-
console.log(count + ' of ' + keys.length + ' errors are not in baselines');
50-
});
51-
});
36+
done();
37+
});
38+
}));
39+
40+
async.parallelLimit(tasks, 25, done => {
41+
console.log('== List of errors not present in baselines ==');
42+
let count = 0;
43+
for (let k of keys) {
44+
if (messages[k]['seen'] !== true) {
45+
console.log(k);
46+
count++;
47+
}
48+
}
49+
console.log(count + ' of ' + keys.length + ' errors are not in baselines');
50+
});
51+
});
5252
});
5353

5454
fs.readFile('src/compiler/diagnosticInformationMap.generated.ts', 'utf-8', (err, data) => {
55-
let errorRegexp = /\s(\w+): \{ code/g;
56-
let errorNames: string[] = [];
57-
let errMatch: string[];
58-
while (errMatch = errorRegexp.exec(data)) {
59-
errorNames.push(errMatch[1]);
60-
}
55+
let errorRegexp = /\s(\w+): \{ code/g;
56+
let errorNames: string[] = [];
57+
let errMatch: string[];
58+
while (errMatch = errorRegexp.exec(data)) {
59+
errorNames.push(errMatch[1]);
60+
}
6161

62-
let allSrc: string = '';
63-
glob('./src/**/*.ts', {}, (err, files) => {
64-
console.log('Reading ' + files.length + ' source files');
65-
for(let file of files) {
66-
if (file.indexOf('diagnosticInformationMap.generated.ts') > 0) {
67-
continue;
68-
}
62+
let allSrc: string = '';
63+
glob('./src/**/*.ts', {}, (err, files) => {
64+
console.log('Reading ' + files.length + ' source files');
65+
for (let file of files) {
66+
if (file.indexOf('diagnosticInformationMap.generated.ts') > 0) {
67+
continue;
68+
}
6969

70-
let src = fs.readFileSync(file, 'utf-8');
71-
allSrc = allSrc + src;
72-
}
70+
let src = fs.readFileSync(file, 'utf-8');
71+
allSrc = allSrc + src;
72+
}
7373

74-
console.log('Consumed ' + allSrc.length + ' characters of source');
74+
console.log('Consumed ' + allSrc.length + ' characters of source');
7575

76-
let count = 0;
77-
console.log('== List of errors not used in source ==')
78-
for(let errName of errorNames) {
79-
if (allSrc.indexOf(errName) < 0) {
80-
console.log(errName);
81-
count++;
82-
}
83-
}
84-
console.log(count + ' of ' + errorNames.length + ' errors are not used in source');
85-
});
76+
let count = 0;
77+
console.log('== List of errors not used in source ==');
78+
for (let errName of errorNames) {
79+
if (allSrc.indexOf(errName) < 0) {
80+
console.log(errName);
81+
count++;
82+
}
83+
}
84+
console.log(count + ' of ' + errorNames.length + ' errors are not used in source');
85+
});
8686
});
87-

0 commit comments

Comments
 (0)