Skip to content

Commit e5227b1

Browse files
committed
Addressing CR feedback
1 parent 19dcb45 commit e5227b1

File tree

3 files changed

+19
-13
lines changed

3 files changed

+19
-13
lines changed

src/compiler/commandLineParser.ts

+13-7
Original file line numberDiff line numberDiff line change
@@ -509,12 +509,17 @@ namespace ts {
509509
let optionNameMapCache: OptionNameMap;
510510

511511
/* @internal */
512-
export function replaceEnableAutoDiscoveryWithEnable(typeAcquisition: TypeAcquisition): void {
513-
// Replace deprecated typingOptions.enableAutoDiscovery with typeAcquisition.enable
512+
export function convertEnableAutoDiscoveryToEnable(typeAcquisition: TypeAcquisition): TypeAcquisition {
513+
// Convert deprecated typingOptions.enableAutoDiscovery to typeAcquisition.enable
514514
if (typeAcquisition && typeAcquisition.enableAutoDiscovery !== undefined && typeAcquisition.enable === undefined) {
515-
typeAcquisition.enable = typeAcquisition.enableAutoDiscovery;
516-
delete typeAcquisition.enableAutoDiscovery;
515+
const result: TypeAcquisition = {
516+
enable: typeAcquisition.enableAutoDiscovery,
517+
include: typeAcquisition.include || [],
518+
exclude: typeAcquisition.exclude || []
519+
};
520+
return result;
517521
}
522+
return typeAcquisition;
518523
}
519524

520525
/* @internal */
@@ -859,7 +864,8 @@ namespace ts {
859864
}
860865

861866
let options: CompilerOptions = convertCompilerOptionsFromJsonWorker(json["compilerOptions"], basePath, errors, configFileName);
862-
// typingOptions has been deprecated. Use typeAcquisition instead.
867+
// typingOptions has been deprecated and is only supported for backward compatibility purposes.
868+
// It should be removed in future releases - use typeAcquisition instead.
863869
const jsonOptions = json["typeAcquisition"] || json["typingOptions"];
864870
const typeAcquisition: TypeAcquisition = convertTypeAcquisitionFromJsonWorker(jsonOptions, basePath, errors, configFileName);
865871

@@ -1034,8 +1040,8 @@ namespace ts {
10341040
basePath: string, errors: Diagnostic[], configFileName?: string): TypeAcquisition {
10351041

10361042
const options: TypeAcquisition = { enable: getBaseFileName(configFileName) === "jsconfig.json", include: [], exclude: [] };
1037-
replaceEnableAutoDiscoveryWithEnable(jsonOptions);
1038-
convertOptionsFromJson(typeAcquisitionDeclarations, jsonOptions, basePath, options, Diagnostics.Unknown_type_acquisition_option_0, errors);
1043+
const typeAcquisition = convertEnableAutoDiscoveryToEnable(jsonOptions);
1044+
convertOptionsFromJson(typeAcquisitionDeclarations, typeAcquisition, basePath, options, Diagnostics.Unknown_type_acquisition_option_0, errors);
10391045

10401046
return options;
10411047
}

src/server/editorServices.ts

+6
Original file line numberDiff line numberDiff line change
@@ -1322,6 +1322,12 @@ namespace ts.server {
13221322
}
13231323

13241324
openExternalProject(proj: protocol.ExternalProject): void {
1325+
// typingOptions has been deprecated and is only supported for backward compatibility
1326+
// purposes. It should be removed in future releases - use typeAcquisition instead.
1327+
if (proj.typingOptions && !proj.typeAcquisition) {
1328+
const typeAcquisition = convertEnableAutoDiscoveryToEnable(proj.typingOptions);
1329+
proj.typeAcquisition = typeAcquisition;
1330+
}
13251331
let tsConfigFiles: NormalizedPath[];
13261332
const rootFiles: protocol.ExternalFile[] = [];
13271333
for (const file of proj.rootFiles) {

src/server/session.ts

-6
Original file line numberDiff line numberDiff line change
@@ -1365,12 +1365,6 @@ namespace ts.server {
13651365

13661366
private handlers = createMap<(request: protocol.Request) => { response?: any, responseRequired?: boolean }>({
13671367
[CommandNames.OpenExternalProject]: (request: protocol.OpenExternalProjectRequest) => {
1368-
// Replace deprecated typingOptions with typeAcquisition
1369-
if (request.arguments.typingOptions && !request.arguments.typeAcquisition) {
1370-
replaceEnableAutoDiscoveryWithEnable(request.arguments.typingOptions);
1371-
request.arguments.typeAcquisition = request.arguments.typingOptions;
1372-
delete request.arguments.typingOptions;
1373-
}
13741368
this.projectService.openExternalProject(request.arguments);
13751369
// TODO: report errors
13761370
return this.requiredResponse(true);

0 commit comments

Comments
 (0)