typescript 4.6.1-rc → 4.7.0-dev.20220215

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
22
22
  ar[i] = from[i];
23
23
  }
24
24
  }
25
- return to.concat(ar || Array.prototype.slice.call(from));
25
+ return to.concat(ar || from);
26
26
  };
27
27
  var __assign = (this && this.__assign) || function () {
28
28
  __assign = Object.assign || function(t) {
@@ -85,11 +85,11 @@ var ts;
85
85
  (function (ts) {
86
86
  // WARNING: The script `configurePrerelease.ts` uses a regexp to parse out these values.
87
87
  // If changing the text in this section, be sure to test `configurePrerelease` too.
88
- ts.versionMajorMinor = "4.6";
88
+ ts.versionMajorMinor = "4.7";
89
89
  // The following is baselined as a literal template type without intervention
90
90
  /** The version of the TypeScript compiler release */
91
91
  // eslint-disable-next-line @typescript-eslint/no-inferrable-types
92
- ts.version = "".concat(ts.versionMajorMinor, ".1-rc");
92
+ ts.version = ts.versionMajorMinor + ".0-dev.20220215";
93
93
  /* @internal */
94
94
  var Comparison;
95
95
  (function (Comparison) {
@@ -136,7 +136,7 @@ var ts;
136
136
  var constructor = (_a = NativeCollections[nativeFactory]()) !== null && _a !== void 0 ? _a : ts.ShimCollections === null || ts.ShimCollections === void 0 ? void 0 : ts.ShimCollections[shimFactory](ts.getIterator);
137
137
  if (constructor)
138
138
  return constructor;
139
- throw new Error("TypeScript requires an environment that provides a compatible native ".concat(name, " implementation."));
139
+ throw new Error("TypeScript requires an environment that provides a compatible native " + name + " implementation.");
140
140
  }
141
141
  })(ts || (ts = {}));
142
142
  /* @internal */
@@ -1486,7 +1486,7 @@ var ts;
1486
1486
  function cast(value, test) {
1487
1487
  if (value !== undefined && test(value))
1488
1488
  return value;
1489
- return ts.Debug.fail("Invalid cast. The supplied value ".concat(value, " did not pass the test '").concat(ts.Debug.getFunctionName(test), "'."));
1489
+ return ts.Debug.fail("Invalid cast. The supplied value " + value + " did not pass the test '" + ts.Debug.getFunctionName(test) + "'.");
1490
1490
  }
1491
1491
  ts.cast = cast;
1492
1492
  /** Does nothing. */
@@ -1577,7 +1577,7 @@ var ts;
1577
1577
  function memoizeOne(callback) {
1578
1578
  var map = new ts.Map();
1579
1579
  return function (arg) {
1580
- var key = "".concat(typeof arg, ":").concat(arg);
1580
+ var key = typeof arg + ":" + arg;
1581
1581
  var value = map.get(key);
1582
1582
  if (value === undefined && !map.has(key)) {
1583
1583
  value = callback(arg);
@@ -2027,7 +2027,7 @@ var ts;
2027
2027
  ts.createGetCanonicalFileName = createGetCanonicalFileName;
2028
2028
  function patternText(_a) {
2029
2029
  var prefix = _a.prefix, suffix = _a.suffix;
2030
- return "".concat(prefix, "*").concat(suffix);
2030
+ return prefix + "*" + suffix;
2031
2031
  }
2032
2032
  ts.patternText = patternText;
2033
2033
  /**
@@ -2340,7 +2340,7 @@ var ts;
2340
2340
  }
2341
2341
  function fail(message, stackCrawlMark) {
2342
2342
  debugger;
2343
- var e = new Error(message ? "Debug Failure. ".concat(message) : "Debug Failure.");
2343
+ var e = new Error(message ? "Debug Failure. " + message : "Debug Failure.");
2344
2344
  if (Error.captureStackTrace) {
2345
2345
  Error.captureStackTrace(e, stackCrawlMark || fail);
2346
2346
  }
@@ -2348,12 +2348,12 @@ var ts;
2348
2348
  }
2349
2349
  Debug.fail = fail;
2350
2350
  function failBadSyntaxKind(node, message, stackCrawlMark) {
2351
- return fail("".concat(message || "Unexpected node.", "\r\nNode ").concat(formatSyntaxKind(node.kind), " was unexpected."), stackCrawlMark || failBadSyntaxKind);
2351
+ return fail((message || "Unexpected node.") + "\r\nNode " + formatSyntaxKind(node.kind) + " was unexpected.", stackCrawlMark || failBadSyntaxKind);
2352
2352
  }
2353
2353
  Debug.failBadSyntaxKind = failBadSyntaxKind;
2354
2354
  function assert(expression, message, verboseDebugInfo, stackCrawlMark) {
2355
2355
  if (!expression) {
2356
- message = message ? "False expression: ".concat(message) : "False expression.";
2356
+ message = message ? "False expression: " + message : "False expression.";
2357
2357
  if (verboseDebugInfo) {
2358
2358
  message += "\r\nVerbose Debug Information: " + (typeof verboseDebugInfo === "string" ? verboseDebugInfo : verboseDebugInfo());
2359
2359
  }
@@ -2363,26 +2363,26 @@ var ts;
2363
2363
  Debug.assert = assert;
2364
2364
  function assertEqual(a, b, msg, msg2, stackCrawlMark) {
2365
2365
  if (a !== b) {
2366
- var message = msg ? msg2 ? "".concat(msg, " ").concat(msg2) : msg : "";
2367
- fail("Expected ".concat(a, " === ").concat(b, ". ").concat(message), stackCrawlMark || assertEqual);
2366
+ var message = msg ? msg2 ? msg + " " + msg2 : msg : "";
2367
+ fail("Expected " + a + " === " + b + ". " + message, stackCrawlMark || assertEqual);
2368
2368
  }
2369
2369
  }
2370
2370
  Debug.assertEqual = assertEqual;
2371
2371
  function assertLessThan(a, b, msg, stackCrawlMark) {
2372
2372
  if (a >= b) {
2373
- fail("Expected ".concat(a, " < ").concat(b, ". ").concat(msg || ""), stackCrawlMark || assertLessThan);
2373
+ fail("Expected " + a + " < " + b + ". " + (msg || ""), stackCrawlMark || assertLessThan);
2374
2374
  }
2375
2375
  }
2376
2376
  Debug.assertLessThan = assertLessThan;
2377
2377
  function assertLessThanOrEqual(a, b, stackCrawlMark) {
2378
2378
  if (a > b) {
2379
- fail("Expected ".concat(a, " <= ").concat(b), stackCrawlMark || assertLessThanOrEqual);
2379
+ fail("Expected " + a + " <= " + b, stackCrawlMark || assertLessThanOrEqual);
2380
2380
  }
2381
2381
  }
2382
2382
  Debug.assertLessThanOrEqual = assertLessThanOrEqual;
2383
2383
  function assertGreaterThanOrEqual(a, b, stackCrawlMark) {
2384
2384
  if (a < b) {
2385
- fail("Expected ".concat(a, " >= ").concat(b), stackCrawlMark || assertGreaterThanOrEqual);
2385
+ fail("Expected " + a + " >= " + b, stackCrawlMark || assertGreaterThanOrEqual);
2386
2386
  }
2387
2387
  }
2388
2388
  Debug.assertGreaterThanOrEqual = assertGreaterThanOrEqual;
@@ -2413,42 +2413,42 @@ var ts;
2413
2413
  function assertNever(member, message, stackCrawlMark) {
2414
2414
  if (message === void 0) { message = "Illegal value:"; }
2415
2415
  var detail = typeof member === "object" && ts.hasProperty(member, "kind") && ts.hasProperty(member, "pos") && formatSyntaxKind ? "SyntaxKind: " + formatSyntaxKind(member.kind) : JSON.stringify(member);
2416
- return fail("".concat(message, " ").concat(detail), stackCrawlMark || assertNever);
2416
+ return fail(message + " " + detail, stackCrawlMark || assertNever);
2417
2417
  }
2418
2418
  Debug.assertNever = assertNever;
2419
2419
  function assertEachNode(nodes, test, message, stackCrawlMark) {
2420
2420
  if (shouldAssertFunction(1 /* Normal */, "assertEachNode")) {
2421
- assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '".concat(getFunctionName(test), "'."); }, stackCrawlMark || assertEachNode);
2421
+ assert(test === undefined || ts.every(nodes, test), message || "Unexpected node.", function () { return "Node array did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertEachNode);
2422
2422
  }
2423
2423
  }
2424
2424
  Debug.assertEachNode = assertEachNode;
2425
2425
  function assertNode(node, test, message, stackCrawlMark) {
2426
2426
  if (shouldAssertFunction(1 /* Normal */, "assertNode")) {
2427
- assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNode);
2427
+ assert(node !== undefined && (test === undefined || test(node)), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNode);
2428
2428
  }
2429
2429
  }
2430
2430
  Debug.assertNode = assertNode;
2431
2431
  function assertNotNode(node, test, message, stackCrawlMark) {
2432
2432
  if (shouldAssertFunction(1 /* Normal */, "assertNotNode")) {
2433
- assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " should not have passed test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertNotNode);
2433
+ assert(node === undefined || test === undefined || !test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " should not have passed test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertNotNode);
2434
2434
  }
2435
2435
  }
2436
2436
  Debug.assertNotNode = assertNotNode;
2437
2437
  function assertOptionalNode(node, test, message, stackCrawlMark) {
2438
2438
  if (shouldAssertFunction(1 /* Normal */, "assertOptionalNode")) {
2439
- assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " did not pass test '").concat(getFunctionName(test), "'."); }, stackCrawlMark || assertOptionalNode);
2439
+ assert(test === undefined || node === undefined || test(node), message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " did not pass test '" + getFunctionName(test) + "'."; }, stackCrawlMark || assertOptionalNode);
2440
2440
  }
2441
2441
  }
2442
2442
  Debug.assertOptionalNode = assertOptionalNode;
2443
2443
  function assertOptionalToken(node, kind, message, stackCrawlMark) {
2444
2444
  if (shouldAssertFunction(1 /* Normal */, "assertOptionalToken")) {
2445
- assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind), " was not a '").concat(formatSyntaxKind(kind), "' token."); }, stackCrawlMark || assertOptionalToken);
2445
+ assert(kind === undefined || node === undefined || node.kind === kind, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node === null || node === void 0 ? void 0 : node.kind) + " was not a '" + formatSyntaxKind(kind) + "' token."; }, stackCrawlMark || assertOptionalToken);
2446
2446
  }
2447
2447
  }
2448
2448
  Debug.assertOptionalToken = assertOptionalToken;
2449
2449
  function assertMissingNode(node, message, stackCrawlMark) {
2450
2450
  if (shouldAssertFunction(1 /* Normal */, "assertMissingNode")) {
2451
- assert(node === undefined, message || "Unexpected node.", function () { return "Node ".concat(formatSyntaxKind(node.kind), " was unexpected'."); }, stackCrawlMark || assertMissingNode);
2451
+ assert(node === undefined, message || "Unexpected node.", function () { return "Node " + formatSyntaxKind(node.kind) + " was unexpected'."; }, stackCrawlMark || assertMissingNode);
2452
2452
  }
2453
2453
  }
2454
2454
  Debug.assertMissingNode = assertMissingNode;
@@ -2469,7 +2469,7 @@ var ts;
2469
2469
  }
2470
2470
  Debug.getFunctionName = getFunctionName;
2471
2471
  function formatSymbol(symbol) {
2472
- return "{ name: ".concat(ts.unescapeLeadingUnderscores(symbol.escapedName), "; flags: ").concat(formatSymbolFlags(symbol.flags), "; declarations: ").concat(ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }), " }");
2472
+ return "{ name: " + ts.unescapeLeadingUnderscores(symbol.escapedName) + "; flags: " + formatSymbolFlags(symbol.flags) + "; declarations: " + ts.map(symbol.declarations, function (node) { return formatSyntaxKind(node.kind); }) + " }";
2473
2473
  }
2474
2474
  Debug.formatSymbol = formatSymbol;
2475
2475
  /**
@@ -2490,7 +2490,7 @@ var ts;
2490
2490
  break;
2491
2491
  }
2492
2492
  if (enumValue !== 0 && enumValue & value) {
2493
- result = "".concat(result).concat(result ? "|" : "").concat(enumName);
2493
+ result = "" + result + (result ? "|" : "") + enumName;
2494
2494
  remainingFlags &= ~enumValue;
2495
2495
  }
2496
2496
  }
@@ -2600,7 +2600,7 @@ var ts;
2600
2600
  this.flags & 1 /* Unreachable */ ? "FlowUnreachable" :
2601
2601
  "UnknownFlow";
2602
2602
  var remainingFlags = this.flags & ~(2048 /* Referenced */ - 1);
2603
- return "".concat(flowHeader).concat(remainingFlags ? " (".concat(formatFlowFlags(remainingFlags), ")") : "");
2603
+ return "" + flowHeader + (remainingFlags ? " (" + formatFlowFlags(remainingFlags) + ")" : "");
2604
2604
  }
2605
2605
  },
2606
2606
  __debugFlowFlags: { get: function () { return formatEnum(this.flags, ts.FlowFlags, /*isFlags*/ true); } },
@@ -2639,7 +2639,7 @@ var ts;
2639
2639
  // We don't care, this is debug code that's only enabled with a debugger attached -
2640
2640
  // we're just taking note of it for anyone checking regex performance in the future.
2641
2641
  defaultValue = String(defaultValue).replace(/(?:,[\s\w\d_]+:[^,]+)+\]$/, "]");
2642
- return "NodeArray ".concat(defaultValue);
2642
+ return "NodeArray " + defaultValue;
2643
2643
  }
2644
2644
  }
2645
2645
  });
@@ -2694,7 +2694,7 @@ var ts;
2694
2694
  var symbolHeader = this.flags & 33554432 /* Transient */ ? "TransientSymbol" :
2695
2695
  "Symbol";
2696
2696
  var remainingSymbolFlags = this.flags & ~33554432 /* Transient */;
2697
- return "".concat(symbolHeader, " '").concat(ts.symbolName(this), "'").concat(remainingSymbolFlags ? " (".concat(formatSymbolFlags(remainingSymbolFlags), ")") : "");
2697
+ return symbolHeader + " '" + ts.symbolName(this) + "'" + (remainingSymbolFlags ? " (" + formatSymbolFlags(remainingSymbolFlags) + ")" : "");
2698
2698
  }
2699
2699
  },
2700
2700
  __debugFlags: { get: function () { return formatSymbolFlags(this.flags); } }
@@ -2704,11 +2704,11 @@ var ts;
2704
2704
  __tsDebuggerDisplay: {
2705
2705
  value: function () {
2706
2706
  var typeHeader = this.flags & 98304 /* Nullable */ ? "NullableType" :
2707
- this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType ".concat(JSON.stringify(this.value)) :
2708
- this.flags & 2048 /* BigIntLiteral */ ? "LiteralType ".concat(this.value.negative ? "-" : "").concat(this.value.base10Value, "n") :
2707
+ this.flags & 384 /* StringOrNumberLiteral */ ? "LiteralType " + JSON.stringify(this.value) :
2708
+ this.flags & 2048 /* BigIntLiteral */ ? "LiteralType " + (this.value.negative ? "-" : "") + this.value.base10Value + "n" :
2709
2709
  this.flags & 8192 /* UniqueESSymbol */ ? "UniqueESSymbolType" :
2710
2710
  this.flags & 32 /* Enum */ ? "EnumType" :
2711
- this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType ".concat(this.intrinsicName) :
2711
+ this.flags & 67359327 /* Intrinsic */ ? "IntrinsicType " + this.intrinsicName :
2712
2712
  this.flags & 1048576 /* Union */ ? "UnionType" :
2713
2713
  this.flags & 2097152 /* Intersection */ ? "IntersectionType" :
2714
2714
  this.flags & 4194304 /* Index */ ? "IndexType" :
@@ -2727,7 +2727,7 @@ var ts;
2727
2727
  "ObjectType" :
2728
2728
  "Type";
2729
2729
  var remainingObjectFlags = this.flags & 524288 /* Object */ ? this.objectFlags & ~1343 /* ObjectTypeKindMask */ : 0;
2730
- return "".concat(typeHeader).concat(this.symbol ? " '".concat(ts.symbolName(this.symbol), "'") : "").concat(remainingObjectFlags ? " (".concat(formatObjectFlags(remainingObjectFlags), ")") : "");
2730
+ return "" + typeHeader + (this.symbol ? " '" + ts.symbolName(this.symbol) + "'" : "") + (remainingObjectFlags ? " (" + formatObjectFlags(remainingObjectFlags) + ")" : "");
2731
2731
  }
2732
2732
  },
2733
2733
  __debugFlags: { get: function () { return formatTypeFlags(this.flags); } },
@@ -2763,11 +2763,11 @@ var ts;
2763
2763
  __tsDebuggerDisplay: {
2764
2764
  value: function () {
2765
2765
  var nodeHeader = ts.isGeneratedIdentifier(this) ? "GeneratedIdentifier" :
2766
- ts.isIdentifier(this) ? "Identifier '".concat(ts.idText(this), "'") :
2767
- ts.isPrivateIdentifier(this) ? "PrivateIdentifier '".concat(ts.idText(this), "'") :
2768
- ts.isStringLiteral(this) ? "StringLiteral ".concat(JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...")) :
2769
- ts.isNumericLiteral(this) ? "NumericLiteral ".concat(this.text) :
2770
- ts.isBigIntLiteral(this) ? "BigIntLiteral ".concat(this.text, "n") :
2766
+ ts.isIdentifier(this) ? "Identifier '" + ts.idText(this) + "'" :
2767
+ ts.isPrivateIdentifier(this) ? "PrivateIdentifier '" + ts.idText(this) + "'" :
2768
+ ts.isStringLiteral(this) ? "StringLiteral " + JSON.stringify(this.text.length < 10 ? this.text : this.text.slice(10) + "...") :
2769
+ ts.isNumericLiteral(this) ? "NumericLiteral " + this.text :
2770
+ ts.isBigIntLiteral(this) ? "BigIntLiteral " + this.text + "n" :
2771
2771
  ts.isTypeParameterDeclaration(this) ? "TypeParameterDeclaration" :
2772
2772
  ts.isParameter(this) ? "ParameterDeclaration" :
2773
2773
  ts.isConstructorDeclaration(this) ? "ConstructorDeclaration" :
@@ -2799,7 +2799,7 @@ var ts;
2799
2799
  ts.isNamedTupleMember(this) ? "NamedTupleMember" :
2800
2800
  ts.isImportTypeNode(this) ? "ImportTypeNode" :
2801
2801
  formatSyntaxKind(this.kind);
2802
- return "".concat(nodeHeader).concat(this.flags ? " (".concat(formatNodeFlags(this.flags), ")") : "");
2802
+ return "" + nodeHeader + (this.flags ? " (" + formatNodeFlags(this.flags) + ")" : "");
2803
2803
  }
2804
2804
  },
2805
2805
  __debugKind: { get: function () { return formatSyntaxKind(this.kind); } },
@@ -2846,10 +2846,10 @@ var ts;
2846
2846
  Debug.enableDebugInfo = enableDebugInfo;
2847
2847
  function formatDeprecationMessage(name, error, errorAfter, since, message) {
2848
2848
  var deprecationMessage = error ? "DeprecationError: " : "DeprecationWarning: ";
2849
- deprecationMessage += "'".concat(name, "' ");
2850
- deprecationMessage += since ? "has been deprecated since v".concat(since) : "is deprecated";
2851
- deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v".concat(errorAfter, ".") : ".";
2852
- deprecationMessage += message ? " ".concat(ts.formatStringFromArgs(message, [name], 0)) : "";
2849
+ deprecationMessage += "'" + name + "' ";
2850
+ deprecationMessage += since ? "has been deprecated since v" + since : "is deprecated";
2851
+ deprecationMessage += error ? " and can no longer be used." : errorAfter ? " and will no longer be usable after v" + errorAfter + "." : ".";
2852
+ deprecationMessage += message ? " " + ts.formatStringFromArgs(message, [name], 0) : "";
2853
2853
  return deprecationMessage;
2854
2854
  }
2855
2855
  function createErrorDeprecation(name, errorAfter, since, message) {
@@ -2980,11 +2980,11 @@ var ts;
2980
2980
  }
2981
2981
  };
2982
2982
  Version.prototype.toString = function () {
2983
- var result = "".concat(this.major, ".").concat(this.minor, ".").concat(this.patch);
2983
+ var result = this.major + "." + this.minor + "." + this.patch;
2984
2984
  if (ts.some(this.prerelease))
2985
- result += "-".concat(this.prerelease.join("."));
2985
+ result += "-" + this.prerelease.join(".");
2986
2986
  if (ts.some(this.build))
2987
- result += "+".concat(this.build.join("."));
2987
+ result += "+" + this.build.join(".");
2988
2988
  return result;
2989
2989
  };
2990
2990
  Version.zero = new Version(0, 0, 0);
@@ -3251,7 +3251,7 @@ var ts;
3251
3251
  return ts.map(comparators, formatComparator).join(" ");
3252
3252
  }
3253
3253
  function formatComparator(comparator) {
3254
- return "".concat(comparator.operator).concat(comparator.operand);
3254
+ return "" + comparator.operator + comparator.operand;
3255
3255
  }
3256
3256
  })(ts || (ts = {}));
3257
3257
  /*@internal*/
@@ -3549,7 +3549,7 @@ var ts;
3549
3549
  fs = require("fs");
3550
3550
  }
3551
3551
  catch (e) {
3552
- throw new Error("tracing requires having fs\n(original error: ".concat(e.message || e, ")"));
3552
+ throw new Error("tracing requires having fs\n(original error: " + (e.message || e) + ")");
3553
3553
  }
3554
3554
  }
3555
3555
  mode = tracingMode;
@@ -3561,11 +3561,11 @@ var ts;
3561
3561
  if (!fs.existsSync(traceDir)) {
3562
3562
  fs.mkdirSync(traceDir, { recursive: true });
3563
3563
  }
