Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
07e8fa7
chore(graph): extracted VerticalLine.tsx from GraphColumn.tsx
TomPlum Mar 21, 2025
7c7e0fc
chore(config): added keywords to library package.json
TomPlum Mar 21, 2025
41c2365
chore(docs): removed npm version badge from library readme
TomPlum Mar 21, 2025
7839837
chore(graph): extracted HeadCommitVerticalLine from GraphColumn
TomPlum Mar 21, 2025
114c179
chore(graph): consolidated vertical line rendering points in GraphCol…
TomPlum Mar 21, 2025
c93469c
chore(graph): extracted IndexPseudoCommitNode from GraphColumn and cl…
TomPlum Mar 21, 2025
9b81a4e
test(graph): added testing deps, commit stub and first graph column t…
TomPlum Mar 21, 2025
f705273
test(graph): added test cases for graph column commit node rendering
TomPlum Mar 21, 2025
ad0e2af
test(graph): adding graph column POM and refactoring test suite
TomPlum Mar 22, 2025
9a6e3ec
test(graph): added test cases for horizontal line rendering in graph …
TomPlum Mar 22, 2025
d40a145
test(graph): added test cases for graph column selected background re…
TomPlum Mar 22, 2025
134d6a6
test(graph): added more test cases for graph column selected backgrou…
TomPlum Mar 22, 2025
9801ffe
test(graph): added test cases for graph column previewed background r…
TomPlum Mar 22, 2025
eceda92
fix(graph): fixed small horizontal line rendering issue after test-id…
TomPlum Mar 22, 2025
5ed4751
chore(config): added coverage directory to .gitignore
TomPlum Mar 22, 2025
a620c7a
chore(graph): added wrapping container around curve components to sim…
TomPlum Mar 22, 2025
541d58d
test(graph): added test cases for left-down curve rendering in graph …
TomPlum Mar 22, 2025
ab9770b
test(graph): added test cases for left-up curve rendering in graph co…
TomPlum Mar 22, 2025
9a00a71
test(graph): added test cases for head commit vertical line rendering…
TomPlum Mar 22, 2025
29f96ff
test(graph): added extra styling assertions to column background tests
TomPlum Mar 22, 2025
e51be4d
test(graph): added horizontal line component unit tests
TomPlum Mar 22, 2025
78867a0
test(graph): added fading div unit tests
TomPlum Mar 22, 2025
5e6e5b6
test(hooks): added shiftAlphaChannel tests for useTheme hook
TomPlum Mar 22, 2025
ce2d33f
test(hooks): added tests for remaining useTheme functions
TomPlum Mar 22, 2025
769dedb
test(hooks): added tests for createRainbowTheme.ts
TomPlum Mar 22, 2025
710a324
test(hooks): added graph row unit tests
TomPlum Mar 22, 2025
29bace1
fix(graph): fixed dynamic position of commit node hashes
TomPlum Mar 22, 2025
66e623d
chore(graph): removed console.log and cleared todo
TomPlum Mar 23, 2025
ed3bcdc
test(graph): added test suite for commit node component
TomPlum Mar 23, 2025
92e602e
test(graph): started adding util for integration test and added git l…
TomPlum Mar 23, 2025
88747b2
test(log): started writing integration test against the sleep reposit…
TomPlum Mar 23, 2025
55ea573
test(config): split unit vs integration test scripts, updated workflo…
TomPlum Mar 23, 2025
db664d4
test(data): fixed failing gitLogParser.spec.ts test in test utils
TomPlum Mar 23, 2025
2092a11
Merge branch 'refs/heads/main' into develop
TomPlum Mar 23, 2025
595f061
test(data): added index pseudo row and vertical line assertions to gi…
TomPlum Mar 23, 2025
4c4cb6d
test(data): added tag assertions to git log integration test
TomPlum Mar 23, 2025
b6b2bbb
test(data): added table assertions to git log integration test and fi…
TomPlum Mar 23, 2025
8517842
test(data): added test cases for branch tag component
TomPlum Mar 23, 2025
0a13a13
test(data): increased integration test timeout and updated roadmap in…
TomPlum Mar 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion .github/workflows/develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,10 @@ jobs:
- name: Run Unit Tests
env:
TZ: UTC
run: npm run test:ci --workspace=@tomplum/react-git-log
run: npm run test:unit:ci --workspace=@tomplum/react-git-log

- name: Run Integration Tests
env:
TZ: UTC
run: npm run test:integration:ci --workspace=@tomplum/react-git-log

10 changes: 10 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,16 @@ jobs:
- name: Build Library
run: npm run build --workspace=@tomplum/react-git-log

- name: Run Unit Tests
env:
TZ: UTC
run: npm run test:unit:ci --workspace=@tomplum/react-git-log

- name: Run Integration Tests
env:
TZ: UTC
run: npm run test:integration:ci --workspace=@tomplum/react-git-log

- name: Build Storybook
run: npm run build-storybook --workspace=@tomplum/react-git-log-demo

Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,5 @@ dist-ssr

*storybook.log
packages/demo/storybook-static

packages/library/coverage
12 changes: 12 additions & 0 deletions .run/library _ test_integration.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="library &gt; test:integration" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/packages/library/package.json" />
<command value="run" />
<scripts>
<script value="test:integration" />
</scripts>
<node-interpreter value="project" />
<envs />
<method v="2" />
</configuration>
</component>
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="library &gt; test" type="js.build_tools.npm" nameIsGenerated="true">
<configuration default="false" name="library &gt; test:unit" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/packages/library/package.json" />
<command value="run" />
<scripts>
<script value="test" />
<script value="test:unit" />
</scripts>
<node-interpreter value="project" />
<envs />
Expand Down
12 changes: 12 additions & 0 deletions .run/library _ test_unit_ui.run.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="library &gt; test:unit:ui" type="js.build_tools.npm" nameIsGenerated="true">
<package-json value="$PROJECT_DIR$/packages/library/package.json" />
<command value="run" />
<scripts>
<script value="test:unit:ui" />
</scripts>
<node-interpreter value="project" />
<envs />
<method v="2" />
</configuration>
</component>
13 changes: 6 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
# :seedling: React Git Log

A flexible and interactive React component for visualising Git commit history. Displays a branching graph alongside commit, branch and tag metadata, with support for customised theming.

# Contents
<!-- TOC -->
* [Features](#features)
* [Using the component](#using-the-component)
Expand Down Expand Up @@ -168,21 +170,18 @@ This will write `git-log.txt` in the directory where you ran the command. It can
- And Iain Ballard for his experimental GUI [SnivellingGit](https://github.com/i-e-b/SnivellingGit/tree/master)

# Roadmap
- Filtering of branches
- Filter by commit message search?
- Filtering of date?
- Show code in stories
- Tests
- Expose custom theme object off the Theme type
- Performance testing on large repos
- Can Zustand help us here to reduce re-renders with GitContext Provider?
- Add error boundary
- Add empty state
- Expose component override props for things like CommitNode, CommitMessage etc.
- Straight line prop to turn curves into right angles?
- Add data-testids to all relevant elements for testing
- Node size parameter to make the graph even more compact as it will reduce the minimum column width
- Line curve radius prop?
- Should we split the component in 3 sub-components with a wrapper, like `GitLog` and `GitLog.Graph` etc.?
- Fix React docgen in Storybook controls as its not showing the JSDoc from the interface props
- Extract ThemeContext
- Extract ThemeContext
- Mobile responsiveness for the demo site
- Add min width to commit message grid column
- Add author to table
Loading