Skip to content

Commit e5cfe5c

Browse files
author
Kanchalai Tanglertsampan
committed
Merge branch 'master' into wip-master-statelessOverload
# Conflicts: # src/compiler/factory.ts
2 parents e9a578c + 87b780d commit e5cfe5c

2,233 files changed

Lines changed: 17817 additions & 7777 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.

.mailmap

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,14 @@ Alexander Rusakov <a_s_rusakov@mail.ru>
88
Alex Eagle <alexeagle@google.com>
99
Anatoly Ressin <anatoly.ressin@icloud.com>
1010
Anders Hejlsberg <andersh@microsoft.com> unknown <andersh@AndersX1.NOE.Nokia.com> unknown <andersh@andersh-yoga.redmond.corp.microsoft.com>
11+
about-code <about-code@users.noreply.github.com> # Andreas Martin
1112
Andrej Baran <andrej.baran@gmail.com>
13+
Andrew Ochsner <andrew.ochsner@wipro.com>
1214
Andrew Z Allen <me@andrewzallen.com>
1315
Andy Hanson <anhans@microsoft.com> Andy <anhans@microsoft.com>
1416
Anil Anar <anilanar@hotmail.com>
1517
Anton Tolmachev <myste@mail.ru>
18+
Anubha Mathur <anubmat@microsoft.com> anubmat <anubmat@microsoft.com>
1619
Arnavion <arnavion@gmail.com> # Arnav Singh
1720
Arthur Ozga <aozgaa@umich.edu> Arthur Ozga <t-arthoz@microsoft.com> Arthur Ozga <aozgaa-ms@outlook.com> Arthur Ozga <aozgaa@users.noreply.github.com> Arthur Ozga <arozga@microsoft.com>
1821
Asad Saeeduddin <masaeedu@gmail.com>
@@ -37,6 +40,7 @@ Dan Corder <dev@dancorder.com>
3740
Dan Quirk <danquirk@microsoft.com> Dan Quirk <danquirk@users.noreply.github.com> nknown <danquirk@DANQUIRK1.redmond.corp.microsoft.com>
3841
Daniel Rosenwasser <drosen@microsoft.com> Daniel Rosenwasser <DanielRosenwasser@users.noreply.github.com> Daniel Rosenwasser <DanielRosenwasser@gmail.com> Daniel Rosenwasser <Daniel.Rosenwasser@microsoft.com> Daniel Rosenwasser <DanielRosenwasser@microsoft.com>
3942
David Li <jiawei.davidli@gmail.com>
43+
David Sheldrick <david@futurice.com>
4044
David Souther <davidsouther@gmail.com>
4145
Denis Nedelyaev <denvned@gmail.com>
4246
Dick van den Brink <d_vandenbrink@outlook.com> unknown <d_vandenbrink@outlook.com> unknown <d_vandenbrink@live.com>
@@ -52,6 +56,7 @@ Evan Sebastian <evanlhoini@gmail.com>
5256
Eyas <eyas.sharaiha@gmail.com> # Eyas Sharaiha
5357
Fabian Cook <faybecook@gmail.com>
5458
falsandtru <falsandtru@users.noreply.github.com> # @falsandtru
59+
flowmemo <flowmemo@outlook.com> # @flowmemo
5560
Frank Wallis <fwallis@outlook.com>
5661
František Žiacik <fziacik@gratex.com> František Žiacik <ziacik@gmail.com>
5762
Gabe Moothart <gmoothart@gmail.com>
@@ -62,6 +67,7 @@ Graeme Wicksted <graeme.wicksted@gmail.com>
6267
Guillaume Salles <guillaume.salles@me.com>
6368
Guy Bedford <guybedford@gmail.com> guybedford <guybedford@gmail.com>
6469
Harald Niesche <harald@niesche.de>
70+
Homa Wong <homawong@gmail.com>
6571
Iain Monro <iain.monro@softwire.com>
6672
Ingvar Stepanyan <me@rreverser.com>
6773
impinball <impinball@gmail.com> # Isiah Meadows
@@ -81,6 +87,7 @@ Jonathan Park <jpark@daptiv.com>
8187
Jonathan Turner <jont@microsoft.com> Jonathan Turner <probata@hotmail.com>
8288
Jonathan Toland <toland@dnalot.com>
8389
Jesse Schalken <me@jesseschalken.com>
90+
Joel Day <joelday@gmail.com>
8491
Josh Abernathy <joshaber@gmail.com> joshaber <joshaber@gmail.com>
8592
Josh Kalderimis <josh.kalderimis@gmail.com>
8693
Josh Soref <jsoref@users.noreply.github.com>
@@ -95,10 +102,12 @@ Kanchalai Tanglertsampan <yuisu@microsoft.com> Yui T <yuisu@microsoft.com>
95102
Kanchalai Tanglertsampan <yuisu@microsoft.com> Yui <yuit@users.noreply.github.com>
96103
Kanchalai Tanglertsampan <yuisu@microsoft.com> Yui <yuisu@microsoft.com>
97104
Kanchalai Tanglertsampan <yuisu@microsoft.com> yui T <yuisu@microsoft.com>
105+
Kārlis Gaņģis <Knagis@users.noreply.github.com>
98106
Keith Mashinter <kmashint@yahoo.com> kmashint <kmashint@yahoo.com>
99107
Ken Howard <ken@simplicatedweb.com>
100108
Kevin Lang <klang2012@gmail.com>
101109
kimamula <kenji.imamula@gmail.com> # Kenji Imamula
110+
Klaus Meinhardt <klaus.meinhardt1@gmail.com>
102111
Kyle Kelley <rgbkrk@gmail.com>
103112
Lorant Pinter <lorant.pinter@prezi.com>
104113
Lucien Greathouse <me@lpghatguy.com>
@@ -107,6 +116,7 @@ Martin Vseticka <vseticka.martin@gmail.com> Martin Všeticka <vseticka.martin@gm
107116
gcnew <gcnew@abv.bg> # Marin Marinov
108117
vvakame <vvakame+dev@gmail.com> # Masahiro Wakame
109118
Matt McCutchen <rmccutch@mit.edu>
119+
MANISH-GIRI <manish.giri.me@gmail.com> # Manish Giri
110120
Max Deepfield <maxdeepfield@absolutefreakout.com>
111121
Micah Zoltu <micah@zoltu.net>
112122
Michael <maykelchiche@gmail.com>
@@ -213,4 +223,6 @@ Tim Perry <tim.perry@softwire.com>
213223
Vidar Tonaas Fauske <vidartf@gmail.com>
214224
Viktor Zozulyak <zozulyakviktor@gmail.com>
215225
rix <rix@rixs-MacBook-Pro.local> # Richard Sentino
216-
rohitverma007 <rohitverma@live.ca> # Rohit Verma
226+
rohitverma007 <rohitverma@live.ca> # Rohit Verma
227+
rdosanjh <me@rajdeep.io> # Raj Dosanjh
228+
gdh1995 <gdh1995@qq.com> # Dahan Gong

