@manojkmfsi/monodog 1.1.37 → 1.1.39
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/CHANGELOG.md +12 -0
- package/monodog-dashboard/dist/assets/index-C08ciT3A.js +20 -0
- package/monodog-dashboard/dist/assets/index-C08ciT3A.js.map +1 -0
- package/monodog-dashboard/dist/assets/index-Dc2vaUOq.css +1 -0
- package/monodog-dashboard/{index.html → dist/index.html} +2 -1
- package/monodog-dashboard/package.json +0 -3
- package/package.json +2 -2
- package/monodog-dashboard/THEME_SYSTEM.md +0 -309
- package/monodog-dashboard/__tests__/AuthCallbackPage.test.ts +0 -138
- package/monodog-dashboard/__tests__/ConfigInspector.test.ts +0 -33
- package/monodog-dashboard/__tests__/DependencyGraph.test.ts +0 -72
- package/monodog-dashboard/__tests__/HealthStatus.test.ts +0 -69
- package/monodog-dashboard/__tests__/LoginPage.test.ts +0 -79
- package/monodog-dashboard/__tests__/PackageDetail.test.ts +0 -22
- package/monodog-dashboard/__tests__/ReleaseManager.test.tsx +0 -510
- package/monodog-dashboard/__tests__/api-client.test.ts +0 -475
- package/monodog-dashboard/__tests__/components.test.ts +0 -117
- package/monodog-dashboard/__tests__/dashboard.utils.test.ts +0 -144
- package/monodog-dashboard/__tests__/dependency.utils.test.ts +0 -125
- package/monodog-dashboard/__tests__/monorepoService.unit.test.ts +0 -103
- package/monodog-dashboard/__tests__/packages.utils.test.ts +0 -37
- package/monodog-dashboard/__tests__/pages.test.ts +0 -103
- package/monodog-dashboard/package-lock.json +0 -4587
- package/monodog-dashboard/postcss.config.js +0 -6
- package/monodog-dashboard/src/components/App.tsx +0 -36
- package/monodog-dashboard/src/components/LoadingState.tsx +0 -18
- package/monodog-dashboard/src/components/PermissionGuard.tsx +0 -92
- package/monodog-dashboard/src/components/ProtectedRoute.tsx +0 -24
- package/monodog-dashboard/src/components/configuration/Configuration.tsx +0 -91
- package/monodog-dashboard/src/components/configuration/components/BrandingSettings.tsx +0 -128
- package/monodog-dashboard/src/components/configuration/components/ConfigurationHeader.tsx +0 -34
- package/monodog-dashboard/src/components/configuration/components/ConfigurationModal.tsx +0 -20
- package/monodog-dashboard/src/components/configuration/components/ConfigurationTabs.tsx +0 -30
- package/monodog-dashboard/src/components/configuration/components/FeatureToggles.tsx +0 -66
- package/monodog-dashboard/src/components/configuration/components/GeneralSettings.tsx +0 -77
- package/monodog-dashboard/src/components/configuration/components/MonorepoSettings.tsx +0 -179
- package/monodog-dashboard/src/components/configuration/components/index.ts +0 -8
- package/monodog-dashboard/src/components/configuration/types/config.types.ts +0 -52
- package/monodog-dashboard/src/components/configuration/utils/config.utils.tsx +0 -115
- package/monodog-dashboard/src/components/main-dashboard/Dashboard.tsx +0 -242
- package/monodog-dashboard/src/components/main-dashboard/Layout.tsx +0 -112
- package/monodog-dashboard/src/components/main-dashboard/components/Header.tsx +0 -47
- package/monodog-dashboard/src/components/main-dashboard/components/PackageDistribution.tsx +0 -35
- package/monodog-dashboard/src/components/main-dashboard/components/PackageSearchFilter.tsx +0 -47
- package/monodog-dashboard/src/components/main-dashboard/components/PackageTable.tsx +0 -87
- package/monodog-dashboard/src/components/main-dashboard/components/QuickActions.tsx +0 -60
- package/monodog-dashboard/src/components/main-dashboard/components/StatsCards.tsx +0 -73
- package/monodog-dashboard/src/components/main-dashboard/components/index.ts +0 -7
- package/monodog-dashboard/src/components/main-dashboard/types/dashboard.types.ts +0 -33
- package/monodog-dashboard/src/components/main-dashboard/utils/dashboard.utils.tsx +0 -70
- package/monodog-dashboard/src/components/modules/ci-integration/CIIntegration.tsx +0 -277
- package/monodog-dashboard/src/components/modules/ci-integration/components/BuildDetails.tsx +0 -228
- package/monodog-dashboard/src/components/modules/ci-integration/components/BuildList.tsx +0 -212
- package/monodog-dashboard/src/components/modules/ci-integration/components/BuildOverview.tsx +0 -158
- package/monodog-dashboard/src/components/modules/ci-integration/components/CIIntegrationHeader.tsx +0 -38
- package/monodog-dashboard/src/components/modules/ci-integration/components/ErrorState.tsx +0 -25
- package/monodog-dashboard/src/components/modules/ci-integration/components/LoadingState.tsx +0 -16
- package/monodog-dashboard/src/components/modules/ci-integration/components/PipelineStatus.tsx +0 -223
- package/monodog-dashboard/src/components/modules/ci-integration/components/index.ts +0 -8
- package/monodog-dashboard/src/components/modules/ci-integration/types/ci.types.ts +0 -97
- package/monodog-dashboard/src/components/modules/ci-integration/utils/ci.utils.tsx +0 -264
- package/monodog-dashboard/src/components/modules/config-inspector/ConfigInspector.tsx +0 -324
- package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigEditor.tsx +0 -93
- package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigInspectorHeader.tsx +0 -36
- package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigPreview.tsx +0 -89
- package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigSidebar.tsx +0 -141
- package/monodog-dashboard/src/components/modules/config-inspector/components/ConfigToolbar.tsx +0 -184
- package/monodog-dashboard/src/components/modules/config-inspector/components/ErrorState.tsx +0 -25
- package/monodog-dashboard/src/components/modules/config-inspector/components/LoadingState.tsx +0 -16
- package/monodog-dashboard/src/components/modules/config-inspector/components/ValidationPanel.tsx +0 -155
- package/monodog-dashboard/src/components/modules/config-inspector/components/index.ts +0 -9
- package/monodog-dashboard/src/components/modules/config-inspector/types/config.types.ts +0 -100
- package/monodog-dashboard/src/components/modules/config-inspector/utils/config.utils.tsx +0 -704
- package/monodog-dashboard/src/components/modules/dependency-graph/DependencyGraph.tsx +0 -224
- package/monodog-dashboard/src/components/modules/dependency-graph/components/CircularDependencies.tsx +0 -177
- package/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyDetails.tsx +0 -192
- package/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyGraphHeader.tsx +0 -30
- package/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyList.tsx +0 -177
- package/monodog-dashboard/src/components/modules/dependency-graph/components/ErrorState.tsx +0 -25
- package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphLegend.tsx +0 -89
- package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphStats.tsx +0 -141
- package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphToolbar.tsx +0 -107
- package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphVisualization.tsx +0 -179
- package/monodog-dashboard/src/components/modules/dependency-graph/components/LoadingState.tsx +0 -16
- package/monodog-dashboard/src/components/modules/dependency-graph/components/index.ts +0 -11
- package/monodog-dashboard/src/components/modules/dependency-graph/types/dependency.types.ts +0 -105
- package/monodog-dashboard/src/components/modules/dependency-graph/utils/dependency.utils.tsx +0 -433
- package/monodog-dashboard/src/components/modules/health-status/HealthStatus.tsx +0 -739
- package/monodog-dashboard/src/components/modules/health-status/components/ErrorState.tsx +0 -25
- package/monodog-dashboard/src/components/modules/health-status/components/HealthActions.tsx +0 -122
- package/monodog-dashboard/src/components/modules/health-status/components/HealthAlerts.tsx +0 -151
- package/monodog-dashboard/src/components/modules/health-status/components/HealthMetrics.tsx +0 -132
- package/monodog-dashboard/src/components/modules/health-status/components/HealthStatusHeader.tsx +0 -30
- package/monodog-dashboard/src/components/modules/health-status/components/LoadingState.tsx +0 -16
- package/monodog-dashboard/src/components/modules/health-status/components/OverallHealthScore.tsx +0 -122
- package/monodog-dashboard/src/components/modules/health-status/components/PackageHealthList.tsx +0 -195
- package/monodog-dashboard/src/components/modules/health-status/types/health.types.ts +0 -80
- package/monodog-dashboard/src/components/modules/health-status/utils/health.utils.tsx +0 -220
- package/monodog-dashboard/src/components/modules/packages/PackageDetail.tsx +0 -255
- package/monodog-dashboard/src/components/modules/packages/PackagesOverview.tsx +0 -166
- package/monodog-dashboard/src/components/modules/packages/components/ConfigurationTab.tsx +0 -311
- package/monodog-dashboard/src/components/modules/packages/components/DependenciesTab.tsx +0 -154
- package/monodog-dashboard/src/components/modules/packages/components/ErrorState.tsx +0 -21
- package/monodog-dashboard/src/components/modules/packages/components/HealthMetricsTab.tsx +0 -275
- package/monodog-dashboard/src/components/modules/packages/components/LoadingState.tsx +0 -14
- package/monodog-dashboard/src/components/modules/packages/components/PackageDetailHeader.tsx +0 -167
- package/monodog-dashboard/src/components/modules/packages/components/PackageDetailTabs.tsx +0 -49
- package/monodog-dashboard/src/components/modules/packages/components/PackageStats.tsx +0 -70
- package/monodog-dashboard/src/components/modules/packages/components/PackagesTable.tsx +0 -163
- package/monodog-dashboard/src/components/modules/packages/components/RecentCommitsTab.tsx +0 -90
- package/monodog-dashboard/src/components/modules/packages/components/SearchAndFilter.tsx +0 -66
- package/monodog-dashboard/src/components/modules/packages/components/index.ts +0 -12
- package/monodog-dashboard/src/components/modules/packages/types/packages.types.ts +0 -101
- package/monodog-dashboard/src/components/modules/packages/utils/packages.utils.tsx +0 -178
- package/monodog-dashboard/src/components/pipeline/JobsList.tsx +0 -83
- package/monodog-dashboard/src/components/pipeline/LogViewer.tsx +0 -392
- package/monodog-dashboard/src/components/pipeline/PipelineManager.tsx +0 -562
- package/monodog-dashboard/src/components/pipeline/WorkflowRunsList.tsx +0 -272
- package/monodog-dashboard/src/components/pipeline/WorkflowTrigger.tsx +0 -182
- package/monodog-dashboard/src/components/pipeline/utils/pipeline.utils.tsx +0 -11
- package/monodog-dashboard/src/components/publish-control/PublishControl.tsx +0 -229
- package/monodog-dashboard/src/components/publish-control/components/ChangelogViewer.tsx +0 -103
- package/monodog-dashboard/src/components/publish-control/components/ErrorState.tsx +0 -23
- package/monodog-dashboard/src/components/publish-control/components/LoadingState.tsx +0 -10
- package/monodog-dashboard/src/components/publish-control/components/PackageReleaseTable.tsx +0 -140
- package/monodog-dashboard/src/components/publish-control/components/PublishHeader.tsx +0 -30
- package/monodog-dashboard/src/components/publish-control/components/QuickActionCards.tsx +0 -56
- package/monodog-dashboard/src/components/publish-control/components/ReleaseSchedule.tsx +0 -104
- package/monodog-dashboard/src/components/publish-control/components/index.ts +0 -8
- package/monodog-dashboard/src/components/publish-control/types/publish.types.ts +0 -39
- package/monodog-dashboard/src/components/publish-control/utils/publish.utils.ts +0 -59
- package/monodog-dashboard/src/components/release-manager/ReleaseManager.tsx +0 -342
- package/monodog-dashboard/src/components/release-manager/components/ChangesetPreview.tsx +0 -123
- package/monodog-dashboard/src/components/release-manager/components/ErrorState.tsx +0 -38
- package/monodog-dashboard/src/components/release-manager/components/LoadingState.tsx +0 -18
- package/monodog-dashboard/src/components/release-manager/components/PackageSelector.tsx +0 -137
- package/monodog-dashboard/src/components/release-manager/components/PublishConfirmation.tsx +0 -150
- package/monodog-dashboard/src/components/release-manager/components/ReleaseValidation.tsx +0 -138
- package/monodog-dashboard/src/components/release-manager/components/VersionBumpSelector.tsx +0 -142
- package/monodog-dashboard/src/components/release-manager/types/index.ts +0 -9
- package/monodog-dashboard/src/components/release-manager/types/release-manager.types.ts +0 -29
- package/monodog-dashboard/src/components/setup-guide/SetupGuide.tsx +0 -96
- package/monodog-dashboard/src/components/setup-guide/components/SetupHeader.tsx +0 -24
- package/monodog-dashboard/src/components/setup-guide/components/SetupModal.tsx +0 -24
- package/monodog-dashboard/src/components/setup-guide/components/SetupProgress.tsx +0 -29
- package/monodog-dashboard/src/components/setup-guide/components/StepContent.tsx +0 -272
- package/monodog-dashboard/src/components/setup-guide/components/StepNavigation.tsx +0 -62
- package/monodog-dashboard/src/components/setup-guide/components/index.ts +0 -6
- package/monodog-dashboard/src/components/setup-guide/types/setup.types.ts +0 -38
- package/monodog-dashboard/src/components/setup-guide/utils/setup.utils.ts +0 -79
- package/monodog-dashboard/src/constants/api-config.ts +0 -81
- package/monodog-dashboard/src/constants/index.ts +0 -9
- package/monodog-dashboard/src/constants/messages.ts +0 -40
- package/monodog-dashboard/src/icons/heroicons.ts +0 -65
- package/monodog-dashboard/src/icons/index.tsx +0 -1788
- package/monodog-dashboard/src/index.css +0 -175
- package/monodog-dashboard/src/main.tsx +0 -9
- package/monodog-dashboard/src/pages/AuthCallbackPage.tsx +0 -103
- package/monodog-dashboard/src/pages/CIPage.tsx +0 -6
- package/monodog-dashboard/src/pages/ConfigPage.tsx +0 -6
- package/monodog-dashboard/src/pages/DashboardPage.tsx +0 -6
- package/monodog-dashboard/src/pages/DependenciesPage.tsx +0 -6
- package/monodog-dashboard/src/pages/HealthPage.tsx +0 -6
- package/monodog-dashboard/src/pages/LoginPage.tsx +0 -77
- package/monodog-dashboard/src/pages/PackageDetailPage.tsx +0 -6
- package/monodog-dashboard/src/pages/PackagesPage.tsx +0 -6
- package/monodog-dashboard/src/pages/PipelinePage.tsx +0 -22
- package/monodog-dashboard/src/pages/PublishPage.tsx +0 -6
- package/monodog-dashboard/src/pages/ReleaseManagerPage.tsx +0 -9
- package/monodog-dashboard/src/pages/index.ts +0 -28
- package/monodog-dashboard/src/routes/AppRouter.tsx +0 -89
- package/monodog-dashboard/src/routes/AppRouterPages.tsx +0 -56
- package/monodog-dashboard/src/routes/index.ts +0 -10
- package/monodog-dashboard/src/routes/routes.config.ts +0 -94
- package/monodog-dashboard/src/services/api/api-client.ts +0 -189
- package/monodog-dashboard/src/services/api/index.ts +0 -30
- package/monodog-dashboard/src/services/api/types/api.types.ts +0 -63
- package/monodog-dashboard/src/services/auth-context.tsx +0 -344
- package/monodog-dashboard/src/services/monorepoService.ts +0 -733
- package/monodog-dashboard/src/services/permission-context.tsx +0 -193
- package/monodog-dashboard/src/theme/COMPONENT_UPDATES.md +0 -273
- package/monodog-dashboard/src/theme/INTEGRATION.md +0 -381
- package/monodog-dashboard/src/theme/README.md +0 -239
- package/monodog-dashboard/src/theme/examples.tsx +0 -386
- package/monodog-dashboard/src/theme/index.ts +0 -402
- package/monodog-dashboard/src/theme/migration-guide.md +0 -335
- package/monodog-dashboard/src/types/auth-context.types.ts +0 -51
- package/monodog-dashboard/src/types/component.types.ts +0 -96
- package/monodog-dashboard/src/types/icons.types.ts +0 -13
- package/monodog-dashboard/src/types/index.ts +0 -68
- package/monodog-dashboard/src/types/monorepo-service.types.ts +0 -53
- package/monodog-dashboard/src/types/permission-context.types.ts +0 -49
- package/monodog-dashboard/src/types/pipeline.types.ts +0 -89
- package/monodog-dashboard/src/types/routes.types.ts +0 -12
- package/monodog-dashboard/src/utils/cookies.ts +0 -47
- package/monodog-dashboard/tailwind.config.js +0 -68
- package/monodog-dashboard/tsconfig.app.json +0 -14
- package/monodog-dashboard/tsconfig.json +0 -17
- package/monodog-dashboard/tsconfig.node.json +0 -10
- package/monodog-dashboard/vite.config.ts +0 -9
package/monodog-dashboard/src/components/modules/dependency-graph/components/DependencyList.tsx
DELETED
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { Link } from 'react-router-dom';
|
|
2
|
-
import { ArrowUpIcon, ArrowDownIcon } from '../../../../icons/heroicons';
|
|
3
|
-
import { CubeIcon } from '../../../../icons/heroicons';
|
|
4
|
-
import { DependencyListProps } from '../types/dependency.types';
|
|
5
|
-
import {
|
|
6
|
-
getStatusColor,
|
|
7
|
-
getTypeColor,
|
|
8
|
-
getPackageTypeIcon,
|
|
9
|
-
} from '../utils/dependency.utils';
|
|
10
|
-
|
|
11
|
-
export default function DependencyList({
|
|
12
|
-
packages,
|
|
13
|
-
selectedPackage,
|
|
14
|
-
onPackageSelect,
|
|
15
|
-
sortBy,
|
|
16
|
-
sortOrder,
|
|
17
|
-
onSortChange,
|
|
18
|
-
}: DependencyListProps) {
|
|
19
|
-
const handleSort = (field: string) => {
|
|
20
|
-
const newOrder = sortBy === field && sortOrder === 'asc' ? 'desc' : 'asc';
|
|
21
|
-
onSortChange(field, newOrder);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
const getSortIcon = (field: string) => {
|
|
25
|
-
if (sortBy !== field) return null;
|
|
26
|
-
return sortOrder === 'asc' ? (
|
|
27
|
-
<ArrowUpIcon className="w-4 h-4" />
|
|
28
|
-
) : (
|
|
29
|
-
<ArrowDownIcon className="w-4 h-4" />
|
|
30
|
-
);
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
return (
|
|
34
|
-
<div className="bg-white rounded-lg shadow-sm border border-gray-200">
|
|
35
|
-
<div className="p-6 border-b border-gray-200">
|
|
36
|
-
<h3 className="text-lg font-medium text-gray-900">
|
|
37
|
-
Package Dependencies
|
|
38
|
-
</h3>
|
|
39
|
-
<p className="text-sm text-gray-600 mt-1">
|
|
40
|
-
Click on a view details to explore its dependencies, commits,
|
|
41
|
-
configuration and health
|
|
42
|
-
</p>
|
|
43
|
-
</div>
|
|
44
|
-
|
|
45
|
-
<div className="overflow-x-auto">
|
|
46
|
-
<table className="min-w-full divide-y divide-gray-200">
|
|
47
|
-
<thead className="bg-gray-50">
|
|
48
|
-
<tr>
|
|
49
|
-
<th
|
|
50
|
-
className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider cursor-pointer hover:bg-gray-100"
|
|
51
|
-
onClick={() => handleSort('name')}
|
|
52
|
-
>
|
|
53
|
-
<div className="flex items-center space-x-1">
|
|
54
|
-
<span>Package</span>
|
|
55
|
-
{getSortIcon('name')}
|
|
56
|
-
</div>
|
|
57
|
-
</th>
|
|
58
|
-
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
|
|
59
|
-
Type
|
|
60
|
-
</th>
|
|
61
|
-
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
|
|
62
|
-
Status
|
|
63
|
-
</th>
|
|
64
|
-
<th
|
|
65
|
-
className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider cursor-pointer hover:bg-gray-100"
|
|
66
|
-
onClick={() => handleSort('dependencies')}
|
|
67
|
-
>
|
|
68
|
-
<div className="flex items-center space-x-1">
|
|
69
|
-
<span>Dependencies</span>
|
|
70
|
-
{getSortIcon('dependencies')}
|
|
71
|
-
</div>
|
|
72
|
-
</th>
|
|
73
|
-
<th
|
|
74
|
-
className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider cursor-pointer hover:bg-gray-100"
|
|
75
|
-
onClick={() => handleSort('dependents')}
|
|
76
|
-
>
|
|
77
|
-
<div className="flex items-center space-x-1">
|
|
78
|
-
<span>Dependents</span>
|
|
79
|
-
{getSortIcon('dependents')}
|
|
80
|
-
</div>
|
|
81
|
-
</th>
|
|
82
|
-
<th className="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">
|
|
83
|
-
Actions
|
|
84
|
-
</th>
|
|
85
|
-
</tr>
|
|
86
|
-
</thead>
|
|
87
|
-
<tbody className="bg-white divide-y divide-gray-200">
|
|
88
|
-
{packages.map(pkg => (
|
|
89
|
-
<tr
|
|
90
|
-
key={pkg.name}
|
|
91
|
-
className={`hover:bg-gray-50 cursor-pointer transition-colors ${
|
|
92
|
-
selectedPackage === pkg.name ? 'bg-blue-50' : ''
|
|
93
|
-
}`}
|
|
94
|
-
onClick={() => onPackageSelect(pkg.name)}
|
|
95
|
-
>
|
|
96
|
-
<td className="px-6 py-4 whitespace-nowrap">
|
|
97
|
-
<div className="flex items-center">
|
|
98
|
-
<div className="text-2xl mr-3">
|
|
99
|
-
{getPackageTypeIcon(pkg.type)}
|
|
100
|
-
</div>
|
|
101
|
-
<div>
|
|
102
|
-
<div className="text-sm font-medium text-gray-900">
|
|
103
|
-
{pkg.name}
|
|
104
|
-
</div>
|
|
105
|
-
<div className="text-sm text-gray-500">
|
|
106
|
-
v{pkg.version}
|
|
107
|
-
</div>
|
|
108
|
-
</div>
|
|
109
|
-
</div>
|
|
110
|
-
</td>
|
|
111
|
-
|
|
112
|
-
<td className="px-6 py-4 whitespace-nowrap">
|
|
113
|
-
<span
|
|
114
|
-
className={`inline-flex px-2 py-1 text-xs font-semibold rounded-full ${getTypeColor(pkg.type)}`}
|
|
115
|
-
>
|
|
116
|
-
{pkg.type}
|
|
117
|
-
</span>
|
|
118
|
-
</td>
|
|
119
|
-
|
|
120
|
-
<td className="px-6 py-4 whitespace-nowrap">
|
|
121
|
-
<span
|
|
122
|
-
className={`inline-flex px-2 py-1 text-xs font-semibold rounded-full ${getStatusColor(pkg.status)}`}
|
|
123
|
-
>
|
|
124
|
-
{pkg.status}
|
|
125
|
-
</span>
|
|
126
|
-
</td>
|
|
127
|
-
|
|
128
|
-
<td className="px-6 py-4 whitespace-nowrap">
|
|
129
|
-
<div className="text-sm text-gray-900">
|
|
130
|
-
{Object.keys(pkg.dependencies).length}
|
|
131
|
-
{Object.keys(pkg.dependencies).length > 0 && (
|
|
132
|
-
<div className="text-xs text-gray-500 mt-1">
|
|
133
|
-
{Object.keys(pkg.dependencies).slice(0, 3).join(', ')}
|
|
134
|
-
{Object.keys(pkg.dependencies).length > 3 &&
|
|
135
|
-
` +${Object.keys(pkg.dependencies).length - 3} more`}
|
|
136
|
-
</div>
|
|
137
|
-
)}
|
|
138
|
-
</div>
|
|
139
|
-
</td>
|
|
140
|
-
|
|
141
|
-
<td className="px-6 py-4 whitespace-nowrap">
|
|
142
|
-
<div className="text-sm text-gray-900">
|
|
143
|
-
{pkg.dependents.length}
|
|
144
|
-
{pkg.dependents.length > 0 && (
|
|
145
|
-
<div className="text-xs text-gray-500 mt-1">
|
|
146
|
-
{pkg.dependents.slice(0, 3).join(', ')}
|
|
147
|
-
{pkg.dependents.length > 3 &&
|
|
148
|
-
` +${pkg.dependents.length - 3} more`}
|
|
149
|
-
</div>
|
|
150
|
-
)}
|
|
151
|
-
</div>
|
|
152
|
-
</td>
|
|
153
|
-
|
|
154
|
-
<td className="px-6 py-4 whitespace-nowrap text-sm">
|
|
155
|
-
<Link
|
|
156
|
-
to={`/packages/${encodeURIComponent(pkg.name)}`}
|
|
157
|
-
className="text-blue-600 hover:text-blue-500"
|
|
158
|
-
onClick={e => e.stopPropagation()}
|
|
159
|
-
>
|
|
160
|
-
View Details
|
|
161
|
-
</Link>
|
|
162
|
-
</td>
|
|
163
|
-
</tr>
|
|
164
|
-
))}
|
|
165
|
-
</tbody>
|
|
166
|
-
</table>
|
|
167
|
-
</div>
|
|
168
|
-
|
|
169
|
-
{packages.length === 0 && (
|
|
170
|
-
<div className="text-center py-12">
|
|
171
|
-
<div className="text-gray-400 text-4xl mb-2 flex justify-center"><CubeIcon className="w-6 h-6 text-primary-600" /></div>
|
|
172
|
-
<p className="text-gray-500">No packages found</p>
|
|
173
|
-
</div>
|
|
174
|
-
)}
|
|
175
|
-
</div>
|
|
176
|
-
);
|
|
177
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { ExclamationTriangleIcon } from '../../../../icons/heroicons';
|
|
2
|
-
|
|
3
|
-
interface ErrorStateProps {
|
|
4
|
-
error: string;
|
|
5
|
-
onRetry?: () => void;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export default function ErrorState({ error, onRetry }: ErrorStateProps) {
|
|
9
|
-
return (
|
|
10
|
-
<div className="flex items-center justify-center h-64">
|
|
11
|
-
<div className="text-center">
|
|
12
|
-
<ExclamationTriangleIcon className="w-12 h-12 text-red-500 mx-auto" />
|
|
13
|
-
<p className="mt-4 text-red-600">{error}</p>
|
|
14
|
-
{onRetry && (
|
|
15
|
-
<button
|
|
16
|
-
onClick={onRetry}
|
|
17
|
-
className="mt-4 bg-blue-600 text-white px-4 py-2 rounded-lg hover:bg-blue-700 transition-colors"
|
|
18
|
-
>
|
|
19
|
-
Retry
|
|
20
|
-
</button>
|
|
21
|
-
)}
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
);
|
|
25
|
-
}
|
package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphLegend.tsx
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import type { GraphLegendProps } from '../../../../types';
|
|
2
|
-
import { ArrowLongRightIcon } from '../../../../icons'
|
|
3
|
-
|
|
4
|
-
export default function GraphLegend({ show }: GraphLegendProps) {
|
|
5
|
-
if (!show) return null;
|
|
6
|
-
|
|
7
|
-
return (
|
|
8
|
-
<div className="bg-white p-4 rounded-lg shadow border">
|
|
9
|
-
<h4 className="text-sm font-medium text-gray-900 mb-3">Legend</h4>
|
|
10
|
-
|
|
11
|
-
<div className="space-y-4">
|
|
12
|
-
{/* Package Types */}
|
|
13
|
-
<div>
|
|
14
|
-
<h5 className="text-xs font-medium text-gray-700 mb-2">
|
|
15
|
-
Package Types
|
|
16
|
-
</h5>
|
|
17
|
-
<div className="grid grid-cols-3 gap-2 text-xs">
|
|
18
|
-
<div className="flex items-center space-x-2">
|
|
19
|
-
<div className="w-3 h-2 bg-blue-500 rounded"></div>
|
|
20
|
-
<span>App</span>
|
|
21
|
-
</div>
|
|
22
|
-
<div className="flex items-center space-x-2">
|
|
23
|
-
<div className="w-3 h-2 bg-purple-500 rounded"></div>
|
|
24
|
-
<span>Library</span>
|
|
25
|
-
</div>
|
|
26
|
-
<div className="flex items-center space-x-2">
|
|
27
|
-
<div className="w-3 h-2 bg-orange-500 rounded"></div>
|
|
28
|
-
<span>Tool</span>
|
|
29
|
-
</div>
|
|
30
|
-
</div>
|
|
31
|
-
</div>
|
|
32
|
-
|
|
33
|
-
{/* Status Indicators */}
|
|
34
|
-
<div>
|
|
35
|
-
<h5 className="text-xs font-medium text-gray-700 mb-2">
|
|
36
|
-
Health Status
|
|
37
|
-
</h5>
|
|
38
|
-
<div className="grid grid-cols-3 gap-2 text-xs">
|
|
39
|
-
<div className="flex items-center space-x-2">
|
|
40
|
-
<div className="w-3 h-3 bg-green-500 rounded-full"></div>
|
|
41
|
-
<span>Healthy</span>
|
|
42
|
-
</div>
|
|
43
|
-
<div className="flex items-center space-x-2">
|
|
44
|
-
<div className="w-3 h-3 bg-yellow-500 rounded-full"></div>
|
|
45
|
-
<span>Warning</span>
|
|
46
|
-
</div>
|
|
47
|
-
<div className="flex items-center space-x-2">
|
|
48
|
-
<div className="w-3 h-3 bg-red-500 rounded-full"></div>
|
|
49
|
-
<span>Error</span>
|
|
50
|
-
</div>
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|
|
53
|
-
|
|
54
|
-
{/* Visual Elements */}
|
|
55
|
-
<div>
|
|
56
|
-
<h5 className="text-xs font-medium text-gray-700 mb-2">
|
|
57
|
-
Visual Elements
|
|
58
|
-
</h5>
|
|
59
|
-
<div className="space-y-1 text-xs">
|
|
60
|
-
<div className="flex items-center space-x-2">
|
|
61
|
-
<ArrowLongRightIcon></ArrowLongRightIcon>
|
|
62
|
-
<span>Dependency</span>
|
|
63
|
-
</div>
|
|
64
|
-
<div className="flex items-center space-x-2">
|
|
65
|
-
<div className="w-6 h-4 border-2 border-blue-500 rounded bg-white"></div>
|
|
66
|
-
<span>Selected</span>
|
|
67
|
-
</div>
|
|
68
|
-
<div className="flex items-center space-x-2">
|
|
69
|
-
<div className="w-6 h-4 border-2 border-green-500 rounded bg-white"></div>
|
|
70
|
-
<span>Connected</span>
|
|
71
|
-
</div>
|
|
72
|
-
</div>
|
|
73
|
-
</div>
|
|
74
|
-
|
|
75
|
-
{/* Interaction Guide */}
|
|
76
|
-
<div>
|
|
77
|
-
<h5 className="text-xs font-medium text-gray-700 mb-2">
|
|
78
|
-
Interactions
|
|
79
|
-
</h5>
|
|
80
|
-
<div className="space-y-1 text-xs text-gray-600">
|
|
81
|
-
<div>• Click a package to select and view details</div>
|
|
82
|
-
<div>• Hover to highlight connections</div>
|
|
83
|
-
<div>• Use toolbar to change layout and zoom</div>
|
|
84
|
-
</div>
|
|
85
|
-
</div>
|
|
86
|
-
</div>
|
|
87
|
-
</div>
|
|
88
|
-
);
|
|
89
|
-
}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
CubeIcon,
|
|
3
|
-
ArrowPathIcon,
|
|
4
|
-
ExclamationTriangleIcon,
|
|
5
|
-
ChartBarIcon,
|
|
6
|
-
LinkIcon,
|
|
7
|
-
} from '../../../../icons/heroicons';
|
|
8
|
-
import { GraphStatsProps } from '../types/dependency.types';
|
|
9
|
-
|
|
10
|
-
export default function GraphStats({ stats, packages }: GraphStatsProps) {
|
|
11
|
-
return (
|
|
12
|
-
<div className="grid grid-cols-1 md:grid-cols-4 gap-4">
|
|
13
|
-
{/* Total Packages */}
|
|
14
|
-
<div className="bg-gray-100 p-4 rounded-lg shadow border">
|
|
15
|
-
<div className="flex items-center">
|
|
16
|
-
<div className="p-2 rounded-lg">
|
|
17
|
-
<CubeIcon className="w-6 h-6 text-primary-600" />
|
|
18
|
-
</div>
|
|
19
|
-
<div className="ml-4">
|
|
20
|
-
<p className="text-sm font-medium text-gray-600">Total Packages</p>
|
|
21
|
-
<p className="text-2xl font-semibold text-gray-900">
|
|
22
|
-
{stats.totalPackages}
|
|
23
|
-
</p>
|
|
24
|
-
</div>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
|
|
28
|
-
{/* Total Dependencies */}
|
|
29
|
-
<div className="bg-blue-100 p-4 rounded-lg shadow border">
|
|
30
|
-
<div className="flex items-center">
|
|
31
|
-
<div className="p-2 rounded-lg">
|
|
32
|
-
<LinkIcon className="w-6 h-6 text-primary-600" />
|
|
33
|
-
</div>
|
|
34
|
-
<div className="ml-4">
|
|
35
|
-
<p className="text-sm font-medium text-gray-600">Dependencies</p>
|
|
36
|
-
<p className="text-2xl font-semibold text-gray-900">
|
|
37
|
-
{stats.totalDependencies}
|
|
38
|
-
</p>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
|
|
43
|
-
{/* Circular Dependencies */}
|
|
44
|
-
<div className={`${
|
|
45
|
-
stats.circularDependencies > 0
|
|
46
|
-
? 'bg-red-100'
|
|
47
|
-
: 'bg-green-100'
|
|
48
|
-
} p-4 rounded-lg shadow border`} >
|
|
49
|
-
<div className="flex items-center">
|
|
50
|
-
<div
|
|
51
|
-
className={`p-2 rounded-lg ${
|
|
52
|
-
stats.circularDependencies > 0 ? 'bg-red-100' : 'bg-green-100'
|
|
53
|
-
}`}
|
|
54
|
-
>
|
|
55
|
-
<ExclamationTriangleIcon
|
|
56
|
-
className={`w-6 h-6 ${
|
|
57
|
-
stats.circularDependencies > 0
|
|
58
|
-
? 'text-red-600'
|
|
59
|
-
: 'text-primary-600'
|
|
60
|
-
}`}
|
|
61
|
-
/>
|
|
62
|
-
</div>
|
|
63
|
-
<div className="ml-4">
|
|
64
|
-
<p className="text-sm font-medium text-gray-600">Circular Deps</p>
|
|
65
|
-
<p
|
|
66
|
-
className={`text-2xl font-semibold ${
|
|
67
|
-
stats.circularDependencies > 0
|
|
68
|
-
? 'text-red-600'
|
|
69
|
-
: 'text-gray-600'
|
|
70
|
-
}`}
|
|
71
|
-
>
|
|
72
|
-
{stats.circularDependencies}
|
|
73
|
-
</p>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
</div>
|
|
77
|
-
|
|
78
|
-
{/* Max Depth */}
|
|
79
|
-
<div className="bg-purple-100 p-4 rounded-lg shadow border">
|
|
80
|
-
<div className="flex items-center">
|
|
81
|
-
<div className="p-2 bg-purple-100 rounded-lg">
|
|
82
|
-
<ChartBarIcon className="w-6 h-6 text-primary-600" />
|
|
83
|
-
</div>
|
|
84
|
-
<div className="ml-4">
|
|
85
|
-
<p className="text-sm font-medium text-gray-600">Max Depth</p>
|
|
86
|
-
<p className="text-2xl font-semibold text-gray-900">
|
|
87
|
-
{stats.maxDepth}
|
|
88
|
-
</p>
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
</div>
|
|
92
|
-
|
|
93
|
-
{/* Detailed Stats */}
|
|
94
|
-
<div className="md:col-span-4 bg-white p-4 rounded-lg shadow border">
|
|
95
|
-
<h3 className="text-lg font-medium text-gray-900 mb-4">
|
|
96
|
-
Dependency Analysis
|
|
97
|
-
</h3>
|
|
98
|
-
<div className="grid grid-cols-2 md:grid-cols-4 gap-4">
|
|
99
|
-
<div className="text-center bg-gray-100 p-2">
|
|
100
|
-
<div className="text-2xl font-bold text-blue-600">
|
|
101
|
-
{stats.leafPackages}
|
|
102
|
-
</div>
|
|
103
|
-
<div className="text-sm text-gray-600">Leaf Packages</div>
|
|
104
|
-
<div className="text-xs text-gray-500">No dependencies</div>
|
|
105
|
-
</div>
|
|
106
|
-
|
|
107
|
-
<div className="text-center bg-gray-100 p-2">
|
|
108
|
-
<div className="text-2xl font-bold text-green-600">
|
|
109
|
-
{stats.rootPackages}
|
|
110
|
-
</div>
|
|
111
|
-
<div className="text-sm text-gray-600">Root Packages</div>
|
|
112
|
-
<div className="text-xs text-gray-500">No dependents</div>
|
|
113
|
-
</div>
|
|
114
|
-
|
|
115
|
-
<div className="text-center bg-gray-100 p-2">
|
|
116
|
-
<div className="text-2xl font-bold text-purple-600">
|
|
117
|
-
{stats.avgDependencies}
|
|
118
|
-
</div>
|
|
119
|
-
<div className="text-sm text-gray-600">Avg Dependencies</div>
|
|
120
|
-
<div className="text-xs text-gray-500">Per package</div>
|
|
121
|
-
</div>
|
|
122
|
-
|
|
123
|
-
<div className="text-center bg-gray-100 p-2">
|
|
124
|
-
<div className="text-2xl font-bold text-orange-600">
|
|
125
|
-
{packages.filter(p => p.status === 'healthy').length}
|
|
126
|
-
</div>
|
|
127
|
-
<div className="text-sm text-gray-600">Healthy Packages</div>
|
|
128
|
-
<div className="text-xs text-gray-500">
|
|
129
|
-
{Math.round(
|
|
130
|
-
(packages.filter(p => p.status === 'healthy').length /
|
|
131
|
-
packages.length) *
|
|
132
|
-
100
|
|
133
|
-
)}
|
|
134
|
-
% of total
|
|
135
|
-
</div>
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
</div>
|
|
140
|
-
);
|
|
141
|
-
}
|
package/monodog-dashboard/src/components/modules/dependency-graph/components/GraphToolbar.tsx
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Squares2X2Icon,
|
|
3
|
-
ListBulletIcon,
|
|
4
|
-
InformationCircleIcon,
|
|
5
|
-
MagnifyingGlassMinusIcon,
|
|
6
|
-
MagnifyingGlassPlusIcon,
|
|
7
|
-
} from '../../../../icons/heroicons';
|
|
8
|
-
import { GraphToolbarProps } from '../types/dependency.types';
|
|
9
|
-
|
|
10
|
-
export default function GraphToolbar({
|
|
11
|
-
viewMode,
|
|
12
|
-
onViewModeChange,
|
|
13
|
-
layout,
|
|
14
|
-
onLayoutChange,
|
|
15
|
-
showLegend,
|
|
16
|
-
onToggleLegend,
|
|
17
|
-
zoomLevel,
|
|
18
|
-
onZoomChange,
|
|
19
|
-
}: GraphToolbarProps) {
|
|
20
|
-
return (
|
|
21
|
-
<div className="bg-white p-4 rounded-lg shadow border flex items-center justify-between">
|
|
22
|
-
{/* View Mode Toggle */}
|
|
23
|
-
<div className="flex items-center space-x-2">
|
|
24
|
-
<span className="text-sm font-medium text-gray-700">View:</span>
|
|
25
|
-
<div className="flex rounded-lg border border-gray-300 overflow-hidden">
|
|
26
|
-
<button
|
|
27
|
-
onClick={() => onViewModeChange('graph')}
|
|
28
|
-
className={`px-3 py-2 text-sm font-medium flex items-center space-x-1 ${
|
|
29
|
-
viewMode === 'graph'
|
|
30
|
-
? 'bg-blue-600 text-white'
|
|
31
|
-
: 'bg-white text-gray-700 hover:bg-gray-50'
|
|
32
|
-
}`}
|
|
33
|
-
>
|
|
34
|
-
<Squares2X2Icon className="w-4 h-4" />
|
|
35
|
-
<span>Graph</span>
|
|
36
|
-
</button>
|
|
37
|
-
<button
|
|
38
|
-
onClick={() => onViewModeChange('list')}
|
|
39
|
-
className={`px-3 py-2 text-sm font-medium flex items-center space-x-1 ${
|
|
40
|
-
viewMode === 'list'
|
|
41
|
-
? 'bg-blue-600 text-white'
|
|
42
|
-
: 'bg-white text-gray-700 hover:bg-gray-50'
|
|
43
|
-
}`}
|
|
44
|
-
>
|
|
45
|
-
<ListBulletIcon className="w-4 h-4" />
|
|
46
|
-
<span>List</span>
|
|
47
|
-
</button>
|
|
48
|
-
</div>
|
|
49
|
-
</div>
|
|
50
|
-
|
|
51
|
-
{/* Graph Layout Controls (only show in graph view) */}
|
|
52
|
-
{viewMode === 'graph' && (
|
|
53
|
-
<div className="flex items-center space-x-4">
|
|
54
|
-
<div className="flex items-center space-x-2">
|
|
55
|
-
<span className="text-sm font-medium text-gray-700">Layout:</span>
|
|
56
|
-
<select
|
|
57
|
-
value={layout}
|
|
58
|
-
onChange={e => onLayoutChange(e.target.value as any)}
|
|
59
|
-
className="border border-gray-300 rounded-md px-3 py-1 text-sm focus:ring-2 focus:ring-blue-500 focus:border-transparent"
|
|
60
|
-
>
|
|
61
|
-
<option value="hierarchical">Hierarchical</option>
|
|
62
|
-
<option value="circular">Circular</option>
|
|
63
|
-
<option value="force">Force-Directed</option>
|
|
64
|
-
</select>
|
|
65
|
-
</div>
|
|
66
|
-
|
|
67
|
-
{/* Zoom Controls */}
|
|
68
|
-
<div className="flex items-center space-x-2">
|
|
69
|
-
<span className="text-sm font-medium text-gray-700">Zoom:</span>
|
|
70
|
-
<div className="flex items-center space-x-1">
|
|
71
|
-
<button
|
|
72
|
-
onClick={() => onZoomChange(Math.max(0.5, zoomLevel - 0.1))}
|
|
73
|
-
className="p-1 text-gray-600 hover:text-gray-800 disabled:opacity-50"
|
|
74
|
-
disabled={zoomLevel <= 0.5}
|
|
75
|
-
>
|
|
76
|
-
<MagnifyingGlassMinusIcon className="w-4 h-4" />
|
|
77
|
-
</button>
|
|
78
|
-
<span className="text-sm text-gray-600 min-w-[3rem] text-center">
|
|
79
|
-
{Math.round(zoomLevel * 100)}%
|
|
80
|
-
</span>
|
|
81
|
-
<button
|
|
82
|
-
onClick={() => onZoomChange(Math.min(2, zoomLevel + 0.1))}
|
|
83
|
-
className="p-1 text-gray-600 hover:text-gray-800 disabled:opacity-50"
|
|
84
|
-
disabled={zoomLevel >= 2}
|
|
85
|
-
>
|
|
86
|
-
<MagnifyingGlassPlusIcon className="w-4 h-4" />
|
|
87
|
-
</button>
|
|
88
|
-
</div>
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
)}
|
|
92
|
-
|
|
93
|
-
{/* Legend Toggle */}
|
|
94
|
-
<button
|
|
95
|
-
onClick={onToggleLegend}
|
|
96
|
-
className={`px-3 py-2 text-sm font-medium rounded-lg flex items-center space-x-1 transition-colors ${
|
|
97
|
-
showLegend
|
|
98
|
-
? 'bg-blue-100 text-blue-700'
|
|
99
|
-
: 'bg-gray-100 text-gray-700 hover:bg-gray-200'
|
|
100
|
-
}`}
|
|
101
|
-
>
|
|
102
|
-
<InformationCircleIcon className="w-4 h-4" />
|
|
103
|
-
<span>Legend</span>
|
|
104
|
-
</button>
|
|
105
|
-
</div>
|
|
106
|
-
);
|
|
107
|
-
}
|