@@ -3676,14 +3676,22 @@ namespace ts {
3676
3676
3677
3677
export type CompilerOptionsValue = string | number | boolean | ( string | number ) [ ] | string [ ] | MapLike < string [ ] > | PluginImport [ ] | null | undefined ;
3678
3678
3679
- export interface CompilerOptions {
3679
+ export interface StrictOptions {
3680
+ noImplicitAny ?: boolean ;
3681
+ noImplicitThis ?: boolean ;
3682
+ strictNullChecks ?: boolean ;
3683
+ strictFunctionTypes ?: boolean ;
3684
+ alwaysStrict ?: boolean ;
3685
+ }
3686
+
3687
+ export interface CompilerOptions extends StrictOptions {
3680
3688
/*@internal */ all ?: boolean ;
3681
3689
allowJs ?: boolean ;
3682
3690
/*@internal */ allowNonTsExtensions ?: boolean ;
3683
3691
allowSyntheticDefaultImports ?: boolean ;
3684
3692
allowUnreachableCode ?: boolean ;
3685
3693
allowUnusedLabels ?: boolean ;
3686
- alwaysStrict ?: boolean ; // Always combine with strict property
3694
+ /* @internal */ alwaysStrict ?: never & boolean ; // Always combine with strict property
3687
3695
baseUrl ?: string ;
3688
3696
charset ?: string ;
3689
3697
checkJs ?: boolean ;
@@ -3722,9 +3730,9 @@ namespace ts {
3722
3730
noEmitOnError ?: boolean ;
3723
3731
noErrorTruncation ?: boolean ;
3724
3732
noFallthroughCasesInSwitch ?: boolean ;
3725
- noImplicitAny ?: boolean ; // Always combine with strict property
3733
+ /* @internal */ noImplicitAny ?: never & boolean ; // Always combine with strict property
3726
3734
noImplicitReturns ?: boolean ;
3727
- noImplicitThis ?: boolean ; // Always combine with strict property
3735
+ /* @internal */ noImplicitThis ?: never & boolean ; // Always combine with strict property
3728
3736
noStrictGenericChecks ?: boolean ;
3729
3737
noUnusedLocals ?: boolean ;
3730
3738
noUnusedParameters ?: boolean ;
@@ -3750,8 +3758,8 @@ namespace ts {
3750
3758
sourceMap ?: boolean ;
3751
3759
sourceRoot ?: string ;
3752
3760
strict ?: boolean ;
3753
- strictFunctionTypes ?: boolean ; // Always combine with strict property
3754
- strictNullChecks ?: boolean ; // Always combine with strict property
3761
+ /* @internal */ strictFunctionTypes ?: never & boolean ; // Always combine with strict property
3762
+ /* @internal */ strictNullChecks ?: never & boolean ; // Always combine with strict property
3755
3763
/* @internal */ stripInternal ?: boolean ;
3756
3764
suppressExcessPropertyErrors ?: boolean ;
3757
3765
suppressImplicitAnyIndexErrors ?: boolean ;
0 commit comments