Scanner
ArchGuard Scanner for scan Git change history, scan source code by Chapi for Java, TypeScript, Kotlin, Go..、Java bytecode use for JVM languages, scan Jacoco test coverage.
Install / Use
/learn @archguard/ScannerREADME
MOVE TO https://github.com/archguard/archguard
Arch Scanner
Requirements: JDK 12
Scanner:
- diff_change - diff change between commits
- scan_git - Git commit history scan
- analyser_architecture - analysis architecture
- analyser_sca - analysis software composition
- scan_sourcecode - Code analysis
- scanner_sourcecode
- feat_apicalls
- feat_datamap
- lang_csharp
- lang_golang
- lang_java
- lang_kotlin
- lang_python
- lang_scala
- lang_typescript
- scanner_cli
- scanner_core
- scanner_sourcecode
- linter
- [x] rule_sql
- [x] rule_test_code
- [x] rule_webapi
- [ ] rule_layer
- rule-core
flowchart TB
subgraph ast
lang_java-->AST
lang_kotlin-->AST
lang_typescript-->AST
lang_csharp-->AST
lang_python-->AST
lang_others[...]-->AST
end
AST --> Backend
AST --> feat_datamap --> Backend
AST --> feat_apicalls --> Backend
subgraph deps
gradle --> sca
maven --> sca
npm --> sca
others[...] --> sca
end
sca --> Backend
subgraph Linter
AST --> rule_sql --> Issue
AST --> rule_test_code --> Issue
AST --> rule_webapi --> Issue
end
Issue --> Backend
scan_git --> Backend
diff_changes --> Backend
feat_apicalls --> arch
subgraph archteicture
AST --> arch
sca --> arch
code --> arch
end
archteicture --> Backend
Inspires
ArchGuard Scanner is inspired by a lot of projects.
- scan_bytecode inspired by https://github.com/fesh0r/fernflower
- linter rule system inspired by https://github.com/pinterest/ktlint
- CLOC inspired by https://github.com/boyter/scc, and
languages.jsonbased on SCC with MIT LICENSE.
License
languages.json based on https://github.com/boyter/scc with MIT LICENSE.
@2020~2022 Thoughtworks. This code is distributed under the MIT license. See LICENSE in this directory.