AUTHORS.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,16 @@ TypeScript is authored by:
1212
* Aliaksandr Radzivanovich
1313
* Anatoly Ressin
1414
* Anders Hejlsberg
15+
* Andreas Martin
1516
* Andrej Baran
17+
* Andrew Ochsner
1618
* Andrew Z Allen
1719
* András Parditka
1820
* Andy Hanson
1921
* Anil Anar
2022
* Anton Khlynovskiy
2123
* Anton Tolmachev
24+
* Anubha Mathur
2225
* Arnav Singh
2326
* Arthur Ozga
2427
* Asad Saeeduddin
@@ -42,12 +45,14 @@ TypeScript is authored by:
4245
* Cotton Hou
4346
* Cyrus Najmabadi
4447
* Dafrok Zhang
48+
* Dahan Gong
4549
* Dan Corder
4650
* Dan Quirk
4751
* Daniel Hollocher
4852
* Daniel Rosenwasser
4953
* David Kmenta
5054
* David Li
55+
* David Sheldrick
5156
* David Souther
5257
* Denis Nedelyaev
5358
* Dick van den Brink
@@ -66,6 +71,7 @@ TypeScript is authored by:
6671
* Eyas Sharaiha
6772
* Fabian Cook
6873
* @falsandtru
74+
* @flowmemo
6975
* Frank Wallis
7076
* Franklin Tse
7177
* František Žiacik
@@ -79,6 +85,7 @@ TypeScript is authored by:
7985
* Guy Bedford
8086
* Harald Niesche
8187
* Herrington Darkholme
88+
* Homa Wong
8289
* Iain Monro
8390
* Ingvar Stepanyan
8491
* Isiah Meadows
@@ -93,6 +100,7 @@ TypeScript is authored by:
93100
* Jeffrey Morlan
94101
* Jesse Schalken
95102
* Jiri Tobisek
103+
* Joel Day
96104
* Joey Wilson
97105
* Johannes Rieken
98106
* John Vilk
@@ -114,10 +122,13 @@ TypeScript is authored by:
114122
* Ken Howard
115123
* Kenji Imamula
116124
* Kevin Lang
125+
* Klaus Meinhardt
117126
* Kyle Kelley
127+
* Kārlis Gaņģis
118128
* Lorant Pinter
119129
* Lucien Greathouse
120130
* Lukas Elmer
131+
* Manish Giri
121132
* Marin Marinov
122133
* Marius Schulz
123134
* Martin Vseticka
@@ -155,6 +166,7 @@ TypeScript is authored by:
155166
* @progre
156167
* Punya Biswal
157168
* Rado Kirov
169+
* Raj Dosanjh
158170
* Richard Knoll
159171
* Richard Sentino
160172
* Robert Coie

