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.
Files changed (51) hide show
  1. package/README.md +45 -244
  2. package/dist/backend/server.d.ts.map +1 -1
  3. package/dist/backend/server.js +30 -10
  4. package/dist/backend/server.js.map +1 -1
  5. package/dist/config/paths.d.ts +14 -0
  6. package/dist/config/paths.d.ts.map +1 -0
  7. package/dist/config/paths.js +35 -0
  8. package/dist/config/paths.js.map +1 -0
  9. package/package.json +8 -1
  10. package/public/index.html +0 -1
  11. package/.eslintrc.js +0 -21
  12. package/demo.js +0 -45
  13. package/frontend/.editorconfig +0 -17
  14. package/frontend/.vscode/extensions.json +0 -4
  15. package/frontend/.vscode/launch.json +0 -20
  16. package/frontend/.vscode/tasks.json +0 -42
  17. package/frontend/README.md +0 -59
  18. package/frontend/angular.json +0 -99
  19. package/frontend/package-lock.json +0 -10566
  20. package/frontend/package.json +0 -55
  21. package/frontend/proxy.conf.json +0 -7
  22. package/frontend/public/favicon.ico +0 -0
  23. package/frontend/src/app/app.component.ts +0 -598
  24. package/frontend/src/app/app.config.ts +0 -12
  25. package/frontend/src/app/app.css +0 -0
  26. package/frontend/src/app/app.html +0 -342
  27. package/frontend/src/app/app.routes.ts +0 -3
  28. package/frontend/src/app/app.spec.ts +0 -23
  29. package/frontend/src/app/app.ts +0 -12
  30. package/frontend/src/app/components/color-palette-selector/color-palette-selector.component.ts +0 -137
  31. package/frontend/src/app/components/commit-detail/commit-detail.component.ts +0 -327
  32. package/frontend/src/app/components/commit-graph/commit-graph.component.ts +0 -294
  33. package/frontend/src/app/components/commit-list/commit-list.component.ts +0 -199
  34. package/frontend/src/app/components/diff-viewer/diff-viewer.component.ts +0 -311
  35. package/frontend/src/app/models/color-palette.models.ts +0 -229
  36. package/frontend/src/app/models/git.models.ts +0 -39
  37. package/frontend/src/app/services/git.service.ts +0 -43
  38. package/frontend/src/index.html +0 -13
  39. package/frontend/src/main.ts +0 -6
  40. package/frontend/src/styles.css +0 -397
  41. package/frontend/tsconfig.app.json +0 -15
  42. package/frontend/tsconfig.json +0 -34
  43. package/frontend/tsconfig.spec.json +0 -14
  44. package/jest.config.js +0 -26
  45. package/src/__tests__/gitService.test.ts +0 -533
  46. package/src/__tests__/setup.ts +0 -25
  47. package/src/backend/dev-server.ts +0 -14
  48. package/src/backend/gitService.ts +0 -277
  49. package/src/backend/server.ts +0 -132
  50. package/src/cli.ts +0 -56
  51. package/tsconfig.json +0 -25
package/README.md CHANGED
@@ -1,304 +1,105 @@
1
1
  # Git History UI
2
2
 
3
- [![npm version](https://badge.fury.io/js/git-history-ui.svg)](https://badge.fury.io/js/git-history-ui)
4
- [![npm downloads](https://img.shields.io/npm/dm/git-history-ui.svg)](https://www.npmjs.com/package/git-history-ui)
5
- [![npm license](https://img.shields.io/npm/l/git-history-ui.svg)](https://www.npmjs.com/package/git-history-ui)
6
- [![Node.js version](https://img.shields.io/node/v/git-history-ui.svg)](https://www.npmjs.com/package/git-history-ui)
7
- [![GitHub stars](https://img.shields.io/github/stars/ankit-sharma/git-history-ui.svg)](https://github.com/ankit-sharma/git-history-ui)
8
- [![GitHub issues](https://img.shields.io/github/issues/ankit-sharma/git-history-ui.svg)](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
- **Author:** Ankit Sharma (ankit.sharma199803@gmail.com)
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! šŸŽ‰ The application will automatically:
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
- ## šŸ“– Usage Examples
14
+ ## ✨ Features
49
15
 
50
- ### Basic Usage
51
- ```bash
52
- # Run directly with npx (no installation needed)
53
- npx git-history-ui
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
- ## šŸŽÆ Use Cases & Examples
46
+ ## šŸ­ Production
143
47
 
144
- ### Code Review Workflow
48
+ ### Build for Production
145
49
  ```bash
146
- # 1. Start the application
147
- npx git-history-ui
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
- # 4. Filter by date to review recent changes
155
- # Use the date picker to select "Last week"
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
- ### Release Planning
57
+ ### Docker
165
58
  ```bash
166
- # 1. Filter commits since last release
167
- # Use date picker to select release date
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
- ### Theme Customization
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
- ### For Contributors
66
+ ### Setup
220
67
  ```bash
221
- # Clone the repository
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
- ### Docker Deployment (Planned)
77
+ ### Testing
236
78
  ```bash
237
- # Build Docker image
238
- docker build -t git-history-ui .
79
+ # Run backend tests
80
+ npm test
239
81
 
240
- # Run container
241
- docker run -p 3000:3000 git-history-ui
82
+ # Run frontend tests
83
+ cd frontend && npm test
242
84
  ```
243
85
 
244
- ## šŸ¤ Contributing
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
- # 3. Start development servers
258
- npm run dev
88
+ - **Node.js**: 18.0.0 or higher
89
+ - **Git**: Any version (must be in a git repository)
259
90
 
260
- # 4. Make your changes
261
- # 5. Test your changes
262
- # 6. Submit a pull request
263
- ```
91
+ ## šŸ¤ Contributing
264
92
 
265
- ### Areas for Contribution
266
- - **UI/UX Improvements**: Better visualizations, animations, or user experience
267
- - **New Features**: Additional filtering options, blame visualization UI, etc.
268
- - **Performance**: Optimize graph rendering, search performance
269
- - **Documentation**: Improve README, add code comments
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,iBAiHrC"}
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"}
@@ -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
- // Serve Angular build files
27
- app.use(express_1.default.static(path_1.default.join(__dirname, '../../frontend/dist/frontend/browser')));
28
- // Serve public folder as fallback
29
- app.use(express_1.default.static(path_1.default.join(__dirname, '../../public')));
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
- res.sendFile(path_1.default.join(__dirname, '../../frontend/dist/frontend/browser/index.html'));
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":"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"}
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.1",
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');
@@ -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,4 +0,0 @@
1
- {
2
- // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3
- "recommendations": ["angular.ng-template"]
4
- }
@@ -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
- }