TsLint rules preventing undefined leaks in strictNullChecks mode.

Downloads in past


821.0.16 years ago7 years agoMinified + gzip package size for tslint-strict-null-checks in KB


npm version Build Status Coverage Status
TsLint rules preventing undefined leaks in strictNullChecks mode
TypeScript (latest release 2.4.1) strictNullChecks is not reliable. It does not work as it should at least in two basic cases. It does not enforce initialization of varaiables and properties, so they will be undefined, even if undefined is not in the domian. Code that (should not) compiles in strictNullChecks: ```typescript class X {
public x: number;
} let x: number; function f(): number {
return x;
} let m: number = f(); let c: X = new X(); console.log(m: ${m}); console.log(c.x: ${c.x}); ``` results in: ```sh m: undefined c.x: undefined ``` With ts-strict-null-checks You will be warned about not initialized variables and properties.


Install from npm to your devDependencies: ```sh npm install --save-dev tslint-strict-null-checks ``` Configure tslint to use the tslint-strict-null-checks folder. Add the following path to the rulesDirectory setting in your tslint.json file: ```json {
"rulesDirectory": [
"rules": {
} ```


Rule: no-uninitialized

Enforces initialization of variables and properties, when undefined is not in their domain. ```json "no-uninitialized": true, "variables", "properties" ```


If You find any gap where undefined can be smuggled please open an issue.


Please contribute using Github Flow. Create a branch, add commits, and open a pull request.