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.
For all details see: https://github.com/JohT/code-graph-analysis-pipeline/releases/tag/v2.1.0
- Graph Visualization with GraphViz by @JohT in #301
- Provide re-useable public workflow for code graph analysis by @JohT in #306
- Add retention-days parameter to analysis workflows by @JohT in #310
- Remove "results" directory in favor of the new separate code-graph-analysis-examples repository by @JohT in #317
- Add git history file overview treemap by @JohT in #323
- Minimize Neo4j transaction log disk space utilization by @JohT in #294
- Provide low memory profile by @JohT in #303
- Add renovate preset to update the public reusable GitHub Workflow by @JohT in #312
- Migrate renovate config by @renovate in #313
- Improve Documentation by @JohT in #349
- Fix renaming issues and missing hidden files by @JohT in #307
- Improve Logging by @JohT in #319
- Further improve logging by @JohT in #320
For all details see: https://github.com/JohT/code-graph-analysis-pipeline/releases/tag/v2.0.0
- ✨TypeScript ✨ Source Code Analysis (experimental)
- Git data included
- Npm package.json data included
- Multiple source folders
- Symbolic links
- Incoming and Outgoing dependencies considering Java subpackages
- Path finding algorithms reports
- Bridges centrality algorithm report
- JavaEE and Spring REST endpoint reports
- Skip analysis for empty projections by @JohT in #114
- Small Improvements by @JohT in #117
- Incoming and outgoing package dependencies with sub packages by @JohT in #124
- Introduce Typescript Analysis by @JohT in #112
- Separate report reference documentation generation by @JohT in #143
- Add optional data validation before Jupyter notebook execution. by @JohT in #144
- Assure that t-SNE perplexity parameter is lower than the sample size for small graphs by @JohT in #147
- Use pnpm as package manager for react-router by @JohT in #148
- Migrate from sklearn.manifold TSNE to openTSNE for visualizing node embeddings by @JohT in #155
- Provide script to import git log as csv by @JohT in #157
- Add parent git commit nodes and connect them by @JohT in #159
- Use latest stable open graph-data-science version 2.6.7 by @JohT in #161
- Use latest stable open-graph-data-science version 2.6.8 by @JohT in #162
- Ignore duplicate Typescript analysis json files scan by @JohT in #173
- Fix missing declarationCount property on DEPENDS_ON relationships by @JohT in #183
- Add file distance to DEPENDS_ON relationships by @JohT in #184
- Support npm package.json files by @JohT in #185
- Add script to sort out external Java jar libraries. by @JohT in #186
- Support multiple source directories by @JohT in #178
- Support Typescript scan for existing sources without clone by @JohT in #191
- Refine nodes and relationships for multi typescript project graphs by @JohT in #194
- Support scanning files outside "artifacts" and switch to plugin for git data by @JohT in #195
- Use Renovate to update jQAssistant plugins by @JohT in #198
- Fix error when tsconfig has file as reference path. by @JohT in #200
- Improve useability by @JohT in #203
- Auto detect latest git tag if no version is specified by @JohT in #208
- Detect, mark and filter test related modules in Typescript analysis by @JohT in #209
- Improve file and npm relationships for Typescript projects by @JohT in #210
- Add statistics about resolved external Typescript modules by @JohT in #215
- Scan every Typescript source directory separately. by @JohT in #224
- Support scanning large code bases by @JohT in #229
- Improvements for Typescript by @JohT in #231
- Support Typescript version numbers by @JohT in #223
- Scan each contained Typescript package when the scan of the whole source repository failed by @JohT in #244
- Fix missing support for dashes in profile names. by @JohT in #245
- Improve RESOLVES_TO relationships between external and internal Typescript modules by @JohT in #248
- Improve internal dependencies reports by @JohT in #255
- Fix minor Typescript issues by @JohT in #259
- Improve naming of external Typescript nodes by @JohT in #260
- Improve Typescript scanning and git import by @JohT in #265
- Improvements for large scala Typescript analysis by @JohT in #268
- Fix missing IS_IMPLEMENTED_IN relationship for Typescript declarations by @JohT in #277
- Fix broken link check using workaround by @JohT in #279
- Install Typescript project dependencies explicitly by @JohT in #280
- Update jQAssistant TypeScript Plugin to v1.3.2 by @renovate in #282
- Add details to algorithm result code unit names by @JohT in #285
- Add reports containing JavaEE and Spring REST resources by @JohT in #102
- Add Graph visualizations for Typescript Modules by @JohT in #142
- Add graph data science algorithms for Typescript by @JohT in #137
- Add external dependencies reports for Typescript by @JohT in #154
- Add internal dependencies reports for Typescript by @JohT in #167
- Add Overview reports by @JohT in #174
- Add visibility reports for Typescript by @JohT in #175
- Introduce path finding algorithm reports by @JohT in #216
- Add Bridges centrality algorithm report by @JohT in #283
For all details see: https://github.com/JohT/code-graph-analysis-pipeline/releases/tag/v1.0.1
- Fix JavaScript Graph Visualization by running it after all CSV reports that write data into the Graph by @JohT in #89
- Update dependency AxonFramework/AxonFramework to v4.9.1 by @renovate in #90
- Update to Neo4j v5 and jQAssistant CLI 2.0 by @JohT in #6
- Introduce explore mode to start a manual analysis by @JohT in https://github.com/JohT/code-graph-analysis-pipeline/pull/13/commits/53d60458589d5bfae07958fad57f0533f9eb9cb1
- Support for open packaged graph-data-science plugin by @JohT in #15
- Support query parameters by @JohT in #42
- Graph Visualization by @JohT in #24
- Render visualization as png using puppeteer by @JohT in #26
- Add artifact reports by @JohT in #31
- Add node embeddings reports by @JohT in #47
- Add reports with metrics about detected communities by @JohT in #73
- Add java specific queries and reports by @JohT in #83
- Auto-generate reference documentation by @JohT in #22
- Bring documentation up-to-date by @JohT in #74
- Rename "package dependencies" to "internal dependencies" by @JohT in #12
- Separate artifacts and their download from the analysis by @JohT in #13
- Performance Tuning by @JohT in #19
- Update old analysis reports by @JohT in #23
- Parametrize Topological Sort by @JohT in #51
- Refine Community Detection by @JohT in #52
- Fail-fast approach for error handling by @JohT in #54
- Optimize centrality reports using in-memory mutate by @JohT in #55
- Optimize Similarity using in-memory mutation by @JohT in #60
- Minor improvements and refinements by @JohT in #88
- Fix missing Jupyter reports by @JohT in #72
For all details see: https://github.com/JohT/code-graph-analysis-pipeline/releases/tag/v0.9.0
- Analyze static code structure, dependencies, metrics, ...
- Fully automated pipeline from tool installation and artifact download to report generation
- Runtime and library independent automation using shell scripts
- Comprehensive list of Cypher queries
- Example Analysis for AxonFramework
- External Dependencies contains detailed information about external library usage (Notebook).
- Object Oriented Design Quality Metrics is based on OO Design Quality Metrics by Robert Martin (Notebook).
- Overview contains overall statistics and details about methods and their complexity. (Notebook).
- Internal Dependencies is based on Analyze java package metrics in a graph database and also includes cyclic dependencies (Notebook).
- Visibility Metrics (Notebook).
- Wordcloud contains a visual representation of package and class names (Notebook).
Here are some reports that utilize Neo4j's Graph Data Science Library: