- 新增三个 demo 工程(demo-eslint / demo-sqlfluff / demo-stylelint):各含 src/ 样例代码与覆盖率映射(run-coverage.mjs、coverage_map.json、stylelint_line_map.json) - 归档各 demo 的插件实测导出报告(reports/): - demo-eslint:common.js / esm-demo.js / legacysyntax.cjs / typescript.ts 审查报告 + 覆盖率报告(292/292 条零偏差,126 种规则全覆盖) - demo-sqlfluff:11 个 SQL 样例审查报告 + 覆盖率报告(113/113 条零偏差,57 种规则全覆盖,含 JJ01 行号缺陷修复后的复测验证) - demo-stylelint:common.css / empty-source.css 审查报告 + 覆盖率报告(145/145 条零偏差,68 种规则全覆盖)
1.9 KiB
1.9 KiB
代码审查报告
文件: data\demo-eslint\src\esm-demo.js
语言: javascript
耗时: 64.7s
分析工具: eslint
总计: 5 | 错误: 3 | 警告: 1 | 建议: 1
静态分析 · 3 个问题
- 🔴
eslint:no-unused-varsL7 第7行的 'reassignImport' 已定义但从未使用。 建议: 该函数未被调用,应删除;如果后续可能使用,请在代码中调用它。建议直接删除整个函数,避免死代码。 - 🔴
eslint:no-import-assignL8 第8行 'fs' 是只读的,不能为其赋值。 建议: import 导入的绑定是只读的,重新赋值会引发运行时错误。如果函数需要操作 fs,请使用另一个变量保存导入的对象;或删除该赋值语句。由于函数本身未使用,建议删除整个函数。 - 🔴
eslint:no-undefL11 第11行 'console' 未定义。 建议: console 在浏览器和 Node.js 中通常是全局对象,但 ESLint 环境未配置。请在 .eslintrc 中设置 env.node 或 env.browser,或在代码顶部添加 /* global console */ 注释。或者改用 globalThis.console.log(fs)。
AI 审查 · 2 条建议
- 🟡 [AI] [design]
dead-code-with-runtime-errorL7 死代码中隐藏运行时错误 reassignImport 函数为 import 绑定 fs 赋值,在 ESM 中这是非法操作,一旦调用会立即抛出 TypeError。虽然当前函数未使用,但保留这种死代码会误导后续维护者,并可能被误调用导致崩溃。 建议: 删除整个函数 reassignImport,或将其重构为合法操作(例如读取 fs 的属性)。 - 🔵 [AI] [design]
module-top-level-side-effectL11 模块顶层执行 console.log 产生副作用 第 11 行的 console.log 在模块被导入时立即执行。如果这是被复用的模块,会导致控制台输出,污染调用方,且难以测试。 建议: 将 console.log 移到函数内部或通过导出接口提供;若仅是调试用途,在提交前移除。