Por alguna razón, mi .eslintrc.json tiene alguna opción, o le falta alguna opción para captar la advertencia
El objeto es posiblemente 'nulo'
¿Qué debo cambiar para que mi eslint me notifique sobre esta advertencia?
IMPORTANTE , esto está en mis pruebas unitarias, por lo que agregar strictNullChecks no funciona para mi proyecto, por eso pregunté si eslint tiene una opción para eso.
{ "settings": { "react": { "version": "latest" } }, "env": { "browser": true, "es2021": true }, "extends": ["eslint:recommended", "plugin:react/recommended", "plugin:@typescript-eslint/recommended", "prettier"], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaFeatures": { "jsx": true }, "ecmaVersion": 12, "sourceType": "module" }, "plugins": ["react", "@typescript-eslint"], "rules": { "@typescript-eslint/no-inferrable-types": "off" }, "ignorePatterns": ["dist/*"] } Mi tsconfig.json
{ "exclude": ["lib/**/*.spec.tsx", "lib/**/*.stories.tsx", "lib/**/*.styles.tsx", "settings/**/*", "dist/**/*"], "compilerOptions": { "skipLibCheck": true, "target": "es5", "lib": ["es5", "dom"], "jsx": "react", "declaration": true, "declarationMap": true, "sourceMap": true, "outDir": "dist", "rootDirs": ["lib"], "strict": true, "moduleResolution": "node", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strictNullChecks": true } }En su archivo tsconfig.json en "compilerOptions", desea establecer "strictNullChecks" en "true":
{ "compilerOptions": { "strictNullChecks": true, } }Eso hará que TypeScript le avise cuando un valor sea posiblemente nulo. No creo que puedas hacer que eslint lo haga por ti.
ESLint no puede generar pelusa ni advertir sobre los tipos, solo TypeScript puede hacerlo.
Desea tener 2 archivos tsconfig.json , tsconfig.test.json y tsconfig.json
El tsconfig.json debería ser como:
{ ... "compilerOptions": { "strictNullChecks": true, } } y el tsconfig.test.json debería ser como:
{ "extends": "./tsconfig.json", ... "compilerOptions": { "strictNullChecks": false, } }De esta forma, la comprobación de nulos del script no se comprobará durante la ejecución de la prueba.
El problema estaba en la línea:
"exclude": ["lib/**/*.spec.tsx", ...Por eso, las pruebas están siendo ignoradas.