Jakefile.js

Lines changed: 32 additions & 169 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ var path = require("path");
66
var child_process = require("child_process");
77
var fold = require("travis-fold");
88
var runTestsInParallel = require("./scripts/mocha-parallel").runTestsInParallel;
9+
var ts = require("./lib/typescript");
10+
911

1012
// Variables
1113
var compilerDirectory = "src/compiler/";
@@ -34,6 +36,24 @@ if (process.env.path !== undefined) {
3436
process.env.PATH = nodeModulesPathPrefix + process.env.PATH;
3537
}
3638

39+
function filesFromConfig(configPath) {
40+
var configText = fs.readFileSync(configPath).toString();
41+
var config = ts.parseConfigFileTextToJson(configPath, configText, /*stripComments*/ true);
42+
if (config.error) {
43+
throw new Error(diagnosticsToString([config.error]));
44+
}
45+
const configFileContent = ts.parseJsonConfigFileContent(config.config, ts.sys, path.dirname(configPath));
46+
if (configFileContent.errors && configFileContent.errors.length) {
47+
throw new Error(diagnosticsToString(configFileContent.errors));
48+
}
49+
50+
return configFileContent.fileNames;
51+
52+
function diagnosticsToString(s) {
53+
return s.map(function(e) { return ts.flattenDiagnosticMessageText(e.messageText, ts.sys.newLine); }).join(ts.sys.newLine);
54+
}
55+
}
56+
3757
function toNs(diff) {
3858
return diff[0] * 1e9 + diff[1];
3959
}
@@ -56,173 +76,12 @@ function measure(marker) {
5676
console.log("travis_time:end:" + marker.id + ":start=" + toNs(marker.stamp) + ",finish=" + toNs(total) + ",duration=" + toNs(diff) + "\r");
5777
}
5878

