Skip to content

Commit 5f2143a

Browse files
authored
Merge pull request #349 from JohT/feature/improve-documentation
Improve Documentation
2 parents 3a8f5b4 + 64b3fa7 commit 5f2143a

File tree

4 files changed

+190
-7
lines changed

4 files changed

+190
-7
lines changed

.github/workflows/internal-check-links-in-documentation.yml

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ on:
1010
- 'COMMANDS.md'
1111
- 'GETTING_STARTED.md'
1212
- 'INTEGRATION.md'
13+
- 'CHANGELOG.md'
1314
- '.github/workflows/internal-check-links-in-documentation.yml' # also run when this file was changed
1415
schedule:
1516
- cron: "15 6 1 * *" # On the first day of each month at 6:15 o'clock
@@ -37,6 +38,6 @@ jobs:
3738
3839
- name: Check links in top level documentation Markdown files
3940
if: ${{ ! env.skip_link_check}}
40-
run: npx --yes [email protected] --verbose --alive=200,202,206 --retry README.md COMMANDS.md GETTING_STARTED.md INTEGRATION.md
41+
run: npx --yes [email protected] --verbose --alive=200,202,206 --retry README.md COMMANDS.md GETTING_STARTED.md INTEGRATION.md CHANGELOG.md
4142
# Temporarily, everything is done using command line options rather than with the config file, which doesn't seem to work.
4243
# Maybe related to https://github.com/tcort/markdown-link-check/issues/379 ?

CHANGELOG.md