3564
- var countPart = mode === "build" ? ".".concat(process.pid, "-").concat(++traceCount)
3565
- : mode === "server" ? ".".concat(process.pid)
3564
+ var countPart = mode === "build" ? "." + process.pid + "-" + ++traceCount
3565
+ : mode === "server" ? "." + process.pid
3566
3566
  : "";
3567
- var tracePath = ts.combinePaths(traceDir, "trace".concat(countPart, ".json"));
3568
- var typesPath = ts.combinePaths(traceDir, "types".concat(countPart, ".json"));
3567
+ var tracePath = ts.combinePaths(traceDir, "trace" + countPart + ".json");
3568
+ var typesPath = ts.combinePaths(traceDir, "types" + countPart + ".json");
3569
3569
  legend.push({
3570
3570
  configFilePath: configFilePath,
3571
3571
  tracePath: tracePath,
@@ -3655,7 +3655,7 @@ var ts;
3655
3655
  }
3656
3656
  // test if [time,endTime) straddles a sampling point
3657
3657
  else if (sampleInterval - (time % sampleInterval) <= endTime - time) {
3658
- writeEvent("X", phase, name, args, "\"dur\":".concat(endTime - time), time);
3658
+ writeEvent("X", phase, name, args, "\"dur\":" + (endTime - time), time);
3659
3659
  }
3660
3660
  }
3661
3661
  function writeEvent(eventType, phase, name, args, extras, time) {
@@ -3664,11 +3664,11 @@ var ts;
3664
3664
  if (mode === "server" && phase === "checkTypes" /* CheckTypes */)
3665
3665
  return;
3666
3666
  ts.performance.mark("beginTracing");
3667
- fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"".concat(eventType, "\",\"cat\":\"").concat(phase, "\",\"ts\":").concat(time, ",\"name\":\"").concat(name, "\""));
3667
+ fs.writeSync(traceFd, ",\n{\"pid\":1,\"tid\":1,\"ph\":\"" + eventType + "\",\"cat\":\"" + phase + "\",\"ts\":" + time + ",\"name\":\"" + name + "\"");
3668
3668
  if (extras)
3669
- fs.writeSync(traceFd, ",".concat(extras));
3669
+ fs.writeSync(traceFd, "," + extras);
3670
3670
  if (args)
3671
- fs.writeSync(traceFd, ",\"args\":".concat(JSON.stringify(args)));
3671
+ fs.writeSync(traceFd, ",\"args\":" + JSON.stringify(args));
3672
3672
  fs.writeSync(traceFd, "}");
3673
3673
  ts.performance.mark("endTracing");
3674
3674
  ts.performance.measure("Tracing", "beginTracing", "endTracing");
@@ -5781,7 +5781,7 @@ var ts;
5781
5781
  pollingChunkSize = getCustomPollingBasedLevels("TSC_WATCH_POLLINGCHUNKSIZE", defaultChunkLevels) || pollingChunkSize;
5782
5782
  ts.unchangedPollThresholds = getCustomPollingBasedLevels("TSC_WATCH_UNCHANGEDPOLLTHRESHOLDS", defaultChunkLevels) || ts.unchangedPollThresholds;
5783
5783
  function getLevel(envVar, level) {
5784
- return system.getEnvironmentVariable("".concat(envVar, "_").concat(level.toUpperCase()));
5784
+ return system.getEnvironmentVariable(envVar + "_" + level.toUpperCase());
5785
5785
  }
5786
5786
  function getCustomLevels(baseVariable) {
5787
5787
  var customLevels;
@@ -6250,7 +6250,7 @@ var ts;
6250
6250
  }
6251
6251
  function onTimerToUpdateChildWatches() {
6252
6252
  timerToUpdateChildWatches = undefined;
6253
- sysLog("sysLog:: onTimerToUpdateChildWatches:: ".concat(cacheToUpdateChildWatches.size));
6253
+ sysLog("sysLog:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size);
6254
6254
  var start = ts.timestamp();
6255
6255
  var invokeMap = new ts.Map();
6256
6256
  while (!timerToUpdateChildWatches && cacheToUpdateChildWatches.size) {
@@ -6263,7 +6263,7 @@ var ts;
6263
6263
  var hasChanges = updateChildWatches(dirName, dirPath, options);
6264
6264
  invokeCallbacks(dirPath, invokeMap, hasChanges ? undefined : fileNames);
6265
6265
  }
6266
- sysLog("sysLog:: invokingWatchers:: Elapsed:: ".concat(ts.timestamp() - start, "ms:: ").concat(cacheToUpdateChildWatches.size));
6266
+ sysLog("sysLog:: invokingWatchers:: Elapsed:: " + (ts.timestamp() - start) + "ms:: " + cacheToUpdateChildWatches.size);
6267
6267
  callbackCache.forEach(function (callbacks, rootDirName) {
6268
6268
  var existing = invokeMap.get(rootDirName);
6269
6269
  if (existing) {
@@ -6279,7 +6279,7 @@ var ts;
6279
6279
  }
6280
6280
  });
6281
6281
  var elapsed = ts.timestamp() - start;
6282
- sysLog("sysLog:: Elapsed:: ".concat(elapsed, "ms:: onTimerToUpdateChildWatches:: ").concat(cacheToUpdateChildWatches.size, " ").concat(timerToUpdateChildWatches));
6282
+ sysLog("sysLog:: Elapsed:: " + elapsed + "ms:: onTimerToUpdateChildWatches:: " + cacheToUpdateChildWatches.size + " " + timerToUpdateChildWatches);
6283
6283
  }
6284
6284
  function removeChildWatches(parentWatcher) {
6285
6285
  if (!parentWatcher)
@@ -6739,7 +6739,7 @@ var ts;
6739
6739
  var remappedPaths = new ts.Map();
6740
6740
  var normalizedDir = ts.normalizeSlashes(__dirname);
6741
6741
  // Windows rooted dir names need an extra `/` prepended to be valid file:/// urls
6742
- var fileUrlRoot = "file://".concat(ts.getRootLength(normalizedDir) === 1 ? "" : "/").concat(normalizedDir);
6742
+ var fileUrlRoot = "file://" + (ts.getRootLength(normalizedDir) === 1 ? "" : "/") + normalizedDir;
6743
6743
  for (var _i = 0, _a = profile.nodes; _i < _a.length; _i++) {
6744
6744
  var node = _a[_i];
6745
6745
  if (node.callFrame.url) {
@@ -6748,7 +6748,7 @@ var ts;
6748
6748
  node.callFrame.url = ts.getRelativePathToDirectoryOrUrl(fileUrlRoot, url, fileUrlRoot, ts.createGetCanonicalFileName(useCaseSensitiveFileNames), /*isAbsolutePathAnUrl*/ true);
6749
6749
  }
6750
6750
  else if (!nativePattern.test(url)) {
6751
- node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external".concat(externalFileCounter, ".js"))).get(url);
6751
+ node.callFrame.url = (remappedPaths.has(url) ? remappedPaths : remappedPaths.set(url, "external" + externalFileCounter + ".js")).get(url);
6752
6752
  externalFileCounter++;
6753
6753
  }
6754
6754
  }
@@ -6764,7 +6764,7 @@ var ts;
6764
6764
  if (!err) {
6765
6765
  try {
6766
6766
  if ((_b = statSync(profilePath)) === null || _b === void 0 ? void 0 : _b.isDirectory()) {
6767
- profilePath = _path.join(profilePath, "".concat((new Date()).toISOString().replace(/:/g, "-"), "+P").concat(process.pid, ".cpuprofile"));
6767
+ profilePath = _path.join(profilePath, (new Date()).toISOString().replace(/:/g, "-") + "+P" + process.pid + ".cpuprofile");
6768
6768
  }
6769
6769
  }
6770
6770
  catch (_c) {
@@ -6866,7 +6866,7 @@ var ts;
6866
6866
  * @param createWatcher
6867
6867
  */
6868
6868
  function invokeCallbackAndUpdateWatcher(createWatcher) {
6869
- sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing watcher to ").concat(createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing", "FileSystemEntryWatcher"));
6869
+ sysLog("sysLog:: " + fileOrDirectory + ":: Changing watcher to " + (createWatcher === watchPresentFileSystemEntry ? "Present" : "Missing") + "FileSystemEntryWatcher");
6870
6870
  // Call the callback for current directory
6871
6871
  callback("rename", "");
6872
6872
  // If watcher is not closed, update it
@@ -6891,7 +6891,7 @@ var ts;
6891
6891
  }
6892
6892
  }
6893
6893
  if (hitSystemWatcherLimit) {
6894
- sysLog("sysLog:: ".concat(fileOrDirectory, ":: Defaulting to fsWatchFile"));
6894
+ sysLog("sysLog:: " + fileOrDirectory + ":: Defaulting to fsWatchFile");
6895
6895
  return watchPresentFileSystemEntryWithFsWatchFile();
6896
6896
  }
6897
6897
  try {
@@ -6907,7 +6907,7 @@ var ts;
6907
6907
  // Eg. on linux the number of watches are limited and one could easily exhaust watches and the exception ENOSPC is thrown when creating watcher at that point
6908
6908
  // so instead of throwing error, use fs.watchFile
6909
6909
  hitSystemWatcherLimit || (hitSystemWatcherLimit = e.code === "ENOSPC");
6910
- sysLog("sysLog:: ".concat(fileOrDirectory, ":: Changing to fsWatchFile"));
6910
+ sysLog("sysLog:: " + fileOrDirectory + ":: Changing to fsWatchFile");
6911
6911
  return watchPresentFileSystemEntryWithFsWatchFile();
6912
6912
  }
6913
6913
  }
@@ -7625,18 +7625,6 @@ var ts;
7625
7625
  return getCanonicalFileName(nonCanonicalizedPath);
7626
7626
  }
7627
7627
  ts.toPath = toPath;
7628
- function normalizePathAndParts(path) {
7629
- path = normalizeSlashes(path);
7630
- var _a = reducePathComponents(getPathComponents(path)), root = _a[0], parts = _a.slice(1);
7631
- if (parts.length) {
7632
- var joinedParts = root + parts.join(ts.directorySeparator);
7633
- return { path: hasTrailingDirectorySeparator(path) ? ensureTrailingDirectorySeparator(joinedParts) : joinedParts, parts: parts };
7634
- }
7635
- else {
7636
- return { path: root, parts: parts };
7637
- }
7638
- }
7639
- ts.normalizePathAndParts = normalizePathAndParts;
7640
7628
  function removeTrailingDirectorySeparator(path) {
7641
7629
  if (hasTrailingDirectorySeparator(path)) {
7642
7630
  return path.substr(0, path.length - 1);
@@ -9922,7 +9910,7 @@ var ts;
9922
9910
  line = line < 0 ? 0 : line >= lineStarts.length ? lineStarts.length - 1 : line;
9923
9911
  }
9924
9912
  else {
9925
- ts.Debug.fail("Bad line number. Line: ".concat(line, ", lineStarts.length: ").concat(lineStarts.length, " , line map is correct? ").concat(debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown"));
9913
+ ts.Debug.fail("Bad line number. Line: " + line + ", lineStarts.length: " + lineStarts.length + " , line map is correct? " + (debugText !== undefined ? ts.arraysEqual(lineStarts, computeLineStarts(debugText)) : "unknown"));
9926
9914
  }
9927
9915
  }
9928
9916
  var res = lineStarts[line] + character;
@@ -12812,7 +12800,7 @@ var ts;
12812
12800
  : "linkplain";
12813
12801
  var name = link.name ? ts.entityNameToString(link.name) : "";
12814
12802
  var space = link.name && link.text.startsWith("://") ? "" : " ";
12815
- return "{@".concat(kind, " ").concat(name).concat(space).concat(link.text, "}");
12803
+ return "{@" + kind + " " + name + space + link.text + "}";
12816
12804
  }
12817
12805
  /**
12818
12806
  * Gets the effective type parameters. If the node was parsed in a
@@ -14069,11 +14057,11 @@ var ts;
14069
14057
  }
14070
14058
  function packageIdToPackageName(_a) {
14071
14059
  var name = _a.name, subModuleName = _a.subModuleName;
14072
- return subModuleName ? "".concat(name, "/").concat(subModuleName) : name;
14060
+ return subModuleName ? name + "/" + subModuleName : name;
14073
14061
  }
14074
14062
  ts.packageIdToPackageName = packageIdToPackageName;
14075
14063
  function packageIdToString(packageId) {
14076
- return "".concat(packageIdToPackageName(packageId), "@").concat(packageId.version);
14064
+ return packageIdToPackageName(packageId) + "@" + packageId.version;
14077
14065
  }
14078
14066
  ts.packageIdToString = packageIdToString;
14079
14067
  function typeDirectiveIsEqualTo(oldResolution, newResolution) {
@@ -14156,7 +14144,7 @@ var ts;
14156
14144
  function nodePosToString(node) {
14157
14145
  var file = getSourceFileOfNode(node);
14158
14146
  var loc = ts.getLineAndCharacterOfPosition(file, node.pos);
14159
- return "".concat(file.fileName, "(").concat(loc.line + 1, ",").concat(loc.character + 1, ")");
14147
+ return file.fileName + "(" + (loc.line + 1) + "," + (loc.character + 1) + ")";
14160
14148
  }
14161
14149
  ts.nodePosToString = nodePosToString;
14162
14150
  function getEndLinePosition(line, sourceFile) {
@@ -14295,7 +14283,7 @@ var ts;
14295
14283
  ts.isPinnedComment = isPinnedComment;
14296
14284
  function createCommentDirectivesMap(sourceFile, commentDirectives) {
14297
14285
  var directivesByLine = new ts.Map(commentDirectives.map(function (commentDirective) { return ([
14298
- "".concat(ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line),
14286
+ "" + ts.getLineAndCharacterOfPosition(sourceFile, commentDirective.range.end).line,
14299
14287
  commentDirective,
14300
14288
  ]); }));
14301
14289
  var usedLines = new ts.Map();
@@ -14312,10 +14300,10 @@ var ts;
14312
14300
  });
14313
14301
  }
14314
14302
  function markUsed(line) {
14315
- if (!directivesByLine.has("".concat(line))) {
14303
+ if (!directivesByLine.has("" + line)) {
14316
14304
  return false;
14317
14305
  }
14318
- usedLines.set("".concat(line), true);
14306
+ usedLines.set("" + line, true);
14319
14307
  return true;
14320
14308
  }
14321
14309
  }
@@ -14545,7 +14533,7 @@ var ts;
14545
14533
  }
14546
14534
  return node.text;
14547
14535
  }
14548
- return ts.Debug.fail("Literal kind '".concat(node.kind, "' not accounted for."));
14536
+ return ts.Debug.fail("Literal kind '" + node.kind + "' not accounted for.");
14549
14537
  }
14550
14538
  ts.getLiteralText = getLiteralText;
14551
14539
  function canUseOriginalText(node, flags) {
@@ -17126,11 +17114,11 @@ var ts;
17126
17114
  }
17127
17115
  ts.getEscapedTextOfIdentifierOrLiteral = getEscapedTextOfIdentifierOrLiteral;
17128
17116
  function getPropertyNameForUniqueESSymbol(symbol) {
17129
- return "__@".concat(ts.getSymbolId(symbol), "@").concat(symbol.escapedName);
17117
+ return "__@" + ts.getSymbolId(symbol) + "@" + symbol.escapedName;
17130
17118
  }
17131
17119
  ts.getPropertyNameForUniqueESSymbol = getPropertyNameForUniqueESSymbol;
17132
17120
  function getSymbolNameForPrivateIdentifier(containingClassSymbol, description) {
17133
- return "__#".concat(ts.getSymbolId(containingClassSymbol), "@").concat(description);
17121
+ return "__#" + ts.getSymbolId(containingClassSymbol) + "@" + description;
17134
17122
  }
17135
17123
  ts.getSymbolNameForPrivateIdentifier = getSymbolNameForPrivateIdentifier;
17136
17124
  function isKnownSymbol(symbol) {
@@ -19832,7 +19820,7 @@ var ts;
19832
19820
  }
19833
19821
  ts.getJSXImplicitImportBase = getJSXImplicitImportBase;
19834
19822
  function getJSXRuntimeImport(base, options) {
19835
- return base ? "".concat(base, "/").concat(options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined;
19823
+ return base ? base + "/" + (options.jsx === 5 /* ReactJSXDev */ ? "jsx-dev-runtime" : "jsx-runtime") : undefined;
19836
19824
  }
19837
19825
  ts.getJSXRuntimeImport = getJSXRuntimeImport;
19838
19826
  function hasZeroOrOneAsteriskCharacter(str) {
@@ -19939,7 +19927,7 @@ var ts;
19939
19927
  }
19940
19928
  var wildcardCharCodes = [42 /* asterisk */, 63 /* question */];
19941
19929
  ts.commonPackageFolders = ["node_modules", "bower_components", "jspm_packages"];
19942
- var implicitExcludePathRegexPattern = "(?!(".concat(ts.commonPackageFolders.join("|"), ")(/|$))");
19930
+ var implicitExcludePathRegexPattern = "(?!(" + ts.commonPackageFolders.join("|") + ")(/|$))";
19943
19931
  var filesMatcher = {
19944
19932
  /**
19945
19933
  * Matches any single directory segment unless it is the last segment and a .min.js file
@@ -19952,7 +19940,7 @@ var ts;
19952
19940
  * Regex for the ** wildcard. Matches any number of subdirectories. When used for including
19953
19941
  * files or directories, does not match subdirectories that start with a . character
19954
19942
  */
19955
- doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"),
19943
+ doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?",
19956
19944
  replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, filesMatcher.singleAsteriskRegexFragment); }
19957
19945
  };
19958
19946
  var directoriesMatcher = {
@@ -19961,7 +19949,7 @@ var ts;
19961
19949
  * Regex for the ** wildcard. Matches any number of subdirectories. When used for including
19962
19950
  * files or directories, does not match subdirectories that start with a . character
19963
19951
  */
19964
- doubleAsteriskRegexFragment: "(/".concat(implicitExcludePathRegexPattern, "[^/.][^/]*)*?"),
19952
+ doubleAsteriskRegexFragment: "(/" + implicitExcludePathRegexPattern + "[^/.][^/]*)*?",
19965
19953
  replaceWildcardCharacter: function (match) { return replaceWildcardCharacter(match, directoriesMatcher.singleAsteriskRegexFragment); }
19966
19954
  };
19967
19955
  var excludeMatcher = {
@@ -19979,10 +19967,10 @@ var ts;
19979
19967
  if (!patterns || !patterns.length) {
19980
19968
  return undefined;
19981
19969
  }
19982
- var pattern = patterns.map(function (pattern) { return "(".concat(pattern, ")"); }).join("|");
19970
+ var pattern = patterns.map(function (pattern) { return "(" + pattern + ")"; }).join("|");
19983
19971
  // If excluding, match "foo/bar/baz...", but if including, only allow "foo".
19984
19972
  var terminator = usage === "exclude" ? "($|/)" : "$";
19985
- return "^(".concat(pattern, ")").concat(terminator);
19973
+ return "^(" + pattern + ")" + terminator;
19986
19974
  }
19987
19975
  ts.getRegularExpressionForWildcard = getRegularExpressionForWildcard;
19988
19976
  function getRegularExpressionsForWildcards(specs, basePath, usage) {
@@ -20004,7 +19992,7 @@ var ts;
20004
19992
  ts.isImplicitGlob = isImplicitGlob;
20005
19993
  function getPatternFromSpec(spec, basePath, usage) {
20006
19994
  var pattern = spec && getSubPatternFromSpec(spec, basePath, usage, wildcardMatchers[usage]);
20007
- return pattern && "^(".concat(pattern, ")").concat(usage === "exclude" ? "($|/)" : "$");
19995
+ return pattern && "^(" + pattern + ")" + (usage === "exclude" ? "($|/)" : "$");
20008
19996
  }
20009
19997
  ts.getPatternFromSpec = getPatternFromSpec;
20010
19998
  function getSubPatternFromSpec(spec, basePath, usage, _a) {
@@ -20082,7 +20070,7 @@ var ts;
20082
20070
  currentDirectory = ts.normalizePath(currentDirectory);
20083
20071
  var absolutePath = ts.combinePaths(currentDirectory, path);
20084
20072
  return {
20085
- includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^".concat(pattern, "$"); }),
20073
+ includeFilePatterns: ts.map(getRegularExpressionsForWildcards(includes, absolutePath, "files"), function (pattern) { return "^" + pattern + "$"; }),
20086
20074
  includeFilePattern: getRegularExpressionForWildcard(includes, absolutePath, "files"),
20087
20075
  includeDirectoryPattern: getRegularExpressionForWildcard(includes, absolutePath, "directories"),
20088
20076
  excludePattern: getRegularExpressionForWildcard(excludes, absolutePath, "exclude"),
@@ -20363,7 +20351,7 @@ var ts;
20363
20351
  */
20364
20352
  function extensionFromPath(path) {
20365
20353
  var ext = tryGetExtensionFromPath(path);
20366
- return ext !== undefined ? ext : ts.Debug.fail("File ".concat(path, " has unknown extension."));
20354
+ return ext !== undefined ? ext : ts.Debug.fail("File " + path + " has unknown extension.");
20367
20355
  }
20368
20356
  ts.extensionFromPath = extensionFromPath;
20369
20357
  function isAnySupportedFileExtension(path) {
@@ -26446,7 +26434,7 @@ var ts;
26446
26434
  case 326 /* JSDocAugmentsTag */: return "augments";
26447
26435
  case 327 /* JSDocImplementsTag */: return "implements";
26448
26436
  default:
26449
- return ts.Debug.fail("Unsupported kind: ".concat(ts.Debug.formatSyntaxKind(kind)));
26437
+ return ts.Debug.fail("Unsupported kind: " + ts.Debug.formatSyntaxKind(kind));
26450
26438
  }
26451
26439
  }
26452
26440
  var rawTextScanner;
@@ -26774,7 +26762,7 @@ var ts;
26774
26762
  };
26775
26763
  var definedTextGetter_1 = function (path) {
26776
26764
  var result = textGetter_1(path);
26777
- return result !== undefined ? result : "/* Input file ".concat(path, " was missing */\r\n");
26765
+ return result !== undefined ? result : "/* Input file " + path + " was missing */\r\n";
26778
26766
  };
26779
26767
  var buildInfo_1;
26780
26768
  var getAndCacheBuildInfo_1 = function (getText) {
@@ -31312,7 +31300,7 @@ var ts;
31312
31300
  for (var _i = 0, viableKeywordSuggestions_1 = viableKeywordSuggestions; _i < viableKeywordSuggestions_1.length; _i++) {
31313
31301
  var keyword = viableKeywordSuggestions_1[_i];
31314
31302
  if (expressionText.length > keyword.length + 2 && ts.startsWith(expressionText, keyword)) {
31315
- return "".concat(keyword, " ").concat(expressionText.slice(keyword.length));
31303
+ return keyword + " " + expressionText.slice(keyword.length);
31316
31304
  }
31317
31305
  }
31318
31306
  return undefined;
@@ -38082,7 +38070,7 @@ var ts;
38082
38070
  if (namedArgRegExCache.has(name)) {
38083
38071
  return namedArgRegExCache.get(name);
38084
38072
  }
38085
- var result = new RegExp("(\\s".concat(name, "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))"), "im");
38073
+ var result = new RegExp("(\\s" + name + "\\s*=\\s*)(?:(?:'([^']*)')|(?:\"([^\"]*)\"))", "im");
38086
38074
  namedArgRegExCache.set(name, result);
38087
38075
  return result;
38088
38076
  }
@@ -39560,8 +39548,8 @@ var ts;
39560
39548
  }
