json - 启用 linter 对 json.parse 中的任何类型发出警告
问题描述
我确信这是已经被多次询问过的问题,但我根本无法使用 typescript-eslint 得到与类型“any”相关的错误我在 src\index.ts 中有一些示例代码
const testArray = [1, 2, 3];
const testString = JSON.stringify(testArray);
const test_Array2 = JSON.parse(testString);
console.log(test_Array2.length);
我已经根据我的知识配置了 .eslintrc
{
"root": true,
"parser": "@typescript-eslint/parser",
"parserOptions": {
"tsconfigRootDir": "./",
"project": ["./tsconfig.json"]
},
"plugins": ["@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"rules": {},
"env": {
"browser": true,
"node": true
}
}
我有一个非常简约的 package.json
{
"name": "typescript-starter",
"version": "1.0.0",
"description": "test.",
"main": "index.js",
"scripts": {
"lint": "eslint . --ext .ts"
},
"keywords": [],
"author": "",
"license": "ISC",
"devDependencies": {
"@types/node": "^12.7.2",
"@typescript-eslint/eslint-plugin": "^2.34.0",
"@typescript-eslint/parser": "^2.34.0",
"eslint": "^6.8.0",
"rimraf": "^3.0.0",
"typescript": "^4.3.5"
},
"dependencies": {}
}
和非常简单的 tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"sourceMap": true,
"lib": ["es6"],
"allowJs": true,
"outDir": "build",
"rootDir": "src",
"strict": true,
"noImplicitAny": true,
"esModuleInterop": true,
"resolveJsonModule": true,
"types": ["node"],
"typeRoots": ["./node_modules/@types"]
},
"include": ["src/**/*"]
}
我的期望是,linter 应该抱怨我使用 test_Array2.length,因为 test_Array2 具有 any 类型(并且在 @typescript-eslint/recommended 中禁止隐式使用 any 类型)。相反,我得到的唯一错误与驼峰式有关(这证明我的配置实际上正在检查某些东西)
3:7 error Identifier 'test_Array2' is not in camel case @typescript-eslint/camelcase
5:13 error Identifier 'test_Array2' is not in camel case @typescript-eslint/camelcase
我正在使用 @typescript-eslint/eslint-plugin@2.34.0 和 @typescript-eslint/parser@2.34.0 (基本上是最新版本)
有人可以为我应该改变什么以实际从 linter 中得到错误带来一些启示吗?
解决方案
推荐阅读
- javascript - React JS,为什么我的页面磁贴没有改变?
- c - 为什么更改作为参数传递给函数的 char 指针的内容会导致 SIGSEGV?
- node.js - 一个非常简单的 /alive rest api nodejs expressjs 怎么会超时?
- r - 在 R 中使用波浪号 (~) 和句点 (.)
- spring-data-jpa - 在集合中通过精确匹配查找实体
- c++ - C++20 的内存模型与 C++11 的内存模型有何不同?
- yaml - OpenAPI 3 中等效的 XSD 选择
- javascript - 将所有 API 函数移到 React 组件之外
- python - 为什么该函数不在多处理中运行?
- python - 带有熊猫数据框的 ARIMA 模型