@typescript-deploys/pr-build 5.4.0-pr-56356-2 → 5.4.0-pr-56358-6

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.
package/lib/tsc.js CHANGED
@@ -40404,9 +40404,14 @@ function createBinder() {
40404
40404
  const clauses = node.clauses;
40405
40405
  const isNarrowingSwitch = node.parent.expression.kind === 112 /* TrueKeyword */ || isNarrowingExpression(node.parent.expression);
40406
40406
  let fallthroughFlow = unreachableFlow;
40407
+ let afterPreviousClauseFlow;
40407
40408
  for (let i = 0; i < clauses.length; i++) {
40408
40409
  const clauseStart = i;
40409
40410
  while (!clauses[i].statements.length && i + 1 < clauses.length) {
40411
+ if (afterPreviousClauseFlow && afterPreviousClauseFlow === unreachableFlow) {
40412
+ currentFlow = preSwitchCaseFlow;
40413
+ afterPreviousClauseFlow = void 0;
40414
+ }
40410
40415
  bind(clauses[i]);
40411
40416
  i++;
40412
40417
  }
@@ -40416,7 +40421,7 @@ function createBinder() {
40416
40421
  currentFlow = finishFlowLabel(preCaseLabel);
40417
40422
  const clause = clauses[i];
40418
40423
  bind(clause);
40419
- fallthroughFlow = currentFlow;
40424
+ fallthroughFlow = afterPreviousClauseFlow = currentFlow;
40420
40425
  if (!(currentFlow.flags & 1 /* Unreachable */) && i !== clauses.length - 1 && options.noFallthroughCasesInSwitch) {
40421
40426
  clause.fallthroughFlowNode = currentFlow;
40422
40427
  }
package/lib/tsserver.js CHANGED
@@ -45067,9 +45067,14 @@ function createBinder() {
45067
45067
  const clauses = node.clauses;
45068
45068
  const isNarrowingSwitch = node.parent.expression.kind === 112 /* TrueKeyword */ || isNarrowingExpression(node.parent.expression);
45069
45069
  let fallthroughFlow = unreachableFlow;
45070
+ let afterPreviousClauseFlow;
45070
45071
  for (let i = 0; i < clauses.length; i++) {
45071
45072
  const clauseStart = i;
45072
45073
  while (!clauses[i].statements.length && i + 1 < clauses.length) {
45074
+ if (afterPreviousClauseFlow && afterPreviousClauseFlow === unreachableFlow) {
45075
+ currentFlow = preSwitchCaseFlow;
45076
+ afterPreviousClauseFlow = void 0;
45077
+ }
45073
45078
  bind(clauses[i]);
45074
45079
  i++;
45075
45080
  }
@@ -45079,7 +45084,7 @@ function createBinder() {
45079
45084
  currentFlow = finishFlowLabel(preCaseLabel);
45080
45085
  const clause = clauses[i];
45081
45086
  bind(clause);
45082
- fallthroughFlow = currentFlow;
45087
+ fallthroughFlow = afterPreviousClauseFlow = currentFlow;
45083
45088
  if (!(currentFlow.flags & 1 /* Unreachable */) && i !== clauses.length - 1 && options.noFallthroughCasesInSwitch) {
45084
45089
  clause.fallthroughFlowNode = currentFlow;
45085
45090
  }
@@ -145046,13 +145051,6 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
145046
145051
  return sourceFile;
145047
145052
  }
145048
145053
  function synchronizeHostData() {
145049
- if (host.updateFromProject && !host.updateFromProjectInProgress) {
145050
- host.updateFromProject();
145051
- } else {
145052
- synchronizeHostDataWorker();
145053
- }
145054
- }
145055
- function synchronizeHostDataWorker() {
145056
145054
  var _a2, _b, _c;
145057
145055
  Debug.assert(languageServiceMode !== 2 /* Syntactic */);
145058
145056
  if (host.getProjectVersion) {
@@ -176824,8 +176822,6 @@ var Project3 = class _Project {
176824
176822
  this.createHash = maybeBind(this.projectService.host, this.projectService.host.createHash);
176825
176823
  /** @internal */
176826
176824
  this.globalCacheResolutionModuleName = ts_JsTyping_exports.nonRelativeModuleNameForTypingCache;
176827
- /** @internal */
176828
- this.updateFromProjectInProgress = false;
176829
176825
  this.projectName = projectName;
176830
176826
  this.directoryStructureHost = directoryStructureHost;
176831
176827
  this.currentDirectory = this.projectService.getNormalizedAbsolutePath(currentDirectory);
@@ -177570,10 +177566,6 @@ var Project3 = class _Project {
177570
177566
  onDiscoveredSymlink() {
177571
177567
  this.hasAddedOrRemovedSymlinks = true;
177572
177568
  }
177573
- /** @internal */
177574
- updateFromProject() {
177575
- updateProjectIfDirty(this);
177576
- }
177577
177569
  /**
177578
177570
  * Updates set of files that contribute to this project
177579
177571
  * @returns: true if set of files in the project stays the same and false - otherwise.
@@ -177732,10 +177724,8 @@ var Project3 = class _Project {
177732
177724
  this.hasInvalidatedResolutions = hasInvalidatedResolutions;
177733
177725
  this.hasInvalidatedLibResolutions = hasInvalidatedLibResolutions;
177734
177726
  this.resolutionCache.startCachingPerDirectoryResolution();
177735
- this.dirty = false;
177736
- this.updateFromProjectInProgress = true;
177737
177727
  this.program = this.languageService.getProgram();
177738
- this.updateFromProjectInProgress = false;
177728
+ this.dirty = false;
177739
177729
  (_a = tracing) == null ? void 0 : _a.push(tracing.Phase.Session, "finishCachingPerDirectoryResolution");
177740
177730
  this.resolutionCache.finishCachingPerDirectoryResolution(this.program, oldProgram);
177741
177731
  (_b = tracing) == null ? void 0 : _b.pop();
package/lib/typescript.js CHANGED
@@ -42912,9 +42912,14 @@ ${lanes.join("\n")}
42912
42912
  const clauses = node.clauses;
42913
42913
  const isNarrowingSwitch = node.parent.expression.kind === 112 /* TrueKeyword */ || isNarrowingExpression(node.parent.expression);
42914
42914
  let fallthroughFlow = unreachableFlow;
42915
+ let afterPreviousClauseFlow;
42915
42916
  for (let i = 0; i < clauses.length; i++) {
42916
42917
  const clauseStart = i;
42917
42918
  while (!clauses[i].statements.length && i + 1 < clauses.length) {
42919
+ if (afterPreviousClauseFlow && afterPreviousClauseFlow === unreachableFlow) {
42920
+ currentFlow = preSwitchCaseFlow;
42921
+ afterPreviousClauseFlow = void 0;
42922
+ }
42918
42923
  bind(clauses[i]);
42919
42924
  i++;
42920
42925
  }
@@ -42924,7 +42929,7 @@ ${lanes.join("\n")}
42924
42929
  currentFlow = finishFlowLabel(preCaseLabel);
42925
42930
  const clause = clauses[i];
42926
42931
  bind(clause);
42927
- fallthroughFlow = currentFlow;
42932
+ fallthroughFlow = afterPreviousClauseFlow = currentFlow;
42928
42933
  if (!(currentFlow.flags & 1 /* Unreachable */) && i !== clauses.length - 1 && options.noFallthroughCasesInSwitch) {
42929
42934
  clause.fallthroughFlowNode = currentFlow;
42930
42935
  }
@@ -142987,13 +142992,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
142987
142992
  return sourceFile;
142988
142993
  }
142989
142994
  function synchronizeHostData() {
142990
- if (host.updateFromProject && !host.updateFromProjectInProgress) {
142991
- host.updateFromProject();
142992
- } else {
142993
- synchronizeHostDataWorker();
142994
- }
142995
- }
142996
- function synchronizeHostDataWorker() {
142997
142995
  var _a2, _b, _c;
142998
142996
  Debug.assert(languageServiceMode !== 2 /* Syntactic */);
142999
142997
  if (host.getProjectVersion) {
@@ -174155,8 +174153,6 @@ ${options.prefix}` : "\n" : options.prefix
174155
174153
  this.createHash = maybeBind(this.projectService.host, this.projectService.host.createHash);
174156
174154
  /** @internal */
174157
174155
  this.globalCacheResolutionModuleName = ts_JsTyping_exports.nonRelativeModuleNameForTypingCache;
174158
- /** @internal */
174159
- this.updateFromProjectInProgress = false;
174160
174156
  this.projectName = projectName;
174161
174157
  this.directoryStructureHost = directoryStructureHost;
174162
174158
  this.currentDirectory = this.projectService.getNormalizedAbsolutePath(currentDirectory);
@@ -174901,10 +174897,6 @@ ${options.prefix}` : "\n" : options.prefix
174901
174897
  onDiscoveredSymlink() {
174902
174898
  this.hasAddedOrRemovedSymlinks = true;
174903
174899
  }
174904
- /** @internal */
174905
- updateFromProject() {
174906
- updateProjectIfDirty(this);
174907
- }
174908
174900
  /**
174909
174901
  * Updates set of files that contribute to this project
174910
174902
  * @returns: true if set of files in the project stays the same and false - otherwise.
@@ -175063,10 +175055,8 @@ ${options.prefix}` : "\n" : options.prefix
175063
175055
  this.hasInvalidatedResolutions = hasInvalidatedResolutions;
175064
175056
  this.hasInvalidatedLibResolutions = hasInvalidatedLibResolutions;
175065
175057
  this.resolutionCache.startCachingPerDirectoryResolution();
175066
- this.dirty = false;
175067
- this.updateFromProjectInProgress = true;
175068
175058
  this.program = this.languageService.getProgram();
175069
- this.updateFromProjectInProgress = false;
175059
+ this.dirty = false;
175070
175060
  (_a = tracing) == null ? void 0 : _a.push(tracing.Phase.Session, "finishCachingPerDirectoryResolution");
175071
175061
  this.resolutionCache.finishCachingPerDirectoryResolution(this.program, oldProgram);
175072
175062
  (_b = tracing) == null ? void 0 : _b.pop();
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@typescript-deploys/pr-build",
3
3
  "author": "Microsoft Corp.",
4
4
  "homepage": "https://www.typescriptlang.org/",
5
- "version": "5.4.0-pr-56356-2",
5
+ "version": "5.4.0-pr-56358-6",
6
6
  "license": "Apache-2.0",
7
7
  "description": "TypeScript is a language for application scale JavaScript development",
8
8
  "keywords": [
@@ -115,5 +115,5 @@
115
115
  "node": "20.1.0",
116
116
  "npm": "8.19.4"
117
117
  },
118
- "gitHead": "dc574fde3ad2ebc9dbad161f1b58409c91c712a1"
118
+ "gitHead": "2f4cd21b78f16a6222d1c9b3eb2834385c7d8986"
119
119
  }