39561
39549
  ts.createCompilerDiagnosticForInvalidCustomType = createCompilerDiagnosticForInvalidCustomType;
39562
39550
  function createDiagnosticForInvalidCustomType(opt, createDiagnostic) {
39563
- var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'".concat(key, "'"); }).join(", ");
39564
- return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--".concat(opt.name), namesOfType);
39551
+ var namesOfType = ts.arrayFrom(opt.type.keys()).map(function (key) { return "'" + key + "'"; }).join(", ");
39552
+ return createDiagnostic(ts.Diagnostics.Argument_for_0_option_must_be_Colon_1, "--" + opt.name, namesOfType);
39565
39553
  }
39566
39554
  /* @internal */
39567
39555
  function parseCustomTypeOption(opt, value, errors) {
@@ -40355,10 +40343,10 @@ var ts;
40355
40343
  var newValue = compilerOptionsMap.get(cmd.name);
40356
40344
  var defaultValue = getDefaultValueForOption(cmd);
40357
40345
  if (newValue !== defaultValue) {
40358
- result.push("".concat(tab).concat(cmd.name, ": ").concat(newValue));
40346
+ result.push("" + tab + cmd.name + ": " + newValue);
40359
40347
  }
40360
40348
  else if (ts.hasProperty(ts.defaultInitCompilerOptions, cmd.name)) {
40361
- result.push("".concat(tab).concat(cmd.name, ": ").concat(defaultValue));
40349
+ result.push("" + tab + cmd.name + ": " + defaultValue);
40362
40350
  }
40363
40351
  });
40364
40352
  return result.join(newLine) + newLine;
@@ -40409,19 +40397,19 @@ var ts;
40409
40397
  if (entries.length !== 0) {
40410
40398
  entries.push({ value: "" });
40411
40399
  }
40412
- entries.push({ value: "/* ".concat(category, " */") });
40400
+ entries.push({ value: "/* " + category + " */" });
40413
40401
  for (var _i = 0, options_1 = options; _i < options_1.length; _i++) {
40414
40402
  var option = options_1[_i];
40415
40403
  var optionName = void 0;
40416
40404
  if (compilerOptionsMap.has(option.name)) {
40417
- optionName = "\"".concat(option.name, "\": ").concat(JSON.stringify(compilerOptionsMap.get(option.name))).concat((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ",");
40405
+ optionName = "\"" + option.name + "\": " + JSON.stringify(compilerOptionsMap.get(option.name)) + ((seenKnownKeys += 1) === compilerOptionsMap.size ? "" : ",");
40418
40406
  }
40419
40407
  else {
40420
- optionName = "// \"".concat(option.name, "\": ").concat(JSON.stringify(getDefaultValueForOption(option)), ",");
40408
+ optionName = "// \"" + option.name + "\": " + JSON.stringify(getDefaultValueForOption(option)) + ",";
40421
40409
  }
40422
40410
  entries.push({
40423
40411
  value: optionName,
40424
- description: "/* ".concat(option.description && ts.getLocaleSpecificMessage(option.description) || option.name, " */")
40412
+ description: "/* " + (option.description && ts.getLocaleSpecificMessage(option.description) || option.name) + " */"
40425
40413
  });
40426
40414
  marginLength = Math.max(optionName.length, marginLength);
40427
40415
  }
@@ -40430,25 +40418,25 @@ var ts;
40430
40418
  var tab = makePadding(2);
40431
40419
  var result = [];
40432
40420
  result.push("{");
40433
- result.push("".concat(tab, "\"compilerOptions\": {"));
40434
- result.push("".concat(tab).concat(tab, "/* ").concat(ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file), " */"));
40421
+ result.push(tab + "\"compilerOptions\": {");
40422
+ result.push("" + tab + tab + "/* " + ts.getLocaleSpecificMessage(ts.Diagnostics.Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_json_to_read_more_about_this_file) + " */");
40435
40423
  result.push("");
40436
40424
  // Print out each row, aligning all the descriptions on the same column.
40437
40425
  for (var _a = 0, entries_2 = entries; _a < entries_2.length; _a++) {
40438
40426
  var entry = entries_2[_a];
40439
40427
  var value = entry.value, _b = entry.description, description = _b === void 0 ? "" : _b;
40440
- result.push(value && "".concat(tab).concat(tab).concat(value).concat(description && (makePadding(marginLength - value.length + 2) + description)));
40428
+ result.push(value && "" + tab + tab + value + (description && (makePadding(marginLength - value.length + 2) + description)));
40441
40429
  }
40442
40430
  if (fileNames.length) {
40443
- result.push("".concat(tab, "},"));
40444
- result.push("".concat(tab, "\"files\": ["));
40431
+ result.push(tab + "},");
40432
+ result.push(tab + "\"files\": [");
40445
40433
  for (var i = 0; i < fileNames.length; i++) {
40446
- result.push("".concat(tab).concat(tab).concat(JSON.stringify(fileNames[i])).concat(i === fileNames.length - 1 ? "" : ","));
40434
+ result.push("" + tab + tab + JSON.stringify(fileNames[i]) + (i === fileNames.length - 1 ? "" : ","));
40447
40435
  }
40448
- result.push("".concat(tab, "]"));
40436
+ result.push(tab + "]");
40449
40437
  }
40450
40438
  else {
40451
- result.push("".concat(tab, "}"));
40439
+ result.push(tab + "}");
40452
40440
  }
40453
40441
  result.push("}");
40454
40442
  return result.join(newLine) + newLine;
@@ -40846,7 +40834,7 @@ var ts;
40846
40834
  if (ts.isRootedDiskPath(extendedConfig) || ts.startsWith(extendedConfig, "./") || ts.startsWith(extendedConfig, "../")) {
40847
40835
  var extendedConfigPath = ts.getNormalizedAbsolutePath(extendedConfig, basePath);
40848
40836
  if (!host.fileExists(extendedConfigPath) && !ts.endsWith(extendedConfigPath, ".json" /* Json */)) {
40849
- extendedConfigPath = "".concat(extendedConfigPath, ".json");
40837
+ extendedConfigPath = extendedConfigPath + ".json";
40850
40838
  if (!host.fileExists(extendedConfigPath)) {
40851
40839
  errors.push(createDiagnostic(ts.Diagnostics.File_0_not_found, extendedConfig));
40852
40840
  return undefined;
@@ -41091,7 +41079,7 @@ var ts;
41091
41079
  // Valid only if *.json specified
41092
41080
  if (!jsonOnlyIncludeRegexes) {
41093
41081
  var includes = validatedIncludeSpecs.filter(function (s) { return ts.endsWith(s, ".json" /* Json */); });
41094
- var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^".concat(pattern, "$"); });
41082
+ var includeFilePatterns = ts.map(ts.getRegularExpressionsForWildcards(includes, basePath, "files"), function (pattern) { return "^" + pattern + "$"; });
41095
41083
  jsonOnlyIncludeRegexes = includeFilePatterns ? includeFilePatterns.map(function (pattern) { return ts.getRegexFromPattern(pattern, host.useCaseSensitiveFileNames); }) : ts.emptyArray;
41096
41084
  }
41097
41085
  var includeIndex = ts.findIndex(jsonOnlyIncludeRegexes, function (re) { return re.test(file); });
@@ -41527,7 +41515,7 @@ var ts;
41527
41515
  var bestVersionKey = result.version, bestVersionPaths = result.paths;
41528
41516
  if (typeof bestVersionPaths !== "object") {
41529
41517
  if (state.traceEnabled) {
41530
- trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['".concat(bestVersionKey, "']"), "object", typeof bestVersionPaths);
41518
+ trace(state.host, ts.Diagnostics.Expected_type_of_0_field_in_package_json_to_be_1_got_2, "typesVersions['" + bestVersionKey + "']", "object", typeof bestVersionPaths);
41531
41519
  }
41532
41520
  return;
41533
41521
  }
@@ -41710,7 +41698,7 @@ var ts;
41710
41698
  result_4 = searchResult && searchResult.value;
41711
41699
  }
41712
41700
  else {
41713
- var candidate = ts.normalizePathAndParts(ts.combinePaths(initialLocationForSecondaryLookup, typeReferenceDirectiveName)).path;
41701
+ var candidate = normalizePathForCJSResolution(initialLocationForSecondaryLookup, typeReferenceDirectiveName).path;
41714
41702
  result_4 = nodeLoadModuleByRelativeName(Extensions.DtsOnly, candidate, /*onlyRecordFailures*/ false, moduleResolutionState, /*considerPackageJson*/ true);
41715
41703
  }
41716
41704
  return resolvedTypeScriptOnly(result_4);
@@ -41934,7 +41922,7 @@ var ts;
41934
41922
  };
41935
41923
  return cache;
41936
41924
  function getUnderlyingCacheKey(specifier, mode) {
41937
- var result = mode === undefined ? specifier : "".concat(mode, "|").concat(specifier);
41925
+ var result = mode === undefined ? specifier : mode + "|" + specifier;
41938
41926
  memoizedReverseKeys.set(result, [specifier, mode]);
41939
41927
  return result;
41940
41928
  }
@@ -41965,7 +41953,7 @@ var ts;
41965
41953
  }
41966
41954
  function getOrCreateCacheForModuleName(nonRelativeModuleName, mode, redirectedReference) {
41967
41955
  ts.Debug.assert(!ts.isExternalModuleNameRelative(nonRelativeModuleName));
41968
- return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : "".concat(mode, "|").concat(nonRelativeModuleName), createPerModuleNameCache);
41956
+ return getOrCreateCache(moduleNameToDirectoryMap, redirectedReference, mode === undefined ? nonRelativeModuleName : mode + "|" + nonRelativeModuleName, createPerModuleNameCache);
41969
41957
  }
41970
41958
  function createPerModuleNameCache() {
41971
41959
  var directoryPathMap = new ts.Map();
@@ -42112,10 +42100,10 @@ var ts;
42112
42100
  result = classicNameResolver(moduleName, containingFile, compilerOptions, host, cache, redirectedReference);
42113
42101
  break;
42114
42102
  default:
42115
- return ts.Debug.fail("Unexpected moduleResolution: ".concat(moduleResolution));
42103
+ return ts.Debug.fail("Unexpected moduleResolution: " + moduleResolution);
42116
42104
  }
42117
42105
  if (result && result.resolvedModule)
42118
- ts.perfLogger.logInfoEvent("Module \"".concat(moduleName, "\" resolved to \"").concat(result.resolvedModule.resolvedFileName, "\""));
42106
+ ts.perfLogger.logInfoEvent("Module \"" + moduleName + "\" resolved to \"" + result.resolvedModule.resolvedFileName + "\"");
42119
42107
  ts.perfLogger.logStopResolveModule((result && result.resolvedModule) ? "" + result.resolvedModule.resolvedFileName : "null");
42120
42108
  if (perFolderCache) {
42121
42109
  perFolderCache.set(moduleName, resolutionMode, result);
@@ -42318,7 +42306,7 @@ var ts;
42318
42306
  function resolveJSModule(moduleName, initialDir, host) {
42319
42307
  var _a = tryResolveJSModuleWorker(moduleName, initialDir, host), resolvedModule = _a.resolvedModule, failedLookupLocations = _a.failedLookupLocations;
42320
42308
  if (!resolvedModule) {
42321
- throw new Error("Could not resolve JS module '".concat(moduleName, "' starting at '").concat(initialDir, "'. Looked in: ").concat(failedLookupLocations.join(", ")));
42309
+ throw new Error("Could not resolve JS module '" + moduleName + "' starting at '" + initialDir + "'. Looked in: " + failedLookupLocations.join(", "));
42322
42310
  }
42323
42311
  return resolvedModule.resolvedFileName;
42324
42312
  }
@@ -42413,13 +42401,25 @@ var ts;
42413
42401
  return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };
42414
42402
  }
42415
42403
  else {
42416
- var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;
42404
+ var _a = normalizePathForCJSResolution(containingDirectory, moduleName), candidate = _a.path, parts = _a.parts;
42417
42405
  var resolved_2 = nodeLoadModuleByRelativeName(extensions, candidate, /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true);
42418
42406
  // Treat explicit "node_modules" import as an external library import.
42419
42407
  return resolved_2 && toSearchResult({ resolved: resolved_2, isExternalLibraryImport: ts.contains(parts, "node_modules") });
42420
42408
  }
42421
42409
  }
42422
42410
  }
42411
+ // If you import from "." inside a containing directory "/foo", the result of `normalizePath`
42412
+ // would be "/foo", but this loses the information that `foo` is a directory and we intended
42413
+ // to look inside of it. The Node CommonJS resolution algorithm doesn't call this out
42414
+ // (https://nodejs.org/api/modules.html#all-together), but it seems that module paths ending
42415
+ // in `.` are actually normalized to `./` before proceeding with the resolution algorithm.
42416
+ function normalizePathForCJSResolution(containingDirectory, moduleName) {
42417
+ var combined = ts.combinePaths(containingDirectory, moduleName);
42418
+ var parts = ts.getPathComponents(combined);
42419
+ var lastPart = ts.lastOrUndefined(parts);
42420
+ var path = lastPart === "." || lastPart === ".." ? ts.ensureTrailingDirectorySeparator(ts.normalizePath(combined)) : ts.normalizePath(combined);
42421
+ return { path: path, parts: parts };
42422
+ }
42423
42423
  function realPath(path, host, traceEnabled) {
42424
42424
  if (!host.realpath) {
42425
42425
  return path;
@@ -42428,7 +42428,7 @@ var ts;
42428
42428
  if (traceEnabled) {
42429
42429
  trace(host, ts.Diagnostics.Resolving_real_path_for_0_result_1, path, real);
42430
42430
  }
42431
- ts.Debug.assert(host.fileExists(real), "".concat(path, " linked to nonexistent file ").concat(real));
42431
+ ts.Debug.assert(host.fileExists(real), path + " linked to nonexistent file " + real);
42432
42432
  return real;
42433
42433
  }
42434
42434
  function nodeLoadModuleByRelativeName(extensions, candidate, onlyRecordFailures, state, considerPackageJson) {
@@ -42461,7 +42461,13 @@ var ts;
42461
42461
  onlyRecordFailures = true;
42462
42462
  }
42463
42463
  }
42464
- return loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson);
42464
+ // esm mode relative imports shouldn't do any directory lookups (either inside `package.json`
42465
+ // files or implicit `index.js`es). This is a notable depature from cjs norms, where `./foo/pkg`
42466
+ // could have been redirected by `./foo/pkg/package.json` to an arbitrary location!
42467
+ if (!(state.features & NodeResolutionFeatures.EsmMode)) {
42468
+ return loadNodeModuleFromDirectory(extensions, candidate, onlyRecordFailures, state, considerPackageJson);
42469
+ }
42470
+ return undefined;
42465
42471
  }
42466
42472
  /*@internal*/
42467
42473
  ts.nodeModulesPathPart = "/node_modules/";
@@ -42828,7 +42834,16 @@ var ts;
42828
42834
  // Even if extensions is DtsOnly, we can still look up a .ts file as a result of package.json "types"
42829
42835
  var nextExtensions = extensions === Extensions.DtsOnly ? Extensions.TypeScript : extensions;
42830
42836
  // Don't do package.json lookup recursively, because Node.js' package lookup doesn't.
42831
- return nodeLoadModuleByRelativeName(nextExtensions, candidate, onlyRecordFailures, state, /*considerPackageJson*/ false);
42837
+ // Disable `EsmMode` for the resolution of the package path for cjs-mode packages (so the `main` field can omit extensions)
42838
+ // (technically it only emits a deprecation warning in esm packages right now, but that's probably
42839
+ // enough to mean we don't need to support it)
42840
+ var features = state.features;
42841
+ if ((jsonContent === null || jsonContent === void 0 ? void 0 : jsonContent.type) !== "module") {
42842
+ state.features &= ~NodeResolutionFeatures.EsmMode;
42843
+ }
42844
+ var result = nodeLoadModuleByRelativeName(nextExtensions, candidate, onlyRecordFailures, state, /*considerPackageJson*/ false);
42845
+ state.features = features;
42846
+ return result;
42832
42847
  };
42833
42848
  var onlyRecordFailuresForPackageFile = packageFile ? !ts.directoryProbablyExists(ts.getDirectoryPath(packageFile), state.host) : undefined;
42834
42849
  var onlyRecordFailuresForIndex = onlyRecordFailures || !ts.directoryProbablyExists(candidate, state.host);
@@ -42905,7 +42920,7 @@ var ts;
42905
42920
  return undefined;
42906
42921
  }
42907
42922
  var trailingParts = parts.slice(nameParts.length);
42908
- return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : ".".concat(ts.directorySeparator).concat(trailingParts.join(ts.directorySeparator)), state, cache, redirectedReference);
42923
+ return loadModuleFromExports(scope, extensions, !ts.length(trailingParts) ? "." : "." + ts.directorySeparator + trailingParts.join(ts.directorySeparator), state, cache, redirectedReference);
42909
42924
  }
42910
42925
  function loadModuleFromExports(scope, extensions, subpath, state, cache, redirectedReference) {
42911
42926
  if (!scope.packageJsonContent.exports) {
@@ -43173,6 +43188,14 @@ var ts;
43173
43188
  }
43174
43189
  var pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) ||
43175
43190
  loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageInfo && packageInfo.packageJsonContent, packageInfo && packageInfo.versionPaths);
43191
+ if (!pathAndExtension && packageInfo
43192
+ && packageInfo.packageJsonContent.exports === undefined
43193
+ && packageInfo.packageJsonContent.main === undefined
43194
+ && state.features & NodeResolutionFeatures.EsmMode) {
43195
+ // EsmMode disables index lookup in `loadNodeModuleFromDirectoryWorker` generally, however non-relative package resolutions still assume
43196
+ // a default `index.js` entrypoint if no `main` or `exports` are present
43197
+ pathAndExtension = loadModuleFromFile(extensions, ts.combinePaths(candidate, "index.js"), onlyRecordFailures, state);
43198
+ }
43176
43199
  return withPackageId(packageInfo, pathAndExtension);
43177
43200
  };
43178
43201
  if (rest !== "") { // If "rest" is empty, we just did this search above.
@@ -43233,7 +43256,7 @@ var ts;
43233
43256
  }
43234
43257
  /* @internal */
43235
43258
  function getTypesPackageName(packageName) {
43236
- return "@types/".concat(mangleScopedPackageName(packageName));
43259
+ return "@types/" + mangleScopedPackageName(packageName);
43237
43260
  }
43238
43261
  ts.getTypesPackageName = getTypesPackageName;
43239
43262
  /* @internal */
@@ -43634,7 +43657,7 @@ var ts;
43634
43657
  if (name) {
43635
43658
  if (ts.isAmbientModule(node)) {
43636
43659
  var moduleName = ts.getTextOfIdentifierOrLiteral(name);
43637
- return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"".concat(moduleName, "\""));
43660
+ return (ts.isGlobalScopeAugmentation(node) ? "__global" : "\"" + moduleName + "\"");
43638
43661
  }
