@@ -590,9 +590,9 @@ namespace ts {
590
590
*/
591
591
export function parseJsonConfigFileContent ( json : any , host : ParseConfigHost , basePath : string , existingOptions : CompilerOptions = { } , configFileName ?: string ) : ParsedCommandLine {
592
592
const errors : Diagnostic [ ] = [ ] ;
593
- const compilerOptions : CompilerOptions = convertCompilerOptionsFromJson ( optionDeclarations , json [ "compilerOptions" ] , basePath , errors , configFileName ) ;
593
+ const compilerOptions : CompilerOptions = convertCompilerOptionsFromJsonWorker ( json [ "compilerOptions" ] , basePath , errors , configFileName ) ;
594
594
const options = extend ( existingOptions , compilerOptions ) ;
595
- const typingOptions : TypingOptions = convertTypingOptionsFromJson ( typingOptionDeclarations , json [ "typingOptions" ] , basePath , errors , configFileName ) ;
595
+ const typingOptions : TypingOptions = convertTypingOptionsFromJsonWorker ( json [ "typingOptions" ] , basePath , errors , configFileName ) ;
596
596
597
597
const fileNames = getFileNames ( errors ) ;
598
598
@@ -666,28 +666,38 @@ namespace ts {
666
666
}
667
667
}
668
668
669
- /* @internal */
670
- export function convertCompilerOptionsFromJson ( optionsDeclarations : CommandLineOption [ ] , jsonOptions : any ,
669
+ export function convertCompilerOptionsFromJson ( jsonOptions : any , basePath : string , configFileName ?: string ) : { options : CompilerOptions , errors : Diagnostic [ ] } {
670
+ const errors : Diagnostic [ ] = [ ] ;
671
+ const options = convertCompilerOptionsFromJsonWorker ( jsonOptions , basePath , errors , configFileName ) ;
672
+ return { options, errors } ;
673
+ }
674
+
675
+ export function convertTypingOptionsFromJson ( jsonOptions : any , basePath : string , configFileName ?: string ) : { options : CompilerOptions , errors : Diagnostic [ ] } {
676
+ const errors : Diagnostic [ ] = [ ] ;
677
+ const options = convertTypingOptionsFromJsonWorker ( jsonOptions , basePath , errors , configFileName ) ;
678
+ return { options, errors } ;
679
+ }
680
+
681
+ function convertCompilerOptionsFromJsonWorker ( jsonOptions : any ,
671
682
basePath : string , errors : Diagnostic [ ] , configFileName ?: string ) : CompilerOptions {
672
683
673
684
const options : CompilerOptions = getBaseFileName ( configFileName ) === "jsconfig.json" ? { allowJs : true } : { } ;
674
- convertOptionsFromJson < CompilerOptions > ( optionDeclarations , jsonOptions , basePath , options , Diagnostics . Unknown_compiler_option_0 , errors ) ;
685
+ convertOptionsFromJson ( optionDeclarations , jsonOptions , basePath , options , Diagnostics . Unknown_compiler_option_0 , errors ) ;
675
686
return options ;
676
687
}
677
688
678
- /* @internal */
679
- export function convertTypingOptionsFromJson ( optionsDeclarations : CommandLineOption [ ] , jsonOptions : any ,
689
+ function convertTypingOptionsFromJsonWorker ( jsonOptions : any ,
680
690
basePath : string , errors : Diagnostic [ ] , configFileName ?: string ) : TypingOptions {
681
691
682
692
const options : TypingOptions = getBaseFileName ( configFileName ) === "jsconfig.json"
683
693
? { enableAutoDiscovery : true , include : [ ] , exclude : [ ] }
684
694
: { enableAutoDiscovery : false , include : [ ] , exclude : [ ] } ;
685
- convertOptionsFromJson < TypingOptions > ( typingOptionDeclarations , jsonOptions , basePath , options , Diagnostics . Unknown_typing_option_0 , errors ) ;
695
+ convertOptionsFromJson ( typingOptionDeclarations , jsonOptions , basePath , options , Diagnostics . Unknown_typing_option_0 , errors ) ;
686
696
return options ;
687
697
}
688
698
689
- function convertOptionsFromJson < T extends CompilerOptions | TypingOptions > ( optionDeclarations : CommandLineOption [ ] , jsonOptions : any , basePath : string ,
690
- defaultOptions : T , diagnosticMessage : DiagnosticMessage , errors : Diagnostic [ ] ) {
699
+ function convertOptionsFromJson ( optionDeclarations : CommandLineOption [ ] , jsonOptions : any , basePath : string ,
700
+ defaultOptions : CompilerOptions | TypingOptions , diagnosticMessage : DiagnosticMessage , errors : Diagnostic [ ] ) {
691
701
692
702
if ( ! jsonOptions ) {
693
703
return ;
0 commit comments