Skip to content

Commit 19f62a4

Browse files
committed
Merge branch 'master' into configuration-inheritance
# Conflicts: # src/compiler/core.ts
2 parents 167d318 + 0485bb6 commit 19f62a4

File tree

467 files changed

+13300
-2911
lines changed

Some content is hidden

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

467 files changed

+13300
-2911
lines changed

.travis.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,18 @@ node_js:
77

88
sudo: false
99

10+
env:
11+
- workerCount=3
12+
1013
matrix:
1114
fast_finish: true
1215
include:
1316
- os: osx
1417
node_js: stable
1518
osx_image: xcode7.3
19+
env: workerCount=2
20+
allow_failures:
21+
- os: osx
1622

1723
branches:
1824
only:
@@ -28,3 +34,6 @@ install:
2834
cache:
2935
directories:
3036
- node_modules
37+
38+
git:
39+
depth: 1

Gulpfile.ts

Lines changed: 125 additions & 97 deletions
Large diffs are not rendered by default.

Jakefile.js

Lines changed: 274 additions & 235 deletions
Large diffs are not rendered by default.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
[![Join the chat at https://gitter.im/Microsoft/TypeScript](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Microsoft/TypeScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
88

9-
[TypeScript](http://www.typescriptlang.org/) is a language for application-scale JavaScript. TypeScript adds optional types, classes, and modules to JavaScript. TypeScript supports tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the [playground](http://www.typescriptlang.org/Playground), and stay up to date via [our blog](http://blogs.msdn.com/typescript) and [Twitter account](https://twitter.com/typescriptlang).
9+
[TypeScript](http://www.typescriptlang.org/) is a language for application-scale JavaScript. TypeScript adds optional types, classes, and modules to JavaScript. TypeScript supports tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the [playground](http://www.typescriptlang.org/Playground), and stay up to date via [our blog](https://blogs.msdn.microsoft.com/typescript) and [Twitter account](https://twitter.com/typescriptlang).
1010

1111
## Installing
1212

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@
3030
},
3131
"devDependencies": {
3232
"@types/browserify": "latest",
33-
"@types/convert-source-map": "latest",
3433
"@types/chai": "latest",
34+
"@types/convert-source-map": "latest",
3535
"@types/del": "latest",
3636
"@types/glob": "latest",
3737
"@types/gulp": "latest",
@@ -69,16 +69,18 @@
6969
"mkdirp": "latest",
7070
"mocha": "latest",
7171
"mocha-fivemat-progress-reporter": "latest",
72+
"q": "latest",
7273
"run-sequence": "latest",
7374
"sorcery": "latest",
7475
"through2": "latest",
76+
"travis-fold": "latest",
7577
"ts-node": "latest",
7678
"tslint": "next",
7779
"typescript": "next"
7880
},
7981
"scripts": {
8082
"pretest": "jake tests",
81-
"test": "jake runtests",
83+
"test": "jake runtests-parallel",
8284
"build": "npm run build:compiler && npm run build:tests",
8385
"build:compiler": "jake local",
8486
"build:tests": "jake tests",

scripts/ior.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
/// <reference path="../src/harness/external/node.d.ts" />
1+
/// <reference types="node"/>
22

33
import fs = require('fs');
44
import path = require('path');

scripts/parallel-lint.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
var Linter = require("tslint");
2+
var fs = require("fs");
3+
4+
function getLinterOptions() {
5+
return {
6+
configuration: require("../tslint.json"),
7+
formatter: "prose",
8+
formattersDirectory: undefined,
9+
rulesDirectory: "built/local/tslint"
10+
};
11+
}
12+
13+
function lintFileContents(options, path, contents) {
14+
var ll = new Linter(path, contents, options);
15+
return ll.lint();
16+
}
17+
18+
function lintFileAsync(options, path, cb) {
19+
fs.readFile(path, "utf8", function (err, contents) {
20+
if (err) {
21+
return cb(err);
22+
}
23+
var result = lintFileContents(options, path, contents);
24+
cb(undefined, result);
25+
});
26+
}
27+
28+
process.on("message", function (data) {
29+
switch (data.kind) {
30+
case "file":
31+
var target = data.name;
32+
var lintOptions = getLinterOptions();
33+
lintFileAsync(lintOptions, target, function (err, result) {
34+
if (err) {
35+
process.send({ kind: "error", error: err.toString() });
36+
return;
37+
}
38+
process.send({ kind: "result", failures: result.failureCount, output: result.output });
39+
});
40+
break;
41+
case "close":
42+
process.exit(0);
43+
break;
44+
}
45+
});

scripts/processDiagnosticMessages.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ function checkForUniqueCodes(messages: string[], diagnosticTable: InputDiagnosti
6969
}
7070

7171
function buildUniqueNameMap(names: string[]): ts.Map<string> {
72-
var nameMap: ts.Map<string> = {};
72+
var nameMap = ts.createMap<string>();
7373

7474
var uniqueNames = NameGenerator.ensureUniqueness(names, /* isCaseSensitive */ false, /* isFixed */ undefined);
7575

scripts/tslint/preferConstRule.ts

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import * as Lint from "tslint/lib/lint";
22
import * as ts from "typescript";
33

4-
54
export class Rule extends Lint.Rules.AbstractRule {
65
public static FAILURE_STRING_FACTORY = (identifier: string) => `Identifier '${identifier}' never appears on the LHS of an assignment - use const instead of let for its declaration.`;
76

@@ -64,7 +63,7 @@ interface DeclarationUsages {
6463
}
6564

6665
class PreferConstWalker extends Lint.RuleWalker {
67-
private inScopeLetDeclarations: ts.Map<DeclarationUsages>[] = [];
66+
private inScopeLetDeclarations: ts.MapLike<DeclarationUsages>[] = [];
6867
private errors: Lint.RuleFailure[] = [];
6968
private markAssignment(identifier: ts.Identifier) {
7069
const name = identifier.text;
@@ -172,7 +171,7 @@ class PreferConstWalker extends Lint.RuleWalker {
172171
}
173172

174173
private visitAnyForStatement(node: ts.ForOfStatement | ts.ForInStatement) {
175-
const names: ts.Map<DeclarationUsages> = {};
174+
const names: ts.MapLike<DeclarationUsages> = {};
176175
if (isLet(node.initializer)) {
177176
if (node.initializer.kind === ts.SyntaxKind.VariableDeclarationList) {
178177
this.collectLetIdentifiers(node.initializer as ts.VariableDeclarationList, names);
@@ -194,7 +193,7 @@ class PreferConstWalker extends Lint.RuleWalker {
194193
}
195194

196195
visitBlock(node: ts.Block) {
197-
const names: ts.Map<DeclarationUsages> = {};
196+
const names: ts.MapLike<DeclarationUsages> = {};
198197
for (const statement of node.statements) {
199198
if (statement.kind === ts.SyntaxKind.VariableStatement) {
200199
this.collectLetIdentifiers((statement as ts.VariableStatement).declarationList, names);
@@ -205,15 +204,15 @@ class PreferConstWalker extends Lint.RuleWalker {
205204
this.popDeclarations();
206205
}
207206

208-
private collectLetIdentifiers(list: ts.VariableDeclarationList, ret: ts.Map<DeclarationUsages>) {
207+
private collectLetIdentifiers(list: ts.VariableDeclarationList, ret: ts.MapLike<DeclarationUsages>) {
209208
for (const node of list.declarations) {
210209
if (isLet(node) && !isExported(node)) {
211210
this.collectNameIdentifiers(node, node.name, ret);
212211
}
213212
}
214213
}
215214

216-
private collectNameIdentifiers(declaration: ts.VariableDeclaration, node: ts.Identifier | ts.BindingPattern, table: ts.Map<DeclarationUsages>) {
215+
private collectNameIdentifiers(declaration: ts.VariableDeclaration, node: ts.Identifier | ts.BindingPattern, table: ts.MapLike<DeclarationUsages>) {
217216
if (node.kind === ts.SyntaxKind.Identifier) {
218217
table[(node as ts.Identifier).text] = { declaration, usages: 0 };
219218
}
@@ -222,7 +221,7 @@ class PreferConstWalker extends Lint.RuleWalker {
222221
}
223222
}
224223

225-
private collectBindingPatternIdentifiers(value: ts.VariableDeclaration, pattern: ts.BindingPattern, table: ts.Map<DeclarationUsages>) {
224+
private collectBindingPatternIdentifiers(value: ts.VariableDeclaration, pattern: ts.BindingPattern, table: ts.MapLike<DeclarationUsages>) {
226225
for (const element of pattern.elements) {
227226
this.collectNameIdentifiers(value, element.name, table);
228227
}

scripts/types/ambient.d.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ declare module "gulp-insert" {
1010
export function append(text: string | Buffer): NodeJS.ReadWriteStream;
1111
export function prepend(text: string | Buffer): NodeJS.ReadWriteStream;
1212
export function wrap(text: string | Buffer, tail: string | Buffer): NodeJS.ReadWriteStream;
13-
export function transform(cb: (contents: string, file: {path: string}) => string): NodeJS.ReadWriteStream; // file is a vinyl file
13+
export function transform(cb: (contents: string, file: {path: string, relative: string}) => string): NodeJS.ReadWriteStream; // file is a vinyl file
1414
}
1515

1616
declare module "into-stream" {
@@ -22,3 +22,4 @@ declare module "into-stream" {
2222
}
2323

2424
declare module "sorcery";
25+
declare module "travis-fold";

0 commit comments

Comments
 (0)