43639
43662
  if (name.kind === 161 /* ComputedPropertyName */) {
43640
43663
  var nameExpression = name.expression;
@@ -43691,7 +43714,7 @@ var ts;
43691
43714
  case 163 /* Parameter */:
43692
43715
  // Parameters with names are handled at the top of this function. Parameters
43693
43716
  // without names can only come from JSDocFunctionTypes.
43694
- ts.Debug.assert(node.parent.kind === 315 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: ".concat(ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind, ", expected JSDocFunctionType"); });
43717
+ ts.Debug.assert(node.parent.kind === 315 /* JSDocFunctionType */, "Impossible parameter parent kind", function () { return "parent is: " + (ts.SyntaxKind ? ts.SyntaxKind[node.parent.kind] : node.parent.kind) + ", expected JSDocFunctionType"; });
43695
43718
  var functionType = node.parent;
43696
43719
  var index = functionType.parameters.indexOf(node);
43697
43720
  return "arg" + index;
@@ -43803,7 +43826,7 @@ var ts;
43803
43826
  var relatedInformation_1 = [];
43804
43827
  if (ts.isTypeAliasDeclaration(node) && ts.nodeIsMissing(node.type) && ts.hasSyntacticModifier(node, 1 /* Export */) && symbol.flags & (2097152 /* Alias */ | 788968 /* Type */ | 1920 /* Namespace */)) {
43805
43828
  // export type T; - may have meant export type { T }?
43806
- relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { ".concat(ts.unescapeLeadingUnderscores(node.name.escapedText), " }")));
43829
+ relatedInformation_1.push(createDiagnosticForNode(node, ts.Diagnostics.Did_you_mean_0, "export type { " + ts.unescapeLeadingUnderscores(node.name.escapedText) + " }"));
43807
43830
  }
43808
43831
  var declarationName_1 = ts.getNameOfDeclaration(node) || node;
43809
43832
  ts.forEach(symbol.declarations, function (declaration, index) {
@@ -45879,7 +45902,7 @@ var ts;
45879
45902
  }
45880
45903
  }
45881
45904
  function bindSourceFileAsExternalModule() {
45882
- bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"".concat(ts.removeFileExtension(file.fileName), "\""));
45905
+ bindAnonymousDeclaration(file, 512 /* ValueModule */, "\"" + ts.removeFileExtension(file.fileName) + "\"");
45883
45906
  }
45884
45907
  function bindExportAssignment(node) {
45885
45908
  if (!container.symbol || !container.symbol.exports) {
@@ -47979,7 +48002,7 @@ var ts;
47979
48002
  if (sourceSymbolFile && targetSymbolFile && amalgamatedDuplicates && !isEitherEnum && sourceSymbolFile !== targetSymbolFile) {
47980
48003
  var firstFile_1 = ts.comparePaths(sourceSymbolFile.path, targetSymbolFile.path) === -1 /* LessThan */ ? sourceSymbolFile : targetSymbolFile;
47981
48004
  var secondFile_1 = firstFile_1 === sourceSymbolFile ? targetSymbolFile : sourceSymbolFile;
47982
- var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, "".concat(firstFile_1.path, "|").concat(secondFile_1.path), function () {
48005
+ var filesDuplicates = ts.getOrUpdate(amalgamatedDuplicates, firstFile_1.path + "|" + secondFile_1.path, function () {
47983
48006
  return ({ firstFile: firstFile_1, secondFile: secondFile_1, conflictingSymbols: new ts.Map() });
47984
48007
  });
47985
48008
  var conflictingSymbolInfo = ts.getOrUpdate(filesDuplicates.conflictingSymbols, symbolName_1, function () {
@@ -50390,8 +50413,15 @@ var ts;
50390
50413
  return res;
50391
50414
  }
50392
50415
  var candidates = ts.mapDefined(symbol.declarations, function (d) {
50393
- if (!ts.isAmbientModule(d) && d.parent && hasNonGlobalAugmentationExternalModuleSymbol(d.parent)) {
50394
- return getSymbolOfNode(d.parent);
50416
+ if (!ts.isAmbientModule(d) && d.parent) {
50417
+ // direct children of a module
50418
+ if (hasNonGlobalAugmentationExternalModuleSymbol(d.parent)) {
50419
+ return getSymbolOfNode(d.parent);
50420
+ }
50421
+ // export ='d member of an ambient module
50422
+ if (ts.isModuleBlock(d.parent) && d.parent.parent && resolveExternalModuleSymbol(getSymbolOfNode(d.parent.parent)) === symbol) {
50423
+ return getSymbolOfNode(d.parent.parent);
50424
+ }
50395
50425
  }
50396
50426
  if (ts.isClassExpression(d) && ts.isBinaryExpression(d.parent) && d.parent.operatorToken.kind === 63 /* EqualsToken */ && ts.isAccessExpression(d.parent.left) && ts.isEntityNameExpression(d.parent.left.expression)) {
50397
50427
  if (ts.isModuleExportsAccessExpression(d.parent.left) || ts.isExportsIdentifier(d.parent.left.expression)) {
@@ -50632,7 +50662,7 @@ var ts;
50632
50662
  var cache = (links.accessibleChainCache || (links.accessibleChainCache = new ts.Map()));
50633
50663
  // Go from enclosingDeclaration to the first scope we check, so the cache is keyed off the scope and thus shared more
50634
50664
  var firstRelevantLocation = forEachSymbolTableInScope(enclosingDeclaration, function (_, __, ___, node) { return node; });
50635
- var key = "".concat(useOnlyExternalAliasing ? 0 : 1, "|").concat(firstRelevantLocation && getNodeId(firstRelevantLocation), "|").concat(meaning);
50665
+ var key = (useOnlyExternalAliasing ? 0 : 1) + "|" + (firstRelevantLocation && getNodeId(firstRelevantLocation)) + "|" + meaning;
50636
50666
  if (cache.has(key)) {
50637
50667
  return cache.get(key);
50638
50668
  }
@@ -51481,7 +51511,7 @@ var ts;
51481
51511
  context.symbolDepth = new ts.Map();
51482
51512
  }
51483
51513
  var links = context.enclosingDeclaration && getNodeLinks(context.enclosingDeclaration);
51484
- var key = "".concat(getTypeId(type), "|").concat(context.flags);
51514
+ var key = getTypeId(type) + "|" + context.flags;
51485
51515
  if (links) {
51486
51516
  links.serializedTypes || (links.serializedTypes = new ts.Map());
51487
51517
  }
@@ -51750,7 +51780,7 @@ var ts;
51750
51780
  }
51751
51781
  }
51752
51782
  if (checkTruncationLength(context) && (i + 2 < properties.length - 1)) {
51753
- typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... ".concat(properties.length - i, " more ..."), /*questionToken*/ undefined, /*type*/ undefined));
51783
+ typeElements.push(ts.factory.createPropertySignature(/*modifiers*/ undefined, "... " + (properties.length - i) + " more ...", /*questionToken*/ undefined, /*type*/ undefined));
51754
51784
  addPropertyToElementList(properties[properties.length - 1], context, typeElements);
51755
51785
  break;
51756
51786
  }
@@ -51865,7 +51895,7 @@ var ts;
51865
51895
  else if (types.length > 2) {
51866
51896
  return [
51867
51897
  typeToTypeNodeHelper(types[0], context),
51868
- ts.factory.createTypeReferenceNode("... ".concat(types.length - 2, " more ..."), /*typeArguments*/ undefined),
51898
+ ts.factory.createTypeReferenceNode("... " + (types.length - 2) + " more ...", /*typeArguments*/ undefined),
51869
51899
  typeToTypeNodeHelper(types[types.length - 1], context)
51870
51900
  ];
51871
51901
  }
@@ -51879,7 +51909,7 @@ var ts;
51879
51909
  var type = types_2[_i];
51880
51910
  i++;
51881
51911
  if (checkTruncationLength(context) && (i + 2 < types.length - 1)) {
51882
- result_5.push(ts.factory.createTypeReferenceNode("... ".concat(types.length - i, " more ..."), /*typeArguments*/ undefined));
51912
+ result_5.push(ts.factory.createTypeReferenceNode("... " + (types.length - i) + " more ...", /*typeArguments*/ undefined));
51883
51913
  var typeNode_1 = typeToTypeNodeHelper(types[types.length - 1], context);
51884
51914
  if (typeNode_1) {
51885
51915
  result_5.push(typeNode_1);
@@ -52402,7 +52432,7 @@ var ts;
52402
52432
  var text = rawtext;
52403
52433
  while (((_b = context.typeParameterNamesByText) === null || _b === void 0 ? void 0 : _b.has(text)) || typeParameterShadowsNameInScope(text, context, type)) {
52404
52434
  i++;
52405
- text = "".concat(rawtext, "_").concat(i);
52435
+ text = rawtext + "_" + i;
52406
52436
  }
52407
52437
  if (text !== rawtext) {
52408
52438
  result = ts.factory.createIdentifier(text, result.typeArguments);
@@ -52722,7 +52752,7 @@ var ts;
52722
52752
  function getNameForJSDocFunctionParameter(p, index) {
52723
52753
  return p.name && ts.isIdentifier(p.name) && p.name.escapedText === "this" ? "this"
52724
52754
  : getEffectiveDotDotDotForParameter(p) ? "args"
52725
- : "arg".concat(index);
52755
+ : "arg" + index;
52726
52756
  }
52727
52757
  function rewriteModuleSpecifier(parent, lit) {
52728
52758
  if (bundled) {
@@ -53807,7 +53837,7 @@ var ts;
53807
53837
  return results_1;
53808
53838
  }
53809
53839
  // The `Constructor`'s symbol isn't in the class's properties lists, obviously, since it's a signature on the static
53810
- return ts.Debug.fail("Unhandled class member kind! ".concat(p.__debugFlags || p.flags));
53840
+ return ts.Debug.fail("Unhandled class member kind! " + (p.__debugFlags || p.flags));
53811
53841
  };
53812
53842
  }
53813
53843
  function serializePropertySymbolForInterface(p, baseType) {
@@ -53882,7 +53912,7 @@ var ts;
53882
53912
  if (ref) {
53883
53913
  return ref;
53884
53914
  }
53885
- var tempName = getUnusedName("".concat(rootName, "_base"));
53915
+ var tempName = getUnusedName(rootName + "_base");
53886
53916
  var statement = ts.factory.createVariableStatement(/*modifiers*/ undefined, ts.factory.createVariableDeclarationList([
53887
53917
  ts.factory.createVariableDeclaration(tempName, /*exclamationToken*/ undefined, typeToTypeNodeHelper(staticType, context))
53888
53918
  ], 2 /* Const */));
@@ -53929,7 +53959,7 @@ var ts;
53929
53959
  var original = input;
53930
53960
  while ((_a = context.usedSymbolNames) === null || _a === void 0 ? void 0 : _a.has(input)) {
53931
53961
  i++;
53932
- input = "".concat(original, "_").concat(i);
53962
+ input = original + "_" + i;
53933
53963
  }
53934
53964
  (_b = context.usedSymbolNames) === null || _b === void 0 ? void 0 : _b.add(input);
53935
53965
  if (id) {
@@ -54037,15 +54067,15 @@ var ts;
54037
54067
  if (nameType.flags & 384 /* StringOrNumberLiteral */) {
54038
54068
  var name = "" + nameType.value;
54039
54069
  if (!ts.isIdentifierText(name, ts.getEmitScriptTarget(compilerOptions)) && !ts.isNumericLiteralName(name)) {
54040
- return "\"".concat(ts.escapeString(name, 34 /* doubleQuote */), "\"");
54070
+ return "\"" + ts.escapeString(name, 34 /* doubleQuote */) + "\"";
54041
54071
  }
54042
54072
  if (ts.isNumericLiteralName(name) && ts.startsWith(name, "-")) {
54043
- return "[".concat(name, "]");
54073
+ return "[" + name + "]";
54044
54074
  }
54045
54075
  return name;
54046
54076
  }
54047
54077
  if (nameType.flags & 8192 /* UniqueESSymbol */) {
54048
- return "[".concat(getNameOfSymbolAsWritten(nameType.symbol, context), "]");
54078
+ return "[" + getNameOfSymbolAsWritten(nameType.symbol, context) + "]";
54049
54079
  }
54050
54080
  }
54051
54081
  }
@@ -56876,7 +56906,7 @@ var ts;
56876
56906
  !leftName ? rightName :
56877
56907
  !rightName ? leftName :
56878
56908
  undefined;
56879
- var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i));
56909
+ var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i);
56880
56910
  paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
56881
56911
  params[i] = paramSymbol;
56882
56912
  }
@@ -58827,7 +58857,7 @@ var ts;
58827
58857
  return result;
58828
58858
  }
58829
58859
  function getAliasId(aliasSymbol, aliasTypeArguments) {
58830
- return aliasSymbol ? "@".concat(getSymbolId(aliasSymbol)) + (aliasTypeArguments ? ":".concat(getTypeListId(aliasTypeArguments)) : "") : "";
58860
+ return aliasSymbol ? "@" + getSymbolId(aliasSymbol) + (aliasTypeArguments ? ":" + getTypeListId(aliasTypeArguments) : "") : "";
58831
58861
  }
58832
58862
  // This function is used to propagate certain flags when creating new object type references and union types.
58833
58863
  // It is only necessary to do so if a constituent type might be the undefined type, the null type, the type
@@ -59013,7 +59043,7 @@ var ts;
59013
59043
  return undefined;
59014
59044
  }
59015
59045
  function getSymbolPath(symbol) {
59016
- return symbol.parent ? "".concat(getSymbolPath(symbol.parent), ".").concat(symbol.escapedName) : symbol.escapedName;
59046
+ return symbol.parent ? getSymbolPath(symbol.parent) + "." + symbol.escapedName : symbol.escapedName;
59017
59047
  }
59018
59048
  function getUnresolvedSymbolForEntityName(name) {
59019
59049
  var identifier = name.kind === 160 /* QualifiedName */ ? name.right :
@@ -59024,7 +59054,7 @@ var ts;
59024
59054
  var parentSymbol = name.kind === 160 /* QualifiedName */ ? getUnresolvedSymbolForEntityName(name.left) :
59025
59055
  name.kind === 205 /* PropertyAccessExpression */ ? getUnresolvedSymbolForEntityName(name.expression) :
59026
59056
  undefined;
59027
- var path = parentSymbol ? "".concat(getSymbolPath(parentSymbol), ".").concat(text) : text;
59057
+ var path = parentSymbol ? getSymbolPath(parentSymbol) + "." + text : text;
59028
59058
  var result = unresolvedSymbols.get(path);
59029
59059
  if (!result) {
59030
59060
  unresolvedSymbols.set(path, result = createSymbol(524288 /* TypeAlias */, text, 1048576 /* Unresolved */));
@@ -59097,7 +59127,7 @@ var ts;
59097
59127
  if (substitute.flags & 3 /* AnyOrUnknown */ || substitute === baseType) {
59098
59128
  return baseType;
59099
59129
  }
59100
- var id = "".concat(getTypeId(baseType), ">").concat(getTypeId(substitute));
59130
+ var id = getTypeId(baseType) + ">" + getTypeId(substitute);
59101
59131
  var cached = substitutionTypes.get(id);
59102
59132
  if (cached) {
59103
59133
  return cached;
@@ -60021,9 +60051,9 @@ var ts;
60021
60051
  return types[0];
60022
60052
  }
60023
60053
  var typeKey = !origin ? getTypeListId(types) :
60024
- origin.flags & 1048576 /* Union */ ? "|".concat(getTypeListId(origin.types)) :
60025
- origin.flags & 2097152 /* Intersection */ ? "&".concat(getTypeListId(origin.types)) :
60026
- "#".concat(origin.type.id, "|").concat(getTypeListId(types)); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving
60054
+ origin.flags & 1048576 /* Union */ ? "|" + getTypeListId(origin.types) :
60055
+ origin.flags & 2097152 /* Intersection */ ? "&" + getTypeListId(origin.types) :
60056
+ "#" + origin.type.id + "|" + getTypeListId(types); // origin type id alone is insufficient, as `keyof x` may resolve to multiple WIP values while `x` is still resolving
60027
60057
  var id = typeKey + getAliasId(aliasSymbol, aliasTypeArguments);
60028
60058
  var type = unionTypes.get(id);
60029
60059
  if (!type) {
@@ -60545,7 +60575,7 @@ var ts;
60545
60575
  if (ts.every(newTexts, function (t) { return t === ""; }) && ts.every(newTypes, function (t) { return !!(t.flags & 4 /* String */); })) {
60546
60576
  return stringType;
60547
60577
  }
60548
- var id = "".concat(getTypeListId(newTypes), "|").concat(ts.map(newTexts, function (t) { return t.length; }).join(","), "|").concat(newTexts.join(""));
60578
+ var id = getTypeListId(newTypes) + "|" + ts.map(newTexts, function (t) { return t.length; }).join(",") + "|" + newTexts.join("");
60549
60579
  var type = templateLiteralTypes.get(id);
60550
60580
  if (!type) {
60551
60581
  templateLiteralTypes.set(id, type = createTemplateLiteralType(newTexts, newTypes));
@@ -60605,7 +60635,7 @@ var ts;
60605
60635
  return str;
60606
60636
  }
60607
60637
  function getStringMappingTypeForGenericType(symbol, type) {
60608
- var id = "".concat(getSymbolId(symbol), ",").concat(getTypeId(type));
60638
+ var id = getSymbolId(symbol) + "," + getTypeId(type);
60609
60639
  var result = stringMappingTypes.get(id);
60610
60640
  if (!result) {
60611
60641
  stringMappingTypes.set(id, result = createStringMappingType(symbol, type));
@@ -61622,7 +61652,7 @@ var ts;
61622
61652
  function createUniqueESSymbolType(symbol) {
61623
61653
  var type = createType(8192 /* UniqueESSymbol */);
61624
61654
  type.symbol = symbol;
61625
- type.escapedName = "__@".concat(type.symbol.escapedName, "@").concat(getSymbolId(type.symbol));
61655
+ type.escapedName = "__@" + type.symbol.escapedName + "@" + getSymbolId(type.symbol);
61626
61656
  return type;
61627
61657
  }
61628
61658
  function getESSymbolLikeTypeForNode(node) {
@@ -63126,9 +63156,11 @@ var ts;
63126
63156
  isEnumTypeRelatedTo(getParentOfSymbol(source.symbol), getParentOfSymbol(target.symbol), errorReporter))
63127
63157
  return true;
63128
63158
  }
63129
- if (s & 32768 /* Undefined */ && (!strictNullChecks || t & (32768 /* Undefined */ | 16384 /* Void */)))
63159
+ // In non-strictNullChecks mode, `undefined` and `null` are assignable to anything except `never`.
63160
+ // Since unions and intersections may reduce to `never`, we exclude them here.
63161
+ if (s & 32768 /* Undefined */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & (32768 /* Undefined */ | 16384 /* Void */)))
63130
63162
  return true;
63131
- if (s & 65536 /* Null */ && (!strictNullChecks || t & 65536 /* Null */))
63163
+ if (s & 65536 /* Null */ && (!strictNullChecks && !(t & 3145728 /* UnionOrIntersection */) || t & 65536 /* Null */))
63132
63164
  return true;
63133
63165
  if (s & 524288 /* Object */ && t & 67108864 /* NonPrimitive */)
63134
63166
  return true;
@@ -63311,24 +63343,24 @@ var ts;
63311
63343
  case ts.Diagnostics.Types_of_property_0_are_incompatible.code: {
63312
63344
  // Parenthesize a `new` if there is one
63313
63345
  if (path.indexOf("new ") === 0) {
63314
- path = "(".concat(path, ")");
63346
+ path = "(" + path + ")";
63315
63347
  }
63316
63348
  var str = "" + args[0];
63317
63349
  // If leading, just print back the arg (irrespective of if it's a valid identifier)
63318
63350
  if (path.length === 0) {
63319
- path = "".concat(str);
63351
+ path = "" + str;
63320
63352
  }
63321
63353
  // Otherwise write a dotted name if possible
63322
63354
  else if (ts.isIdentifierText(str, ts.getEmitScriptTarget(compilerOptions))) {
63323
- path = "".concat(path, ".").concat(str);
63355
+ path = path + "." + str;
63324
63356
  }
63325
63357
  // Failing that, check if the name is already a computed name
63326
63358
  else if (str[0] === "[" && str[str.length - 1] === "]") {
63327
- path = "".concat(path).concat(str);
63359
+ path = "" + path + str;
63328
63360
  }
63329
63361
  // And finally write out a computed name as a last resort
63330
63362
  else {
63331
- path = "".concat(path, "[").concat(str, "]");
63363
+ path = path + "[" + str + "]";
63332
63364
  }
63333
63365
  break;
63334
63366
  }
@@ -63357,7 +63389,7 @@ var ts;
63357
63389
  msg.code === ts.Diagnostics.Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1.code)
63358
63390
  ? ""
63359
63391
  : "...";
63360
- path = "".concat(prefix).concat(path, "(").concat(params, ")");
63392
+ path = "" + prefix + path + "(" + params + ")";
63361
63393
  }
63362
63394
  break;
63363
63395
  }
@@ -63370,7 +63402,7 @@ var ts;
63370
63402
  break;
63371
63403
  }
63372
63404
  default:
63373
- return ts.Debug.fail("Unhandled Diagnostic: ".concat(msg.code));
63405
+ return ts.Debug.fail("Unhandled Diagnostic: " + msg.code);
63374
63406
  }
63375
63407
  }
63376
63408
  if (path) {
@@ -64584,6 +64616,11 @@ var ts;
64584
64616
  }
64585
64617
  if (ts.getObjectFlags(source) & 4 /* Reference */ && ts.getObjectFlags(target) & 4 /* Reference */ && source.target === target.target &&
64586
64618
  !isTupleType(source) && !(ts.getObjectFlags(source) & 4096 /* MarkerType */ || ts.getObjectFlags(target) & 4096 /* MarkerType */)) {
64619
+ // When strictNullChecks is disabled, the element type of the empty array literal is undefinedWideningType,
64620
+ // and an empty array literal wouldn't be assignable to a `never[]` without this check.
64621
+ if (isEmptyArrayLiteralType(source)) {
64622
+ return -1 /* True */;
64623
+ }
64587
64624
  // We have type references to the same generic type, and the type references are not marker
64588
64625
  // type references (which are intended by be compared structurally). Obtain the variance
64589
64626
  // information for the type parameters and relate the type arguments accordingly.
@@ -64890,6 +64927,15 @@ var ts;
64890
64927
  }
64891
64928
  return 0 /* False */;
64892
64929
  }
64930
+ // Ensure {readonly a: whatever} is not a subtype of {a: whatever},
64931
+ // while {a: whatever} is a subtype of {readonly a: whatever}.
64932
+ // This ensures the subtype relationship is ordered, and preventing declaration order
64933
+ // from deciding which type "wins" in union subtype reduction.
64934
+ // They're still assignable to one another, since `readonly` doesn't affect assignability.
64935
+ if ((relation === subtypeRelation || relation === strictSubtypeRelation) &&
64936
+ !!(sourcePropFlags & 64 /* Readonly */) && !(targetPropFlags & 64 /* Readonly */)) {
64937
+ return 0 /* False */;
64938
+ }
64893
64939
  // If the target comes from a partial union prop, allow `undefined` in the target type
64894
64940
  var related = isPropertySymbolTypeRelated(sourceProp, targetProp, getTypeOfSourceProperty, reportErrors, intersectionState);
