shit-mountain-telescope
v0.1.0
Published
Shit Mountain Telescope — 屎山望远镜: CLI to evaluate a codebase and scan files
Maintainers
Readme
🔭 Shit Mountain Telescope — 屎山望远镜
Shit Mountain Telescope — 屎山望远镜 是一个有趣的代码质量评测工具,用幽默的方式分析 Vue 项目中的“屎山”特征,让代码审查变得更有趣!
✨ 功能特色
🔍 代码质量检测
- 长函数检测(>50 行)
- 重复代码检测(跨文件相似度)
- 圈复杂度计算(AST)
- TODO/FIXME 统计
- 硬编码密钥检测
🧩 Vue 特有检测
- v-if 与 v-for 同元素
- v-for 缺少 key
- 不安全 v-html(XSS 风险)
- 模板嵌套深度
- 直接修改 props
- 组件规模统计(Options/Composition)
- 内存泄漏检测(事件/定时器未清理)
📁 资源分析
- 大资源文件检测
- 尺寸与体积匹配分析
🚀 快速开始
安装依赖
npm install --no-fund --no-audit基本使用(推荐 smt)
# 分析当前目录
smt
# 分析指定目录
smt -p ./src
# 显示帮助 / 版本
smt -h
smt -v命令行选项
| 选项 | 说明 | 示例 |
|------|------|------|
| -p, --path <路径> | 指定要分析的目录路径 | -p ./src |
| --style <风格> | 控制台/HTML 风格(中文名) | --style "学术论文风" |
| --debug-ast | 显示 AST 调试信息 | --debug-ast |
| -h, --help | 帮助 | -h |
| -v, --version | 版本 | -v |
🔧 技术特性
解析策略
- Vue3:
@vue/compiler-sfc - Vue2:
vue-template-compiler - 降级:正则策略
📄 许可证
MIT License
🤝 贡献
欢迎提交 Issue 和 Pull Request!
