@factorim/monotui 0.1.0 → 0.3.0
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/.changeset/README.md +8 -0
- package/.changeset/config.json +14 -0
- package/.github/workflows/ci.yml +5 -2
- package/.github/workflows/release.yml +77 -0
- package/.vscode/settings.json +1 -0
- package/CHANGELOG.md +9 -0
- package/README.md +2 -0
- package/dist/app/pages/WorkspacePage.d.ts.map +1 -1
- package/dist/app/pages/WorkspacePage.js +3 -3
- package/dist/app/pages/WorkspacePage.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +33 -4
- package/dist/commands/init.js.map +1 -1
- package/dist/components/features/ProjectGrid/ColPackageJson.d.ts +2 -2
- package/dist/components/features/ProjectGrid/ColPackageJson.d.ts.map +1 -1
- package/dist/components/features/ProjectGrid/ColPackageJson.js.map +1 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceGrid.js +1 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo.d.ts.map +1 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo.js +1 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo.js.map +1 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceRow.js +2 -2
- package/dist/components/features/WorkspaceGrid/WorkspaceRow.js.map +1 -1
- package/dist/components/layouts/Header/Header.d.ts.map +1 -1
- package/dist/components/layouts/Header/Header.js +3 -7
- package/dist/components/layouts/Header/Header.js.map +1 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +21 -21
- package/dist/config/config.js.map +1 -1
- package/dist/config/defaults.d.ts +2 -2
- package/dist/config/defaults.js +2 -2
- package/dist/config/validation.d.ts +54 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +79 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/contexts/ProjectGridContext.d.ts +1 -1
- package/dist/contexts/ProjectGridContext.d.ts.map +1 -1
- package/dist/contexts/WorkspaceDiscoveryContext.d.ts +2 -2
- package/dist/contexts/WorkspaceDiscoveryContext.d.ts.map +1 -1
- package/dist/contexts/WorkspaceDiscoveryContext.js +3 -3
- package/dist/contexts/WorkspaceDiscoveryContext.js.map +1 -1
- package/dist/contexts/WorkspaceGridContext.d.ts +1 -1
- package/dist/contexts/WorkspaceGridContext.d.ts.map +1 -1
- package/dist/contexts/WorkspaceGridContext.js +1 -1
- package/dist/contexts/WorkspaceGridContext.js.map +1 -1
- package/dist/hooks/useInterval.d.ts +5 -0
- package/dist/hooks/useInterval.d.ts.map +1 -0
- package/dist/hooks/useInterval.js +19 -0
- package/dist/hooks/useInterval.js.map +1 -0
- package/dist/hooks/useWorkspaceDiscovery.d.ts +3 -3
- package/dist/hooks/useWorkspaceDiscovery.d.ts.map +1 -1
- package/dist/hooks/useWorkspaceDiscovery.js +8 -13
- package/dist/hooks/useWorkspaceDiscovery.js.map +1 -1
- package/dist/hooks/useWorkspaceQuickActions.d.ts +1 -1
- package/dist/hooks/useWorkspaceQuickActions.d.ts.map +1 -1
- package/dist/hooks/useWorkspaceRuntime.d.ts +1 -1
- package/dist/hooks/useWorkspaceRuntime.d.ts.map +1 -1
- package/dist/hooks/useWorkspaceRuntime.js +30 -8
- package/dist/hooks/useWorkspaceRuntime.js.map +1 -1
- package/dist/services/discovery/facets/compose-parser.d.ts +1 -1
- package/dist/services/discovery/facets/compose-parser.d.ts.map +1 -1
- package/dist/services/discovery/facets/makefile-parser.d.ts +1 -1
- package/dist/services/discovery/facets/makefile-parser.d.ts.map +1 -1
- package/dist/services/discovery/facets/package-json-parser.d.ts +1 -1
- package/dist/services/discovery/facets/package-json-parser.d.ts.map +1 -1
- package/dist/services/discovery/workspace-discovery.d.ts +3 -3
- package/dist/services/discovery/workspace-discovery.d.ts.map +1 -1
- package/dist/services/discovery/workspace-discovery.js +17 -7
- package/dist/services/discovery/workspace-discovery.js.map +1 -1
- package/dist/services/runtime/docker-runtime.d.ts +1 -1
- package/dist/services/runtime/docker-runtime.d.ts.map +1 -1
- package/dist/services/runtime/node-runtime.d.ts +2 -2
- package/dist/services/runtime/node-runtime.d.ts.map +1 -1
- package/dist/theme/theme.js +1 -1
- package/dist/theme/theme.js.map +1 -1
- package/dist/types/project-grid.d.ts +1 -1
- package/dist/types/project-grid.d.ts.map +1 -1
- package/dist/types/workspace-grid.d.ts +2 -2
- package/dist/types/workspace-grid.d.ts.map +1 -1
- package/dist/types/workspace.d.ts +9 -2
- package/dist/types/workspace.d.ts.map +1 -1
- package/dist/utils/logging/logger.js +2 -2
- package/dist/utils/logging/logger.js.map +1 -1
- package/dist/utils/project/project-grid.d.ts +1 -1
- package/dist/utils/project/project-grid.d.ts.map +1 -1
- package/dist/utils/project/project-grid.js.map +1 -1
- package/dist/utils/workspace/workspace-grid.d.ts +1 -1
- package/dist/utils/workspace/workspace-grid.d.ts.map +1 -1
- package/dist/utils/workspace/workspace-grid.js +5 -18
- package/dist/utils/workspace/workspace-grid.js.map +1 -1
- package/dist/utils/workspace/workspace-helper.d.ts +1 -1
- package/dist/utils/workspace/workspace-helper.d.ts.map +1 -1
- package/docs/images/monotui-screenshot-v0.2.0.png +0 -0
- package/package.json +11 -4
- package/src/app/pages/WorkspacePage.tsx +5 -3
- package/src/commands/init.ts +34 -4
- package/src/components/features/ProjectGrid/ColPackageJson.tsx +3 -2
- package/src/components/features/WorkspaceGrid/WorkspaceGrid.tsx +2 -2
- package/src/components/features/WorkspaceGrid/WorkspaceInfo.tsx +7 -9
- package/src/components/features/WorkspaceGrid/WorkspaceRow.tsx +6 -6
- package/src/components/layouts/Header/Header.tsx +2 -9
- package/src/config/config.ts +24 -21
- package/src/config/defaults.ts +2 -2
- package/src/config/validation.ts +90 -0
- package/src/contexts/ProjectGridContext.tsx +1 -1
- package/src/contexts/WorkspaceDiscoveryContext.tsx +5 -5
- package/src/contexts/WorkspaceGridContext.tsx +2 -2
- package/src/hooks/useWorkspaceDiscovery.ts +16 -17
- package/src/hooks/useWorkspaceQuickActions.ts +1 -1
- package/src/hooks/useWorkspaceRuntime.ts +52 -12
- package/src/services/discovery/facets/compose-parser.ts +1 -1
- package/src/services/discovery/facets/makefile-parser.ts +2 -2
- package/src/services/discovery/facets/package-json-parser.ts +1 -1
- package/src/services/discovery/workspace-discovery.ts +21 -11
- package/src/services/runtime/docker-runtime.ts +1 -1
- package/src/services/runtime/node-runtime.ts +2 -2
- package/src/theme/theme.ts +1 -1
- package/src/types/project-grid.ts +1 -1
- package/src/types/workspace-grid.ts +2 -2
- package/src/types/{project.ts → workspace.ts} +9 -2
- package/src/utils/logging/logger.ts +2 -2
- package/src/utils/project/project-grid.test.ts +175 -0
- package/src/utils/project/project-grid.ts +1 -2
- package/src/utils/workspace/workspace-grid.ts +6 -20
- package/src/utils/workspace/workspace-helper.ts +1 -1
- package/.github/workflows/publish-to-npm.yml +0 -36
- package/dist/app/pages/About.d.ts +0 -2
- package/dist/app/pages/About.d.ts.map +0 -1
- package/dist/app/pages/About.js +0 -6
- package/dist/app/pages/About.js.map +0 -1
- package/dist/app/pages/AboutPage.d.ts +0 -2
- package/dist/app/pages/AboutPage.d.ts.map +0 -1
- package/dist/app/pages/AboutPage.js +0 -6
- package/dist/app/pages/AboutPage.js.map +0 -1
- package/dist/app/pages/Workspace.d.ts +0 -2
- package/dist/app/pages/Workspace.d.ts.map +0 -1
- package/dist/app/pages/Workspace.js +0 -14
- package/dist/app/pages/Workspace.js.map +0 -1
- package/dist/app/pages/Workspaces.d.ts +0 -2
- package/dist/app/pages/Workspaces.d.ts.map +0 -1
- package/dist/app/pages/Workspaces.js +0 -16
- package/dist/app/pages/Workspaces.js.map +0 -1
- package/dist/app/pages/WorkspacesPage.d.ts +0 -2
- package/dist/app/pages/WorkspacesPage.d.ts.map +0 -1
- package/dist/app/pages/WorkspacesPage.js +0 -15
- package/dist/app/pages/WorkspacesPage.js.map +0 -1
- package/dist/components/features/ProjectGrid/ProjectCommands.d.ts +0 -2
- package/dist/components/features/ProjectGrid/ProjectCommands.d.ts.map +0 -1
- package/dist/components/features/ProjectGrid/ProjectCommands.js +0 -6
- package/dist/components/features/ProjectGrid/ProjectCommands.js.map +0 -1
- package/dist/components/features/ProjectGrid/WorkspaceCommands.d.ts +0 -2
- package/dist/components/features/ProjectGrid/WorkspaceCommands.d.ts.map +0 -1
- package/dist/components/features/ProjectGrid/WorkspaceCommands.js +0 -6
- package/dist/components/features/ProjectGrid/WorkspaceCommands.js.map +0 -1
- package/dist/components/features/ProjectGrid/WorkspaceDetail.d.ts +0 -2
- package/dist/components/features/ProjectGrid/WorkspaceDetail.d.ts.map +0 -1
- package/dist/components/features/ProjectGrid/WorkspaceDetail.js +0 -16
- package/dist/components/features/ProjectGrid/WorkspaceDetail.js.map +0 -1
- package/dist/components/features/ProjectGrid/WorkspaceInfo.d.ts +0 -2
- package/dist/components/features/ProjectGrid/WorkspaceInfo.d.ts.map +0 -1
- package/dist/components/features/ProjectGrid/WorkspaceInfo.js +0 -11
- package/dist/components/features/ProjectGrid/WorkspaceInfo.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/ColCompose.d.ts +0 -10
- package/dist/components/features/WorkspaceDetail/ColCompose.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/ColCompose.js +0 -6
- package/dist/components/features/WorkspaceDetail/ColCompose.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/ColMakefile.d.ts +0 -9
- package/dist/components/features/WorkspaceDetail/ColMakefile.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/ColMakefile.js +0 -6
- package/dist/components/features/WorkspaceDetail/ColMakefile.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/ColPackageJson.d.ts +0 -11
- package/dist/components/features/WorkspaceDetail/ColPackageJson.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/ColPackageJson.js +0 -6
- package/dist/components/features/WorkspaceDetail/ColPackageJson.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.d.ts +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.js +0 -2
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.d.ts +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.js +0 -2
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol.d.ts +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/ComposeCol.js +0 -2
- package/dist/components/features/WorkspaceDetail/ComposeCol.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/EmptyCol.d.ts +0 -2
- package/dist/components/features/WorkspaceDetail/EmptyCol.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/EmptyCol.js +0 -6
- package/dist/components/features/WorkspaceDetail/EmptyCol.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/EmptyRow.d.ts +0 -2
- package/dist/components/features/WorkspaceDetail/EmptyRow.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/EmptyRow.js +0 -6
- package/dist/components/features/WorkspaceDetail/EmptyRow.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.d.ts +0 -1
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.js +0 -2
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.d.ts +0 -2
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.js +0 -12
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.d.ts +0 -2
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.js +0 -16
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.js.map +0 -1
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.d.ts +0 -2
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.d.ts.map +0 -1
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.js +0 -11
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.js.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.d.ts +0 -2
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.d.ts.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.js +0 -6
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.js.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.d.ts +0 -2
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.d.ts.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.js +0 -11
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.js.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.d.ts +0 -2
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.d.ts.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.js +0 -10
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.js.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.d.ts +0 -2
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.d.ts.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.js +0 -11
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.js.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.d.ts +0 -8
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.d.ts.map +0 -1
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.js +0 -18
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.js.map +0 -1
- package/dist/components/features/WorkspaceList/WorkspaceList.d.ts +0 -2
- package/dist/components/features/WorkspaceList/WorkspaceList.d.ts.map +0 -1
- package/dist/components/features/WorkspaceList/WorkspaceList.js +0 -10
- package/dist/components/features/WorkspaceList/WorkspaceList.js.map +0 -1
- package/dist/components/features/WorkspaceList/WorkspacesRow.d.ts +0 -8
- package/dist/components/features/WorkspaceList/WorkspacesRow.d.ts.map +0 -1
- package/dist/components/features/WorkspaceList/WorkspacesRow.js +0 -15
- package/dist/components/features/WorkspaceList/WorkspacesRow.js.map +0 -1
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.d.ts +0 -4
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.d.ts.map +0 -1
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.js +0 -11
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.js.map +0 -1
- package/dist/components/features/WorkspaceList/responsiveWidth.d.ts +0 -4
- package/dist/components/features/WorkspaceList/responsiveWidth.d.ts.map +0 -1
- package/dist/components/features/WorkspaceList/responsiveWidth.js +0 -11
- package/dist/components/features/WorkspaceList/responsiveWidth.js.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.d.ts +0 -2
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.d.ts.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.js +0 -13
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.js.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspaceList.d.ts +0 -2
- package/dist/components/features/WorkspacesGrid/WorkspaceList.d.ts.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspaceList.js +0 -10
- package/dist/components/features/WorkspacesGrid/WorkspaceList.js.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.d.ts +0 -2
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.d.ts.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.js +0 -10
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.js.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.d.ts +0 -2
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.d.ts.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.js +0 -11
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.js.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.d.ts +0 -8
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.d.ts.map +0 -1
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.js +0 -18
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.js.map +0 -1
- package/dist/components/layouts/Footer/Footer.d.ts +0 -2
- package/dist/components/layouts/Footer/Footer.d.ts.map +0 -1
- package/dist/components/layouts/Footer/Footer.js +0 -7
- package/dist/components/layouts/Footer/Footer.js.map +0 -1
- package/dist/components/layouts/Header/WorkspaceCommands copy.d.ts +0 -2
- package/dist/components/layouts/Header/WorkspaceCommands copy.d.ts.map +0 -1
- package/dist/components/layouts/Header/WorkspaceCommands copy.js +0 -6
- package/dist/components/layouts/Header/WorkspaceCommands copy.js.map +0 -1
- package/dist/contexts/NavigationContext.d.ts +0 -27
- package/dist/contexts/NavigationContext.d.ts.map +0 -1
- package/dist/contexts/NavigationContext.js +0 -33
- package/dist/contexts/NavigationContext.js.map +0 -1
- package/dist/contexts/ProjectNavigationContext.d.ts +0 -20
- package/dist/contexts/ProjectNavigationContext.d.ts.map +0 -1
- package/dist/contexts/ProjectNavigationContext.js +0 -35
- package/dist/contexts/ProjectNavigationContext.js.map +0 -1
- package/dist/contexts/ResponsizeContext.d.ts +0 -14
- package/dist/contexts/ResponsizeContext.d.ts.map +0 -1
- package/dist/contexts/ResponsizeContext.js +0 -34
- package/dist/contexts/ResponsizeContext.js.map +0 -1
- package/dist/contexts/WorkspaceNavigationContext.d.ts +0 -29
- package/dist/contexts/WorkspaceNavigationContext.d.ts.map +0 -1
- package/dist/contexts/WorkspaceNavigationContext.js +0 -41
- package/dist/contexts/WorkspaceNavigationContext.js.map +0 -1
- package/dist/contexts/WorkspacesNavigationContext.d.ts +0 -29
- package/dist/contexts/WorkspacesNavigationContext.d.ts.map +0 -1
- package/dist/contexts/WorkspacesNavigationContext.js +0 -37
- package/dist/contexts/WorkspacesNavigationContext.js.map +0 -1
- package/dist/hooks/useDisovery.d.ts +0 -7
- package/dist/hooks/useDisovery.d.ts.map +0 -1
- package/dist/hooks/useDisovery.js +0 -38
- package/dist/hooks/useDisovery.js.map +0 -1
- package/dist/hooks/useGridNavigation.d.ts +0 -19
- package/dist/hooks/useGridNavigation.d.ts.map +0 -1
- package/dist/hooks/useGridNavigation.js +0 -52
- package/dist/hooks/useGridNavigation.js.map +0 -1
- package/dist/hooks/useNavigation.d.ts +0 -10
- package/dist/hooks/useNavigation.d.ts.map +0 -1
- package/dist/hooks/useNavigation.js +0 -43
- package/dist/hooks/useNavigation.js.map +0 -1
- package/dist/hooks/useNavigationMatrix.d.ts +0 -6
- package/dist/hooks/useNavigationMatrix.d.ts.map +0 -1
- package/dist/hooks/useNavigationMatrix.js +0 -34
- package/dist/hooks/useNavigationMatrix.js.map +0 -1
- package/dist/hooks/useRuntime.d.ts +0 -1
- package/dist/hooks/useRuntime.d.ts.map +0 -1
- package/dist/hooks/useRuntime.js +0 -2
- package/dist/hooks/useRuntime.js.map +0 -1
- package/dist/hooks/useWorkspaceNavigation.d.ts +0 -10
- package/dist/hooks/useWorkspaceNavigation.d.ts.map +0 -1
- package/dist/hooks/useWorkspaceNavigation.js +0 -31
- package/dist/hooks/useWorkspaceNavigation.js.map +0 -1
- package/dist/hooks/useWorkspaceQuickActionts.d.ts +0 -4
- package/dist/hooks/useWorkspaceQuickActionts.d.ts.map +0 -1
- package/dist/hooks/useWorkspaceQuickActionts.js +0 -28
- package/dist/hooks/useWorkspaceQuickActionts.js.map +0 -1
- package/dist/hooks/useWorkspacesGrid copy.d.ts +0 -10
- package/dist/hooks/useWorkspacesGrid copy.d.ts.map +0 -1
- package/dist/hooks/useWorkspacesGrid copy.js +0 -31
- package/dist/hooks/useWorkspacesGrid copy.js.map +0 -1
- package/dist/hooks/useWorkspacesGrid.d.ts +0 -11
- package/dist/hooks/useWorkspacesGrid.d.ts.map +0 -1
- package/dist/hooks/useWorkspacesGrid.js +0 -31
- package/dist/hooks/useWorkspacesGrid.js.map +0 -1
- package/dist/hooks/useWorkspacesNavigation.d.ts +0 -10
- package/dist/hooks/useWorkspacesNavigation.d.ts.map +0 -1
- package/dist/hooks/useWorkspacesNavigation.js +0 -31
- package/dist/hooks/useWorkspacesNavigation.js.map +0 -1
- package/dist/services/discovery/facets/biome-parser.d.ts +0 -3
- package/dist/services/discovery/facets/biome-parser.d.ts.map +0 -1
- package/dist/services/discovery/facets/biome-parser.js +0 -73
- package/dist/services/discovery/facets/biome-parser.js.map +0 -1
- package/dist/services/discovery/facets/composeParser.d.ts +0 -1
- package/dist/services/discovery/facets/composeParser.d.ts.map +0 -1
- package/dist/services/discovery/facets/composeParser.js +0 -2
- package/dist/services/discovery/facets/composeParser.js.map +0 -1
- package/dist/services/discovery/facets/makefileParser.d.ts +0 -1
- package/dist/services/discovery/facets/makefileParser.d.ts.map +0 -1
- package/dist/services/discovery/facets/makefileParser.js +0 -2
- package/dist/services/discovery/facets/makefileParser.js.map +0 -1
- package/dist/services/discovery/facets/manifest-parser.d.ts +0 -7
- package/dist/services/discovery/facets/manifest-parser.d.ts.map +0 -1
- package/dist/services/discovery/facets/manifest-parser.js +0 -43
- package/dist/services/discovery/facets/manifest-parser.js.map +0 -1
- package/dist/services/discovery/facets/manifestParser.d.ts +0 -1
- package/dist/services/discovery/facets/manifestParser.d.ts.map +0 -1
- package/dist/services/discovery/facets/manifestParser.js +0 -2
- package/dist/services/discovery/facets/manifestParser.js.map +0 -1
- package/dist/services/discovery/workspaceDiscovery.d.ts +0 -3
- package/dist/services/discovery/workspaceDiscovery.d.ts.map +0 -1
- package/dist/services/discovery/workspaceDiscovery.js +0 -17
- package/dist/services/discovery/workspaceDiscovery.js.map +0 -1
- package/dist/services/runtime/resolve-runtime-conflicts.d.ts +0 -15
- package/dist/services/runtime/resolve-runtime-conflicts.d.ts.map +0 -1
- package/dist/services/runtime/resolve-runtime-conflicts.js +0 -36
- package/dist/services/runtime/resolve-runtime-conflicts.js.map +0 -1
- package/dist/types/navigation.d.ts +0 -10
- package/dist/types/navigation.d.ts.map +0 -1
- package/dist/types/navigation.js +0 -59
- package/dist/types/navigation.js.map +0 -1
- package/dist/types/projects-grid.d.ts +0 -32
- package/dist/types/projects-grid.d.ts.map +0 -1
- package/dist/types/projects-grid.js +0 -2
- package/dist/types/projects-grid.js.map +0 -1
- package/dist/types/quick-actions.d.ts +0 -7
- package/dist/types/quick-actions.d.ts.map +0 -1
- package/dist/types/quick-actions.js +0 -2
- package/dist/types/quick-actions.js.map +0 -1
- package/dist/types/runtime.d.ts +0 -16
- package/dist/types/runtime.d.ts.map +0 -1
- package/dist/types/runtime.js +0 -2
- package/dist/types/runtime.js.map +0 -1
- package/dist/types/workpace-grid.d.ts +0 -32
- package/dist/types/workpace-grid.d.ts.map +0 -1
- package/dist/types/workpace-grid.js +0 -2
- package/dist/types/workpace-grid.js.map +0 -1
- package/dist/types/workspace-navigation.d.ts +0 -37
- package/dist/types/workspace-navigation.d.ts.map +0 -1
- package/dist/types/workspace-navigation.js +0 -7
- package/dist/types/workspace-navigation.js.map +0 -1
- package/dist/types/workspaces-grid copy.d.ts +0 -37
- package/dist/types/workspaces-grid copy.d.ts.map +0 -1
- package/dist/types/workspaces-grid copy.js +0 -7
- package/dist/types/workspaces-grid copy.js.map +0 -1
- package/dist/types/workspaces-grid.d.ts +0 -37
- package/dist/types/workspaces-grid.d.ts.map +0 -1
- package/dist/types/workspaces-grid.js +0 -7
- package/dist/types/workspaces-grid.js.map +0 -1
- package/dist/types/worspace-state.d.ts +0 -19
- package/dist/types/worspace-state.d.ts.map +0 -1
- package/dist/types/worspace-state.js +0 -2
- package/dist/types/worspace-state.js.map +0 -1
- package/dist/utils/framework-detector.d.ts +0 -7
- package/dist/utils/framework-detector.d.ts.map +0 -1
- package/dist/utils/framework-detector.js +0 -111
- package/dist/utils/framework-detector.js.map +0 -1
- package/dist/utils/fs/scanner.d.ts +0 -6
- package/dist/utils/fs/scanner.d.ts.map +0 -1
- package/dist/utils/fs/scanner.js +0 -32
- package/dist/utils/fs/scanner.js.map +0 -1
- package/dist/utils/getPackageVersion.d.ts +0 -2
- package/dist/utils/getPackageVersion.d.ts.map +0 -1
- package/dist/utils/getPackageVersion.js +0 -6
- package/dist/utils/getPackageVersion.js.map +0 -1
- package/dist/utils/logger.d.ts +0 -14
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/logger.js +0 -99
- package/dist/utils/logger.js.map +0 -1
- package/dist/utils/navigation-helper.d.ts +0 -9
- package/dist/utils/navigation-helper.d.ts.map +0 -1
- package/dist/utils/navigation-helper.js +0 -53
- package/dist/utils/navigation-helper.js.map +0 -1
- package/dist/utils/package-json.d.ts +0 -2
- package/dist/utils/package-json.d.ts.map +0 -1
- package/dist/utils/package-json.js +0 -11
- package/dist/utils/package-json.js.map +0 -1
- package/dist/utils/port.d.ts +0 -6
- package/dist/utils/port.d.ts.map +0 -1
- package/dist/utils/port.js +0 -24
- package/dist/utils/port.js.map +0 -1
- package/dist/utils/project/workspace-grid.d.ts +0 -17
- package/dist/utils/project/workspace-grid.d.ts.map +0 -1
- package/dist/utils/project/workspace-grid.js +0 -121
- package/dist/utils/project/workspace-grid.js.map +0 -1
- package/dist/utils/workpace/workspace-grid.d.ts +0 -17
- package/dist/utils/workpace/workspace-grid.d.ts.map +0 -1
- package/dist/utils/workpace/workspace-grid.js +0 -121
- package/dist/utils/workpace/workspace-grid.js.map +0 -1
- package/dist/utils/workpace/workspace-helper.d.ts +0 -7
- package/dist/utils/workpace/workspace-helper.d.ts.map +0 -1
- package/dist/utils/workpace/workspace-helper.js +0 -10
- package/dist/utils/workpace/workspace-helper.js.map +0 -1
- package/dist/utils/workpace/workspace-navigation.d.ts +0 -17
- package/dist/utils/workpace/workspace-navigation.d.ts.map +0 -1
- package/dist/utils/workpace/workspace-navigation.js +0 -123
- package/dist/utils/workpace/workspace-navigation.js.map +0 -1
- package/dist/utils/workpace/workspaces-grid copy.d.ts +0 -30
- package/dist/utils/workpace/workspaces-grid copy.d.ts.map +0 -1
- package/dist/utils/workpace/workspaces-grid copy.js +0 -97
- package/dist/utils/workpace/workspaces-grid copy.js.map +0 -1
- package/dist/utils/workpace/workspaces-grid.d.ts +0 -22
- package/dist/utils/workpace/workspaces-grid.d.ts.map +0 -1
- package/dist/utils/workpace/workspaces-grid.js +0 -123
- package/dist/utils/workpace/workspaces-grid.js.map +0 -1
- package/dist/utils/workpace/worspace-state.d.ts +0 -18
- package/dist/utils/workpace/worspace-state.d.ts.map +0 -1
- package/dist/utils/workpace/worspace-state.js +0 -2
- package/dist/utils/workpace/worspace-state.js.map +0 -1
- package/dist/utils/workspace/workspaces-grid.d.ts +0 -22
- package/dist/utils/workspace/workspaces-grid.d.ts.map +0 -1
- package/dist/utils/workspace/workspaces-grid.js +0 -123
- package/dist/utils/workspace/workspaces-grid.js.map +0 -1
- package/dist/utils/workspace-helper.d.ts +0 -10
- package/dist/utils/workspace-helper.d.ts.map +0 -1
- package/dist/utils/workspace-helper.js +0 -46
- package/dist/utils/workspace-helper.js.map +0 -1
- package/dist/utils/workspace-navigation.d.ts +0 -1
- package/dist/utils/workspace-navigation.d.ts.map +0 -1
- package/dist/utils/workspace-navigation.js +0 -2
- package/dist/utils/workspace-navigation.js.map +0 -1
- package/src/utils/navigation/grid-navigation.ts +0 -60
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-grid.d.ts","sourceRoot":"","sources":["../../src/types/project-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EAClB,MAAM,
|
|
1
|
+
{"version":3,"file":"project-grid.d.ts","sourceRoot":"","sources":["../../src/types/project-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,iBAAiB,EAClB,MAAM,gBAAgB,CAAA;AAEvB,MAAM,MAAM,eAAe,GAAG;IAC5B,gBAAgB,EAAE,eAAe,EAAE,CAAA;IACnC,mBAAmB,EAAE,kBAAkB,EAAE,CAAA;IACzC,mBAAmB,EAAE,kBAAkB,EAAE,CAAA;IACzC,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,eAAe,GACvB,eAAe,GACf,kBAAkB,GAClB,kBAAkB,GAClB,YAAY,CAAA;AAEhB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,cAAc,CAAA;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,eAAO,MAAM,gBAAgB,2DAOnB,CAAA;AAEV,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAA;AAElE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,eAAe,CAAA;CACzB;AAGD,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Project } from "./
|
|
1
|
+
import type { Project } from "./workspace.js";
|
|
2
2
|
import type { FacetQuickAction } from "./workspace-quick-actions.js";
|
|
3
3
|
import type { RunState } from "./workspace-runtime.js";
|
|
4
4
|
export interface CursorPosition {
|
|
@@ -15,7 +15,7 @@ export interface WorkspaceCell {
|
|
|
15
15
|
type: "workspace";
|
|
16
16
|
row: number;
|
|
17
17
|
col: number;
|
|
18
|
-
|
|
18
|
+
project: Project;
|
|
19
19
|
}
|
|
20
20
|
export interface WorkspaceQuickActionCell {
|
|
21
21
|
type: "quickAction";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-grid.d.ts","sourceRoot":"","sources":["../../src/types/workspace-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"workspace-grid.d.ts","sourceRoot":"","sources":["../../src/types/workspace-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAEtD,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,CAAA;CAC3C;AAED,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,EAAE,CAAA;AAEhE,MAAM,MAAM,wBAAwB,GAChC,aAAa,GACb,wBAAwB,GACxB,oBAAoB,CAAA;AAExB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,aAAa,CAAA;IACnB,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,gBAAgB,CAAA;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAA;IACf,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,EAAE,QAAQ,CAAA;CACnB"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
-
export type
|
|
1
|
+
export type ProjectType = "workspace" | "app" | "package" | "infra" | "contract";
|
|
2
2
|
export type FacetType = "packageJson" | "compose" | "makefile";
|
|
3
3
|
export interface EnvFile {
|
|
4
4
|
filepath: string;
|
|
5
5
|
}
|
|
6
6
|
export interface Workspace {
|
|
7
|
+
name: string;
|
|
8
|
+
absolutePath: string;
|
|
9
|
+
projects: Project[];
|
|
10
|
+
}
|
|
11
|
+
export interface Project {
|
|
12
|
+
name: string;
|
|
7
13
|
path: string;
|
|
8
|
-
|
|
14
|
+
absolutePath: string;
|
|
15
|
+
type: ProjectType;
|
|
9
16
|
folder: string;
|
|
10
17
|
envFile?: EnvFile;
|
|
11
18
|
facets: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/types/workspace.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../src/types/workspace.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,KAAK,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;AAChF,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,UAAU,CAAA;AAE9D,MAAM,WAAW,OAAO;IACtB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,OAAO,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,WAAW,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,EAAE;QACN,WAAW,CAAC,EAAE,gBAAgB,CAAA;QAC9B,OAAO,CAAC,EAAE,YAAY,CAAA;QACtB,QAAQ,CAAC,EAAE,aAAa,CAAA;KACzB,CAAA;CACF;AAID,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAID,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAA;AAErE,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,IAAI,EAAE,aAAa,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAID,MAAM,WAAW,YAAa,SAAQ,SAAS;IAC7C,IAAI,EAAE,SAAS,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB;AAID,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,eAAe,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB"}
|
|
@@ -13,9 +13,9 @@ export function initLogger(config) {
|
|
|
13
13
|
const truncateOnStart = loggingConfig.truncateOnStart !== false;
|
|
14
14
|
const logDir = loggingConfig.logDir
|
|
15
15
|
? loggingConfig.logDir.replace(/^~/, homedir())
|
|
16
|
-
: join(homedir(), ".
|
|
16
|
+
: join(homedir(), ".monotui", "logs");
|
|
17
17
|
if (enableFile) {
|
|
18
|
-
const logFilePath = join(logDir, "
|
|
18
|
+
const logFilePath = join(logDir, "monotui.log");
|
|
19
19
|
// Truncate log file if configured
|
|
20
20
|
if (truncateOnStart) {
|
|
21
21
|
if (!existsSync(logDir)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logging/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAe,IAAI,EAAE,MAAM,MAAM,CAAA;AAIxC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;IAC1C,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,IAAI,MAAM,CAAA;IAC3C,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,KAAK,KAAK,CAAA;IAC/C,MAAM,eAAe,GAAG,aAAa,CAAC,eAAe,KAAK,KAAK,CAAA;IAC/D,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM;QACjC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logging/logger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Project } from "../../types/project.js";
|
|
2
1
|
import { type ProjectGridCell, type ProjectGridGrid } from "../../types/project-grid.js";
|
|
2
|
+
import type { Project } from "../../types/workspace.js";
|
|
3
3
|
export declare function buildProjectGrid(workspace: Project): ProjectGridGrid;
|
|
4
4
|
/**
|
|
5
5
|
* Returns the cell at the given position from the grid.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-grid.d.ts","sourceRoot":"","sources":["../../../src/utils/project/project-grid.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"project-grid.d.ts","sourceRoot":"","sources":["../../../src/utils/project/project-grid.ts"],"names":[],"mappings":"AACA,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEvD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,OAAO,GAAG,eAAe,CA+FpE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,eAAe,GAAG,IAAI,CASxB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAMxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,MAAM,GACV,eAAe,EAAE,CAQnB;AASD,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAE1D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"project-grid.js","sourceRoot":"","sources":["../../../src/utils/project/project-grid.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"project-grid.js","sourceRoot":"","sources":["../../../src/utils/project/project-grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Project } from "../../types/
|
|
1
|
+
import type { Project } from "../../types/workspace.js";
|
|
2
2
|
import type { WorkspaceCell, WorkspaceQuickActionCell, WorkspaceRuntimeCell, WorkspacesNavigationCell, WorkspacesNavigationGrid } from "../../types/workspace-grid";
|
|
3
3
|
import type { WorkspaceQuickAction } from "../../types/workspace-quick-actions.js";
|
|
4
4
|
import type { WorkspaceRuntimeState } from "../../types/workspace-runtime.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-grid.d.ts","sourceRoot":"","sources":["../../../src/utils/workspace/workspace-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"workspace-grid.d.ts","sourceRoot":"","sources":["../../../src/utils/workspace/workspace-grid.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EAEzB,MAAM,4BAA4B,CAAA;AACnC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAI7E,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,OAAO,EAAE,EACrB,YAAY,EAAE,oBAAoB,EAAE,EACpC,QAAQ,EAAE,qBAAqB,EAAE,GAChC,wBAAwB,CAuD1B;AAsBD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,GACzC,aAAa,CAIf;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,GACzC,wBAAwB,EAAE,CAO5B;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,CAAC,wBAAwB,GAAG,IAAI,CAAC,EAAE,GACzC,oBAAoB,EAAE,CAOxB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,wBAAwB,EAC9B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,MAAM,GACV,wBAAwB,GAAG,IAAI,CAKjC"}
|
|
@@ -5,12 +5,12 @@ export function buildWorkspacesGrid(workspaces, quickActions, runtimes) {
|
|
|
5
5
|
const maxRuntimeFacets = getMaxRuntimeRowItems(runtimes);
|
|
6
6
|
const grid = [];
|
|
7
7
|
for (let rowIndex = 0; rowIndex < workspaces.length; rowIndex++) {
|
|
8
|
-
const
|
|
8
|
+
const project = workspaces[rowIndex];
|
|
9
9
|
const cells = [];
|
|
10
10
|
// Workspace cell (col 0)
|
|
11
|
-
cells.push({ type: "workspace",
|
|
11
|
+
cells.push({ type: "workspace", project, row: rowIndex, col: 0 });
|
|
12
12
|
// Quick actions
|
|
13
|
-
const quickAction = getQuickActionByPath(quickActions,
|
|
13
|
+
const quickAction = getQuickActionByPath(quickActions, project.path);
|
|
14
14
|
const qaFacets = quickAction?.facets ?? [];
|
|
15
15
|
for (let i = 0; i < maxQuickActionFacets; i++) {
|
|
16
16
|
if (qaFacets[i]) {
|
|
@@ -26,7 +26,7 @@ export function buildWorkspacesGrid(workspaces, quickActions, runtimes) {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
// Runtimes
|
|
29
|
-
const runtime = getRuntimeByPath(runtimes,
|
|
29
|
+
const runtime = getRuntimeByPath(runtimes, project.path);
|
|
30
30
|
const rtFacets = runtime?.runStates?.filter((rs) => rs.status !== "stopped") ?? [];
|
|
31
31
|
for (let i = 0; i < maxRuntimeFacets; i++) {
|
|
32
32
|
if (rtFacets[i]) {
|
|
@@ -42,7 +42,7 @@ export function buildWorkspacesGrid(workspaces, quickActions, runtimes) {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
const navRow = {
|
|
45
|
-
id:
|
|
45
|
+
id: project.path,
|
|
46
46
|
cells,
|
|
47
47
|
};
|
|
48
48
|
grid.push(navRow);
|
|
@@ -97,19 +97,6 @@ export function getWorkspaceRuntimeCells(cells) {
|
|
|
97
97
|
}
|
|
98
98
|
return result;
|
|
99
99
|
}
|
|
100
|
-
// /**
|
|
101
|
-
// * Returns the WorkspaceCell at the given cursor position (row, col) from the grid.
|
|
102
|
-
// */
|
|
103
|
-
// export function getWorkspaceCellByPosition(
|
|
104
|
-
// grid: WorkspacesNavigationGrid,
|
|
105
|
-
// row: number,
|
|
106
|
-
// col: number,
|
|
107
|
-
// ): WorkspaceCell | null {
|
|
108
|
-
// const navRow = grid[row]
|
|
109
|
-
// if (!navRow || !navRow.cells[col]) return null
|
|
110
|
-
// const cell = navRow.cells[col]
|
|
111
|
-
// return cell && cell.type === "workspace" ? (cell as WorkspaceCell) : null
|
|
112
|
-
// }
|
|
113
100
|
/**
|
|
114
101
|
* Returns the WorkspacesNavigationCell (any type) at the given row and col from the grid.
|
|
115
102
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-grid.js","sourceRoot":"","sources":["../../../src/utils/workspace/workspace-grid.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE9E,MAAM,UAAU,mBAAmB,CACjC,UAAqB,EACrB,YAAoC,EACpC,QAAiC;IAEjC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAA;IACpE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAExD,MAAM,IAAI,GAA6B,EAAE,CAAA;IACzC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAChE,MAAM,
|
|
1
|
+
{"version":3,"file":"workspace-grid.js","sourceRoot":"","sources":["../../../src/utils/workspace/workspace-grid.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE9E,MAAM,UAAU,mBAAmB,CACjC,UAAqB,EACrB,YAAoC,EACpC,QAAiC;IAEjC,MAAM,oBAAoB,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAA;IACpE,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAExD,MAAM,IAAI,GAA6B,EAAE,CAAA;IACzC,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;QAChE,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;QACpC,MAAM,KAAK,GAAwC,EAAE,CAAA;QAErD,yBAAyB;QACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;QAEjE,gBAAgB;QAChB,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACpE,MAAM,QAAQ,GAAG,WAAW,EAAE,MAAM,IAAI,EAAE,CAAA;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,aAAa;oBACnB,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACnB,GAAG,EAAE,QAAQ;oBACb,GAAG,EAAE,CAAC,GAAG,CAAC;iBACX,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QAED,WAAW;QACX,MAAM,OAAO,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,QAAQ,GACZ,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,EAAE,CAAA;QACnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChB,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;oBACrB,GAAG,EAAE,QAAQ;oBACb,GAAG,EAAE,CAAC,GAAG,oBAAoB,GAAG,CAAC;iBAClC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClB,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAA4B;YACtC,EAAE,EAAE,OAAO,CAAC,IAAI;YAChB,KAAK;SACN,CAAA;QACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACnB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAA;IAC1C,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAAC,GAA6B;IAC9D,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACjE,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;IAClC,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,GAAgC;IAC7D,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QACvE,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAA;IAClC,CAAC,EAAE,CAAC,CAAC,CAAA;AACP,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0C;IAE1C,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAC3B,CAAA;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAA0C;IAE1C,MAAM,MAAM,GAA+B,EAAE,CAAA;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa;YACrC,MAAM,CAAC,IAAI,CAAC,IAAgC,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAA0C;IAE1C,MAAM,MAAM,GAA2B,EAAE,CAAA;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YACjC,MAAM,CAAC,IAAI,CAAC,IAA4B,CAAC,CAAA;IAC7C,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,IAA8B,EAC9B,GAAW,EACX,GAAW;IAEX,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;AAC3B,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Project } from "../../types/
|
|
1
|
+
import type { Project } from "../../types/workspace.js";
|
|
2
2
|
import type { WorkspaceQuickAction } from "../../types/workspace-quick-actions.js";
|
|
3
3
|
import type { WorkspaceRuntimeState } from "../../types/workspace-runtime.js";
|
|
4
4
|
export declare function getQuickActionByPath(quickActions: WorkspaceQuickAction[], path: string): WorkspaceQuickAction | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workspace-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/workspace/workspace-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"workspace-helper.d.ts","sourceRoot":"","sources":["../../../src/utils/workspace/workspace-helper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAA;AAE7E,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,oBAAoB,EAAE,EACpC,IAAI,EAAE,MAAM,GACX,oBAAoB,GAAG,SAAS,CAElC;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,qBAAqB,EAAE,EACjC,IAAI,EAAE,MAAM,GACX,qBAAqB,GAAG,SAAS,CAEnC;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,GAAG,SAAS,CAE3E"}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@factorim/monotui",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "MonoTUI is a
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "MonoTUI is a Text User Interface (TUI) dashboard for managing Node monorepos",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"homepage": "https://github.com/factorim/monotui#readme",
|
|
7
7
|
"bugs": {
|
|
@@ -33,7 +33,11 @@
|
|
|
33
33
|
"test": "jest",
|
|
34
34
|
"test:coverage": "jest --coverage",
|
|
35
35
|
"lint": "biome check .",
|
|
36
|
-
"lint:fix": "biome check --write ."
|
|
36
|
+
"lint:fix": "biome check --write .",
|
|
37
|
+
"format": "pnpm lint:fix",
|
|
38
|
+
"changeset": "changeset",
|
|
39
|
+
"changeset:version": "changeset version && pnpm install --no-frozen-lockfile && pnpm format",
|
|
40
|
+
"changeset:publish": "changeset publish"
|
|
37
41
|
},
|
|
38
42
|
"dependencies": {
|
|
39
43
|
"@inkjs/ui": "^2.0.0",
|
|
@@ -43,13 +47,16 @@
|
|
|
43
47
|
"react": "^19.2.4",
|
|
44
48
|
"read-pkg": "^10.1.0",
|
|
45
49
|
"type-fest": "^5.4.4",
|
|
46
|
-
"yaml": "^2.8.2"
|
|
50
|
+
"yaml": "^2.8.2",
|
|
51
|
+
"zod": "^4.3.6"
|
|
47
52
|
},
|
|
48
53
|
"devDependencies": {
|
|
49
54
|
"@biomejs/biome": "2.3.14",
|
|
55
|
+
"@changesets/cli": "^2.29.8",
|
|
50
56
|
"@commitlint/cli": "^20.4.1",
|
|
51
57
|
"@commitlint/config-conventional": "^20.4.1",
|
|
52
58
|
"@jest/globals": "^30.2.0",
|
|
59
|
+
"@svitejs/changesets-changelog-github-compact": "^1.2.0",
|
|
53
60
|
"@types/jest": "^30.0.0",
|
|
54
61
|
"@types/node": "^25.2.3",
|
|
55
62
|
"@types/react": "^19.2.14",
|
|
@@ -10,14 +10,16 @@ import { useWorkspaceQuickActions } from "../../hooks/useWorkspaceQuickActions.j
|
|
|
10
10
|
export function WorkspacePage() {
|
|
11
11
|
const { setPage, workspacesGridPosition, setWorkspacesGridPosition } =
|
|
12
12
|
useContext(PageNavigationContext)
|
|
13
|
-
const {
|
|
13
|
+
const { workspace, workspaceRuntimes, setProject } = useContext(
|
|
14
14
|
WorkspaceDiscoveryContext,
|
|
15
15
|
)
|
|
16
|
-
const workspaceQuickActions = useWorkspaceQuickActions(
|
|
16
|
+
const workspaceQuickActions = useWorkspaceQuickActions(
|
|
17
|
+
workspace?.projects || [],
|
|
18
|
+
)
|
|
17
19
|
|
|
18
20
|
return (
|
|
19
21
|
<WorkspacesNavigationProvider
|
|
20
|
-
projects={projects}
|
|
22
|
+
projects={workspace?.projects || []}
|
|
21
23
|
workspaceQuickActions={workspaceQuickActions}
|
|
22
24
|
workspaceRuntimes={workspaceRuntimes}
|
|
23
25
|
initialPosition={workspacesGridPosition}
|
package/src/commands/init.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { join } from "node:path"
|
|
|
4
4
|
import { DEFAULT_CONFIG } from "../config/defaults.js"
|
|
5
5
|
import type { Config } from "../types/config.js"
|
|
6
6
|
|
|
7
|
-
const CONFIG_FILENAME = "
|
|
7
|
+
const CONFIG_FILENAME = "monotui.config.mjs"
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Convert object to JavaScript literal syntax (without quoted keys)
|
|
@@ -55,7 +55,30 @@ function generateConfigContent(config: Config): string {
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Add or update the "monotui" script in package.json
|
|
59
|
+
*/
|
|
60
|
+
async function addMonotuiScriptToPackageJson(targetDir: string) {
|
|
61
|
+
const pkgPath = join(targetDir, "package.json")
|
|
62
|
+
try {
|
|
63
|
+
const pkgRaw = await import(pkgPath, { assert: { type: "json" } })
|
|
64
|
+
// Node ESM import returns { default: ... }
|
|
65
|
+
const pkg = pkgRaw.default || pkgRaw
|
|
66
|
+
if (!pkg.scripts) pkg.scripts = {}
|
|
67
|
+
if (pkg.scripts.monotui === "pnpm exec @factorim/monotui") {
|
|
68
|
+
return false
|
|
69
|
+
}
|
|
70
|
+
pkg.scripts.monotui = "pnpm exec @factorim/monotui"
|
|
71
|
+
// Write back to package.json
|
|
72
|
+
await writeFile(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`, "utf-8")
|
|
73
|
+
return true
|
|
74
|
+
} catch (_err) {
|
|
75
|
+
// package.json not found or error
|
|
76
|
+
return false
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Initialize configuration
|
|
59
82
|
*/
|
|
60
83
|
export async function initCommand(
|
|
61
84
|
targetDir: string = process.cwd(),
|
|
@@ -73,8 +96,15 @@ export async function initCommand(
|
|
|
73
96
|
const configContent = generateConfigContent(DEFAULT_CONFIG)
|
|
74
97
|
await writeFile(configPath, configContent, "utf-8")
|
|
75
98
|
|
|
99
|
+
// Try to add monotui script to package.json
|
|
100
|
+
const scriptAdded = await addMonotuiScriptToPackageJson(targetDir)
|
|
76
101
|
console.log(`✓ Created ${CONFIG_FILENAME}`)
|
|
102
|
+
|
|
103
|
+
if (scriptAdded) {
|
|
104
|
+
console.log("✓ Added 'monotui' script to package.json")
|
|
105
|
+
}
|
|
106
|
+
|
|
77
107
|
console.log("\nNext steps:")
|
|
78
|
-
console.log(" 1. Customize the configuration in
|
|
79
|
-
console.log(" 2. Run:
|
|
108
|
+
console.log(" 1. Customize the configuration in monotui.config.mjs")
|
|
109
|
+
console.log(" 2. Run: monotui")
|
|
80
110
|
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { useComponentTheme } from "@inkjs/ui"
|
|
2
2
|
import { Box, Text } from "ink"
|
|
3
|
+
|
|
3
4
|
import type { GridTheme } from "../../../theme/theme.js"
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
5
|
+
import type { PackageJsonCell } from "../../../types/project-grid.js"
|
|
6
|
+
import type { Project } from "../../../types/workspace.js"
|
|
6
7
|
|
|
7
8
|
type ColPackageJsonProps = {
|
|
8
9
|
project: Project
|
|
@@ -23,7 +23,7 @@ export function WorkspaceGrid() {
|
|
|
23
23
|
<Box width="3%">
|
|
24
24
|
<Text {...styles.headerText()}>#</Text>
|
|
25
25
|
</Box>
|
|
26
|
-
<Box width="
|
|
26
|
+
<Box width="24%">
|
|
27
27
|
<Text {...styles.headerText()}>Name</Text>
|
|
28
28
|
</Box>
|
|
29
29
|
<Box width="10%">
|
|
@@ -35,7 +35,7 @@ export function WorkspaceGrid() {
|
|
|
35
35
|
<Box width="20%">
|
|
36
36
|
<Text {...styles.headerText()}>Quick Actions</Text>
|
|
37
37
|
</Box>
|
|
38
|
-
<Box width="
|
|
38
|
+
<Box width="23%">
|
|
39
39
|
<Text {...styles.headerText()}>State</Text>
|
|
40
40
|
</Box>
|
|
41
41
|
</Box>
|
|
@@ -30,28 +30,26 @@ export function WorkspaceInfo() {
|
|
|
30
30
|
>
|
|
31
31
|
{selectedCell && selectedCell.type === "workspace" && (
|
|
32
32
|
<Box flexDirection="column">
|
|
33
|
-
<Text {...styles.info()}>{selectedCell.
|
|
33
|
+
<Text {...styles.info()}>{selectedCell.project.path}</Text>
|
|
34
34
|
<Box gap={2}>
|
|
35
|
-
{Array.isArray(
|
|
36
|
-
selectedCell.workspace.facets.makefile?.commands,
|
|
37
|
-
) && (
|
|
35
|
+
{Array.isArray(selectedCell.project.facets.makefile?.commands) && (
|
|
38
36
|
<Text {...styles.text()} dimColor>
|
|
39
37
|
makefile commands:
|
|
40
|
-
{selectedCell.
|
|
38
|
+
{selectedCell.project.facets.makefile.commands.length}
|
|
41
39
|
</Text>
|
|
42
40
|
)}
|
|
43
41
|
{Array.isArray(
|
|
44
|
-
selectedCell.
|
|
42
|
+
selectedCell.project.facets.packageJson?.scripts,
|
|
45
43
|
) && (
|
|
46
44
|
<Text {...styles.text()} dimColor>
|
|
47
45
|
package.json scripts:
|
|
48
|
-
{selectedCell.
|
|
46
|
+
{selectedCell.project.facets.packageJson.scripts.length}
|
|
49
47
|
</Text>
|
|
50
48
|
)}
|
|
51
|
-
{Array.isArray(selectedCell.
|
|
49
|
+
{Array.isArray(selectedCell.project.facets.compose?.services) && (
|
|
52
50
|
<Text {...styles.text()} dimColor>
|
|
53
51
|
docker compose services:
|
|
54
|
-
{selectedCell.
|
|
52
|
+
{selectedCell.project.facets.compose.services.length}
|
|
55
53
|
</Text>
|
|
56
54
|
)}
|
|
57
55
|
</Box>
|
|
@@ -29,7 +29,7 @@ export function WorkspaceRow({
|
|
|
29
29
|
const quickActionCells = getWorkspaceQuickActionCells(cells)
|
|
30
30
|
const runtimeCells = getWorkspaceRuntimeCells(cells)
|
|
31
31
|
|
|
32
|
-
const packageJsonFacet = workspaceCell?.
|
|
32
|
+
const packageJsonFacet = workspaceCell?.project.facets.packageJson
|
|
33
33
|
|
|
34
34
|
return (
|
|
35
35
|
<Box
|
|
@@ -40,12 +40,12 @@ export function WorkspaceRow({
|
|
|
40
40
|
<Box width="3%">
|
|
41
41
|
<Text {...styles.text()}>{rowNb + 1}</Text>
|
|
42
42
|
</Box>
|
|
43
|
-
<Box width="
|
|
43
|
+
<Box width="24%">
|
|
44
44
|
<Text
|
|
45
45
|
{...styles.action()}
|
|
46
46
|
inverse={row === workspaceCell?.row && col === workspaceCell?.col}
|
|
47
47
|
>
|
|
48
|
-
{workspaceCell?.
|
|
48
|
+
{workspaceCell?.project.name}
|
|
49
49
|
</Text>
|
|
50
50
|
{packageJsonFacet?.framework && (
|
|
51
51
|
<Text {...styles.text()} dimColor>
|
|
@@ -56,12 +56,12 @@ export function WorkspaceRow({
|
|
|
56
56
|
</Box>
|
|
57
57
|
<Box width="10%">
|
|
58
58
|
<Text {...styles.text()} dimColor>
|
|
59
|
-
{workspaceCell?.
|
|
59
|
+
{workspaceCell?.project.type}
|
|
60
60
|
</Text>
|
|
61
61
|
</Box>
|
|
62
62
|
<Box width="20%">
|
|
63
63
|
<Text {...styles.text()} dimColor>
|
|
64
|
-
{workspaceCell?.
|
|
64
|
+
{workspaceCell?.project.path}
|
|
65
65
|
</Text>
|
|
66
66
|
</Box>
|
|
67
67
|
<Box width="20%" gap={2}>
|
|
@@ -83,7 +83,7 @@ export function WorkspaceRow({
|
|
|
83
83
|
))}
|
|
84
84
|
</Box>
|
|
85
85
|
|
|
86
|
-
<Box width="
|
|
86
|
+
<Box width="23%" gap={1}>
|
|
87
87
|
{runtimeCells.map((runtimeCell, index) => (
|
|
88
88
|
<Box
|
|
89
89
|
key={`rt-${runtimeCell.col}-${runtimeCell.row}`}
|
|
@@ -5,13 +5,11 @@ import { useContext, useEffect, useState } from "react"
|
|
|
5
5
|
import { WorkspaceDiscoveryContext } from "../../../contexts/WorkspaceDiscoveryContext.js"
|
|
6
6
|
import type { GridTheme } from "../../../theme/theme.js"
|
|
7
7
|
import { getPackageVersion } from "../../../utils/fs/package-json.js"
|
|
8
|
-
import { getRootWorkspace } from "../../../utils/workspace/workspace-helper.js"
|
|
9
8
|
import { ProjectCommands } from "./ProjectCommands.js"
|
|
10
9
|
import { WorkspaceCommands } from "./WorkspaceCommands.js"
|
|
11
10
|
|
|
12
11
|
export function Header() {
|
|
13
|
-
const {
|
|
14
|
-
const rootWorkspace = getRootWorkspace(projects)
|
|
12
|
+
const { workspace, project } = useContext(WorkspaceDiscoveryContext)
|
|
15
13
|
const [version, setVersion] = useState<string>("")
|
|
16
14
|
const { styles } = useComponentTheme<GridTheme>("GridTheme")
|
|
17
15
|
|
|
@@ -31,12 +29,7 @@ export function Header() {
|
|
|
31
29
|
borderRight={false}
|
|
32
30
|
{...styles.border()}
|
|
33
31
|
>
|
|
34
|
-
<Text {...styles.title()}>
|
|
35
|
-
{rootWorkspace?.folder}
|
|
36
|
-
{project && project.folder !== rootWorkspace?.folder
|
|
37
|
-
? ` - ${project.folder}`
|
|
38
|
-
: ""}
|
|
39
|
-
</Text>
|
|
32
|
+
<Text {...styles.title()}>{workspace?.name}</Text>
|
|
40
33
|
|
|
41
34
|
<Box paddingX={1}>
|
|
42
35
|
{project ? <ProjectCommands /> : <WorkspaceCommands />}
|
package/src/config/config.ts
CHANGED
|
@@ -1,34 +1,37 @@
|
|
|
1
|
+
import { existsSync } from "node:fs"
|
|
1
2
|
import { join } from "node:path"
|
|
2
3
|
|
|
3
4
|
import type { Config } from "../types/config.js"
|
|
4
5
|
import { DEFAULT_CONFIG } from "./defaults.js"
|
|
6
|
+
import { validateConfig } from "./validation.js"
|
|
5
7
|
|
|
6
8
|
let cachedConfig: Config | null = null
|
|
7
9
|
|
|
8
10
|
export async function loadConfig(rootDir: string): Promise<Config> {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
cachedConfig = {
|
|
15
|
-
...DEFAULT_CONFIG,
|
|
16
|
-
...userConfig,
|
|
17
|
-
discovery: {
|
|
18
|
-
...DEFAULT_CONFIG.discovery,
|
|
19
|
-
...userConfig.discovery,
|
|
20
|
-
},
|
|
21
|
-
execution: {
|
|
22
|
-
...DEFAULT_CONFIG.execution,
|
|
23
|
-
...userConfig.execution,
|
|
24
|
-
},
|
|
25
|
-
theme: DEFAULT_CONFIG.theme,
|
|
26
|
-
}
|
|
27
|
-
} catch {
|
|
28
|
-
// Config file doesn't exist, use defaults
|
|
29
|
-
cachedConfig = DEFAULT_CONFIG
|
|
11
|
+
const configPath = join(rootDir, "monotui.config.mjs")
|
|
12
|
+
|
|
13
|
+
if (!existsSync(configPath)) {
|
|
14
|
+
cachedConfig = validateConfig(DEFAULT_CONFIG)
|
|
15
|
+
return cachedConfig
|
|
30
16
|
}
|
|
31
17
|
|
|
18
|
+
const configModule = await import(configPath)
|
|
19
|
+
const userConfig = configModule.default as Config
|
|
20
|
+
|
|
21
|
+
cachedConfig = validateConfig({
|
|
22
|
+
...DEFAULT_CONFIG,
|
|
23
|
+
...userConfig,
|
|
24
|
+
discovery: {
|
|
25
|
+
...DEFAULT_CONFIG.discovery,
|
|
26
|
+
...userConfig.discovery,
|
|
27
|
+
},
|
|
28
|
+
execution: {
|
|
29
|
+
...DEFAULT_CONFIG.execution,
|
|
30
|
+
...userConfig.execution,
|
|
31
|
+
},
|
|
32
|
+
theme: DEFAULT_CONFIG.theme,
|
|
33
|
+
})
|
|
34
|
+
|
|
32
35
|
return cachedConfig
|
|
33
36
|
}
|
|
34
37
|
|
package/src/config/defaults.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { Config } from "../types/config.js"
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Default configuration for
|
|
4
|
+
* Default configuration for monotui.config.mjs
|
|
5
5
|
* This is the single source of truth for default values
|
|
6
6
|
* Used by:
|
|
7
7
|
* - loadConfig() as fallback when no user config exists
|
|
8
|
-
* - init command to generate config.
|
|
8
|
+
* - init command to generate monotui.config.mjs
|
|
9
9
|
*/
|
|
10
10
|
export const DEFAULT_CONFIG: Config = {
|
|
11
11
|
discovery: {
|