64895
64941
  if (!related) {
@@ -65572,7 +65618,7 @@ var ts;
65572
65618
  var constraintMarker = "";
65573
65619
  var sourceId = getTypeReferenceId(source, 0);
65574
65620
  var targetId = getTypeReferenceId(target, 0);
65575
- return "".concat(constraintMarker).concat(sourceId, ",").concat(targetId).concat(postFix);
65621
+ return "" + constraintMarker + sourceId + "," + targetId + postFix;
65576
65622
  // getTypeReferenceId(A<T, number, U>) returns "111=0-12=1"
65577
65623
  // where A.id=111 and number.id=12
65578
65624
  function getTypeReferenceId(type, depth) {
@@ -65616,7 +65662,7 @@ var ts;
65616
65662
  var postFix = intersectionState ? ":" + intersectionState : "";
65617
65663
  return isTypeReferenceWithGenericArguments(source) && isTypeReferenceWithGenericArguments(target) ?
65618
65664
  getGenericTypeReferenceRelationKey(source, target, postFix, ignoreConstraints) :
65619
- "".concat(source.id, ",").concat(target.id).concat(postFix);
65665
+ source.id + "," + target.id + postFix;
65620
65666
  }
65621
65667
  // Invoke the callback for each underlying property symbol of the given symbol and return the first
65622
65668
  // value that isn't undefined.
@@ -67743,11 +67789,11 @@ var ts;
67743
67789
  case 79 /* Identifier */:
67744
67790
  if (!ts.isThisInTypeQuery(node)) {
67745
67791
  var symbol = getResolvedSymbol(node);
67746
- return symbol !== unknownSymbol ? "".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType), "|").concat(getSymbolId(symbol)) : undefined;
67792
+ return symbol !== unknownSymbol ? (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType) + "|" + getSymbolId(symbol) : undefined;
67747
67793
  }
67748
67794
  // falls through
67749
67795
  case 108 /* ThisKeyword */:
67750
- return "0|".concat(flowContainer ? getNodeId(flowContainer) : "-1", "|").concat(getTypeId(declaredType), "|").concat(getTypeId(initialType));
67796
+ return "0|" + (flowContainer ? getNodeId(flowContainer) : "-1") + "|" + getTypeId(declaredType) + "|" + getTypeId(initialType);
67751
67797
  case 229 /* NonNullExpression */:
67752
67798
  case 211 /* ParenthesizedExpression */:
67753
67799
  return getFlowCacheKey(node.expression, declaredType, initialType, flowContainer);
@@ -71636,7 +71682,7 @@ var ts;
71636
71682
  !leftName ? rightName :
71637
71683
  !rightName ? leftName :
71638
71684
  undefined;
71639
- var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg".concat(i));
71685
+ var paramSymbol = createSymbol(1 /* FunctionScopedVariable */ | (isOptional && !isRestParam ? 16777216 /* Optional */ : 0), paramName || "arg" + i);
71640
71686
  paramSymbol.type = isRestParam ? createArrayType(unionParamType) : unionParamType;
71641
71687
  params[i] = paramSymbol;
71642
71688
  }
@@ -81503,7 +81549,7 @@ var ts;
81503
81549
  function getPropertyNameForKnownSymbolName(symbolName) {
81504
81550
  var ctorType = getGlobalESSymbolConstructorSymbol(/*reportErrors*/ false);
81505
81551
  var uniqueType = ctorType && getTypeOfPropertyOfType(getTypeOfSymbol(ctorType), ts.escapeLeadingUnderscores(symbolName));
81506
- return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@".concat(symbolName);
81552
+ return uniqueType && isTypeUsableAsPropertyName(uniqueType) ? getPropertyNameFromType(uniqueType) : "__@" + symbolName;
81507
81553
  }
81508
81554
  /**
81509
81555
  * Gets the *yield*, *return*, and *next* types of an `Iterable`-like or `AsyncIterable`-like
@@ -88555,7 +88601,7 @@ var ts;
88555
88601
  value >= 52 && value < 62 ? 48 /* _0 */ + value - 52 :
88556
88602
  value === 62 ? 43 /* plus */ :
88557
88603
  value === 63 ? 47 /* slash */ :
88558
- ts.Debug.fail("".concat(value, ": not a base64 value"));
88604
+ ts.Debug.fail(value + ": not a base64 value");
88559
88605
  }
88560
88606
  function base64FormatDecode(ch) {
88561
88607
  return ch >= 65 /* A */ && ch <= 90 /* Z */ ? ch - 65 /* A */ :
@@ -88630,7 +88676,7 @@ var ts;
88630
88676
  var mappings = ts.arrayFrom(decoder, processMapping);
88631
88677
  if (decoder.error !== undefined) {
88632
88678
  if (host.log) {
88633
- host.log("Encountered error while decoding sourcemap: ".concat(decoder.error));
88679
+ host.log("Encountered error while decoding sourcemap: " + decoder.error);
88634
88680
  }
88635
88681
  decodedMappings = ts.emptyArray;
88636
88682
  }
@@ -92305,7 +92351,7 @@ var ts;
92305
92351
  var propertyName = ts.isPropertyAccessExpression(originalNode)
92306
92352
  ? ts.declarationNameToString(originalNode.name)
92307
92353
  : ts.getTextOfNode(originalNode.argumentExpression);
92308
- ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " ".concat(propertyName, " "));
92354
+ ts.addSyntheticTrailingComment(substitute, 3 /* MultiLineCommentTrivia */, " " + propertyName + " ");
92309
92355
  }
92310
92356
  return substitute;
92311
92357
  }
@@ -93781,8 +93827,8 @@ var ts;
93781
93827
  }
93782
93828
  function createHoistedVariableForClass(name, node) {
93783
93829
  var className = getPrivateIdentifierEnvironment().className;
93784
- var prefix = className ? "_".concat(className) : "";
93785
- var identifier = factory.createUniqueName("".concat(prefix, "_").concat(name), 16 /* Optimistic */);
93830
+ var prefix = className ? "_" + className : "";
93831
+ var identifier = factory.createUniqueName(prefix + "_" + name, 16 /* Optimistic */);
93786
93832
  if (resolver.getNodeCheckFlags(node) & 524288 /* BlockScopedBindingInLoop */) {
93787
93833
  addBlockScopedVariable(identifier);
93788
93834
  }
@@ -95787,7 +95833,7 @@ var ts;
95787
95833
  specifierSourceImports = new ts.Map();
95788
95834
  currentFileState.utilizedImplicitRuntimeImports.set(importSource, specifierSourceImports);
95789
95835
  }
95790
- var generatedName = factory.createUniqueName("_".concat(name), 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */);
95836
+ var generatedName = factory.createUniqueName("_" + name, 16 /* Optimistic */ | 32 /* FileLevel */ | 64 /* AllowNameSubstitution */);
95791
95837
  var specifier = factory.createImportSpecifier(/*isTypeOnly*/ false, factory.createIdentifier(name), generatedName);
95792
95838
  generatedName.generatedImportReference = specifier;
95793
95839
  specifierSourceImports.set(name, specifier);
@@ -96935,11 +96981,11 @@ var ts;
96935
96981
  }
96936
96982
  else {
96937
96983
  if (node.kind === 245 /* BreakStatement */) {
96938
- labelMarker = "break-".concat(label.escapedText);
96984
+ labelMarker = "break-" + label.escapedText;
96939
96985
  setLabeledJump(convertedLoopState, /*isBreak*/ true, ts.idText(label), labelMarker);
96940
96986
  }
96941
96987
  else {
96942
- labelMarker = "continue-".concat(label.escapedText);
96988
+ labelMarker = "continue-" + label.escapedText;
96943
96989
  setLabeledJump(convertedLoopState, /*isBreak*/ false, ts.idText(label), labelMarker);
96944
96990
  }
96945
96991
  }
@@ -105796,7 +105842,7 @@ var ts;
105796
105842
  return getTypeAliasDeclarationVisibilityError;
105797
105843
  }
105798
105844
  else {
105799
- return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: ".concat(ts.SyntaxKind[node.kind]));
105845
+ return ts.Debug.assertNever(node, "Attempted to set a declaration diagnostic context for unhandled node kind: " + ts.SyntaxKind[node.kind]);
105800
105846
  }
105801
105847
  function getVariableDeclarationTypeVisibilityDiagnosticMessage(symbolAccessibilityResult) {
105802
105848
  if (node.kind === 253 /* VariableDeclaration */ || node.kind === 202 /* BindingElement */) {
@@ -106007,7 +106053,7 @@ var ts;
106007
106053
  ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2 :
106008
106054
  ts.Diagnostics.Parameter_0_of_accessor_has_or_is_using_private_name_1;
106009
106055
  default:
106010
- return ts.Debug.fail("Unknown parent for parameter: ".concat(ts.SyntaxKind[node.parent.kind]));
106056
+ return ts.Debug.fail("Unknown parent for parameter: " + ts.SyntaxKind[node.parent.kind]);
106011
106057
  }
106012
106058
  }
106013
106059
  function getTypeParameterConstraintVisibilityError() {
@@ -106765,7 +106811,7 @@ var ts;
106765
106811
  while (ts.length(lateMarkedStatements)) {
106766
106812
  var i = lateMarkedStatements.shift();
106767
106813
  if (!ts.isLateVisibilityPaintedStatement(i)) {
106768
- return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: ".concat(ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind));
106814
+ return ts.Debug.fail("Late replaced statement was found which is not handled by the declaration transformer!: " + (ts.SyntaxKind ? ts.SyntaxKind[i.kind] : i.kind));
106769
106815
  }
106770
106816
  var priorNeedsDeclare = needsDeclare;
106771
106817
  needsDeclare = i.parent && ts.isSourceFile(i.parent) && !(ts.isExternalModule(i.parent) && isBundledEmit);
@@ -106954,7 +107000,7 @@ var ts;
106954
107000
  return cleanup(input);
106955
107001
  return cleanup(factory.updateImportTypeNode(input, factory.updateLiteralTypeNode(input.argument, rewriteModuleSpecifier(input, input.argument.literal)), input.qualifier, ts.visitNodes(input.typeArguments, visitDeclarationSubtree, ts.isTypeNode), input.isTypeOf));
106956
107002
  }
106957
- default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: ".concat(ts.SyntaxKind[input.kind]));
107003
+ default: ts.Debug.assertNever(input, "Attempted to process unhandled node kind: " + ts.SyntaxKind[input.kind]);
106958
107004
  }
106959
107005
  }
106960
107006
  if (ts.isTupleTypeNode(input) && (ts.getLineAndCharacterOfPosition(currentSourceFile, input.pos).line === ts.getLineAndCharacterOfPosition(currentSourceFile, input.end).line)) {
@@ -107245,7 +107291,7 @@ var ts;
107245
107291
  if (extendsClause_1 && !ts.isEntityNameExpression(extendsClause_1.expression) && extendsClause_1.expression.kind !== 104 /* NullKeyword */) {
107246
107292
  // We must add a temporary declaration for the extends clause expression
107247
107293
  var oldId = input.name ? ts.unescapeLeadingUnderscores(input.name.escapedText) : "default";
107248
- var newId_1 = factory.createUniqueName("".concat(oldId, "_base"), 16 /* Optimistic */);
107294
+ var newId_1 = factory.createUniqueName(oldId + "_base", 16 /* Optimistic */);
107249
107295
  getSymbolAccessibilityDiagnostic = function () { return ({
107250
107296
  diagnosticMessage: ts.Diagnostics.extends_clause_of_exported_class_0_has_or_is_using_private_name_1,
107251
107297
  errorNode: extendsClause_1,
@@ -107286,7 +107332,7 @@ var ts;
107286
107332
  }
107287
107333
  }
107288
107334
  // Anything left unhandled is an error, so this should be unreachable
107289
- return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: ".concat(ts.SyntaxKind[input.kind]));
107335
+ return ts.Debug.assertNever(input, "Unhandled top-level node in declaration emit: " + ts.SyntaxKind[input.kind]);
107290
107336
  function cleanup(node) {
107291
107337
  if (isEnclosingDeclaration(input)) {
107292
107338
  enclosingDeclaration = previousEnclosingDeclaration;
@@ -108178,13 +108224,13 @@ var ts;
108178
108224
  if (ts.fileExtensionIs(inputFileName, ".json" /* Json */))
108179
108225
  return;
108180
108226
  if (js && configFile.options.sourceMap) {
108181
- addOutput("".concat(js, ".map"));
108227
+ addOutput(js + ".map");
108182
108228
  }
108183
108229
  if (ts.getEmitDeclarations(configFile.options)) {
108184
108230
  var dts = getOutputDeclarationFileName(inputFileName, configFile, ignoreCase, getCommonSourceDirectory);
108185
108231
  addOutput(dts);
108186
108232
  if (configFile.options.declarationMap) {
108187
- addOutput("".concat(dts, ".map"));
108233
+ addOutput(dts + ".map");
108188
108234
  }
108189
108235
  }
108190
108236
  }
@@ -108253,7 +108299,7 @@ var ts;
108253
108299
  function getFirstProjectOutput(configFile, ignoreCase) {
108254
108300
  if (ts.outFile(configFile.options)) {
108255
108301
  var jsFilePath = getOutputPathsForBundle(configFile.options, /*forceDtsPaths*/ false).jsFilePath;
108256
- return ts.Debug.checkDefined(jsFilePath, "project ".concat(configFile.options.configFilePath, " expected to have at least one output"));
108302
+ return ts.Debug.checkDefined(jsFilePath, "project " + configFile.options.configFilePath + " expected to have at least one output");
108257
108303
  }
108258
108304
  var getCommonSourceDirectory = ts.memoize(function () { return getCommonSourceDirectoryOfConfig(configFile, ignoreCase); });
108259
108305
  for (var _a = 0, _b = configFile.fileNames; _a < _b.length; _a++) {
@@ -108272,7 +108318,7 @@ var ts;
108272
108318
  var buildInfoPath = getTsBuildInfoEmitOutputFilePath(configFile.options);
108273
108319
  if (buildInfoPath)
108274
108320
  return buildInfoPath;
108275
- return ts.Debug.fail("project ".concat(configFile.options.configFilePath, " expected to have at least one output"));
108321
+ return ts.Debug.fail("project " + configFile.options.configFilePath + " expected to have at least one output");
108276
108322
  }
108277
108323
  ts.getFirstProjectOutput = getFirstProjectOutput;
108278
108324
  /*@internal*/
@@ -108498,7 +108544,7 @@ var ts;
108498
108544
  if (sourceMappingURL) {
108499
108545
  if (!writer.isAtStartOfLine())
108500
108546
  writer.rawWrite(newLine);
108501
- writer.writeComment("//# ".concat("sourceMappingURL", "=").concat(sourceMappingURL)); // Tools can sometimes see this line as a source mapping url comment
108547
+ writer.writeComment("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Tools can sometimes see this line as a source mapping url comment
108502
108548
  }
108503
108549
  // Write the source map
108504
108550
  if (sourceMapFilePath) {
@@ -108547,7 +108593,7 @@ var ts;
108547
108593
  // Encode the sourceMap into the sourceMap url
108548
108594
  var sourceMapText = sourceMapGenerator.toString();
108549
108595
  var base64SourceMapText = ts.base64encode(ts.sys, sourceMapText);
108550
- return "data:application/json;base64,".concat(base64SourceMapText);
108596
+ return "data:application/json;base64," + base64SourceMapText;
108551
108597
  }
108552
108598
  var sourceMapFile = ts.getBaseFileName(ts.normalizeSlashes(ts.Debug.checkDefined(sourceMapFilePath)));
108553
108599
  if (mapOptions.mapRoot) {
@@ -108727,7 +108773,7 @@ var ts;
108727
108773
  return;
108728
108774
  break;
108729
108775
  default:
108730
- ts.Debug.fail("Unexpected path: ".concat(name));
108776
+ ts.Debug.fail("Unexpected path: " + name);
108731
108777
  }
108732
108778
  outputFiles.push({ name: name, text: text, writeByteOrderMark: writeByteOrderMark });
108733
108779
  },
@@ -109587,7 +109633,7 @@ var ts;
109587
109633
  return writeTokenNode(node, writeKeyword);
109588
109634
  if (ts.isTokenKind(node.kind))
109589
109635
  return writeTokenNode(node, writePunctuation);
109590
- ts.Debug.fail("Unhandled SyntaxKind: ".concat(ts.Debug.formatSyntaxKind(node.kind), "."));
109636
+ ts.Debug.fail("Unhandled SyntaxKind: " + ts.Debug.formatSyntaxKind(node.kind) + ".");
109591
109637
  }
109592
109638
  function emitMappedTypeParameter(node) {
109593
109639
  emit(node.name);
@@ -109757,16 +109803,16 @@ var ts;
109757
109803
  }
109758
109804
  }
109759
109805
  function emitPlaceholder(hint, node, snippet) {
109760
- nonEscapingWrite("${".concat(snippet.order, ":")); // `${2:`
109806
+ nonEscapingWrite("${" + snippet.order + ":"); // `${2:`
109761
109807
  pipelineEmitWithHintWorker(hint, node, /*allowSnippets*/ false); // `...`
109762
109808
  nonEscapingWrite("}"); // `}`
109763
109809
  // `${2:...}`
109764
109810
  }
109765
109811
  function emitTabStop(hint, node, snippet) {
109766
109812
  // A tab stop should only be attached to an empty node, i.e. a node that doesn't emit any text.
109767
- ts.Debug.assert(node.kind === 235 /* EmptyStatement */, "A tab stop cannot be attached to a node of kind ".concat(ts.Debug.formatSyntaxKind(node.kind), "."));
109813
+ ts.Debug.assert(node.kind === 235 /* EmptyStatement */, "A tab stop cannot be attached to a node of kind " + ts.Debug.formatSyntaxKind(node.kind) + ".");
109768
109814
  ts.Debug.assert(hint !== 5 /* EmbeddedStatement */, "A tab stop cannot be attached to an embedded statement.");
109769
- nonEscapingWrite("$".concat(snippet.order));
109815
+ nonEscapingWrite("$" + snippet.order);
109770
109816
  }
109771
109817
  //
109772
109818
  // Identifiers
@@ -111528,17 +111574,17 @@ var ts;
111528
111574
  writeLine();
111529
111575
  }
111530
111576
  if (currentSourceFile && currentSourceFile.moduleName) {
111531
- writeComment("/// <amd-module name=\"".concat(currentSourceFile.moduleName, "\" />"));
111577
+ writeComment("/// <amd-module name=\"" + currentSourceFile.moduleName + "\" />");
111532
111578
  writeLine();
111533
111579
  }
111534
111580
  if (currentSourceFile && currentSourceFile.amdDependencies) {
111535
111581
  for (var _a = 0, _b = currentSourceFile.amdDependencies; _a < _b.length; _a++) {
111536
111582
  var dep = _b[_a];
111537
111583
  if (dep.name) {
111538
- writeComment("/// <amd-dependency name=\"".concat(dep.name, "\" path=\"").concat(dep.path, "\" />"));
111584
+ writeComment("/// <amd-dependency name=\"" + dep.name + "\" path=\"" + dep.path + "\" />");
111539
111585
  }
111540
111586
  else {
111541
- writeComment("/// <amd-dependency path=\"".concat(dep.path, "\" />"));
111587
+ writeComment("/// <amd-dependency path=\"" + dep.path + "\" />");
111542
111588
  }
111543
111589
  writeLine();
111544
111590
  }
@@ -111546,7 +111592,7 @@ var ts;
111546
111592
  for (var _c = 0, files_2 = files; _c < files_2.length; _c++) {
111547
111593
  var directive = files_2[_c];
111548
111594
  var pos = writer.getTextPos();
111549
- writeComment("/// <reference path=\"".concat(directive.fileName, "\" />"));
111595
+ writeComment("/// <reference path=\"" + directive.fileName + "\" />");
111550
111596
  if (bundleFileInfo)
111551
111597
  bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "reference" /* Reference */, data: directive.fileName });
111552
111598
  writeLine();
@@ -111554,7 +111600,7 @@ var ts;
111554
111600
  for (var _d = 0, types_24 = types; _d < types_24.length; _d++) {
111555
111601
  var directive = types_24[_d];
111556
111602
  var pos = writer.getTextPos();
111557
- writeComment("/// <reference types=\"".concat(directive.fileName, "\" />"));
111603
+ writeComment("/// <reference types=\"" + directive.fileName + "\" />");
111558
111604
  if (bundleFileInfo)
111559
111605
  bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "type" /* Type */, data: directive.fileName });
111560
111606
  writeLine();
@@ -111562,7 +111608,7 @@ var ts;
111562
111608
  for (var _e = 0, libs_1 = libs; _e < libs_1.length; _e++) {
111563
111609
  var directive = libs_1[_e];
111564
111610
  var pos = writer.getTextPos();
111565
- writeComment("/// <reference lib=\"".concat(directive.fileName, "\" />"));
111611
+ writeComment("/// <reference lib=\"" + directive.fileName + "\" />");
111566
111612
  if (bundleFileInfo)
111567
111613
  bundleFileInfo.sections.push({ pos: pos, end: writer.getTextPos(), kind: "lib" /* Lib */, data: directive.fileName });
111568
111614
  writeLine();
@@ -112342,9 +112388,9 @@ var ts;
112342
112388
  var textSourceNode = node.textSourceNode;
112343
112389
  if (ts.isIdentifier(textSourceNode) || ts.isNumericLiteral(textSourceNode)) {
112344
112390
  var text = ts.isNumericLiteral(textSourceNode) ? textSourceNode.text : getTextOfNode(textSourceNode);
112345
- return jsxAttributeEscape ? "\"".concat(ts.escapeJsxAttributeString(text), "\"") :
112346
- neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"".concat(ts.escapeString(text), "\"") :
112347
- "\"".concat(ts.escapeNonAsciiString(text), "\"");
112391
+ return jsxAttributeEscape ? "\"" + ts.escapeJsxAttributeString(text) + "\"" :
112392
+ neverAsciiEscape || (ts.getEmitFlags(node) & 16777216 /* NoAsciiEscaping */) ? "\"" + ts.escapeString(text) + "\"" :
112393
+ "\"" + ts.escapeNonAsciiString(text) + "\"";
112348
112394
  }
112349
112395
  else {
112350
112396
  return getLiteralTextOfNode(textSourceNode, neverAsciiEscape, jsxAttributeEscape);
@@ -112821,8 +112867,8 @@ var ts;
112821
112867
  }
112822
112868
  function formatSynthesizedComment(comment) {
112823
112869
  return comment.kind === 3 /* MultiLineCommentTrivia */
112824
- ? "/*".concat(comment.text, "*/")
112825
- : "//".concat(comment.text);
112870
+ ? "/*" + comment.text + "*/"
112871
+ : "//" + comment.text;
112826
112872
  }
112827
112873
  function emitBodyWithDetachedComments(node, detachedRange, emitCallback) {
112828
112874
  enterComment();
@@ -113543,7 +113589,7 @@ var ts;
113543
113589
  var watchedDirPath = _a.watchedDirPath, fileOrDirectory = _a.fileOrDirectory, fileOrDirectoryPath = _a.fileOrDirectoryPath, configFileName = _a.configFileName, options = _a.options, program = _a.program, extraFileExtensions = _a.extraFileExtensions, currentDirectory = _a.currentDirectory, useCaseSensitiveFileNames = _a.useCaseSensitiveFileNames, writeLog = _a.writeLog, toPath = _a.toPath;
113544
113590
  var newPath = ts.removeIgnoredPath(fileOrDirectoryPath);
113545
113591
  if (!newPath) {
113546
- writeLog("Project: ".concat(configFileName, " Detected ignored path: ").concat(fileOrDirectory));
113592
+ writeLog("Project: " + configFileName + " Detected ignored path: " + fileOrDirectory);
113547
113593
  return true;
113548
113594
  }
113549
113595
  fileOrDirectoryPath = newPath;
@@ -113552,11 +113598,11 @@ var ts;
113552
113598
  // If the the added or created file or directory is not supported file name, ignore the file
113553
113599
  // But when watched directory is added/removed, we need to reload the file list
113554
113600
  if (ts.hasExtension(fileOrDirectoryPath) && !ts.isSupportedSourceFileName(fileOrDirectory, options, extraFileExtensions)) {
113555
- writeLog("Project: ".concat(configFileName, " Detected file add/remove of non supported extension: ").concat(fileOrDirectory));
113601
+ writeLog("Project: " + configFileName + " Detected file add/remove of non supported extension: " + fileOrDirectory);
113556
113602
  return true;
113557
113603
  }
113558
113604
  if (ts.isExcludedFile(fileOrDirectory, options.configFile.configFileSpecs, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), currentDirectory), useCaseSensitiveFileNames, currentDirectory)) {
113559
- writeLog("Project: ".concat(configFileName, " Detected excluded file: ").concat(fileOrDirectory));
113605
+ writeLog("Project: " + configFileName + " Detected excluded file: " + fileOrDirectory);
113560
113606
  return true;
113561
113607
  }
113562
113608
  if (!program)
@@ -113580,7 +113626,7 @@ var ts;
113580
113626
  var builderProgram = !realProgram && !ts.isArray(program) ? program : undefined;
113581
113627
  if (hasSourceFile((filePathWithoutExtension + ".ts" /* Ts */)) ||
113582
113628
  hasSourceFile((filePathWithoutExtension + ".tsx" /* Tsx */))) {
113583
- writeLog("Project: ".concat(configFileName, " Detected output file: ").concat(fileOrDirectory));
113629
+ writeLog("Project: " + configFileName + " Detected output file: " + fileOrDirectory);
113584
113630
  return true;
113585
113631
  }
113586
113632
  return false;
@@ -113648,36 +113694,36 @@ var ts;
113648
113694
  host.useCaseSensitiveFileNames();
113649
113695
  }