59-
var compilerSources = [
60-
"core.ts",
61-
"performance.ts",
62-
"sys.ts",
63-
"types.ts",
64-
"scanner.ts",
65-
"parser.ts",
66-
"utilities.ts",
67-
"binder.ts",
68-
"checker.ts",
69-
"factory.ts",
70-
"visitor.ts",
71-
"transformers/destructuring.ts",
72-
"transformers/ts.ts",
73-
"transformers/jsx.ts",
74-
"transformers/esnext.ts",
75-
"transformers/es2017.ts",
76-
"transformers/es2016.ts",
77-
"transformers/es2015.ts",
78-
"transformers/generators.ts",
79-
"transformers/es5.ts",
80-
"transformers/module/es2015.ts",
81-
"transformers/module/system.ts",
82-
"transformers/module/module.ts",
83-
"transformer.ts",
84-
"sourcemap.ts",
85-
"comments.ts",
86-
"declarationEmitter.ts",
87-
"emitter.ts",
88-
"program.ts",
89-
"commandLineParser.ts",
90-
"tsc.ts",
91-
"diagnosticInformationMap.generated.ts"
92-
].map(function (f) {
93-
return path.join(compilerDirectory, f);
94-
});
95-
96-
var servicesSources = [
97-
"core.ts",
98-
"performance.ts",
99-
"sys.ts",
100-
"types.ts",
101-
"scanner.ts",
102-
"parser.ts",
103-
"utilities.ts",
104-
"binder.ts",
105-
"checker.ts",
106-
"factory.ts",
107-
"visitor.ts",
108-
"transformers/destructuring.ts",
109-
"transformers/ts.ts",
110-
"transformers/jsx.ts",
111-
"transformers/esnext.ts",
112-
"transformers/es2017.ts",
113-
"transformers/es2016.ts",
114-
"transformers/es2015.ts",
115-
"transformers/generators.ts",
116-
"transformers/es5.ts",
117-
"transformers/module/es2015.ts",
118-
"transformers/module/system.ts",
119-
"transformers/module/module.ts",
120-
"transformer.ts",
121-
"sourcemap.ts",
122-
"comments.ts",
123-
"declarationEmitter.ts",
124-
"emitter.ts",
125-
"program.ts",
126-
"commandLineParser.ts",
127-
"diagnosticInformationMap.generated.ts"
128-
].map(function (f) {
129-
return path.join(compilerDirectory, f);
130-
}).concat([
131-
"types.ts",
132-
"utilities.ts",
133-
"breakpoints.ts",
134-
"classifier.ts",
135-
"completions.ts",
136-
"documentHighlights.ts",
137-
"documentRegistry.ts",
138-
"findAllReferences.ts",
139-
"goToDefinition.ts",
140-
"goToImplementation.ts",
141-
"jsDoc.ts",
142-
"jsTyping.ts",
143-
"navigateTo.ts",
144-
"navigationBar.ts",
145-
"outliningElementsCollector.ts",
146-
"patternMatcher.ts",
147-
"preProcess.ts",
148-
"rename.ts",
149-
"services.ts",
150-
"shims.ts",
151-
"signatureHelp.ts",
152-
"symbolDisplay.ts",
153-
"transpile.ts",
154-
// Formatting
155-
"formatting/formatting.ts",
156-
"formatting/formattingContext.ts",
157-
"formatting/formattingRequestKind.ts",
158-
"formatting/formattingScanner.ts",
159-
"formatting/references.ts",
160-
"formatting/rule.ts",
161-
"formatting/ruleAction.ts",
162-
"formatting/ruleDescriptor.ts",
163-
"formatting/ruleFlag.ts",
164-
"formatting/ruleOperation.ts",
165-
"formatting/ruleOperationContext.ts",
166-
"formatting/rules.ts",
167-
"formatting/rulesMap.ts",
168-
"formatting/rulesProvider.ts",
169-
"formatting/smartIndenter.ts",
170-
"formatting/tokenRange.ts",
171-
// CodeFixes
172-
"codeFixProvider.ts",
173-
"codefixes/fixes.ts",
174-
"codefixes/fixExtendsInterfaceBecomesImplements.ts",
175-
"codefixes/fixClassIncorrectlyImplementsInterface.ts",
176-
"codefixes/fixClassDoesntImplementInheritedAbstractMember.ts",
177-
"codefixes/fixClassSuperMustPrecedeThisAccess.ts",
178-
"codefixes/fixConstructorForDerivedNeedSuperCall.ts",
179-
"codefixes/helpers.ts",
180-
"codefixes/importFixes.ts",
181-
"codefixes/unusedIdentifierFixes.ts"
182-
].map(function (f) {
183-
return path.join(servicesDirectory, f);
184-
}));
185-
186-
var baseServerCoreSources = [
187-
"builder.ts",
188-
"editorServices.ts",
189-
"lsHost.ts",
190-
"project.ts",
191-
"protocol.ts",
192-
"scriptInfo.ts",
193-
"scriptVersionCache.ts",
194-
"session.ts",
195-
"shared.ts",
196-
"types.ts",
197-
"typingsCache.ts",
198-
"utilities.ts",
199-
].map(function (f) {
200-
return path.join(serverDirectory, f);
201-
});
202-
203-
var serverCoreSources = [
204-
"server.ts"
205-
].map(function (f) {
206-
return path.join(serverDirectory, f);
207-
}).concat(baseServerCoreSources);
208-
209-
var cancellationTokenSources = [
210-
"cancellationToken.ts"
211-
].map(function (f) {
212-
return path.join(cancellationTokenDirectory, f);
213-
});
214-
215-
var typingsInstallerSources = [
216-
"../types.ts",
217-
"../shared.ts",
218-
"typingsInstaller.ts",
219-
"nodeTypingsInstaller.ts"
220-
].map(function (f) {
221-
return path.join(typingsInstallerDirectory, f);
222-
});
223-
224-
var serverSources = serverCoreSources.concat(servicesSources);
225-
var languageServiceLibrarySources = baseServerCoreSources.concat(servicesSources);
79+
var compilerSources = filesFromConfig("./src/compiler/tsconfig.json");
80+
var servicesSources = filesFromConfig("./src/services/tsconfig.json");
81+
var cancellationTokenSources = filesFromConfig(path.join(serverDirectory, "cancellationToken/tsconfig.json"));
82+
var typingsInstallerSources = filesFromConfig(path.join(serverDirectory, "typingsInstaller/tsconfig.json"));
83+
var serverSources = filesFromConfig(path.join(serverDirectory, "tsconfig.json"))
84+
var languageServiceLibrarySources = filesFromConfig(path.join(serverDirectory, "tsconfig.library.json"));
22685

