Skip to content

Commit 0756aa1

Browse files
committed
Merge branch 'master' into strictFunctionTypes
2 parents 1609196 + 8e4c559 commit 0756aa1

File tree

8,484 files changed

+696491
-18719
lines changed

Some content is hidden

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

8,484 files changed

+696491
-18719
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,3 +59,4 @@ internal/
5959
.idea
6060
yarn.lock
6161
package-lock.json
62+
.parallelperf.*

Gulpfile.ts

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -674,11 +674,10 @@ function runConsoleTests(defaultReporter: string, runInParallel: boolean, done:
674674
});
675675

676676
function failWithStatus(err?: any, status?: number) {
677-
if (err) {
678-
console.log(err);
677+
if (err || status) {
678+
process.exit(typeof status === "number" ? status : 2);
679679
}
680-
done(err || status);
681-
process.exit(status);
680+
done();
682681
}
683682

684683
function lintThenFinish() {
@@ -979,8 +978,9 @@ gulp.task(instrumenterJsPath, /*help*/ false, [servicesFile], () => {
979978
.pipe(gulp.dest(builtLocalDirectory));
980979
});
981980

982-
gulp.task("tsc-instrumented", "Builds an instrumented tsc.js", ["local", loggedIOJsPath, instrumenterJsPath, servicesFile], (done) => {
983-
exec(host, [instrumenterJsPath, "record", "iocapture", builtLocalCompiler], done, done);
981+
gulp.task("tsc-instrumented", "Builds an instrumented tsc.js - run with --test=[testname]", ["local", loggedIOJsPath, instrumenterJsPath, servicesFile], (done) => {
982+
const test = cmdLineOptions["tests"] || "iocapture";
983+
exec(host, [instrumenterJsPath, "record", test, builtLocalCompiler], done, done);
984984
});
985985

986986
gulp.task("update-sublime", "Updates the sublime plugin's tsserver", ["local", serverFile], () => {
@@ -1051,10 +1051,11 @@ gulp.task("lint", "Runs tslint on the compiler sources. Optional arguments are:
10511051
const fileMatcher = cmdLineOptions["files"];
10521052
const files = fileMatcher
10531053
? `src/**/${fileMatcher}`
1054-
: "Gulpfile.ts 'scripts/tslint/*.ts' 'src/**/*.ts' --exclude src/lib/es5.d.ts --exclude 'src/lib/*.generated.d.ts'";
1055-
const cmd = `node node_modules/tslint/bin/tslint ${files} --format stylish`;
1054+
: "Gulpfile.ts 'scripts/tslint/**/*.ts' 'src/**/*.ts' --exclude src/lib/es5.d.ts --exclude 'src/lib/*.generated.d.ts'";
1055+
const cmd = `node node_modules/tslint/bin/tslint ${files} --formatters-dir ./built/local/tslint/formatters --format autolinkableStylish`;
10561056
console.log("Linting: " + cmd);
10571057
child_process.execSync(cmd, { stdio: [0, 1, 2] });
1058+
if (fold.isTravis()) console.log(fold.end("lint"));
10581059
});
10591060

10601061
gulp.task("default", "Runs 'local'", ["local"]);

Jakefile.js

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,10 @@ var harnessSources = harnessCoreSources.concat([
138138
"projectErrors.ts",
139139
"matchFiles.ts",
140140
"initializeTSConfig.ts",
141-
"extractMethods.ts",
141+
"extractConstants.ts",
142+
"extractFunctions.ts",
143+
"extractRanges.ts",
144+
"extractTestHelpers.ts",
142145
"printer.ts",
143146
"textChanges.ts",
144147
"telemetry.ts",
@@ -1104,9 +1107,10 @@ var instrumenterPath = harnessDirectory + 'instrumenter.ts';
11041107
var instrumenterJsPath = builtLocalDirectory + 'instrumenter.js';
11051108
compileFile(instrumenterJsPath, [instrumenterPath], [tscFile, instrumenterPath].concat(libraryTargets), [], /*useBuiltCompiler*/ true, { lib: "es6", types: ["node"], noOutFile: true, outDir: builtLocalDirectory });
11061109

1107-
desc("Builds an instrumented tsc.js");
1110+
desc("Builds an instrumented tsc.js - run with test=[testname]");
11081111
task('tsc-instrumented', [loggedIOJsPath, instrumenterJsPath, tscFile], function () {
1109-
var cmd = host + ' ' + instrumenterJsPath + ' record iocapture ' + builtLocalDirectory + compilerFilename;
1112+
var test = process.env.test || process.env.tests || process.env.t || "iocapture";
1113+
var cmd = host + ' ' + instrumenterJsPath + " record " + test + " " + builtLocalDirectory + compilerFilename;
11101114
console.log(cmd);
11111115
var ex = jake.createExec([cmd]);
11121116
ex.addListener("cmdEnd", function () {
@@ -1121,7 +1125,7 @@ task("update-sublime", ["local", serverFile], function () {
11211125
jake.cpR(serverFile + ".map", "../TypeScript-Sublime-Plugin/tsserver/");
11221126
});
11231127

1124-
var tslintRuleDir = "scripts/tslint";
1128+
var tslintRuleDir = "scripts/tslint/rules";
11251129
var tslintRules = [
11261130
"booleanTriviaRule",
11271131
"debugAssertRule",
@@ -1137,13 +1141,27 @@ var tslintRulesFiles = tslintRules.map(function (p) {
11371141
return path.join(tslintRuleDir, p + ".ts");
11381142
});
11391143
var tslintRulesOutFiles = tslintRules.map(function (p) {
1140-
return path.join(builtLocalDirectory, "tslint", p + ".js");
1144+
return path.join(builtLocalDirectory, "tslint/rules", p + ".js");
1145+
});
1146+
var tslintFormattersDir = "scripts/tslint/formatters";
1147+
var tslintFormatters = [
1148+
"autolinkableStylishFormatter",
1149+
];
1150+
var tslintFormatterFiles = tslintFormatters.map(function (p) {
1151+
return path.join(tslintFormattersDir, p + ".ts");
1152+
});
1153+
var tslintFormattersOutFiles = tslintFormatters.map(function (p) {
1154+
return path.join(builtLocalDirectory, "tslint/formatters", p + ".js");
11411155
});
11421156
desc("Compiles tslint rules to js");
1143-
task("build-rules", ["build-rules-start"].concat(tslintRulesOutFiles).concat(["build-rules-end"]));
1157+
task("build-rules", ["build-rules-start"].concat(tslintRulesOutFiles).concat(tslintFormattersOutFiles).concat(["build-rules-end"]));
11441158
tslintRulesFiles.forEach(function (ruleFile, i) {
11451159
compileFile(tslintRulesOutFiles[i], [ruleFile], [ruleFile], [], /*useBuiltCompiler*/ false,
1146-
{ noOutFile: true, generateDeclarations: false, outDir: path.join(builtLocalDirectory, "tslint"), lib: "es6" });
1160+
{ noOutFile: true, generateDeclarations: false, outDir: path.join(builtLocalDirectory, "tslint/rules"), lib: "es6" });
1161+
});
1162+
tslintFormatterFiles.forEach(function (ruleFile, i) {
1163+
compileFile(tslintFormattersOutFiles[i], [ruleFile], [ruleFile], [], /*useBuiltCompiler*/ false,
1164+
{ noOutFile: true, generateDeclarations: false, outDir: path.join(builtLocalDirectory, "tslint/formatters"), lib: "es6" });
11471165
});
11481166

11491167
desc("Emit the start of the build-rules fold");
@@ -1211,8 +1229,8 @@ task("lint", ["build-rules"], () => {
12111229
const fileMatcher = process.env.f || process.env.file || process.env.files;
12121230
const files = fileMatcher
12131231
? `src/**/${fileMatcher}`
1214-
: "Gulpfile.ts 'scripts/tslint/*.ts' 'src/**/*.ts' --exclude src/lib/es5.d.ts --exclude 'src/lib/*.generated.d.ts'";
1215-
const cmd = `node node_modules/tslint/bin/tslint ${files} --format stylish`;
1232+
: "Gulpfile.ts 'scripts/tslint/**/*.ts' 'src/**/*.ts' --exclude src/lib/es5.d.ts --exclude 'src/lib/*.generated.d.ts'";
1233+
const cmd = `node node_modules/tslint/bin/tslint ${files} --formatters-dir ./built/local/tslint/formatters --format autolinkableStylish`;
12161234
console.log("Linting: " + cmd);
12171235
jake.exec([cmd], { interactive: true }, () => {
12181236
if (fold.isTravis()) console.log(fold.end("lint"));

0 commit comments

Comments
 (0)