113650
113696
  function createExcludeWatcherWithLogging(file, flags, options, detailInfo1, detailInfo2) {
113651
- log("ExcludeWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)));
113697
+ log("ExcludeWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
113652
113698
  return {
113653
- close: function () { return log("ExcludeWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo))); }
113699
+ close: function () { return log("ExcludeWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)); }
113654
113700
  };
113655
113701
  }
113656
113702
  function createFileWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) {
113657
- log("FileWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)));
113703
+ log("FileWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
113658
113704
  var watcher = triggerInvokingFactory.watchFile(file, cb, flags, options, detailInfo1, detailInfo2);
113659
113705
  return {
113660
113706
  close: function () {
113661
- log("FileWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo)));
113707
+ log("FileWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
113662
113708
  watcher.close();
113663
113709
  }
113664
113710
  };
113665
113711
  }
113666
113712
  function createDirectoryWatcherWithLogging(file, cb, flags, options, detailInfo1, detailInfo2) {
113667
- var watchInfo = "DirectoryWatcher:: Added:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
113713
+ var watchInfo = "DirectoryWatcher:: Added:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo);
113668
113714
  log(watchInfo);
113669
113715
  var start = ts.timestamp();
113670
113716
  var watcher = triggerInvokingFactory.watchDirectory(file, cb, flags, options, detailInfo1, detailInfo2);
113671
113717
  var elapsed = ts.timestamp() - start;
113672
- log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo));
113718
+ log("Elapsed:: " + elapsed + "ms " + watchInfo);
113673
113719
  return {
113674
113720
  close: function () {
113675
- var watchInfo = "DirectoryWatcher:: Close:: ".concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
113721
+ var watchInfo = "DirectoryWatcher:: Close:: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo);
113676
113722
  log(watchInfo);
113677
113723
  var start = ts.timestamp();
113678
113724
  watcher.close();
113679
113725
  var elapsed = ts.timestamp() - start;
113680
- log("Elapsed:: ".concat(elapsed, "ms ").concat(watchInfo));
113726
+ log("Elapsed:: " + elapsed + "ms " + watchInfo);
113681
113727
  }
113682
113728
  };
113683
113729
  }
@@ -113687,16 +113733,16 @@ var ts;
113687
113733
  for (var _i = 0; _i < arguments.length; _i++) {
113688
113734
  args[_i] = arguments[_i];
113689
113735
  }
113690
- var triggerredInfo = "".concat(key === "watchFile" ? "FileWatcher" : "DirectoryWatcher", ":: Triggered with ").concat(args[0], " ").concat(args[1] !== undefined ? args[1] : "", ":: ").concat(getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo));
113736
+ var triggerredInfo = (key === "watchFile" ? "FileWatcher" : "DirectoryWatcher") + ":: Triggered with " + args[0] + " " + (args[1] !== undefined ? args[1] : "") + ":: " + getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo);
113691
113737
  log(triggerredInfo);
113692
113738
  var start = ts.timestamp();
113693
113739
  cb.call.apply(cb, __spreadArray([/*thisArg*/ undefined], args, false));
113694
113740
  var elapsed = ts.timestamp() - start;
113695
- log("Elapsed:: ".concat(elapsed, "ms ").concat(triggerredInfo));
113741
+ log("Elapsed:: " + elapsed + "ms " + triggerredInfo);
113696
113742
  }, flags, options, detailInfo1, detailInfo2); };
113697
113743
  }
113698
113744
  function getWatchInfo(file, flags, options, detailInfo1, detailInfo2, getDetailWatchInfo) {
113699
- return "WatchInfo: ".concat(file, " ").concat(flags, " ").concat(JSON.stringify(options), " ").concat(getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : "".concat(detailInfo1, " ").concat(detailInfo2));
113745
+ return "WatchInfo: " + file + " " + flags + " " + JSON.stringify(options) + " " + (getDetailWatchInfo ? getDetailWatchInfo(detailInfo1, detailInfo2) : detailInfo2 === undefined ? detailInfo1 : detailInfo1 + " " + detailInfo2);
113700
113746
  }
113701
113747
  }
113702
113748
  ts.getWatchFactory = getWatchFactory;
@@ -114003,12 +114049,12 @@ var ts;
114003
114049
  }
114004
114050
  ts.formatDiagnostics = formatDiagnostics;
114005
114051
  function formatDiagnostic(diagnostic, host) {
114006
- var errorMessage = "".concat(ts.diagnosticCategoryName(diagnostic), " TS").concat(diagnostic.code, ": ").concat(flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine())).concat(host.getNewLine());
114052
+ var errorMessage = ts.diagnosticCategoryName(diagnostic) + " TS" + diagnostic.code + ": " + flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine()) + host.getNewLine();
114007
114053
  if (diagnostic.file) {
114008
114054
  var _a = ts.getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start), line = _a.line, character = _a.character; // TODO: GH#18217
114009
114055
  var fileName = diagnostic.file.fileName;
114010
114056
  var relativeFileName = ts.convertToRelativePath(fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); });
114011
- return "".concat(relativeFileName, "(").concat(line + 1, ",").concat(character + 1, "): ") + errorMessage;
114057
+ return relativeFileName + "(" + (line + 1) + "," + (character + 1) + "): " + errorMessage;
114012
114058
  }
114013
114059
  return errorMessage;
114014
114060
  }
@@ -114096,9 +114142,9 @@ var ts;
114096
114142
  var output = "";
114097
114143
  output += color(relativeFileName, ForegroundColorEscapeSequences.Cyan);
114098
114144
  output += ":";
114099
- output += color("".concat(firstLine + 1), ForegroundColorEscapeSequences.Yellow);
114145
+ output += color("" + (firstLine + 1), ForegroundColorEscapeSequences.Yellow);
114100
114146
  output += ":";
114101
- output += color("".concat(firstLineChar + 1), ForegroundColorEscapeSequences.Yellow);
114147
+ output += color("" + (firstLineChar + 1), ForegroundColorEscapeSequences.Yellow);
114102
114148
  return output;
114103
114149
  }
114104
114150
  ts.formatLocation = formatLocation;
@@ -114112,7 +114158,7 @@ var ts;
114112
114158
  output += " - ";
114113
114159
  }
114114
114160
  output += formatColorAndReset(ts.diagnosticCategoryName(diagnostic), getCategoryFormat(diagnostic.category));
114115
- output += formatColorAndReset(" TS".concat(diagnostic.code, ": "), ForegroundColorEscapeSequences.Grey);
114161
+ output += formatColorAndReset(" TS" + diagnostic.code + ": ", ForegroundColorEscapeSequences.Grey);
114116
114162
  output += flattenDiagnosticMessageText(diagnostic.messageText, host.getNewLine());
114117
114163
  if (diagnostic.file) {
114118
114164
  output += host.getNewLine();
@@ -114221,7 +114267,7 @@ var ts;
114221
114267
  var result = void 0;
114222
114268
  var mode = getModeForResolutionAtIndex(containingFile, i);
114223
114269
  i++;
114224
- var cacheKey = mode !== undefined ? "".concat(mode, "|").concat(name) : name;
114270
+ var cacheKey = mode !== undefined ? mode + "|" + name : name;
114225
114271
  if (cache.has(cacheKey)) {
114226
114272
  result = cache.get(cacheKey);
114227
114273
  }
@@ -116410,7 +116456,7 @@ var ts;
116410
116456
  path += (i === 2 ? "/" : "-") + components[i];
116411
116457
  i++;
116412
116458
  }
116413
- var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_".concat(libFileName, "__.ts"));
116459
+ var resolveFrom = ts.combinePaths(currentDirectory, "__lib_node_modules_lookup_" + libFileName + "__.ts");
116414
116460
  var localOverrideModuleResult = ts.resolveModuleName("@typescript/lib-" + path, resolveFrom, { moduleResolution: ts.ModuleResolutionKind.NodeJs }, host, moduleResolutionCache);
116415
116461
  if (localOverrideModuleResult === null || localOverrideModuleResult === void 0 ? void 0 : localOverrideModuleResult.resolvedModule) {
116416
116462
  return localOverrideModuleResult.resolvedModule.resolvedFileName;
@@ -117231,12 +117277,12 @@ var ts;
117231
117277
  }
117232
117278
  function directoryExistsIfProjectReferenceDeclDir(dir) {
117233
117279
  var dirPath = host.toPath(dir);
117234
- var dirPathWithTrailingDirectorySeparator = "".concat(dirPath).concat(ts.directorySeparator);
117280
+ var dirPathWithTrailingDirectorySeparator = "" + dirPath + ts.directorySeparator;
117235
117281
  return ts.forEachKey(setOfDeclarationDirectories, function (declDirPath) { return dirPath === declDirPath ||
117236
117282
  // Any parent directory of declaration dir
117237
117283
  ts.startsWith(declDirPath, dirPathWithTrailingDirectorySeparator) ||
117238
117284
  // Any directory inside declaration dir
117239
- ts.startsWith(dirPath, "".concat(declDirPath, "/")); });
117285
+ ts.startsWith(dirPath, declDirPath + "/"); });
117240
117286
  }
117241
117287
  function handleDirectoryCouldBeSymlink(directory) {
117242
117288
  var _a;
@@ -117289,7 +117335,7 @@ var ts;
117289
117335
  if (isFile && result) {
117290
117336
  // Store the real path for the file'
117291
117337
  var absolutePath = ts.getNormalizedAbsolutePath(fileOrDirectory, host.compilerHost.getCurrentDirectory());
117292
- symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "".concat(symlinkedDirectory.real).concat(absolutePath.replace(new RegExp(directoryPath, "i"), "")));
117338
+ symlinkCache.setSymlinkedFile(fileOrDirectoryPath, "" + symlinkedDirectory.real + absolutePath.replace(new RegExp(directoryPath, "i"), ""));
117293
117339
  }
117294
117340
  return result;
117295
117341
  }) || false;
@@ -117747,7 +117793,7 @@ var ts;
117747
117793
  /*forceDtsEmit*/ true);
117748
117794
  var firstDts_1 = ts.firstOrUndefined(emitOutput_1.outputFiles);
117749
117795
  if (firstDts_1) {
117750
- ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: ".concat(ts.getAnyExtensionFromPath(firstDts_1.name), " for ").concat(firstDts_1.name, ":: All output files: ").concat(JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; }))); });
117796
+ ts.Debug.assert(ts.fileExtensionIsOneOf(firstDts_1.name, [".d.ts" /* Dts */, ".d.mts" /* Dmts */, ".d.cts" /* Dcts */]), "File extension for signature expected to be dts", function () { return "Found: " + ts.getAnyExtensionFromPath(firstDts_1.name) + " for " + firstDts_1.name + ":: All output files: " + JSON.stringify(emitOutput_1.outputFiles.map(function (f) { return f.name; })); });
117751
117797
  latestSignature = (computeHash || ts.generateDjb2Hash)(firstDts_1.text);
117752
117798
  if (exportedModulesMapCache && latestSignature !== prevSignature) {
117753
117799
  updateExportedModules(sourceFile, emitOutput_1.exportedModulesFromDeclarationEmit, exportedModulesMapCache);
@@ -118255,7 +118301,7 @@ var ts;
118255
118301
  return;
118256
118302
  }
118257
118303
  else {
118258
- ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: ".concat(affectedFile.fileName));
118304
+ ts.Debug.assert(state.hasCalledUpdateShapeSignature.has(affectedFile.resolvedPath) || ((_a = state.currentAffectedFilesSignatures) === null || _a === void 0 ? void 0 : _a.has(affectedFile.resolvedPath)), "Signature not updated for affected file: " + affectedFile.fileName);
118259
118305
  }
118260
118306
  if (!state.compilerOptions.assumeChangesOnlyAffectDirectDependencies) {
118261
118307
  forEachReferencingModulesOfExportOfAffectedFile(state, affectedFile, function (state, path) { return handleDtsMayChangeOf(state, path, cancellationToken, computeHash); });
@@ -119400,7 +119446,7 @@ var ts;
119400
119446
  failedLookupLocation = ts.isRootedDiskPath(failedLookupLocation) ? ts.normalizePath(failedLookupLocation) : ts.getNormalizedAbsolutePath(failedLookupLocation, getCurrentDirectory());
119401
119447
  var failedLookupPathSplit = failedLookupLocationPath.split(ts.directorySeparator);
119402
119448
  var failedLookupSplit = failedLookupLocation.split(ts.directorySeparator);
119403
- ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: ".concat(failedLookupLocation, " failedLookupLocationPath: ").concat(failedLookupLocationPath));
119449
+ ts.Debug.assert(failedLookupSplit.length === failedLookupPathSplit.length, "FailedLookup: " + failedLookupLocation + " failedLookupLocationPath: " + failedLookupLocationPath);
119404
119450
  if (failedLookupPathSplit.length > rootSplitLength + 1) {
119405
119451
  // Instead of watching root, watch directory in root to avoid watching excluded directories not needed for module resolution
119406
119452
  return {
@@ -120482,7 +120528,7 @@ var ts;
120482
120528
  }
120483
120529
  function getJSExtensionForFile(fileName, options) {
120484
120530
  var _a;
120485
- return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension ".concat(ts.extensionFromPath(fileName), " is unsupported:: FileName:: ").concat(fileName));
120531
+ return (_a = tryGetJSExtensionForFile(fileName, options)) !== null && _a !== void 0 ? _a : ts.Debug.fail("Extension " + ts.extensionFromPath(fileName) + " is unsupported:: FileName:: " + fileName);
120486
120532
  }
120487
120533
  function tryGetJSExtensionForFile(fileName, options) {
120488
120534
  var ext = ts.tryGetExtensionFromPath(fileName);
@@ -120585,8 +120631,8 @@ var ts;
120585
120631
  return pretty ?
120586
120632
  function (diagnostic, newLine, options) {
120587
120633
  clearScreenIfNotWatchingForFileChanges(system, diagnostic, options);
120588
- var output = "[".concat(ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] ");
120589
- output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(newLine + newLine);
120634
+ var output = "[" + ts.formatColorAndReset(getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] ";
120635
+ output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (newLine + newLine);
120590
120636
  system.write(output);
120591
120637
  } :
120592
120638
  function (diagnostic, newLine, options) {
@@ -120594,8 +120640,8 @@ var ts;
120594
120640
  if (!clearScreenIfNotWatchingForFileChanges(system, diagnostic, options)) {
120595
120641
  output += newLine;
120596
120642
  }
120597
- output += "".concat(getLocaleTimeString(system), " - ");
120598
- output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(getPlainDiagnosticFollowingNewLines(diagnostic, newLine));
120643
+ output += getLocaleTimeString(system) + " - ";
120644
+ output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + getPlainDiagnosticFollowingNewLines(diagnostic, newLine);
120599
120645
  system.write(output);
120600
120646
  };
120601
120647
  }
@@ -120618,7 +120664,7 @@ var ts;
120618
120664
  .map(function (errorDiagnostic) {
120619
120665
  if (errorDiagnostic.file === undefined)
120620
120666
  return;
120621
- return "".concat(errorDiagnostic.file.fileName);
120667
+ return "" + errorDiagnostic.file.fileName;
120622
120668
  });
120623
120669
  return filesInError.map(function (fileName) {
120624
120670
  var diagnosticForFileName = ts.find(diagnostics, function (diagnostic) {
@@ -120651,7 +120697,7 @@ var ts;
120651
120697
  if (errorCount === 0)
120652
120698
  return "";
120653
120699
  var nonNilFiles = filesInError.filter(function (fileInError) { return fileInError !== undefined; });
120654
- var distinctFileNamesWithLines = nonNilFiles.map(function (fileInError) { return "".concat(fileInError.fileName, ":").concat(fileInError.line); })
120700
+ var distinctFileNamesWithLines = nonNilFiles.map(function (fileInError) { return fileInError.fileName + ":" + fileInError.line; })
120655
120701
  .filter(function (value, index, self) { return self.indexOf(value) === index; });
120656
120702
  var firstFileReference = nonNilFiles[0] && prettyPathForFileError(nonNilFiles[0], host.getCurrentDirectory());
120657
120703
  var d = errorCount === 1 ?
@@ -120664,7 +120710,7 @@ var ts;
120664
120710
  ts.Diagnostics.Found_0_errors_in_the_same_file_starting_at_Colon_1 :
120665
120711
  ts.Diagnostics.Found_0_errors_in_1_files, errorCount, distinctFileNamesWithLines.length === 1 ? firstFileReference : distinctFileNamesWithLines.length);
120666
120712
  var suffix = distinctFileNamesWithLines.length > 1 ? createTabularErrorsDisplay(nonNilFiles, host) : "";
120667
- return "".concat(newLine).concat(ts.flattenDiagnosticMessageText(d.messageText, newLine)).concat(newLine).concat(newLine).concat(suffix);
120713
+ return "" + newLine + ts.flattenDiagnosticMessageText(d.messageText, newLine) + newLine + newLine + suffix;
120668
120714
  }
120669
120715
  ts.getErrorSummaryText = getErrorSummaryText;
120670
120716
  function createTabularErrorsDisplay(filesInError, host) {
@@ -120687,7 +120733,7 @@ var ts;
120687
120733
  " ".repeat(leftPaddingGoal - errorCountDigitsLength)
120688
120734
  : "";
120689
120735
  var fileRef = prettyPathForFileError(file, host.getCurrentDirectory());
120690
- tabularData += "".concat(leftPadding).concat(errorCount, " ").concat(fileRef, "\n");
120736
+ tabularData += "" + leftPadding + errorCount + " " + fileRef + "\n";
120691
120737
  });
120692
120738
  return tabularData;
120693
120739
  }
@@ -120714,9 +120760,9 @@ var ts;
120714
120760
  var relativeFileName = function (fileName) { return ts.convertToRelativePath(fileName, program.getCurrentDirectory(), getCanonicalFileName); };
120715
120761
  for (var _i = 0, _c = program.getSourceFiles(); _i < _c.length; _i++) {
120716
120762
  var file = _c[_i];
120717
- write("".concat(toFileName(file, relativeFileName)));
120718
- (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" ".concat(fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText)); });
120719
- (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" ".concat(d.messageText)); });
120763
+ write("" + toFileName(file, relativeFileName));
120764
+ (_a = reasons.get(file.path)) === null || _a === void 0 ? void 0 : _a.forEach(function (reason) { return write(" " + fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText); });
120765
+ (_b = explainIfFileIsRedirect(file, relativeFileName)) === null || _b === void 0 ? void 0 : _b.forEach(function (d) { return write(" " + d.messageText); });
120720
120766
  }
120721
120767
  }
120722
120768
  ts.explainFiles = explainFiles;
@@ -120756,7 +120802,7 @@ var ts;
120756
120802
  if (isJsonFile && !ts.endsWith(includeSpec, ".json" /* Json */))
120757
120803
  return false;
120758
120804
  var pattern = ts.getPatternFromSpec(includeSpec, basePath, "files");
120759
- return !!pattern && ts.getRegexFromPattern("(".concat(pattern, ")$"), useCaseSensitiveFileNames).test(fileName);
120805
+ return !!pattern && ts.getRegexFromPattern("(" + pattern + ")$", useCaseSensitiveFileNames).test(fileName);
120760
120806
  });
