SonarSource/SonarJS
GitHub: SonarSource/SonarJS
SonarSource 出品的 JavaScript 和 TypeScript 静态代码分析器,提供高级代码质量检查与安全漏洞检测功能。
Stars: 1202 | Forks: 192
[](https://next.sonarqube.com/sonarqube/dashboard?id=org.sonarsource.javascript%3Ajavascript) [](https://next.sonarqube.com/sonarqube/component_measures/domain/Coverage?id=org.sonarsource.javascript%3Ajavascript)
这个 SonarSource 项目是一款针对 JavaScript、TypeScript 和 CSS 语言的[静态代码分析器](https://en.wikipedia.org/wiki/Static_program_analysis),旨在提供集成的代码质量和安全性保障。
:arrow_right: [有反馈?](#support)
此仓库现在托管了 [eslint-plugin-sonarjs](./packages/jsts/src/rules/README.md),这是我们用于 ESLint 的插件。
# 功能特性
- 基于模式匹配和控制流分析的高级规则
- [479 条 JS 规则](https://rules.sonarsource.com/javascript) 和 [496 条 TS 规则](https://rules.sonarsource.com/typescript)
- [29 条 CSS 规则](https://rules.sonarsource.com/css)
- 兼容 ECMAScript 2015-2020
- 支持 JavaScript 和 TypeScript 的 React JSX、Flow、Vue 和 AWS lambda 函数
- 支持 CSS、SCSS、SASS、Less,以及 HTML 和 VueJS 文件中的 'style'
- 指标(复杂度、代码行数等)
- 导入测试覆盖率报告
- 导入 ESLint、TSLint 和 Stylelint 问题
# 文档
你可以在[这里找到文档](https://docs.sonarqube.org/latest/analysis/languages/javascript/)
# 问题或反馈?
### SonarSource 社区论坛
如果你想报告错误、请求新功能或提供其他类型的反馈,请使用 [SonarQube 社区论坛](https://community.sonarsource.com/)。请务必详细说明你的请求、代码复现步骤以及你使用的项目版本。
# 贡献
## 前置条件
要开发此项目,需要安装以下工具:
- [JDK 17](https://docs.aws.amazon.com/corretto/latest/corretto-17-ug/what-is-corretto-17.html)
- [Node.js](https://nodejs.org/en) >= 22
- [npm](https://www.npmjs.com/) >= 8
- [Maven](https://maven.apache.org/) >= 3.8
## 操作指南
### 构建项目
通过安装 Node.js 依赖项并执行常规 Maven `install` 命令,可以将该项目构建为 SonarJS 插件。
```
npm install
mvn clean install
```
### 请求新功能
若要请求新功能,请在 [SonarSource 社区论坛](https://community.sonarsource.com/)中创建一个新主题。即使你计划自己实现并将其提交回社区,也请创建一个主题,以便我们能够跟进。
### 创建 Pull Request
要提交贡献,请为此仓库创建一个 pull request。请确保遵循我们的[代码风格](https://github.com/SonarSource/sonar-developer-toolset)并且所有[测试](/docs/DEV.md#testing)均通过。
## 加入我们
你想全职从事这个项目吗?我们在招聘!查看 https://www.sonarsource.com/hiring
## 许可证
版权所有 2011-2024 SonarSource。
2024 年 11 月 29 日之后发布的 SonarQube 分析器(包括针对先前版本的补丁修复)均在 [Sonar Source-Available License Version 1 (SSALv1)](LICENSE.txt) 下发布。
请参阅各个文件以了解适用于每个文件的具体许可证详情。受 SSALv1 约束的文件将在其文件头中注明。
标签:AWS Lambda, CMS安全, CSS, ESLint插件, JavaScript, JS文件枚举, Less, LNA, MITM代理, React, SASS, SCSS, SonarQube, SonarSource, Syscalls, TypeScript, Vue, 代码扫描器, 安全专业人员, 安全插件, 控制流分析, 数据可视化, 文件系统扫描, 模式匹配, 浏览器安全, 自动化攻击, 自动化攻击, 自动化资产收集, 错误基检测, 静态代码分析