+175
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,175 @@
1+
# Code Graph Analysis Pipeline - Changelog
2+
3+
This document describes the changes to the Code Graph Analysis Pipeline. The changes are grouped by version and date. The latest version is at the top.
4+
5+
## v2.0.0 (2024-12-15) TypeScript Source Code Analysis
6+
7+
For all details see: https://github.com/JohT/code-graph-analysis-pipeline/releases/tag/v2.0.0
8+
9+
### 🌟 Highlights 🌟
10+
11+
*[TypeScript](https://github.com/jqassistant-plugin/jqassistant-typescript-plugin) ✨ Source Code Analysis (experimental)
12+
* [Git](https://github.com/kontext-e/jqassistant-git-plugin) data included
13+
* [Npm package.json](https://github.com/jqassistant-plugin/jqassistant-npm-plugin) data included
14+
* Multiple source folders
15+
* Symbolic links
16+
* Incoming and Outgoing dependencies considering Java subpackages
17+
* [Path finding algorithms](https://neo4j.com/docs/graph-data-science/current/algorithms/pathfinding) reports
18+
* [Bridges](https://neo4j.com/docs/graph-data-science/current/algorithms/bridges) centrality algorithm report
19+
* JavaEE and Spring REST endpoint reports
20+
21+
### 🚀 Features
22+
23+
* Skip analysis for empty projections by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/114
24+
* Small Improvements by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/117
25+
* Incoming and outgoing package dependencies with sub packages by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/124
26+
* Introduce Typescript Analysis by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/112
27+
* Separate report reference documentation generation by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/143
28+
* Add optional data validation before Jupyter notebook execution. by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/144
29+
* Assure that t-SNE perplexity parameter is lower than the sample size for small graphs by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/147
30+
* Use pnpm as package manager for react-router by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/148
31+
* Migrate from sklearn.manifold TSNE to openTSNE for visualizing node embeddings by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/155
32+
* Provide script to import git log as csv by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/157
33+
* Add parent git commit nodes and connect them by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/159
34+
* Use latest stable open graph-data-science version 2.6.7 by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/161
35+
* Use latest stable open-graph-data-science version 2.6.8 by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/162
36+
* Ignore duplicate Typescript analysis json files scan by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/173
37+
* Fix missing declarationCount property on DEPENDS_ON relationships by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/183
38+
* Add file distance to DEPENDS_ON relationships by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/184
39+
* Support npm package.json files by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/185
40+
* Add script to sort out external Java jar libraries. by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/186
41+
* Support multiple source directories by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/178
42+
* Support Typescript scan for existing sources without clone by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/191
43+
* Refine nodes and relationships for multi typescript project graphs by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/194
44+
* Support scanning files outside "artifacts" and switch to plugin for git data by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/195
45+
* Use Renovate to update jQAssistant plugins by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/198
46+
* Fix error when tsconfig has file as reference path. by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/200
47+
* Improve useability by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/203
48+
* Auto detect latest git tag if no version is specified by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/208
49+
* Detect, mark and filter test related modules in Typescript analysis by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/209
50+
* Improve file and npm relationships for Typescript projects by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/210
51+
* Add statistics about resolved external Typescript modules by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/215
52+
* Scan every Typescript source directory separately. by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/224
53+
* Support scanning large code bases by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/229
54+
* Improvements for Typescript by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/231
55+
* Support Typescript version numbers by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/223
56+
* Scan each contained Typescript package when the scan of the whole source repository failed by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/244
57+
* Fix missing support for dashes in profile names. by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/245
58+
* Improve RESOLVES_TO relationships between external and internal Typescript modules by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/248
59+
* Improve internal dependencies reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/255
60+
* Fix minor Typescript issues by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/259
61+
* Improve naming of external Typescript nodes by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/260
62+
* Improve Typescript scanning and git import by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/265
63+
* Improvements for large scala Typescript analysis by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/268
64+
* Fix missing IS_IMPLEMENTED_IN relationship for Typescript declarations by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/277
65+
* Fix broken link check using workaround by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/279
66+
* Install Typescript project dependencies explicitly by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/280
67+
* Update jQAssistant TypeScript Plugin to v1.3.2 by @renovate in https://github.com/JohT/code-graph-analysis-pipeline/pull/282
68+
* Add details to algorithm result code unit names by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/285
69+
70+
### 📈 Reports
71+
72+
* Add reports containing JavaEE and Spring REST resources by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/102
73+
* Add Graph visualizations for Typescript Modules by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/142
74+
* Add graph data science algorithms for Typescript by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/137
75+
* Add external dependencies reports for Typescript by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/154
76+
* Add internal dependencies reports for Typescript by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/167
77+
* Add Overview reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/174
78+
* Add visibility reports for Typescript by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/175
79+
* Introduce path finding algorithm reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/216
80+
* Add Bridges centrality algorithm report by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/283
81+
82+
## v1.0.1 (2023-12-16) Fix Graph Visualization
83+
84+
For all details see: https://github.com/JohT/code-graph-analysis-pipeline/releases/tag/v1.0.1
85+
86+
### ⚙️ Optimization
87+
88+
* Update and add old results by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/91
89+
* Improve visualization error handling by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/89
90+
91+
### 🛠 Fixes
92+
93+
* Fix JavaScript Graph Visualization by running it after all CSV reports that write data into the Graph by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/89
94+
95+
### 📦 Dependency Updates
96+
97+
* Update dependency AxonFramework/AxonFramework to v4.9.1 by @renovate in https://github.com/JohT/code-graph-analysis-pipeline/pull/90
98+
99+
## v1.0.0 (2023-12-09) First major version release
100+
101+
### 🚀 Features
102+
103+
* Update to Neo4j v5 and jQAssistant CLI 2.0 by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/6
104+
* Introduce explore mode to start a manual analysis by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/13/commits/53d60458589d5bfae07958fad57f0533f9eb9cb1
105+
* Support for open packaged graph-data-science plugin by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/15
106+
* Support query parameters by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/42
107+
108+
### 📈 Reports
109+
110+
* Graph Visualization by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/24
111+
* Render visualization as png using puppeteer by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/26
112+
* Add artifact reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/31
113+
* Add node embeddings reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/47
114+
* Add reports with metrics about detected communities by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/73
115+
* Add java specific queries and reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/83
116+
117+
### 📖 Documentation
118+
119+
* Auto-generate reference documentation by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/22
120+
* Bring documentation up-to-date by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/74
121+
122+
### ⚙️ Optimization
123+
124+
* Rename "package dependencies" to "internal dependencies" by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/12
125+
* Separate artifacts and their download from the analysis by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/13
126+
* Performance Tuning by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/19
127+
* Update old analysis reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/23
128+
* Parametrize Topological Sort by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/51
129+
* Refine Community Detection by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/52
130+
* Fail-fast approach for error handling by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/54
131+
* Optimize centrality reports using in-memory mutate by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/55
132+
* Optimize Similarity using in-memory mutation by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/60
133+
* Minor improvements and refinements by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/88
134+
135+
### 🛠 Fixes
136+
137+
* Fix missing Jupyter reports by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/72
138+
139+
## v0.9.0 (2023-06-26) Initial Release Version
140+
141+
For all details see: https://github.com/JohT/code-graph-analysis-pipeline/releases/tag/v0.9.0
142+
143+
### 🚀 Features
144+
145+
* Analyze static code structure, dependencies, metrics, ...
146+
* Fully automated [pipeline](./.github/workflows/code-reports.yml) from tool installation and artifact download to report generation
147+
* Runtime and library independent automation using [shell scripts](./scripts/SCRIPTS.md)
148+
* Comprehensive list of [Cypher queries](./cypher/CYPHER.md)
149+
* Example Analysis for [AxonFramework](https://github.com/AxonFramework/AxonFramework)
150+
151+
### 📖 Jupyter Notebook Reports
152+
153+
* [External Dependencies](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/external-dependencies-java/ExternalDependenciesJava.md) contains detailed information about external library usage ([Notebook](./jupyter/ExternalDependenciesJava.ipynb)).
154+
* [Object Oriented Design Quality Metrics](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/object-oriented-design-metrics-java/ObjectOrientedDesignMetricsJava.md) is based on [OO Design Quality Metrics by Robert Martin](https://api.semanticscholar.org/CorpusID:18246616) ([Notebook](./jupyter/ObjectOrientedDesignMetricsJava.ipynb)).
155+
* [Overview](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/overview-java/OverviewJava.md) contains overall statistics and details about methods and their complexity. ([Notebook](./jupyter/OverviewJava.ipynb)).
156+
* [Internal Dependencies](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/internal-dependencies-java/InternalDependenciesJava.md) is based on [Analyze java package metrics in a graph database](https://joht.github.io/johtizen/data/2023/04/21/java-package-metrics-analysis.html) and also includes cyclic dependencies ([Notebook](./jupyter/InternalDependenciesJava.ipynb)).
157+
* [Visibility Metrics](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/visibility-metrics-java/VisibilityMetricsJava.md) ([Notebook](./jupyter/VisibilityMetricsJava.ipynb)).
158+
* [Wordcloud](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/wordcloud/Wordcloud.md) contains a visual representation of package and class names ([Notebook](./jupyter/Wordcloud.ipynb)).
159+
160+
### 📖 Graph Data Science Reports
161+
162+
Here are some reports that utilize Neo4j's [Graph Data Science Library](https://neo4j.com/product/graph-data-science):
163+
164+
* [Centrality](./scripts/reports/CentralityCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/centrality-csv/Package_Centrality_Page_Rank.csv))
165+
* [Community Detection](./scripts/reports/CommunityCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/community-csv/Package_communityLeidenId_Community__Metrics.csv))
166+
* [Similarity](./scripts/reports/SimilarityCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/similarity-csv/Package_Similarity.csv))
167+
168+
### 📖 Other Reports
169+
170+
* [External Dependencies (CSV)](./scripts/reports/ExternalDependenciesCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/external-dependencies-csv/External_package_usage_overall.csv))
171+
* [Object Oriented Design Metrics (CSV)](./scripts/reports/ObjectOrientedDesignMetricsCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/object-oriented-design-metrics-csv/MainSequenceAbstractnessInstabilityDistanceJava.csv))
172+
* [Overview (CSV)](./scripts/reports/OverviewCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/overview-csv/Cyclomatic_Method_Complexity.csv))
173+
* [Internal Dependencies - Cyclic (CSV)](./scripts/reports/PackageDependenciesCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/internal-dependencies-csv/Cyclic_Dependencies_Breakdown_Backward_Only.csv))
174+
* [Internal Dependencies - Interface Segregation (CSV)](./scripts/reports/PackageDependenciesCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/internal-dependencies-csv/InterfaceSegregationCandidates.csv))
175+
* [Visibility Metrics (CSV)](./scripts/reports/VisibilityMetricsCsv.sh) ([Example](https://github.com/JohT/code-graph-analysis-examples/blob/main/analysis-results/AxonFramework/latest/visibility-metrics-csv/RelativeVisibilityPerArtifact.csv))

COMMANDS.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ Change into the [scripts](./scripts/) directory e.g. with `cd scripts` and then
157157
The following command shows how to use [markdown-link-check](https://github.com/tcort/markdown-link-check) to for example check the links in the [README.md](./README.md) file:
158158

159159
```script
160-
npx --yes markdown-link-check --quiet --progress --config=markdown-lint-check-config.json README.md COMMANDS.md GETTING_STARTED.md INTEGRATION.md
160+
npx --yes markdown-link-check --quiet --progress --config=markdown-lint-check-config.json README.md COMMANDS.md GETTING_STARTED.md INTEGRATION.md CHANGELOG.md
161161
```
162162

163163
## Manual Setup

0 commit comments

Comments
 (0)