120761
120807
  }
120762
120808
  ts.getMatchedIncludeSpec = getMatchedIncludeSpec;
@@ -120765,7 +120811,7 @@ var ts;
120765
120811
  var options = program.getCompilerOptions();
120766
120812
  if (ts.isReferencedFile(reason)) {
120767
120813
  var referenceLocation = ts.getReferencedFileLocation(function (path) { return program.getSourceFileByPath(path); }, reason);
120768
- var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"".concat(referenceLocation.text, "\"");
120814
+ var referenceText = ts.isReferenceFileLocation(referenceLocation) ? referenceLocation.file.text.substring(referenceLocation.pos, referenceLocation.end) : "\"" + referenceLocation.text + "\"";
120769
120815
  var message = void 0;
120770
120816
  ts.Debug.assert(ts.isReferenceFileLocation(referenceLocation) || reason.kind === ts.FileIncludeKind.Import, "Only synthetic references are imports");
120771
120817
  switch (reason.kind) {
@@ -120889,7 +120935,7 @@ var ts;
120889
120935
  var currentDir_1 = program.getCurrentDirectory();
120890
120936
  ts.forEach(emittedFiles, function (file) {
120891
120937
  var filepath = ts.getNormalizedAbsolutePath(file, currentDir_1);
120892
- write("TSFILE: ".concat(filepath));
120938
+ write("TSFILE: " + filepath);
120893
120939
  });
120894
120940
  listFiles(program, write);
120895
120941
  }
@@ -121218,7 +121264,7 @@ var ts;
121218
121264
  }
121219
121265
  var _b = ts.createWatchFactory(host, compilerOptions), watchFile = _b.watchFile, watchDirectory = _b.watchDirectory, writeLog = _b.writeLog;
121220
121266
  var getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames);
121221
- writeLog("Current directory: ".concat(currentDirectory, " CaseSensitiveFileNames: ").concat(useCaseSensitiveFileNames));
121267
+ writeLog("Current directory: " + currentDirectory + " CaseSensitiveFileNames: " + useCaseSensitiveFileNames);
121222
121268
  var configFileWatcher;
121223
121269
  if (configFileName) {
121224
121270
  configFileWatcher = watchFile(configFileName, scheduleProgramReload, ts.PollingInterval.High, watchOptions, ts.WatchType.ConfigFile);
@@ -121374,10 +121420,10 @@ var ts;
121374
121420
  function createNewProgram(hasInvalidatedResolution) {
121375
121421
  // Compile the program
121376
121422
  writeLog("CreatingProgramWith::");
121377
- writeLog(" roots: ".concat(JSON.stringify(rootFileNames)));
121378
- writeLog(" options: ".concat(JSON.stringify(compilerOptions)));
121423
+ writeLog(" roots: " + JSON.stringify(rootFileNames));
121424
+ writeLog(" options: " + JSON.stringify(compilerOptions));
121379
121425
  if (projectReferences)
121380
- writeLog(" projectReferences: ".concat(JSON.stringify(projectReferences)));
121426
+ writeLog(" projectReferences: " + JSON.stringify(projectReferences));
121381
121427
  var needsUpdateInTypeRootWatch = hasChangedCompilerOptions || !getCurrentProgram();
121382
121428
  hasChangedCompilerOptions = false;
121383
121429
  hasChangedConfigFileParsingErrors = false;
@@ -121538,7 +121584,7 @@ var ts;
121538
121584
  return resolutionCache.invalidateResolutionsOfFailedLookupLocations();
121539
121585
  }
121540
121586
  var pending = clearInvalidateResolutionsOfFailedLookupLocations();
121541
- writeLog("Scheduling invalidateFailedLookup".concat(pending ? ", Cancelled earlier one" : ""));
121587
+ writeLog("Scheduling invalidateFailedLookup" + (pending ? ", Cancelled earlier one" : ""));
121542
121588
  timerToInvalidateFailedLookupResolutions = host.setTimeout(invalidateResolutionsOfFailedLookup, 250);
121543
121589
  }
121544
121590
  function invalidateResolutionsOfFailedLookup() {
@@ -121598,7 +121644,7 @@ var ts;
121598
121644
  synchronizeProgram();
121599
121645
  }
121600
121646
  function reloadConfigFile() {
121601
- writeLog("Reloading config file: ".concat(configFileName));
121647
+ writeLog("Reloading config file: " + configFileName);
121602
121648
  reloadLevel = ts.ConfigFileProgramReloadLevel.None;
121603
121649
  if (cachedDirectoryStructureHost) {
121604
121650
  cachedDirectoryStructureHost.clearCache();
@@ -121639,7 +121685,7 @@ var ts;
121639
121685
  return config.parsedCommandLine;
121640
121686
  }
121641
121687
  }
121642
- writeLog("Loading config file: ".concat(configFileName));
121688
+ writeLog("Loading config file: " + configFileName);
121643
121689
  var parsedCommandLine = host.getParsedCommandLine ?
121644
121690
  host.getParsedCommandLine(configFileName) :
121645
121691
  getParsedCommandLineFromConfigFileHost(configFileName);
@@ -121943,8 +121989,8 @@ var ts;
121943
121989
  */
121944
121990
  function createBuilderStatusReporter(system, pretty) {
121945
121991
  return function (diagnostic) {
121946
- var output = pretty ? "[".concat(ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey), "] ") : "".concat(ts.getLocaleTimeString(system), " - ");
121947
- output += "".concat(ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine)).concat(system.newLine + system.newLine);
121992
+ var output = pretty ? "[" + ts.formatColorAndReset(ts.getLocaleTimeString(system), ts.ForegroundColorEscapeSequences.Grey) + "] " : ts.getLocaleTimeString(system) + " - ";
121993
+ output += "" + ts.flattenDiagnosticMessageText(diagnostic.messageText, system.newLine) + (system.newLine + system.newLine);
121948
121994
  system.write(output);
121949
121995
  };
121950
121996
  }
@@ -122719,7 +122765,7 @@ var ts;
122719
122765
  function listEmittedFile(_a, proj, file) {
122720
122766
  var write = _a.write;
122721
122767
  if (write && proj.options.listEmittedFiles) {
122722
- write("TSFILE: ".concat(file));
122768
+ write("TSFILE: " + file);
122723
122769
  }
122724
122770
  }
122725
122771
  function getOldProgram(_a, proj, parsed) {
@@ -122748,7 +122794,7 @@ var ts;
122748
122794
  function buildErrors(state, resolvedPath, program, config, diagnostics, buildResult, errorType) {
122749
122795
  var canEmitBuildInfo = !(buildResult & BuildResultFlags.SyntaxErrors) && program && !ts.outFile(program.getCompilerOptions());
122750
122796
  reportAndStoreErrors(state, resolvedPath, diagnostics);
122751
- state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: "".concat(errorType, " errors") });
122797
+ state.projectStatus.set(resolvedPath, { type: ts.UpToDateStatusType.Unbuildable, reason: errorType + " errors" });
122752
122798
  if (canEmitBuildInfo)
122753
122799
  return { buildResult: buildResult, step: BuildStep.EmitBuildInfo };
122754
122800
  afterProgramDone(state, program, config);
@@ -122776,7 +122822,7 @@ var ts;
122776
122822
  if (!host.fileExists(inputFile)) {
122777
122823
  return {
122778
122824
  type: ts.UpToDateStatusType.Unbuildable,
122779
- reason: "".concat(inputFile, " does not exist")
122825
+ reason: inputFile + " does not exist"
122780
122826
  };
122781
122827
  }
122782
122828
  if (!force) {
@@ -123135,7 +123181,7 @@ var ts;
123135
123181
  }
123136
123182
  }
123137
123183
  if (filesToDelete) {
123138
- reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * ".concat(f); }).join(""));
123184
+ reportStatus(state, ts.Diagnostics.A_non_dry_build_would_delete_the_following_files_Colon_0, filesToDelete.map(function (f) { return "\r\n * " + f; }).join(""));
123139
123185
  }
123140
123186
  return ts.ExitStatus.Success;
123141
123187
  }
@@ -123473,7 +123519,7 @@ var ts;
123473
123519
  function nowString() {
123474
123520
  // E.g. "12:34:56.789"
123475
123521
  var d = new Date();
123476
- return "".concat(ts.padLeft(d.getHours().toString(), 2, "0"), ":").concat(ts.padLeft(d.getMinutes().toString(), 2, "0"), ":").concat(ts.padLeft(d.getSeconds().toString(), 2, "0"), ".").concat(ts.padLeft(d.getMilliseconds().toString(), 3, "0"));
123522
+ return ts.padLeft(d.getHours().toString(), 2, "0") + ":" + ts.padLeft(d.getMinutes().toString(), 2, "0") + ":" + ts.padLeft(d.getSeconds().toString(), 2, "0") + "." + ts.padLeft(d.getMilliseconds().toString(), 3, "0");
123477
123523
  }
123478
123524
  server.nowString = nowString;
123479
123525
  })(server = ts.server || (ts.server = {}));
@@ -123484,7 +123530,7 @@ var ts;
123484
123530
  var JsTyping;
123485
123531
  (function (JsTyping) {
123486
123532
  function isTypingUpToDate(cachedTyping, availableTypingVersions) {
123487
- var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts".concat(ts.versionMajorMinor)) || ts.getProperty(availableTypingVersions, "latest"));
123533
+ var availableVersion = new ts.Version(ts.getProperty(availableTypingVersions, "ts" + ts.versionMajorMinor) || ts.getProperty(availableTypingVersions, "latest"));
123488
123534
  return availableVersion.compareTo(cachedTyping.version) <= 0;
123489
123535
  }
123490
123536
  JsTyping.isTypingUpToDate = isTypingUpToDate;
@@ -123537,7 +123583,7 @@ var ts;
123537
123583
  "worker_threads",
123538
123584
  "zlib"
123539
123585
  ];
123540
- JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:".concat(name); });
123586
+ JsTyping.prefixedNodeCoreModuleList = unprefixedNodeCoreModuleList.map(function (name) { return "node:" + name; });
123541
123587
  JsTyping.nodeCoreModuleList = __spreadArray(__spreadArray([], unprefixedNodeCoreModuleList, true), JsTyping.prefixedNodeCoreModuleList, true);
123542
123588
  JsTyping.nodeCoreModules = new ts.Set(JsTyping.nodeCoreModuleList);
123543
123589
  function nonRelativeModuleNameForTypingCache(moduleName) {
@@ -123610,7 +123656,7 @@ var ts;
123610
123656
  var excludeTypingName = exclude_1[_i];
123611
123657
  var didDelete = inferredTypings.delete(excludeTypingName);
123612
123658
  if (didDelete && log)
123613
- log("Typing for ".concat(excludeTypingName, " is in exclude list, will be ignored."));
123659
+ log("Typing for " + excludeTypingName + " is in exclude list, will be ignored.");
123614
123660
  }
123615
123661
  var newTypingNames = [];
123616
123662
  var cachedTypingPaths = [];
@@ -123624,7 +123670,7 @@ var ts;
123624
123670
  });
123625
123671
  var result = { cachedTypingPaths: cachedTypingPaths, newTypingNames: newTypingNames, filesToWatch: filesToWatch };
123626
123672
  if (log)
123627
- log("Result: ".concat(JSON.stringify(result)));
123673
+ log("Result: " + JSON.stringify(result));
123628
123674
  return result;
123629
123675
  function addInferredTyping(typingName) {
123630
123676
  if (!inferredTypings.has(typingName)) {
@@ -123633,7 +123679,7 @@ var ts;
123633
123679
  }
123634
123680
  function addInferredTypings(typingNames, message) {
123635
123681
  if (log)
123636
- log("".concat(message, ": ").concat(JSON.stringify(typingNames)));
123682
+ log(message + ": " + JSON.stringify(typingNames));
123637
123683
  ts.forEach(typingNames, addInferredTyping);
123638
123684
  }
123639
123685
  /**
@@ -123655,7 +123701,7 @@ var ts;
123655
123701
  filesToWatch.push(manifestPath);
123656
123702
  manifest = ts.readConfigFile(manifestPath, function (path) { return host.readFile(path); }).config;
123657
123703
  manifestTypingNames = ts.flatMap([manifest.dependencies, manifest.devDependencies, manifest.optionalDependencies, manifest.peerDependencies], ts.getOwnKeys);
123658
- addInferredTypings(manifestTypingNames, "Typing names in '".concat(manifestPath, "' dependencies"));
123704
+ addInferredTypings(manifestTypingNames, "Typing names in '" + manifestPath + "' dependencies");
123659
123705
  }
123660
123706
  // Now we scan the directories for typing information in
123661
123707
  // already-installed dependencies (if present). Note that this
@@ -123699,7 +123745,7 @@ var ts;
123699
123745
  !isScoped && pathComponents[pathComponents.length - 3].toLowerCase() === modulesDirName; // `node_modules/foo`
123700
123746
  });
123701
123747
  if (log)
123702
- log("Searching for typing names in ".concat(packagesFolderPath, "; all files: ").concat(JSON.stringify(dependencyManifestNames)));
123748
+ log("Searching for typing names in " + packagesFolderPath + "; all files: " + JSON.stringify(dependencyManifestNames));
123703
123749
  // Once we have the names of things to look up, we iterate over
123704
123750
  // and either collect their included typings, or add them to the
123705
123751
  // list of typings we need to look up separately.
@@ -123718,12 +123764,12 @@ var ts;
123718
123764
  var absolutePath = ts.getNormalizedAbsolutePath(ownTypes, ts.getDirectoryPath(normalizedFileName));
123719
123765
  if (host.fileExists(absolutePath)) {
123720
123766
  if (log)
123721
- log(" Package '".concat(manifest_1.name, "' provides its own types."));
123767
+ log(" Package '" + manifest_1.name + "' provides its own types.");
123722
123768
  inferredTypings.set(manifest_1.name, absolutePath);
123723
123769
  }
123724
123770
  else {
123725
123771
  if (log)
123726
- log(" Package '".concat(manifest_1.name, "' provides its own types but they are missing."));
123772
+ log(" Package '" + manifest_1.name + "' provides its own types but they are missing.");
123727
123773
  }
123728
123774
  }
123729
123775
  else {
@@ -123819,15 +123865,15 @@ var ts;
123819
123865
  var kind = isScopeName ? "Scope" : "Package";
123820
123866
  switch (result) {
123821
123867
  case 1 /* EmptyName */:
123822
- return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot be empty");
123868
+ return "'" + typing + "':: " + kind + " name '" + name + "' cannot be empty";
123823
123869
  case 2 /* NameTooLong */:
123824
- return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' should be less than ").concat(maxPackageNameLength, " characters");
123870
+ return "'" + typing + "':: " + kind + " name '" + name + "' should be less than " + maxPackageNameLength + " characters";
123825
123871
  case 3 /* NameStartsWithDot */:
123826
- return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '.'");
123872
+ return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '.'";
123827
123873
  case 4 /* NameStartsWithUnderscore */:
123828
- return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' cannot start with '_'");
123874
+ return "'" + typing + "':: " + kind + " name '" + name + "' cannot start with '_'";
123829
123875
  case 5 /* NameContainsNonURISafeCharacters */:
123830
- return "'".concat(typing, "':: ").concat(kind, " name '").concat(name, "' contains non URI safe characters");
123876
+ return "'" + typing + "':: " + kind + " name '" + name + "' contains non URI safe characters";
123831
123877
  case 0 /* Ok */:
123832
123878
  return ts.Debug.fail(); // Shouldn't have called this.
123833
123879
  default:
@@ -123853,7 +123899,7 @@ var ts;
123853
123899
  }
123854
123900
  catch (e) {
123855
123901
  if (log.isEnabled()) {
123856
- log.writeLine("Failed to resolve ".concat(packageName, " in folder '").concat(cachePath, "': ").concat(e.message));
123902
+ log.writeLine("Failed to resolve " + packageName + " in folder '" + cachePath + "': " + e.message);
123857
123903
  }
123858
123904
  return undefined;
123859
123905
  }
@@ -123874,7 +123920,7 @@ var ts;
123874
123920
  var sliceStart = packageNames.length - remaining;
123875
123921
  var command, toSlice = remaining;
123876
123922
  while (true) {
123877
- command = "".concat(npmPath, " install --ignore-scripts ").concat((toSlice === packageNames.length ? packageNames : packageNames.slice(sliceStart, sliceStart + toSlice)).join(" "), " --save-dev --user-agent=\"typesInstaller/").concat(tsVersion, "\"");
123923
+ command = npmPath + " install --ignore-scripts " + (toSlice === packageNames.length ? packageNames : packageNames.slice(sliceStart, sliceStart + toSlice)).join(" ") + " --save-dev --user-agent=\"typesInstaller/" + tsVersion + "\"";
123878
123924
  if (command.length < 8000) {
123879
123925
  break;
123880
123926
  }
@@ -123901,12 +123947,12 @@ var ts;
123901
123947
  ProjectWatcherType["DirectoryWatcher"] = "DirectoryWatcher";
123902
123948
  })(ProjectWatcherType || (ProjectWatcherType = {}));
123903
123949
  function getDetailWatchInfo(projectName, watchers) {
123904
- return "Project: ".concat(projectName, " watcher already invoked: ").concat(watchers.isInvoked);
123950
+ return "Project: " + projectName + " watcher already invoked: " + watchers.isInvoked;
123905
123951
  }
