TypeStat
TypeStat copied to clipboard
🐛 Bug: strictNonNullAssertions adds !!!!!!!!!!!!!!!!!!!!!
Bug Report Checklist
- [X] I have tried restarting my IDE and the issue persists.
- [X] I have pulled the latest
main
branch of the repository. - [X] I have searched for related issues and found none that matched my issue.
Expected
There should not be reason to add !
here. attributeTypesAndRequirements
should be always Map
const visitReactComponentNode = (
node: ReactComponentNode,
request: FileMutationsRequest,
) => {
// ...
// Find all types of props later passed to the node
const attributeTypesAndRequirements = collectComponentAttributeTypes(
request,
node,
);
// ! ts language server says `attributeTypes` is `attributeTypes: Map<string, ts.Type[]>`, so it should not be undefined
if (!attributeTypesAndRequirements?.attributeTypes.size) {
return undefined;
}
// ...
};
Actual
const visitReactComponentNode = (
node: ReactComponentNode,
request: FileMutationsRequest,
) => {
// ...
// Find all types of props later passed to the node
const attributeTypesAndRequirements = collectComponentAttributeTypes(
request,
node,
);
// ! ts language server says `attributeTypes` is `attributeTypes: Map<string, ts.Type[]>`, so it should not be undefined
if (!attributeTypesAndRequirements?.attributeTypes!!!!!!!!!!!!!!!!!!!!!.size) {
return undefined;
}
// ...
};
Additional Info
typestat.json
[
{
"fixes": {
"strictNonNullAssertions": true
},
"include": [
"src/**/*.{ts,tsx}"
],
"projectPath": "./tsconfig.json",
"types": {
"strictNullChecks": true
}
}
]
tsconfig
{
"compilerOptions": {
"declaration": true,
"declarationMap": true,
"esModuleInterop": true,
"module": "NodeNext",
"moduleResolution": "NodeNext",
"noEmit": true,
"outDir": "lib",
"resolveJsonModule": true,
"skipLibCheck": true,
"sourceMap": true,
"strict": true,
"target": "ES2022"
},
"include": ["src", "test/*.ts"]
}