@manojkmfsi/monodog 1.0.14 → 1.0.16
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/.turbo/turbo-build.log +4 -0
- package/CHANGELOG.md +12 -0
- package/README.md +5 -4
- package/dist/setup.js +0 -0
- package/monodog-dashboard/README.md +58 -0
- package/package.json +16 -17
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 🎯 Overview
|
|
4
4
|
|
|
5
|
-
The dashboard will provide visual management and monitoring capabilities for packages in monorepos using pnpm. It will be distributed as an npm package installable in any monorepo to auto-generate a web UI for package oversight.
|
|
5
|
+
The dashboard will provide visual management and monitoring capabilities for packages in monorepos using pnpm, turbo. It will be distributed as an npm package installable in any monorepo to auto-generate a web UI for package oversight.
|
|
6
6
|
|
|
7
7
|
This service is typically run locally or on a central server and power a dedicated frontend dashboard.
|
|
8
8
|
<img width="1593" height="807" alt="package-scan" src="https://github.com/user-attachments/assets/d7e86b80-9f6a-4608-9103-68e6d660cc36" />
|
|
@@ -37,11 +37,12 @@ You must have the following installed to run the service:
|
|
|
37
37
|
|
|
38
38
|
Install monodog in a monorepo workspace root:
|
|
39
39
|
|
|
40
|
-
pnpm
|
|
40
|
+
pnpm dlx @mindfiredigital/monodog
|
|
41
|
+
|
|
41
42
|
|
|
42
43
|
Run app using serve script:
|
|
43
44
|
|
|
44
|
-
|
|
45
|
+
cd ./monodog/ && npm run serve
|
|
45
46
|
|
|
46
47
|
### Key API Endpoints
|
|
47
48
|
|
|
@@ -49,7 +50,7 @@ Run app using serve script:
|
|
|
49
50
|
| ------- | --------------------------- | --------------------------------------------------------------------------------------- | ------------------- |
|
|
50
51
|
| **GET** | `/api/packages` | Retrieve all package metadata from the database. | Persistent |
|
|
51
52
|
| **GET** | `/api/packages/refresh` | Trigger a full file scan of the monorepo and update/sync the database. | Triggers write |
|
|
52
|
-
| **GET** | `/api/packages/:name` | Get detailed info, commits
|
|
53
|
+
| **GET** | `/api/packages/:name` | Get detailed info, commits and health status for a package. | Persistent |
|
|
53
54
|
| **GET** | `/api/health/packages` | Fetch the latest health metrics (score, build status) for all packages. | Persistent |
|
|
54
55
|
| **GET** | `/api/health/refresh` | Recalculate all package health metrics (tests, lint, security) and update the database. | Triggers write |
|
|
55
56
|
| **GET** | `/api/commits/:packagePath` | Fetch Git commit history for a specific package directory. | Persistent |
|
package/dist/setup.js
CHANGED
|
File without changes
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Monodog: Monorepo Health Dashboard (Frontend)
|
|
2
|
+
|
|
3
|
+
## 🎯 Overview
|
|
4
|
+
|
|
5
|
+
This is the **client-side application** designed to consume data from the **Monorepo Analytics and Health API** backend service.
|
|
6
|
+
It provides a **real-time, visual dashboard** for tracking the health, dependencies, and overall status of all packages within the monorepo.
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## 🛠 Technology Stack
|
|
11
|
+
|
|
12
|
+
| Component | Technology | Description |
|
|
13
|
+
| ----------------- | ----------------------------- | --------------------------------------------------------------------- |
|
|
14
|
+
| **Framework** | React (Functional Components) | Core library for building the user interface. |
|
|
15
|
+
| **Styling** | Tailwind CSS | Utility-first framework for responsive, modern, and aesthetic design. |
|
|
16
|
+
| **Data Fetching** | Fetch API (Native JavaScript) | Handles communication with the backend Express API. |
|
|
17
|
+
| **Icons** | Lucide React | Simple, clean vector icons for visualization. |
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## ⚙️ Prerequisites
|
|
22
|
+
|
|
23
|
+
To run this application, ensure the following:
|
|
24
|
+
|
|
25
|
+
- **Node.js** and a package manager (`npm`, `yarn`, or `pnpm`) are installed.
|
|
26
|
+
- The **Monorepo Analytics API** backend service is running and accessible.
|
|
27
|
+
- Default backend URL: **http://localhost:8999**
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 🚨 API Connection Details
|
|
32
|
+
|
|
33
|
+
The dashboard connects to the backend API using the following base URL:
|
|
34
|
+
|
|
35
|
+
```javascript
|
|
36
|
+
const API_BASE_URL = 'http://localhost:8999/api';
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 🚀 Getting Started
|
|
40
|
+
|
|
41
|
+
### Installation
|
|
42
|
+
|
|
43
|
+
Clone the repository and install the dependencies:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Clone the repository
|
|
47
|
+
git clone https://github.com/mindfiredigital/MonoDog.git
|
|
48
|
+
cd packages/monoapp/monodog-dashboard
|
|
49
|
+
|
|
50
|
+
# Install dependencies
|
|
51
|
+
npm install
|
|
52
|
+
|
|
53
|
+
# build
|
|
54
|
+
npm run build
|
|
55
|
+
|
|
56
|
+
# run dashboard
|
|
57
|
+
npm run dev
|
|
58
|
+
```
|
package/package.json
CHANGED
|
@@ -1,26 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@manojkmfsi/monodog",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.16",
|
|
4
4
|
"description": "App for monodog monorepo",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
7
7
|
"monodog": "dist/setup.js"
|
|
8
8
|
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"dev": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') tsx watch src/serve.js",
|
|
11
|
-
"serve": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') tsx dist/serve.js",
|
|
12
|
-
"prepublishOnly": "pnpm build",
|
|
13
|
-
"build": "rm -rf dist && tsc",
|
|
14
|
-
"test:coverage": "jest --coverage",
|
|
15
|
-
"prestart": "npm run build",
|
|
16
|
-
"clean": "rm -rf dist node_modules/.cache",
|
|
17
|
-
"lint": "eslint .",
|
|
18
|
-
"lint:fix": "eslint . --fix",
|
|
19
|
-
"db:url": "node dist/get-db-url.js",
|
|
20
|
-
"generate": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') prisma generate",
|
|
21
|
-
"migrate": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') prisma migrate dev",
|
|
22
|
-
"migrate:reset": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') prisma migrate reset --force"
|
|
23
|
-
},
|
|
24
9
|
"dependencies": {
|
|
25
10
|
"@prisma/client": "^5.22.0",
|
|
26
11
|
"body-parser": "^1.20.4",
|
|
@@ -43,5 +28,19 @@
|
|
|
43
28
|
"ts-node": "^10.9.2",
|
|
44
29
|
"tsx": "^4.21.0",
|
|
45
30
|
"typescript": "^5.9.3"
|
|
31
|
+
},
|
|
32
|
+
"scripts": {
|
|
33
|
+
"dev": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') tsx watch src/serve.js",
|
|
34
|
+
"serve": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') tsx dist/serve.js",
|
|
35
|
+
"build": "rm -rf dist && tsc",
|
|
36
|
+
"test:coverage": "jest --coverage",
|
|
37
|
+
"prestart": "npm run build",
|
|
38
|
+
"clean": "rm -rf dist node_modules/.cache",
|
|
39
|
+
"lint": "eslint .",
|
|
40
|
+
"lint:fix": "eslint . --fix",
|
|
41
|
+
"db:url": "node dist/get-db-url.js",
|
|
42
|
+
"generate": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') prisma generate",
|
|
43
|
+
"migrate": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') prisma migrate dev",
|
|
44
|
+
"migrate:reset": "DATABASE_URL=$(npm run db:url --silent 2>/dev/null | tr -d '\\n') prisma migrate reset --force"
|
|
46
45
|
}
|
|
47
|
-
}
|
|
46
|
+
}
|