22786
var harnessCoreSources = [
22887
"harness.ts",
@@ -269,6 +128,7 @@ var harnessSources = harnessCoreSources.concat([
269128
"projectErrors.ts",
270129
"matchFiles.ts",
271130
"initializeTSConfig.ts",
131+
"printer.ts",
272132
].map(function (f) {
273133
return path.join(unittestsDirectory, f);
274134
})).concat([
@@ -1229,13 +1089,16 @@ var lintTargets = compilerSources
12291089
.concat(harnessSources)
12301090
// Other harness sources
12311091
.concat(["instrumenter.ts"].map(function (f) { return path.join(harnessDirectory, f) }))
1232-
.concat(serverCoreSources)
1092+
.concat(serverSources)
12331093
.concat(tslintRulesFiles)
12341094
.concat(servicesSources)
12351095
.concat(typingsInstallerSources)
12361096
.concat(cancellationTokenSources)
12371097
.concat(["Gulpfile.ts"])
1238-
.concat([nodeServerInFile, perftscPath, "tests/perfsys.ts", webhostPath]);
1098+
.concat([nodeServerInFile, perftscPath, "tests/perfsys.ts", webhostPath])
1099+
.map(function (p) { return path.resolve(p) });
1100+
// keep only unique items
1101+
lintTargets = Array.from(new Set(lintTargets));
12391102

12401103
function sendNextFile(files, child, callback, failures) {
12411104
var file = files.pop();

0 commit comments

Comments
 (0)