Skip to content

Commit cf13477

Browse files
Bump version to 4.0.4 and LKG
1 parent 60ad73d commit cf13477

10 files changed

+332
-145
lines changed

lib/protocol.d.ts

+6
Original file line numberDiff line numberDiff line change
@@ -452,6 +452,11 @@ declare namespace ts.server.protocol {
452452
* so this description should make sense by itself if the parent is inlineable=true
453453
*/
454454
description: string;
455+
/**
456+
* A message to show to the user if the refactoring cannot be applied in
457+
* the current context.
458+
*/
459+
notApplicableReason?: string;
455460
}
456461
interface GetEditsForRefactorRequest extends Request {
457462
command: CommandTypes.GetEditsForRefactor;
@@ -2473,6 +2478,7 @@ declare namespace ts.server.protocol {
24732478
readonly allowTextChangesInNewFiles?: boolean;
24742479
readonly lazyConfiguredProjectsFromExternalProject?: boolean;
24752480
readonly providePrefixAndSuffixTextForRename?: boolean;
2481+
readonly provideRefactorNotApplicableReason?: boolean;
24762482
readonly allowRenameOfImportPath?: boolean;
24772483
readonly includePackageJsonAutoImports?: "auto" | "on" | "off";
24782484
}

lib/tsc.js

+48-23
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
6767
var ts;
6868
(function (ts) {
6969
ts.versionMajorMinor = "4.0";
70-
ts.version = "4.0.3";
70+
ts.version = "4.0.4";
7171
var NativeCollections;
7272
(function (NativeCollections) {
7373
function tryGetNativeMap() {
@@ -84207,6 +84207,7 @@ var ts;
8420784207
getOptionsDiagnostics: getOptionsDiagnostics,
8420884208
getGlobalDiagnostics: getGlobalDiagnostics,
8420984209
getSemanticDiagnostics: getSemanticDiagnostics,
84210+
getCachedSemanticDiagnostics: getCachedSemanticDiagnostics,
8421084211
getSuggestionDiagnostics: getSuggestionDiagnostics,
8421184212
getDeclarationDiagnostics: getDeclarationDiagnostics,
8421284213
getBindAndCheckDiagnostics: getBindAndCheckDiagnostics,
@@ -84721,6 +84722,11 @@ var ts;
8472184722
function getSemanticDiagnostics(sourceFile, cancellationToken) {
8472284723
return getDiagnosticsHelper(sourceFile, getSemanticDiagnosticsForFile, cancellationToken);
8472384724
}
84725+
function getCachedSemanticDiagnostics(sourceFile) {
84726+
var _a;
84727+
return sourceFile
84728+
? (_a = cachedBindAndCheckDiagnosticsForFile.perFile) === null || _a === void 0 ? void 0 : _a.get(sourceFile.path) : cachedBindAndCheckDiagnosticsForFile.allDiagnostics;
84729+
}
8472484730
function getBindAndCheckDiagnostics(sourceFile, cancellationToken) {
8472584731
return getBindAndCheckDiagnosticsForFile(sourceFile, cancellationToken);
8472684732
}
@@ -87315,30 +87321,49 @@ var ts;
8731587321
return toAffectedFileEmitResult(state, ts.Debug.checkDefined(state.program).emit(affected === state.program ? undefined : affected, writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles || emitKind === 0, customTransformers), affected, emitKind, isPendingEmitFile);
8731687322
}
8731787323
function emit(targetSourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers) {
87324+
var restorePendingEmitOnHandlingNoEmitSuccess = false;
87325+
var savedAffectedFilesPendingEmit;
87326+
var savedAffectedFilesPendingEmitKind;
87327+
var savedAffectedFilesPendingEmitIndex;
87328+
if (kind !== BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram &&
87329+
!targetSourceFile &&
87330+
!ts.outFile(state.compilerOptions) &&
87331+
!state.compilerOptions.noEmit &&
87332+
state.compilerOptions.noEmitOnError) {
87333+
restorePendingEmitOnHandlingNoEmitSuccess = true;
87334+
savedAffectedFilesPendingEmit = state.affectedFilesPendingEmit && state.affectedFilesPendingEmit.slice();
87335+
savedAffectedFilesPendingEmitKind = state.affectedFilesPendingEmitKind && new ts.Map(state.affectedFilesPendingEmitKind);
87336+
savedAffectedFilesPendingEmitIndex = state.affectedFilesPendingEmitIndex;
87337+
}
8731887338
if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) {
8731987339
assertSourceFileOkWithoutNextAffectedCall(state, targetSourceFile);
87320-
var result = ts.handleNoEmitOptions(builderProgram, targetSourceFile, writeFile, cancellationToken);
87321-
if (result)
87322-
return result;
87323-
if (!targetSourceFile) {
87324-
var sourceMaps = [];
87325-
var emitSkipped = false;
87326-
var diagnostics = void 0;
87327-
var emittedFiles = [];
87328-
var affectedEmitResult = void 0;
87329-
while (affectedEmitResult = emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers)) {
87330-
emitSkipped = emitSkipped || affectedEmitResult.result.emitSkipped;
87331-
diagnostics = ts.addRange(diagnostics, affectedEmitResult.result.diagnostics);
87332-
emittedFiles = ts.addRange(emittedFiles, affectedEmitResult.result.emittedFiles);
87333-
sourceMaps = ts.addRange(sourceMaps, affectedEmitResult.result.sourceMaps);
87334-
}
87335-
return {
87336-
emitSkipped: emitSkipped,
87337-
diagnostics: diagnostics || ts.emptyArray,
87338-
emittedFiles: emittedFiles,
87339-
sourceMaps: sourceMaps
87340-
};
87340+
}
87341+
var result = ts.handleNoEmitOptions(builderProgram, targetSourceFile, writeFile, cancellationToken);
87342+
if (result)
87343+
return result;
87344+
if (restorePendingEmitOnHandlingNoEmitSuccess) {
87345+
state.affectedFilesPendingEmit = savedAffectedFilesPendingEmit;
87346+
state.affectedFilesPendingEmitKind = savedAffectedFilesPendingEmitKind;
87347+
state.affectedFilesPendingEmitIndex = savedAffectedFilesPendingEmitIndex;
87348+
}
87349+
if (!targetSourceFile && kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) {
87350+
var sourceMaps = [];
87351+
var emitSkipped = false;
87352+
var diagnostics = void 0;
87353+
var emittedFiles = [];
87354+
var affectedEmitResult = void 0;
87355+
while (affectedEmitResult = emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers)) {
87356+
emitSkipped = emitSkipped || affectedEmitResult.result.emitSkipped;
87357+
diagnostics = ts.addRange(diagnostics, affectedEmitResult.result.diagnostics);
87358+
emittedFiles = ts.addRange(emittedFiles, affectedEmitResult.result.emittedFiles);
87359+
sourceMaps = ts.addRange(sourceMaps, affectedEmitResult.result.sourceMaps);
8734187360
}
87361+
return {
87362+
emitSkipped: emitSkipped,
87363+
diagnostics: diagnostics || ts.emptyArray,
87364+
emittedFiles: emittedFiles,
87365+
sourceMaps: sourceMaps
87366+
};
8734287367
}
8734387368
return ts.Debug.checkDefined(state.program).emit(targetSourceFile, writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles, customTransformers);
8734487369
}
@@ -87351,7 +87376,7 @@ var ts;
8735187376
else if (affected === state.program) {
8735287377
return toAffectedFileResult(state, state.program.getSemanticDiagnostics(undefined, cancellationToken), affected);
8735387378
}
87354-
if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) {
87379+
if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram || state.compilerOptions.noEmit || state.compilerOptions.noEmitOnError) {
8735587380
addToAffectedFilesPendingEmit(state, affected.resolvedPath, 1);
8735687381
}
8735787382
if (ignoreSourceFile && ignoreSourceFile(affected)) {

lib/tsserver.js

+54-24
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ var ts;
9494
// If changing the text in this section, be sure to test `configurePrerelease` too.
9595
ts.versionMajorMinor = "4.0";
9696
/** The version of the TypeScript compiler release */
97-
ts.version = "4.0.3";
97+
ts.version = "4.0.4";
9898
/* @internal */
9999
var Comparison;
100100
(function (Comparison) {
@@ -102854,6 +102854,7 @@ var ts;
102854102854
getOptionsDiagnostics: getOptionsDiagnostics,
102855102855
getGlobalDiagnostics: getGlobalDiagnostics,
102856102856
getSemanticDiagnostics: getSemanticDiagnostics,
102857+
getCachedSemanticDiagnostics: getCachedSemanticDiagnostics,
102857102858
getSuggestionDiagnostics: getSuggestionDiagnostics,
102858102859
getDeclarationDiagnostics: getDeclarationDiagnostics,
102859102860
getBindAndCheckDiagnostics: getBindAndCheckDiagnostics,
@@ -103477,6 +103478,11 @@ var ts;
103477103478
function getSemanticDiagnostics(sourceFile, cancellationToken) {
103478103479
return getDiagnosticsHelper(sourceFile, getSemanticDiagnosticsForFile, cancellationToken);
103479103480
}
103481+
function getCachedSemanticDiagnostics(sourceFile) {
103482+
var _a;
103483+
return sourceFile
103484+
? (_a = cachedBindAndCheckDiagnosticsForFile.perFile) === null || _a === void 0 ? void 0 : _a.get(sourceFile.path) : cachedBindAndCheckDiagnosticsForFile.allDiagnostics;
103485+
}
103480103486
function getBindAndCheckDiagnostics(sourceFile, cancellationToken) {
103481103487
return getBindAndCheckDiagnosticsForFile(sourceFile, cancellationToken);
103482103488
}
@@ -106509,31 +106515,54 @@ var ts;
106509106515
* in that order would be used to write the files
106510106516
*/
106511106517
function emit(targetSourceFile, writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers) {
106518+
var restorePendingEmitOnHandlingNoEmitSuccess = false;
106519+
var savedAffectedFilesPendingEmit;
106520+
var savedAffectedFilesPendingEmitKind;
106521+
var savedAffectedFilesPendingEmitIndex;
106522+
// Backup and restore affected pendings emit state for non emit Builder if noEmitOnError is enabled and emitBuildInfo could be written in case there are errors
106523+
// This ensures pending files to emit is updated in tsbuildinfo
106524+
// Note that when there are no errors, emit proceeds as if everything is emitted as it is callers reponsibility to write the files to disk if at all (because its builder that doesnt track files to emit)
106525+
if (kind !== BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram &&
106526+
!targetSourceFile &&
106527+
!ts.outFile(state.compilerOptions) &&
106528+
!state.compilerOptions.noEmit &&
106529+
state.compilerOptions.noEmitOnError) {
106530+
restorePendingEmitOnHandlingNoEmitSuccess = true;
106531+
savedAffectedFilesPendingEmit = state.affectedFilesPendingEmit && state.affectedFilesPendingEmit.slice();
106532+
savedAffectedFilesPendingEmitKind = state.affectedFilesPendingEmitKind && new ts.Map(state.affectedFilesPendingEmitKind);
106533+
savedAffectedFilesPendingEmitIndex = state.affectedFilesPendingEmitIndex;
106534+
}
106512106535
if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) {
106513106536
assertSourceFileOkWithoutNextAffectedCall(state, targetSourceFile);
106514-
var result = ts.handleNoEmitOptions(builderProgram, targetSourceFile, writeFile, cancellationToken);
106515-
if (result)
106516-
return result;
106517-
if (!targetSourceFile) {
106518-
// Emit and report any errors we ran into.
106519-
var sourceMaps = [];
106520-
var emitSkipped = false;
106521-
var diagnostics = void 0;
106522-
var emittedFiles = [];
106523-
var affectedEmitResult = void 0;
106524-
while (affectedEmitResult = emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers)) {
106525-
emitSkipped = emitSkipped || affectedEmitResult.result.emitSkipped;
106526-
diagnostics = ts.addRange(diagnostics, affectedEmitResult.result.diagnostics);
106527-
emittedFiles = ts.addRange(emittedFiles, affectedEmitResult.result.emittedFiles);
106528-
sourceMaps = ts.addRange(sourceMaps, affectedEmitResult.result.sourceMaps);
106529-
}
106530-
return {
106531-
emitSkipped: emitSkipped,
106532-
diagnostics: diagnostics || ts.emptyArray,
106533-
emittedFiles: emittedFiles,
106534-
sourceMaps: sourceMaps
106535-
};
106537+
}
106538+
var result = ts.handleNoEmitOptions(builderProgram, targetSourceFile, writeFile, cancellationToken);
106539+
if (result)
106540+
return result;
106541+
if (restorePendingEmitOnHandlingNoEmitSuccess) {
106542+
state.affectedFilesPendingEmit = savedAffectedFilesPendingEmit;
106543+
state.affectedFilesPendingEmitKind = savedAffectedFilesPendingEmitKind;
106544+
state.affectedFilesPendingEmitIndex = savedAffectedFilesPendingEmitIndex;
106545+
}
106546+
// Emit only affected files if using builder for emit
106547+
if (!targetSourceFile && kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) {
106548+
// Emit and report any errors we ran into.
106549+
var sourceMaps = [];
106550+
var emitSkipped = false;
106551+
var diagnostics = void 0;
106552+
var emittedFiles = [];
106553+
var affectedEmitResult = void 0;
106554+
while (affectedEmitResult = emitNextAffectedFile(writeFile, cancellationToken, emitOnlyDtsFiles, customTransformers)) {
106555+
emitSkipped = emitSkipped || affectedEmitResult.result.emitSkipped;
106556+
diagnostics = ts.addRange(diagnostics, affectedEmitResult.result.diagnostics);
106557+
emittedFiles = ts.addRange(emittedFiles, affectedEmitResult.result.emittedFiles);
106558+
sourceMaps = ts.addRange(sourceMaps, affectedEmitResult.result.sourceMaps);
106536106559
}
106560+
return {
106561+
emitSkipped: emitSkipped,
106562+
diagnostics: diagnostics || ts.emptyArray,
106563+
emittedFiles: emittedFiles,
106564+
sourceMaps: sourceMaps
106565+
};
106537106566
}
106538106567
return ts.Debug.checkDefined(state.program).emit(targetSourceFile, writeFile || ts.maybeBind(host, host.writeFile), cancellationToken, emitOnlyDtsFiles, customTransformers);
106539106568
}
@@ -106553,7 +106582,8 @@ var ts;
106553106582
return toAffectedFileResult(state, state.program.getSemanticDiagnostics(/*targetSourceFile*/ undefined, cancellationToken), affected);
106554106583
}
106555106584
// Add file to affected file pending emit to handle for later emit time
106556-
if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram) {
106585+
// Apart for emit builder do this for tsbuildinfo, do this for non emit builder when noEmit is set as tsbuildinfo is written and reused between emitters
106586+
if (kind === BuilderProgramKind.EmitAndSemanticDiagnosticsBuilderProgram || state.compilerOptions.noEmit || state.compilerOptions.noEmitOnError) {
106557106587
addToAffectedFilesPendingEmit(state, affected.resolvedPath, 1 /* Full */);
106558106588
}
106559106589
// Get diagnostics for the affected file if its not ignored

lib/tsserverlibrary.d.ts

+6
Original file line numberDiff line numberDiff line change
@@ -6881,6 +6881,11 @@ declare namespace ts.server.protocol {
68816881
* so this description should make sense by itself if the parent is inlineable=true
68826882
*/
68836883
description: string;
6884+
/**
6885+
* A message to show to the user if the refactoring cannot be applied in
6886+
* the current context.
6887+
*/
6888+
notApplicableReason?: string;
68846889
}
68856890
interface GetEditsForRefactorRequest extends Request {
68866891
command: CommandTypes.GetEditsForRefactor;
@@ -8902,6 +8907,7 @@ declare namespace ts.server.protocol {
89028907
readonly allowTextChangesInNewFiles?: boolean;
89038908
readonly lazyConfiguredProjectsFromExternalProject?: boolean;
89048909
readonly providePrefixAndSuffixTextForRename?: boolean;
8910+
readonly provideRefactorNotApplicableReason?: boolean;
89058911
readonly allowRenameOfImportPath?: boolean;
89068912
readonly includePackageJsonAutoImports?: "auto" | "on" | "off";
89078913
}

0 commit comments

Comments
 (0)