123906
123952
  var TypingsInstaller = /** @class */ (function () {
123907
123953
  function TypingsInstaller(installTypingHost, globalCachePath, safeListPath, typesMapLocation, throttleLimit, log) {
123908
- if (log === void 0) { log = nullLog; }
123909
123954
  var _this = this;
123955
+ if (log === void 0) { log = nullLog; }
123910
123956
  this.installTypingHost = installTypingHost;
123911
123957
  this.globalCachePath = globalCachePath;
123912
123958
  this.safeListPath = safeListPath;
@@ -123925,7 +123971,7 @@ var ts;
123925
123971
  this.globalCachePackageJsonPath = ts.combinePaths(globalCachePath, "package.json");
123926
123972
  var isLoggingEnabled = this.log.isEnabled();
123927
123973
  if (isLoggingEnabled) {
123928
- this.log.writeLine("Global cache location '".concat(globalCachePath, "', safe file path '").concat(safeListPath, "', types map path ").concat(typesMapLocation));
123974
+ this.log.writeLine("Global cache location '" + globalCachePath + "', safe file path '" + safeListPath + "', types map path " + typesMapLocation);
123929
123975
  }
123930
123976
  this.watchFactory = ts.getWatchFactory(this.installTypingHost, isLoggingEnabled ? ts.WatchLogLevel.Verbose : ts.WatchLogLevel.None, function (s) { return _this.log.writeLine(s); }, getDetailWatchInfo);
123931
123977
  this.processCacheLocation(this.globalCachePath);
@@ -123935,30 +123981,30 @@ var ts;
123935
123981
  };
123936
123982
  TypingsInstaller.prototype.closeWatchers = function (projectName) {
123937
123983
  if (this.log.isEnabled()) {
123938
- this.log.writeLine("Closing file watchers for project '".concat(projectName, "'"));
123984
+ this.log.writeLine("Closing file watchers for project '" + projectName + "'");
123939
123985
  }
123940
123986
  var watchers = this.projectWatchers.get(projectName);
123941
123987
  if (!watchers) {
123942
123988
  if (this.log.isEnabled()) {
123943
- this.log.writeLine("No watchers are registered for project '".concat(projectName, "'"));
123989
+ this.log.writeLine("No watchers are registered for project '" + projectName + "'");
123944
123990
  }
123945
123991
  return;
123946
123992
  }
123947
123993
  ts.clearMap(watchers, ts.closeFileWatcher);
123948
123994
  this.projectWatchers.delete(projectName);
123949
123995
  if (this.log.isEnabled()) {
123950
- this.log.writeLine("Closing file watchers for project '".concat(projectName, "' - done."));
123996
+ this.log.writeLine("Closing file watchers for project '" + projectName + "' - done.");
123951
123997
  }
123952
123998
  };
123953
123999
  TypingsInstaller.prototype.install = function (req) {
123954
124000
  var _this = this;
123955
124001
  if (this.log.isEnabled()) {
123956
- this.log.writeLine("Got install request ".concat(JSON.stringify(req)));
124002
+ this.log.writeLine("Got install request " + JSON.stringify(req));
123957
124003
  }
123958
124004
  // load existing typing information from the cache
123959
124005
  if (req.cachePath) {
123960
124006
  if (this.log.isEnabled()) {
123961
- this.log.writeLine("Request specifies cache path '".concat(req.cachePath, "', loading cached information..."));
124007
+ this.log.writeLine("Request specifies cache path '" + req.cachePath + "', loading cached information...");
123962
124008
  }
123963
124009
  this.processCacheLocation(req.cachePath);
123964
124010
  }
@@ -123967,7 +124013,7 @@ var ts;
123967
124013
  }
123968
124014
  var discoverTypingsResult = ts.JsTyping.discoverTypings(this.installTypingHost, this.log.isEnabled() ? (function (s) { return _this.log.writeLine(s); }) : undefined, req.fileNames, req.projectRootPath, this.safeList, this.packageNameToTypingLocation, req.typeAcquisition, req.unresolvedImports, this.typesRegistry);
123969
124015
  if (this.log.isEnabled()) {
123970
- this.log.writeLine("Finished typings discovery: ".concat(JSON.stringify(discoverTypingsResult)));
124016
+ this.log.writeLine("Finished typings discovery: " + JSON.stringify(discoverTypingsResult));
123971
124017
  }
123972
124018
  // start watching files
123973
124019
  this.watchFiles(req.projectName, discoverTypingsResult.filesToWatch, req.projectRootPath, req.watchOptions);
@@ -123987,17 +124033,17 @@ var ts;
123987
124033
  if (this.typesMapLocation) {
123988
124034
  var safeListFromMap = ts.JsTyping.loadTypesMap(this.installTypingHost, this.typesMapLocation);
123989
124035
  if (safeListFromMap) {
123990
- this.log.writeLine("Loaded safelist from types map file '".concat(this.typesMapLocation, "'"));
124036
+ this.log.writeLine("Loaded safelist from types map file '" + this.typesMapLocation + "'");
123991
124037
  this.safeList = safeListFromMap;
123992
124038
  return;
123993
124039
  }
123994
- this.log.writeLine("Failed to load safelist from types map file '".concat(this.typesMapLocation, "'"));
124040
+ this.log.writeLine("Failed to load safelist from types map file '" + this.typesMapLocation + "'");
123995
124041
  }
123996
124042
  this.safeList = ts.JsTyping.loadSafeList(this.installTypingHost, this.safeListPath);
123997
124043
  };
123998
124044
  TypingsInstaller.prototype.processCacheLocation = function (cacheLocation) {
123999
124045
  if (this.log.isEnabled()) {
124000
- this.log.writeLine("Processing cache location '".concat(cacheLocation, "'"));
124046
+ this.log.writeLine("Processing cache location '" + cacheLocation + "'");
124001
124047
  }
124002
124048
  if (this.knownCachesSet.has(cacheLocation)) {
124003
124049
  if (this.log.isEnabled()) {
@@ -124008,14 +124054,14 @@ var ts;
124008
124054
  var packageJson = ts.combinePaths(cacheLocation, "package.json");
124009
124055
  var packageLockJson = ts.combinePaths(cacheLocation, "package-lock.json");
124010
124056
  if (this.log.isEnabled()) {
124011
- this.log.writeLine("Trying to find '".concat(packageJson, "'..."));
124057
+ this.log.writeLine("Trying to find '" + packageJson + "'...");
124012
124058
  }
124013
124059
  if (this.installTypingHost.fileExists(packageJson) && this.installTypingHost.fileExists(packageLockJson)) {
124014
124060
  var npmConfig = JSON.parse(this.installTypingHost.readFile(packageJson)); // TODO: GH#18217
124015
124061
  var npmLock = JSON.parse(this.installTypingHost.readFile(packageLockJson)); // TODO: GH#18217
124016
124062
  if (this.log.isEnabled()) {
124017
- this.log.writeLine("Loaded content of '".concat(packageJson, "': ").concat(JSON.stringify(npmConfig)));
124018
- this.log.writeLine("Loaded content of '".concat(packageLockJson, "'"));
124063
+ this.log.writeLine("Loaded content of '" + packageJson + "': " + JSON.stringify(npmConfig));
124064
+ this.log.writeLine("Loaded content of '" + packageLockJson + "'");
124019
124065
  }
124020
124066
  if (npmConfig.devDependencies && npmLock.dependencies) {
124021
124067
  for (var key in npmConfig.devDependencies) {
@@ -124039,11 +124085,11 @@ var ts;
124039
124085
  continue;
124040
124086
  }
124041
124087
  if (this.log.isEnabled()) {
124042
- this.log.writeLine("New typing for package ".concat(packageName, " from '").concat(typingFile, "' conflicts with existing typing file '").concat(existingTypingFile, "'"));
124088
+ this.log.writeLine("New typing for package " + packageName + " from '" + typingFile + "' conflicts with existing typing file '" + existingTypingFile + "'");
124043
124089
  }
124044
124090
  }
124045
124091
  if (this.log.isEnabled()) {
124046
- this.log.writeLine("Adding entry into typings cache: '".concat(packageName, "' => '").concat(typingFile, "'"));
124092
+ this.log.writeLine("Adding entry into typings cache: '" + packageName + "' => '" + typingFile + "'");
124047
124093
  }
124048
124094
  var info = ts.getProperty(npmLock.dependencies, key);
124049
124095
  var version_1 = info && info.version;
@@ -124056,7 +124102,7 @@ var ts;
124056
124102
  }
124057
124103
  }
124058
124104
  if (this.log.isEnabled()) {
124059
- this.log.writeLine("Finished processing cache location '".concat(cacheLocation, "'"));
124105
+ this.log.writeLine("Finished processing cache location '" + cacheLocation + "'");
124060
124106
  }
124061
124107
  this.knownCachesSet.add(cacheLocation);
124062
124108
  };
@@ -124066,7 +124112,7 @@ var ts;
124066
124112
  var typingKey = ts.mangleScopedPackageName(typing);
124067
124113
  if (_this.missingTypingsSet.has(typingKey)) {
124068
124114
  if (_this.log.isEnabled())
124069
- _this.log.writeLine("'".concat(typing, "':: '").concat(typingKey, "' is in missingTypingsSet - skipping..."));
124115
+ _this.log.writeLine("'" + typing + "':: '" + typingKey + "' is in missingTypingsSet - skipping...");
124070
124116
  return undefined;
124071
124117
  }
124072
124118
  var validationResult = ts.JsTyping.validatePackageName(typing);
@@ -124079,12 +124125,12 @@ var ts;
124079
124125
  }
124080
124126
  if (!_this.typesRegistry.has(typingKey)) {
124081
124127
  if (_this.log.isEnabled())
124082
- _this.log.writeLine("'".concat(typing, "':: Entry for package '").concat(typingKey, "' does not exist in local types registry - skipping..."));
124128
+ _this.log.writeLine("'" + typing + "':: Entry for package '" + typingKey + "' does not exist in local types registry - skipping...");
124083
124129
  return undefined;
124084
124130
  }
124085
124131
  if (_this.packageNameToTypingLocation.get(typingKey) && ts.JsTyping.isTypingUpToDate(_this.packageNameToTypingLocation.get(typingKey), _this.typesRegistry.get(typingKey))) {
124086
124132
  if (_this.log.isEnabled())
124087
- _this.log.writeLine("'".concat(typing, "':: '").concat(typingKey, "' already has an up-to-date typing - skipping..."));
124133
+ _this.log.writeLine("'" + typing + "':: '" + typingKey + "' already has an up-to-date typing - skipping...");
124088
124134
  return undefined;
124089
124135
  }
124090
124136
  return typingKey;
@@ -124093,11 +124139,11 @@ var ts;
124093
124139
  TypingsInstaller.prototype.ensurePackageDirectoryExists = function (directory) {
124094
124140
  var npmConfigPath = ts.combinePaths(directory, "package.json");
124095
124141
  if (this.log.isEnabled()) {
124096
- this.log.writeLine("Npm config file: ".concat(npmConfigPath));
124142
+ this.log.writeLine("Npm config file: " + npmConfigPath);
124097
124143
  }
124098
124144
  if (!this.installTypingHost.fileExists(npmConfigPath)) {
124099
124145
  if (this.log.isEnabled()) {
124100
- this.log.writeLine("Npm config file: '".concat(npmConfigPath, "' is missing, creating new one..."));
124146
+ this.log.writeLine("Npm config file: '" + npmConfigPath + "' is missing, creating new one...");
124101
124147
  }
124102
124148
  this.ensureDirectoryExists(directory, this.installTypingHost);
124103
124149
  this.installTypingHost.writeFile(npmConfigPath, '{ "private": true }');
@@ -124106,7 +124152,7 @@ var ts;
124106
124152
  TypingsInstaller.prototype.installTypings = function (req, cachePath, currentlyCachedTypings, typingsToInstall) {
124107
124153
  var _this = this;
124108
124154
  if (this.log.isEnabled()) {
124109
- this.log.writeLine("Installing typings ".concat(JSON.stringify(typingsToInstall)));
124155
+ this.log.writeLine("Installing typings " + JSON.stringify(typingsToInstall));
124110
124156
  }
124111
124157
  var filteredTypings = this.filterTypings(typingsToInstall);
124112
124158
  if (filteredTypings.length === 0) {
@@ -124133,7 +124179,7 @@ var ts;
124133
124179
  try {
124134
124180
  if (!ok) {
124135
124181
  if (_this.log.isEnabled()) {
124136
- _this.log.writeLine("install request failed, marking packages as missing to prevent repeated requests: ".concat(JSON.stringify(filteredTypings)));
124182
+ _this.log.writeLine("install request failed, marking packages as missing to prevent repeated requests: " + JSON.stringify(filteredTypings));
124137
124183
  }
124138
124184
  for (var _i = 0, filteredTypings_1 = filteredTypings; _i < filteredTypings_1.length; _i++) {
124139
124185
  var typing = filteredTypings_1[_i];
@@ -124143,7 +124189,7 @@ var ts;
124143
124189
  }
124144
124190
  // TODO: watch project directory
124145
124191
  if (_this.log.isEnabled()) {
124146
- _this.log.writeLine("Installed typings ".concat(JSON.stringify(scopedTypings)));
124192
+ _this.log.writeLine("Installed typings " + JSON.stringify(scopedTypings));
124147
124193
  }
124148
124194
  var installedTypingFiles = [];
124149
124195
  for (var _a = 0, filteredTypings_2 = filteredTypings; _a < filteredTypings_2.length; _a++) {
@@ -124155,13 +124201,13 @@ var ts;
124155
124201
  }
124156
124202
  // packageName is guaranteed to exist in typesRegistry by filterTypings
124157
124203
  var distTags = _this.typesRegistry.get(packageName);
124158
- var newVersion = new ts.Version(distTags["ts".concat(ts.versionMajorMinor)] || distTags[_this.latestDistTag]);
124204
+ var newVersion = new ts.Version(distTags["ts" + ts.versionMajorMinor] || distTags[_this.latestDistTag]);
124159
124205
  var newTyping = { typingLocation: typingFile, version: newVersion };
124160
124206
  _this.packageNameToTypingLocation.set(packageName, newTyping);
124161
124207
  installedTypingFiles.push(typingFile);
124162
124208
  }
124163
124209
  if (_this.log.isEnabled()) {
124164
- _this.log.writeLine("Installed typing files ".concat(JSON.stringify(installedTypingFiles)));
124210
+ _this.log.writeLine("Installed typing files " + JSON.stringify(installedTypingFiles));
124165
124211
  }
124166
124212
  _this.sendResponse(_this.createSetTypings(req, currentlyCachedTypings.concat(installedTypingFiles)));
124167
124213
  }
@@ -124215,7 +124261,7 @@ var ts;
124215
124261
  return;
124216
124262
  }
124217
124263
  if (isLoggingEnabled) {
124218
- _this.log.writeLine("".concat(projectWatcherType, ":: Added:: WatchInfo: ").concat(path));
124264
+ _this.log.writeLine(projectWatcherType + ":: Added:: WatchInfo: " + path);
124219
124265
  }
124220
124266
  var watcher = projectWatcherType === "FileWatcher" /* FileWatcher */ ?
124221
124267
  _this.watchFactory.watchFile(path, function () {
@@ -124236,7 +124282,7 @@ var ts;
124236
124282
  }, 1 /* Recursive */, options, projectName, watchers);
124237
124283
  watchers.set(canonicalPath, isLoggingEnabled ? {
124238
124284
  close: function () {
124239
- _this.log.writeLine("".concat(projectWatcherType, ":: Closed:: WatchInfo: ").concat(path));
124285
+ _this.log.writeLine(projectWatcherType + ":: Closed:: WatchInfo: " + path);
124240
124286
  watcher.close();
124241
124287
  }
124242
124288
  } : watcher);
@@ -124311,7 +124357,7 @@ var ts;
124311
124357
  typingsInstaller.TypingsInstaller = TypingsInstaller;
124312
124358
  /* @internal */
124313
124359
  function typingsName(packageName) {
124314
- return "@types/".concat(packageName, "@ts").concat(ts.versionMajorMinor);
124360
+ return "@types/" + packageName + "@ts" + ts.versionMajorMinor;
124315
124361
  }
124316
124362
  typingsInstaller.typingsName = typingsName;
124317
124363
  })(typingsInstaller = server.typingsInstaller || (server.typingsInstaller = {}));
@@ -124336,7 +124382,7 @@ var ts;
124336
124382
  if (typeof _this.logFile !== "string")
124337
124383
  return;
124338
124384
  try {
124339
- fs.appendFileSync(_this.logFile, "[".concat(server.nowString(), "] ").concat(text).concat(ts.sys.newLine));
124385
+ fs.appendFileSync(_this.logFile, "[" + server.nowString() + "] " + text + ts.sys.newLine);
124340
124386
  }
124341
124387
  catch (e) {
124342
124388
  _this.logFile = undefined;
@@ -124352,7 +124398,7 @@ var ts;
124352
124398
  return npmPath;
124353
124399
  }
124354
124400
  if (host.fileExists(npmPath)) {
124355
- return "\"".concat(npmPath, "\"");
124401
+ return "\"" + npmPath + "\"";
124356
124402
  }
124357
124403
  }
124358
124404
  return "npm";
@@ -124360,7 +124406,7 @@ var ts;
124360
124406
  function loadTypesRegistryFile(typesRegistryFilePath, host, log) {
124361
124407
  if (!host.fileExists(typesRegistryFilePath)) {
124362
124408
  if (log.isEnabled()) {
124363
- log.writeLine("Types registry file '".concat(typesRegistryFilePath, "' does not exist"));
124409
+ log.writeLine("Types registry file '" + typesRegistryFilePath + "' does not exist");
124364
124410
  }
124365
124411
  return new ts.Map();
124366
124412
  }
@@ -124370,14 +124416,14 @@ var ts;
124370
124416
  }
124371
124417
  catch (e) {
124372
124418
  if (log.isEnabled()) {
124373
- log.writeLine("Error when loading types registry file '".concat(typesRegistryFilePath, "': ").concat(e.message, ", ").concat(e.stack));
124419
+ log.writeLine("Error when loading types registry file '" + typesRegistryFilePath + "': " + e.message + ", " + e.stack);
124374
124420
  }
124375
124421
  return new ts.Map();
124376
124422
  }
124377
124423
  }
124378
124424
  var typesRegistryPackageName = "types-registry";
124379
124425
  function getTypesRegistryFileLocation(globalTypingsCacheLocation) {
124380
- return ts.combinePaths(ts.normalizeSlashes(globalTypingsCacheLocation), "node_modules/".concat(typesRegistryPackageName, "/index.json"));
124426
+ return ts.combinePaths(ts.normalizeSlashes(globalTypingsCacheLocation), "node_modules/" + typesRegistryPackageName + "/index.json");
124381
124427
  }
124382
124428
  var NodeTypingsInstaller = (function (_super) {
124383
124429
  __extends(NodeTypingsInstaller, _super);
@@ -124385,27 +124431,27 @@ var ts;
124385
124431
  var _this = _super.call(this, ts.sys, globalTypingsCacheLocation, typingSafeListLocation ? ts.toPath(typingSafeListLocation, "", ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames)) : ts.toPath("typingSafeList.json", __dirname, ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames)), typesMapLocation ? ts.toPath(typesMapLocation, "", ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames)) : ts.toPath("typesMap.json", __dirname, ts.createGetCanonicalFileName(ts.sys.useCaseSensitiveFileNames)), throttleLimit, log) || this;
124386
124432
  _this.npmPath = npmLocation !== undefined ? npmLocation : getDefaultNPMLocation(process.argv[0], validateDefaultNpmLocation, _this.installTypingHost);
124387
124433
  if (ts.stringContains(_this.npmPath, " ") && _this.npmPath[0] !== "\"") {
124388
- _this.npmPath = "\"".concat(_this.npmPath, "\"");
124434
+ _this.npmPath = "\"" + _this.npmPath + "\"";
124389
124435
  }
124390
124436
  if (_this.log.isEnabled()) {
124391
- _this.log.writeLine("Process id: ".concat(process.pid));
124392
- _this.log.writeLine("NPM location: ".concat(_this.npmPath, " (explicit '").concat(server.Arguments.NpmLocation, "' ").concat(npmLocation === undefined ? "not " : "", " provided)"));
124393
- _this.log.writeLine("validateDefaultNpmLocation: ".concat(validateDefaultNpmLocation));
124437
+ _this.log.writeLine("Process id: " + process.pid);
124438
+ _this.log.writeLine("NPM location: " + _this.npmPath + " (explicit '" + server.Arguments.NpmLocation + "' " + (npmLocation === undefined ? "not " : "") + " provided)");
124439
+ _this.log.writeLine("validateDefaultNpmLocation: " + validateDefaultNpmLocation);
124394
124440
  }
124395
124441
  (_this.nodeExecSync = require("child_process").execSync);
124396
124442
  _this.ensurePackageDirectoryExists(globalTypingsCacheLocation);
124397
124443
  try {
124398
124444
  if (_this.log.isEnabled()) {
124399
- _this.log.writeLine("Updating ".concat(typesRegistryPackageName, " npm package..."));
124445
+ _this.log.writeLine("Updating " + typesRegistryPackageName + " npm package...");
124400
124446
  }
124401
- _this.execSyncAndLog("".concat(_this.npmPath, " install --ignore-scripts ").concat(typesRegistryPackageName, "@").concat(_this.latestDistTag), { cwd: globalTypingsCacheLocation });
124447
+ _this.execSyncAndLog(_this.npmPath + " install --ignore-scripts " + typesRegistryPackageName + "@" + _this.latestDistTag, { cwd: globalTypingsCacheLocation });
124402
124448
  if (_this.log.isEnabled()) {
124403
- _this.log.writeLine("Updated ".concat(typesRegistryPackageName, " npm package"));
124449
+ _this.log.writeLine("Updated " + typesRegistryPackageName + " npm package");
124404
124450
  }
124405
124451
  }
124406
124452
  catch (e) {
124407
124453
  if (_this.log.isEnabled()) {
124408
- _this.log.writeLine("Error updating ".concat(typesRegistryPackageName, " package: ").concat(e.message));
124454
+ _this.log.writeLine("Error updating " + typesRegistryPackageName + " package: " + e.message);
124409
124455
  }
124410
124456
  _this.delayedInitializationError = {
124411
124457
  kind: "event::initializationFailed",
@@ -124444,7 +124490,7 @@ var ts;
124444
124490
  var cwd = getDirectoryOfPackageJson(fileName, _this.installTypingHost) || projectRootPath;
124445
124491
  if (cwd) {
124446
124492
  _this.installWorker(-1, [packageName_1], cwd, function (success) {
124447
- var message = success ? "Package ".concat(packageName_1, " installed.") : "There was an error installing ".concat(packageName_1, ".");
124493
+ var message = success ? "Package " + packageName_1 + " installed." : "There was an error installing " + packageName_1 + ".";
124448
124494
  var response = { kind: server.ActionPackageInstalled, projectName: projectName_1, success: success, message: message };
124449
124495
  _this.sendResponse(response);
124450
124496
  });
@@ -124462,7 +124508,7 @@ var ts;
124462
124508
  };
124463
124509
  NodeTypingsInstaller.prototype.sendResponse = function (response) {
124464
124510
  if (this.log.isEnabled()) {
124465
- this.log.writeLine("Sending response:\n ".concat(JSON.stringify(response)));
124511
+ this.log.writeLine("Sending response:\n " + JSON.stringify(response));
124466
124512
  }
124467
124513
  process.send(response);
124468
124514
  if (this.log.isEnabled()) {
@@ -124472,29 +124518,29 @@ var ts;
124472
124518
  NodeTypingsInstaller.prototype.installWorker = function (requestId, packageNames, cwd, onRequestCompleted) {
124473
124519
  var _this = this;
124474
124520
  if (this.log.isEnabled()) {
124475
- this.log.writeLine("#".concat(requestId, " with arguments'").concat(JSON.stringify(packageNames), "'."));
124521
+ this.log.writeLine("#" + requestId + " with arguments'" + JSON.stringify(packageNames) + "'.");
124476
124522
  }
124477
124523
  var start = Date.now();
124478
124524
  var hasError = typingsInstaller.installNpmPackages(this.npmPath, ts.version, packageNames, function (command) { return _this.execSyncAndLog(command, { cwd: cwd }); });
124479
124525
  if (this.log.isEnabled()) {
124480
- this.log.writeLine("npm install #".concat(requestId, " took: ").concat(Date.now() - start, " ms"));
124526
+ this.log.writeLine("npm install #" + requestId + " took: " + (Date.now() - start) + " ms");
124481
124527
  }
124482
124528
  onRequestCompleted(!hasError);
124483
124529
  };
124484
124530
  NodeTypingsInstaller.prototype.execSyncAndLog = function (command, options) {
124485
124531
  if (this.log.isEnabled()) {
124486
- this.log.writeLine("Exec: ".concat(command));
124532
+ this.log.writeLine("Exec: " + command);
124487
124533
  }
124488
124534
  try {
124489
124535
  var stdout = this.nodeExecSync(command, __assign(__assign({}, options), { encoding: "utf-8" }));
124490
124536
  if (this.log.isEnabled()) {
124491
- this.log.writeLine(" Succeeded. stdout:".concat(indent(ts.sys.newLine, stdout)));
124537
+ this.log.writeLine(" Succeeded. stdout:" + indent(ts.sys.newLine, stdout));
124492
124538
  }
124493
124539
  return false;
124494
124540
  }
124495
124541
  catch (error) {
124496
124542
  var stdout = error.stdout, stderr = error.stderr;
124497
- this.log.writeLine(" Failed. stdout:".concat(indent(ts.sys.newLine, stdout)).concat(ts.sys.newLine, " stderr:").concat(indent(ts.sys.newLine, stderr)));
124543
+ this.log.writeLine(" Failed. stdout:" + indent(ts.sys.newLine, stdout) + ts.sys.newLine + " stderr:" + indent(ts.sys.newLine, stderr));
124498
124544
  return true;
124499
124545
  }
124500
124546
  };
@@ -124517,7 +124563,7 @@ var ts;
124517
124563
  var log = new FileLog(logFilePath);
124518
124564
  if (log.isEnabled()) {
124519
124565
  process.on("uncaughtException", function (e) {
124520
- log.writeLine("Unhandled exception: ".concat(e, " at ").concat(e.stack));
124566
+ log.writeLine("Unhandled exception: " + e + " at " + e.stack);
124521
124567
  });
124522
124568
  }
124523
124569
  process.on("disconnect", function () {
@@ -124530,7 +124576,7 @@ var ts;
124530
124576
  installer.listen();
124531
124577
  function indent(newline, str) {
124532
124578
  return str && str.length
124533
- ? "".concat(newline, " ") + str.replace(/\r?\n/, "".concat(newline, " "))
124579
+ ? newline + " " + str.replace(/\r?\n/, newline + " ")
124534
124580
  : "";
124535
124581
  }
124536
124582
  })(typingsInstaller = server.typingsInstaller || (server.typingsInstaller = {}));