Skip to content

Commit 2c956af

Browse files
authored
Merge pull request #23664 from a-tarasyuk/feature/strictPropertyInitialization-can-not-be-used-without-strictNullChecks
Add warn that user can not use --strictPropertyInitialization without --strictNullChecks
2 parents 83bc70d + f04a18a commit 2c956af

6 files changed

+28
-0
lines changed

src/compiler/program.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2062,6 +2062,10 @@ namespace ts {
20622062
}
20632063

20642064
function verifyCompilerOptions() {
2065+
if (options.strictPropertyInitialization && !options.strictNullChecks) {
2066+
createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_without_specifying_option_1, "strictPropertyInitialization", "strictNullChecks");
2067+
}
2068+
20652069
if (options.isolatedModules) {
20662070
if (options.declaration) {
20672071
createDiagnosticForOptionName(Diagnostics.Option_0_cannot_be_specified_with_option_1, "declaration", "isolatedModules");
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
error TS5052: Option 'strictPropertyInitialization' cannot be specified without specifying option 'strictNullChecks'.
2+
3+
4+
!!! error TS5052: Option 'strictPropertyInitialization' cannot be specified without specifying option 'strictNullChecks'.
5+
==== tests/cases/compiler/optionsStrictPropertyInitializationStrictNullChecks.ts (0 errors) ====
6+
var x;
7+
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
//// [optionsStrictPropertyInitializationStrictNullChecks.ts]
2+
var x;
3+
4+
5+
//// [optionsStrictPropertyInitializationStrictNullChecks.js]
6+
var x;
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
=== tests/cases/compiler/optionsStrictPropertyInitializationStrictNullChecks.ts ===
2+
var x;
3+
>x : Symbol(x, Decl(optionsStrictPropertyInitializationStrictNullChecks.ts, 0, 3))
4+
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
=== tests/cases/compiler/optionsStrictPropertyInitializationStrictNullChecks.ts ===
2+
var x;
3+
>x : any
4+
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// @strictPropertyInitialization: true
2+
3+
var x;

0 commit comments

Comments
 (0)