git-history-ui 1.0.1 ā 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -244
- package/dist/backend/server.d.ts.map +1 -1
- package/dist/backend/server.js +30 -10
- package/dist/backend/server.js.map +1 -1
- package/dist/config/paths.d.ts +14 -0
- package/dist/config/paths.d.ts.map +1 -0
- package/dist/config/paths.js +35 -0
- package/dist/config/paths.js.map +1 -0
- package/package.json +8 -1
- package/public/index.html +0 -1
- package/.eslintrc.js +0 -21
- package/demo.js +0 -45
- package/frontend/.editorconfig +0 -17
- package/frontend/.vscode/extensions.json +0 -4
- package/frontend/.vscode/launch.json +0 -20
- package/frontend/.vscode/tasks.json +0 -42
- package/frontend/README.md +0 -59
- package/frontend/angular.json +0 -99
- package/frontend/package-lock.json +0 -10566
- package/frontend/package.json +0 -55
- package/frontend/proxy.conf.json +0 -7
- package/frontend/public/favicon.ico +0 -0
- package/frontend/src/app/app.component.ts +0 -598
- package/frontend/src/app/app.config.ts +0 -12
- package/frontend/src/app/app.css +0 -0
- package/frontend/src/app/app.html +0 -342
- package/frontend/src/app/app.routes.ts +0 -3
- package/frontend/src/app/app.spec.ts +0 -23
- package/frontend/src/app/app.ts +0 -12
- package/frontend/src/app/components/color-palette-selector/color-palette-selector.component.ts +0 -137
- package/frontend/src/app/components/commit-detail/commit-detail.component.ts +0 -327
- package/frontend/src/app/components/commit-graph/commit-graph.component.ts +0 -294
- package/frontend/src/app/components/commit-list/commit-list.component.ts +0 -199
- package/frontend/src/app/components/diff-viewer/diff-viewer.component.ts +0 -311
- package/frontend/src/app/models/color-palette.models.ts +0 -229
- package/frontend/src/app/models/git.models.ts +0 -39
- package/frontend/src/app/services/git.service.ts +0 -43
- package/frontend/src/index.html +0 -13
- package/frontend/src/main.ts +0 -6
- package/frontend/src/styles.css +0 -397
- package/frontend/tsconfig.app.json +0 -15
- package/frontend/tsconfig.json +0 -34
- package/frontend/tsconfig.spec.json +0 -14
- package/jest.config.js +0 -26
- package/src/__tests__/gitService.test.ts +0 -533
- package/src/__tests__/setup.ts +0 -25
- package/src/backend/dev-server.ts +0 -14
- package/src/backend/gitService.ts +0 -277
- package/src/backend/server.ts +0 -132
- package/src/cli.ts +0 -56
- package/tsconfig.json +0 -25
package/README.md
CHANGED
|
@@ -1,304 +1,105 @@
|
|
|
1
1
|
# Git History UI
|
|
2
2
|
|
|
3
|
-
[](https://badge.fury.io/js/git-history-ui)
|
|
4
|
-
[](https://www.npmjs.com/package/git-history-ui)
|
|
5
|
-
[](https://www.npmjs.com/package/git-history-ui)
|
|
6
|
-
[](https://www.npmjs.com/package/git-history-ui)
|
|
7
|
-
[](https://github.com/ankit-sharma/git-history-ui)
|
|
8
|
-
[](https://github.com/ankit-sharma/git-history-ui/issues)
|
|
9
|
-
|
|
10
3
|
A beautiful, modern web UI for visualizing git history with interactive commit graphs, search, filtering, and diff visualization. Built with Angular and Node.js.
|
|
11
4
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
## š Requirements
|
|
15
|
-
|
|
16
|
-
- **Node.js**: 18.0.0 or higher
|
|
17
|
-
- **Angular**: 20.2.1
|
|
18
|
-
- **Git**: Any version (must be in a git repository)
|
|
19
|
-
|
|
20
|
-
## ⨠Features
|
|
21
|
-
|
|
22
|
-
- **šØ Interactive Commit Graph** - Beautiful D3.js-powered visualizations with branch tracking and merge detection
|
|
23
|
-
- **š Advanced Search & Filtering** - Search by author, date range, commit message, or specific files
|
|
24
|
-
- **š Dual View Modes** - Switch between graph view and list view
|
|
25
|
-
- **šØ Color Palette System** - Choose from 6 light and 6 dark themes
|
|
26
|
-
- **š Dark/Light Mode** - Toggle between themes with persistent preferences
|
|
27
|
-
- **š± Responsive Design** - Works on desktop and mobile devices
|
|
28
|
-
- **ā” Real-time Search** - Live filtering and search results
|
|
29
|
-
- **š§ Modern Tech Stack** - Angular 20 frontend with Node.js backend
|
|
30
|
-
|
|
31
|
-
## š Quick Start (1 Step!)
|
|
32
|
-
|
|
33
|
-
### Prerequisites
|
|
34
|
-
- **Node.js 18.0.0+** - [Download here](https://nodejs.org/)
|
|
35
|
-
- **Git repository** - Must be in a git repository
|
|
5
|
+
## š Quick Start
|
|
36
6
|
|
|
37
|
-
### Step 1: Run the Application
|
|
38
7
|
```bash
|
|
39
8
|
# Run directly with npx (no installation needed)
|
|
40
|
-
npx git-history-ui
|
|
9
|
+
npx git-history-ui@latest
|
|
41
10
|
```
|
|
42
11
|
|
|
43
|
-
That's it!
|
|
44
|
-
- Start the backend server on port 3000
|
|
45
|
-
- Start the frontend server on port 4200
|
|
46
|
-
- Open your browser to `http://localhost:4200`
|
|
12
|
+
That's it! The application will start on `http://localhost:3000` and open your browser automatically.
|
|
47
13
|
|
|
48
|
-
##
|
|
14
|
+
## ⨠Features
|
|
49
15
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
16
|
+
- **šØ Interactive Commit Graph** - D3.js-powered visualizations with branch tracking
|
|
17
|
+
- **š Advanced Search & Filtering** - Search by author, date, commit message, or files
|
|
18
|
+
- **š Dual View Modes** - Switch between graph view and list view
|
|
19
|
+
- **šØ Color Palette System** - 6 light and 6 dark themes
|
|
20
|
+
- **š Dark/Light Mode** - Toggle between themes
|
|
21
|
+
- **š± Responsive Design** - Works on desktop and mobile
|
|
22
|
+
|
|
23
|
+
## š Usage
|
|
55
24
|
|
|
56
25
|
### CLI Options
|
|
57
26
|
```bash
|
|
58
27
|
# Custom port
|
|
59
|
-
npx git-history-ui --port 8080
|
|
28
|
+
npx git-history-ui@latest --port 8080
|
|
60
29
|
|
|
61
30
|
# Filter by specific file
|
|
62
|
-
npx git-history-ui --file src/app.js
|
|
31
|
+
npx git-history-ui@latest --file src/app.js
|
|
63
32
|
|
|
64
33
|
# Filter by author
|
|
65
|
-
npx git-history-ui --author "your-name"
|
|
34
|
+
npx git-history-ui@latest --author "your-name"
|
|
66
35
|
|
|
67
36
|
# Filter by date range
|
|
68
|
-
npx git-history-ui --since 2024-01-01
|
|
37
|
+
npx git-history-ui@latest --since 2024-01-01
|
|
69
38
|
|
|
70
39
|
# Don't auto-open browser
|
|
71
|
-
npx git-history-ui --no-open
|
|
40
|
+
npx git-history-ui@latest --no-open
|
|
72
41
|
|
|
73
42
|
# Show help
|
|
74
|
-
npx git-history-ui --help
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Advanced Usage
|
|
78
|
-
```bash
|
|
79
|
-
# Use in specific directory
|
|
80
|
-
cd /path/to/your/repo
|
|
81
|
-
npx git-history-ui
|
|
82
|
-
|
|
83
|
-
# Use with environment variables
|
|
84
|
-
PORT=8080 npx git-history-ui
|
|
85
|
-
|
|
86
|
-
# Use with different host
|
|
87
|
-
HOST=0.0.0.0 npx git-history-ui
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## šÆ Key Features Explained
|
|
91
|
-
|
|
92
|
-
### š Graph View
|
|
93
|
-
- **Interactive Commit Graph**: Click any commit node to view details
|
|
94
|
-
- **Branch Visualization**: Different colors for different branches
|
|
95
|
-
- **Merge Detection**: Purple nodes indicate merge commits
|
|
96
|
-
- **Force-Directed Layout**: Automatic positioning for optimal viewing
|
|
97
|
-
|
|
98
|
-
### š List View
|
|
99
|
-
- **Organized Commit List**: Clean, readable commit information
|
|
100
|
-
- **File Change Summary**: See how many files were changed
|
|
101
|
-
- **Author & Date Info**: Quick access to commit metadata
|
|
102
|
-
- **Search Integration**: Real-time filtering as you type
|
|
103
|
-
|
|
104
|
-
### š Search & Filtering
|
|
105
|
-
- **Real-time Search**: Search across commit messages, authors, and hashes
|
|
106
|
-
- **Date Range Filter**: Use the date picker to filter by specific dates
|
|
107
|
-
- **Author Filter**: Dropdown to filter by specific authors
|
|
108
|
-
- **File Filter**: Search for commits that touched specific files
|
|
109
|
-
|
|
110
|
-
### šØ Theme System
|
|
111
|
-
- **6 Light Themes**: Default, Ocean, Forest, Sunset, Monochrome, Neon
|
|
112
|
-
- **6 Dark Themes**: Matching dark versions of all themes
|
|
113
|
-
- **Persistent Preferences**: Your theme choice is saved automatically
|
|
114
|
-
- **Dark Mode Toggle**: Quick switch between light and dark modes
|
|
115
|
-
|
|
116
|
-
## š ļø Development Setup
|
|
117
|
-
|
|
118
|
-
### Prerequisites
|
|
119
|
-
- **Node.js 18.0.0+** - [Download here](https://nodejs.org/)
|
|
120
|
-
- **Git repository** - Must be in a git repository
|
|
121
|
-
|
|
122
|
-
### Project Structure
|
|
123
|
-
```
|
|
124
|
-
git-history-ui/
|
|
125
|
-
āāā frontend/ # Angular 20 application
|
|
126
|
-
ā āāā src/app/
|
|
127
|
-
ā ā āāā components/ # UI components
|
|
128
|
-
ā ā ā āāā commit-graph/ # D3.js graph visualization
|
|
129
|
-
ā ā ā āāā commit-list/ # List view component
|
|
130
|
-
ā ā ā āāā commit-detail/ # Commit details modal
|
|
131
|
-
ā ā ā āāā color-palette-selector/ # Theme selector
|
|
132
|
-
ā ā āāā services/ # Angular services
|
|
133
|
-
ā ā āāā models/ # TypeScript interfaces
|
|
134
|
-
ā āāā angular.json # Angular configuration
|
|
135
|
-
āāā src/backend/ # Node.js backend
|
|
136
|
-
ā āāā server.ts # Express server
|
|
137
|
-
ā āāā gitService.ts # Git operations
|
|
138
|
-
āāā package.json # Dependencies and scripts
|
|
139
|
-
āāā README.md # This file
|
|
43
|
+
npx git-history-ui@latest --help
|
|
140
44
|
```
|
|
141
45
|
|
|
142
|
-
##
|
|
46
|
+
## š Production
|
|
143
47
|
|
|
144
|
-
###
|
|
48
|
+
### Build for Production
|
|
145
49
|
```bash
|
|
146
|
-
#
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
# 2. Open http://localhost:4200
|
|
150
|
-
|
|
151
|
-
# 3. Use the search bar to find specific commits
|
|
152
|
-
# Example: Search for "bug fix" or "feature"
|
|
50
|
+
# Build both backend and frontend
|
|
51
|
+
npm run build:production
|
|
153
52
|
|
|
154
|
-
#
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
# 5. Switch to graph view to see branch structure
|
|
158
|
-
# Click "Graph View" button
|
|
159
|
-
|
|
160
|
-
# 6. Click any commit to see detailed changes
|
|
161
|
-
# View file diffs and commit information
|
|
53
|
+
# Start production server
|
|
54
|
+
npm run start:production
|
|
162
55
|
```
|
|
163
56
|
|
|
164
|
-
###
|
|
57
|
+
### Docker
|
|
165
58
|
```bash
|
|
166
|
-
#
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
# 2. Review all changes in list view
|
|
170
|
-
# See commit messages and file changes
|
|
171
|
-
|
|
172
|
-
# 3. Switch to graph view for branch overview
|
|
173
|
-
# Identify feature branches and merges
|
|
174
|
-
|
|
175
|
-
# 4. Copy commit information for release notes
|
|
176
|
-
# Manually copy relevant commit details
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Bug Investigation
|
|
180
|
-
```bash
|
|
181
|
-
# 1. Search for specific file changes
|
|
182
|
-
# Use file filter: "src/app.js"
|
|
183
|
-
|
|
184
|
-
# 2. Filter by author if you know who made changes
|
|
185
|
-
# Select author from dropdown
|
|
186
|
-
|
|
187
|
-
# 3. Use date range to narrow down timeframe
|
|
188
|
-
# Select date range around when bug appeared
|
|
189
|
-
|
|
190
|
-
# 4. Review commit details and diffs
|
|
191
|
-
# Click commits to see exact changes made
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
## š§ Configuration & Customization
|
|
195
|
-
|
|
196
|
-
### Environment Variables
|
|
197
|
-
```bash
|
|
198
|
-
# Custom port for backend (default: 3000)
|
|
199
|
-
PORT=8080 npm run dev
|
|
200
|
-
|
|
201
|
-
# Custom host (default: localhost)
|
|
202
|
-
HOST=0.0.0.0 npm run dev
|
|
59
|
+
# Build and run with Docker
|
|
60
|
+
docker build -t git-history-ui .
|
|
61
|
+
docker run -p 3000:3000 git-history-ui
|
|
203
62
|
```
|
|
204
63
|
|
|
205
|
-
|
|
206
|
-
- **Light Themes**: Default, Ocean, Forest, Sunset, Monochrome, Neon
|
|
207
|
-
- **Dark Themes**: Matching dark versions of all themes
|
|
208
|
-
- **Auto-save**: Your theme preference is automatically saved
|
|
209
|
-
- **System Integration**: Respects system dark mode preference
|
|
210
|
-
|
|
211
|
-
### Browser Compatibility
|
|
212
|
-
- **Chrome/Edge**: Full support with all features
|
|
213
|
-
- **Firefox**: Full support with all features
|
|
214
|
-
- **Safari**: Full support with all features
|
|
215
|
-
- **Mobile**: Basic responsive design support
|
|
216
|
-
|
|
217
|
-
## š Development Setup
|
|
64
|
+
## š ļø Development
|
|
218
65
|
|
|
219
|
-
###
|
|
66
|
+
### Setup
|
|
220
67
|
```bash
|
|
221
|
-
# Clone
|
|
68
|
+
# Clone and install
|
|
222
69
|
git clone https://github.com/ankit-sharma/git-history-ui.git
|
|
223
70
|
cd git-history-ui
|
|
224
|
-
|
|
225
|
-
# Install dependencies
|
|
226
71
|
npm install
|
|
227
72
|
|
|
228
73
|
# Start development servers
|
|
229
74
|
npm run dev
|
|
230
|
-
|
|
231
|
-
# Build for production
|
|
232
|
-
npm run build
|
|
233
75
|
```
|
|
234
76
|
|
|
235
|
-
###
|
|
77
|
+
### Testing
|
|
236
78
|
```bash
|
|
237
|
-
#
|
|
238
|
-
|
|
79
|
+
# Run backend tests
|
|
80
|
+
npm test
|
|
239
81
|
|
|
240
|
-
# Run
|
|
241
|
-
|
|
82
|
+
# Run frontend tests
|
|
83
|
+
cd frontend && npm test
|
|
242
84
|
```
|
|
243
85
|
|
|
244
|
-
##
|
|
245
|
-
|
|
246
|
-
We welcome contributions! Here's how to get started:
|
|
247
|
-
|
|
248
|
-
### Development Setup
|
|
249
|
-
```bash
|
|
250
|
-
# 1. Fork and clone the repository
|
|
251
|
-
git clone https://github.com/ankit-sharma/git-history-ui.git
|
|
252
|
-
cd git-history-ui
|
|
253
|
-
|
|
254
|
-
# 2. Install dependencies
|
|
255
|
-
npm install
|
|
86
|
+
## š Requirements
|
|
256
87
|
|
|
257
|
-
|
|
258
|
-
|
|
88
|
+
- **Node.js**: 18.0.0 or higher
|
|
89
|
+
- **Git**: Any version (must be in a git repository)
|
|
259
90
|
|
|
260
|
-
|
|
261
|
-
# 5. Test your changes
|
|
262
|
-
# 6. Submit a pull request
|
|
263
|
-
```
|
|
91
|
+
## š¤ Contributing
|
|
264
92
|
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
- **Testing**: Add unit tests, integration tests
|
|
93
|
+
1. Fork the repository
|
|
94
|
+
2. Create a feature branch
|
|
95
|
+
3. Make your changes
|
|
96
|
+
4. Run tests
|
|
97
|
+
5. Submit a pull request
|
|
271
98
|
|
|
272
99
|
## š License
|
|
273
100
|
|
|
274
101
|
MIT License - see [LICENSE](LICENSE) file for details
|
|
275
102
|
|
|
276
|
-
## š Acknowledgments
|
|
277
|
-
|
|
278
|
-
- **[D3.js](https://d3js.org/)** - Beautiful data visualizations
|
|
279
|
-
- **[Angular](https://angular.io/)** - Modern frontend framework
|
|
280
|
-
- **[simple-git](https://github.com/steveukx/git-js)** - Git operations
|
|
281
|
-
- **[Express](https://expressjs.com/)** - Backend server framework
|
|
282
|
-
|
|
283
|
-
## š Issues & Support
|
|
284
|
-
|
|
285
|
-
- **š Bug Reports**: Please include steps to reproduce and browser information
|
|
286
|
-
- **š” Feature Requests**: Describe the use case and expected behavior
|
|
287
|
-
- **ā Questions**: Open a discussion for general questions
|
|
288
|
-
|
|
289
|
-
## š Project Status
|
|
290
|
-
|
|
291
|
-
- ā
**Core Features**: Complete
|
|
292
|
-
- ā
**Dark Mode**: Complete
|
|
293
|
-
- ā
**Theme System**: Complete
|
|
294
|
-
- ā
**Search & Filtering**: Complete
|
|
295
|
-
- ā
**Commit Graph Visualization**: Complete
|
|
296
|
-
- ā
**Diff Viewer**: Complete
|
|
297
|
-
- š§ **Performance Optimization**: In Progress
|
|
298
|
-
- š **Export Features**: Planned
|
|
299
|
-
- š **Blame Visualization**: Backend ready, UI pending
|
|
300
|
-
- š **npm Package**: Ready for publishing
|
|
301
|
-
|
|
302
103
|
---
|
|
303
104
|
|
|
304
105
|
Made with ā¤ļø for developers who love beautiful git visualizations
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAC/B,IAAI,GAAE,MAAa,EACnB,IAAI,GAAE,MAAoB,EAC1B,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAC/B,IAAI,GAAE,MAAa,EACnB,IAAI,GAAE,MAAoB,EAC1B,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,iBAsIrC"}
|
package/dist/backend/server.js
CHANGED
|
@@ -13,20 +13,33 @@ const gitService_1 = require("./gitService");
|
|
|
13
13
|
async function startServer(port = 3000, host = 'localhost', options = {}) {
|
|
14
14
|
const app = (0, express_1.default)();
|
|
15
15
|
const server = (0, http_1.createServer)(app);
|
|
16
|
+
// CORS configuration
|
|
17
|
+
const corsOptions = {
|
|
18
|
+
origin: process.env.NODE_ENV === 'production'
|
|
19
|
+
? ['http://localhost:4200', 'http://localhost:3000', 'http://127.0.0.1:4200', 'http://127.0.0.1:3000']
|
|
20
|
+
: true,
|
|
21
|
+
credentials: true,
|
|
22
|
+
methods: ['GET', 'POST', 'PUT', 'DELETE', 'OPTIONS'],
|
|
23
|
+
allowedHeaders: ['Content-Type', 'Authorization', 'X-Requested-With']
|
|
24
|
+
};
|
|
16
25
|
const io = new socket_io_1.Server(server, {
|
|
17
|
-
cors:
|
|
18
|
-
origin: "*",
|
|
19
|
-
methods: ["GET", "POST"]
|
|
20
|
-
}
|
|
26
|
+
cors: corsOptions
|
|
21
27
|
});
|
|
22
28
|
const gitService = new gitService_1.GitService();
|
|
23
29
|
// Middleware
|
|
24
|
-
app.use((0, cors_1.default)());
|
|
30
|
+
app.use((0, cors_1.default)(corsOptions));
|
|
25
31
|
app.use(express_1.default.json());
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
32
|
+
// Check if Angular build exists, otherwise use public folder
|
|
33
|
+
const angularBuildPath = path_1.default.join(__dirname, '../../frontend/dist/frontend/browser');
|
|
34
|
+
const publicPath = path_1.default.join(__dirname, '../../public');
|
|
35
|
+
if (require('fs').existsSync(angularBuildPath)) {
|
|
36
|
+
// Serve Angular build files
|
|
37
|
+
app.use(express_1.default.static(angularBuildPath));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
// Serve public folder as fallback
|
|
41
|
+
app.use(express_1.default.static(publicPath));
|
|
42
|
+
}
|
|
30
43
|
// API Routes
|
|
31
44
|
app.get('/api/commits', async (req, res) => {
|
|
32
45
|
try {
|
|
@@ -99,7 +112,14 @@ async function startServer(port = 3000, host = 'localhost', options = {}) {
|
|
|
99
112
|
});
|
|
100
113
|
// Serve the main HTML file for Angular routing
|
|
101
114
|
app.get('*', (req, res) => {
|
|
102
|
-
|
|
115
|
+
const angularIndexPath = path_1.default.join(__dirname, '../../frontend/dist/frontend/browser/index.html');
|
|
116
|
+
const publicIndexPath = path_1.default.join(__dirname, '../../public/index.html');
|
|
117
|
+
if (require('fs').existsSync(angularIndexPath)) {
|
|
118
|
+
res.sendFile(angularIndexPath);
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
res.sendFile(publicIndexPath);
|
|
122
|
+
}
|
|
103
123
|
});
|
|
104
124
|
// Socket.IO for real-time updates
|
|
105
125
|
io.on('connection', (socket) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":";;;;;AAeA,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/backend/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface PathConfig {
|
|
2
|
+
publicPath: string;
|
|
3
|
+
frontendPath: string;
|
|
4
|
+
frontendIndexPath: string;
|
|
5
|
+
distPath: string;
|
|
6
|
+
srcPath: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function getPathConfig(): PathConfig;
|
|
9
|
+
export declare function getTailwindPaths(): string[];
|
|
10
|
+
export declare function getBuildPaths(): {
|
|
11
|
+
input: string;
|
|
12
|
+
output: string;
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,IAAI,UAAU,CAU1C;AAED,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAQ3C;AAED,wBAAgB,aAAa,IAAI;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAOjE"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getPathConfig = getPathConfig;
|
|
7
|
+
exports.getTailwindPaths = getTailwindPaths;
|
|
8
|
+
exports.getBuildPaths = getBuildPaths;
|
|
9
|
+
const path_1 = __importDefault(require("path"));
|
|
10
|
+
function getPathConfig() {
|
|
11
|
+
const cwd = process.cwd();
|
|
12
|
+
return {
|
|
13
|
+
publicPath: process.env.PUBLIC_PATH || path_1.default.join(cwd, 'public'),
|
|
14
|
+
frontendPath: process.env.FRONTEND_PATH || path_1.default.join(cwd, 'frontend', 'dist', 'frontend', 'browser'),
|
|
15
|
+
frontendIndexPath: process.env.FRONTEND_INDEX_PATH || path_1.default.join(cwd, 'frontend', 'dist', 'frontend', 'browser', 'index.html'),
|
|
16
|
+
distPath: process.env.DIST_PATH || path_1.default.join(cwd, 'dist'),
|
|
17
|
+
srcPath: process.env.SRC_PATH || path_1.default.join(cwd, 'src')
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function getTailwindPaths() {
|
|
21
|
+
const cwd = process.cwd();
|
|
22
|
+
return [
|
|
23
|
+
process.env.TAILWIND_PUBLIC_PATH || path_1.default.join(cwd, 'public', '**', '*.{html,js}'),
|
|
24
|
+
process.env.TAILWIND_SRC_PATH || path_1.default.join(cwd, 'src', '**', '*.{html,ts,js}'),
|
|
25
|
+
process.env.TAILWIND_FRONTEND_PATH || path_1.default.join(cwd, 'frontend', 'src', '**', '*.{html,ts,js}')
|
|
26
|
+
];
|
|
27
|
+
}
|
|
28
|
+
function getBuildPaths() {
|
|
29
|
+
const cwd = process.cwd();
|
|
30
|
+
return {
|
|
31
|
+
input: process.env.BUILD_INPUT_PATH || path_1.default.join(cwd, 'public', 'styles.css'),
|
|
32
|
+
output: process.env.BUILD_OUTPUT_PATH || path_1.default.join(cwd, 'public', 'tailwind.css')
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/config/paths.ts"],"names":[],"mappings":";;;;;AAUA,sCAUC;AAED,4CAQC;AAED,sCAOC;AAvCD,gDAAwB;AAUxB,SAAgB,aAAa;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC;QAC/D,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC;QACpG,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC;QAC7H,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;QACzD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC;KACvD,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO;QACL,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,CAAC;QACjF,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAC;KAChG,CAAC;AACJ,CAAC;AAED,SAAgB,aAAa;IAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAE1B,OAAO;QACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,YAAY,CAAC;QAC7E,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,cAAc,CAAC;KAClF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "git-history-ui",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"description": "Beautiful git history visualization in your browser",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"git-history-ui": "dist/cli.js"
|
|
8
8
|
},
|
|
9
|
+
"files": [
|
|
10
|
+
"dist/**/*",
|
|
11
|
+
"frontend/dist/**/*",
|
|
12
|
+
"public/**/*"
|
|
13
|
+
],
|
|
9
14
|
"scripts": {
|
|
10
15
|
"build": "npm run build:backend && npm run build:frontend",
|
|
11
16
|
"build:backend": "tsc -p tsconfig.json",
|
|
12
17
|
"build:frontend": "cd frontend && ng build --configuration production",
|
|
18
|
+
"build:production": "NODE_ENV=production npm run build",
|
|
13
19
|
"dev": "concurrently \"npm run dev:backend\" \"npm run dev:frontend\"",
|
|
14
20
|
"dev:backend": "ts-node-dev --respawn --transpile-only src/backend/dev-server.ts",
|
|
15
21
|
"dev:frontend": "cd frontend && ng serve --port 4200",
|
|
16
22
|
"start": "node dist/backend/server.js",
|
|
23
|
+
"start:production": "NODE_ENV=production node dist/backend/server.js",
|
|
17
24
|
"test": "jest",
|
|
18
25
|
"test:coverage": "jest --coverage",
|
|
19
26
|
"test:watch": "jest --watch",
|
package/public/index.html
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
<meta charset="UTF-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>Git History UI</title>
|
|
7
|
-
<script src="https://cdn.tailwindcss.com"></script>
|
|
8
7
|
<script src="https://d3js.org/d3.v7.min.js"></script>
|
|
9
8
|
<script src="https://cdn.socket.io/4.7.4/socket.io.min.js"></script>
|
|
10
9
|
<style>
|
package/.eslintrc.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module.exports = {
|
|
2
|
-
parser: '@typescript-eslint/parser',
|
|
3
|
-
extends: [
|
|
4
|
-
'eslint:recommended',
|
|
5
|
-
'@typescript-eslint/recommended',
|
|
6
|
-
],
|
|
7
|
-
parserOptions: {
|
|
8
|
-
ecmaVersion: 2020,
|
|
9
|
-
sourceType: 'module',
|
|
10
|
-
},
|
|
11
|
-
env: {
|
|
12
|
-
node: true,
|
|
13
|
-
es6: true,
|
|
14
|
-
},
|
|
15
|
-
rules: {
|
|
16
|
-
'@typescript-eslint/no-unused-vars': 'error',
|
|
17
|
-
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
18
|
-
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
19
|
-
'@typescript-eslint/no-explicit-any': 'warn',
|
|
20
|
-
},
|
|
21
|
-
};
|
package/demo.js
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
// Simple demo script to test the git-history-ui functionality
|
|
4
|
-
const { execSync } = require('child_process');
|
|
5
|
-
const path = require('path');
|
|
6
|
-
|
|
7
|
-
console.log('š Git History UI Demo');
|
|
8
|
-
console.log('=====================');
|
|
9
|
-
|
|
10
|
-
// Check if we're in a git repository
|
|
11
|
-
try {
|
|
12
|
-
execSync('git status', { stdio: 'pipe' });
|
|
13
|
-
console.log('ā
Git repository detected');
|
|
14
|
-
} catch (error) {
|
|
15
|
-
console.log('ā Not in a git repository');
|
|
16
|
-
console.log('Please run this script from a git repository');
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
// Test the CLI
|
|
21
|
-
console.log('\nš Testing CLI...');
|
|
22
|
-
try {
|
|
23
|
-
const result = execSync('node dist/cli.js --help', { encoding: 'utf8' });
|
|
24
|
-
console.log('ā
CLI help command works');
|
|
25
|
-
console.log(result);
|
|
26
|
-
} catch (error) {
|
|
27
|
-
console.log('ā CLI help command failed');
|
|
28
|
-
console.log(error.message);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// Test the server
|
|
32
|
-
console.log('\nš Testing server...');
|
|
33
|
-
try {
|
|
34
|
-
const server = require('./dist/backend/server');
|
|
35
|
-
console.log('ā
Server module loads successfully');
|
|
36
|
-
} catch (error) {
|
|
37
|
-
console.log('ā Server module failed to load');
|
|
38
|
-
console.log(error.message);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
console.log('\nš Demo completed!');
|
|
42
|
-
console.log('\nTo start the server, run:');
|
|
43
|
-
console.log(' npm start');
|
|
44
|
-
console.log('\nOr use the CLI:');
|
|
45
|
-
console.log(' node dist/cli.js');
|
package/frontend/.editorconfig
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
# Editor configuration, see https://editorconfig.org
|
|
2
|
-
root = true
|
|
3
|
-
|
|
4
|
-
[*]
|
|
5
|
-
charset = utf-8
|
|
6
|
-
indent_style = space
|
|
7
|
-
indent_size = 2
|
|
8
|
-
insert_final_newline = true
|
|
9
|
-
trim_trailing_whitespace = true
|
|
10
|
-
|
|
11
|
-
[*.ts]
|
|
12
|
-
quote_type = single
|
|
13
|
-
ij_typescript_use_double_quotes = false
|
|
14
|
-
|
|
15
|
-
[*.md]
|
|
16
|
-
max_line_length = off
|
|
17
|
-
trim_trailing_whitespace = false
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
3
|
-
"version": "0.2.0",
|
|
4
|
-
"configurations": [
|
|
5
|
-
{
|
|
6
|
-
"name": "ng serve",
|
|
7
|
-
"type": "chrome",
|
|
8
|
-
"request": "launch",
|
|
9
|
-
"preLaunchTask": "npm: start",
|
|
10
|
-
"url": "http://localhost:4200/"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"name": "ng test",
|
|
14
|
-
"type": "chrome",
|
|
15
|
-
"request": "launch",
|
|
16
|
-
"preLaunchTask": "npm: test",
|
|
17
|
-
"url": "http://localhost:9876/debug.html"
|
|
18
|
-
}
|
|
19
|
-
]
|
|
20
|
-
}
|