@factorim/monotui 0.1.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/.github/workflows/ci.yml +36 -0
- package/.github/workflows/publish-to-npm.yml +36 -0
- package/.husky/commit-msg +2 -0
- package/.husky/pre-commit +2 -0
- package/.vscode/settings.json +34 -0
- package/LICENSE +21 -0
- package/README.md +78 -0
- package/biome.json +37 -0
- package/commitlint.config.cjs +3 -0
- package/dist/app/App.d.ts +2 -0
- package/dist/app/App.d.ts.map +1 -0
- package/dist/app/App.js +15 -0
- package/dist/app/App.js.map +1 -0
- package/dist/app/Layout.d.ts +2 -0
- package/dist/app/Layout.d.ts.map +1 -0
- package/dist/app/Layout.js +25 -0
- package/dist/app/Layout.js.map +1 -0
- package/dist/app/pages/About.d.ts +2 -0
- package/dist/app/pages/About.d.ts.map +1 -0
- package/dist/app/pages/About.js +6 -0
- package/dist/app/pages/About.js.map +1 -0
- package/dist/app/pages/AboutPage.d.ts +2 -0
- package/dist/app/pages/AboutPage.d.ts.map +1 -0
- package/dist/app/pages/AboutPage.js +6 -0
- package/dist/app/pages/AboutPage.js.map +1 -0
- package/dist/app/pages/Exit.d.ts +2 -0
- package/dist/app/pages/Exit.d.ts.map +1 -0
- package/dist/app/pages/Exit.js +6 -0
- package/dist/app/pages/Exit.js.map +1 -0
- package/dist/app/pages/ProjectPage.d.ts +2 -0
- package/dist/app/pages/ProjectPage.d.ts.map +1 -0
- package/dist/app/pages/ProjectPage.js +20 -0
- package/dist/app/pages/ProjectPage.js.map +1 -0
- package/dist/app/pages/Workspace.d.ts +2 -0
- package/dist/app/pages/Workspace.d.ts.map +1 -0
- package/dist/app/pages/Workspace.js +14 -0
- package/dist/app/pages/Workspace.js.map +1 -0
- package/dist/app/pages/WorkspacePage.d.ts +2 -0
- package/dist/app/pages/WorkspacePage.d.ts.map +1 -0
- package/dist/app/pages/WorkspacePage.js +16 -0
- package/dist/app/pages/WorkspacePage.js.map +1 -0
- package/dist/app/pages/Workspaces.d.ts +2 -0
- package/dist/app/pages/Workspaces.d.ts.map +1 -0
- package/dist/app/pages/Workspaces.js +16 -0
- package/dist/app/pages/Workspaces.js.map +1 -0
- package/dist/app/pages/WorkspacesPage.d.ts +2 -0
- package/dist/app/pages/WorkspacesPage.d.ts.map +1 -0
- package/dist/app/pages/WorkspacesPage.js +15 -0
- package/dist/app/pages/WorkspacesPage.js.map +1 -0
- package/dist/bin/init.d.ts +3 -0
- package/dist/bin/init.d.ts.map +1 -0
- package/dist/bin/init.js +7 -0
- package/dist/bin/init.js.map +1 -0
- package/dist/bin/trace-warnings.d.ts +3 -0
- package/dist/bin/trace-warnings.d.ts.map +1 -0
- package/dist/bin/trace-warnings.js +17 -0
- package/dist/bin/trace-warnings.js.map +1 -0
- package/dist/commands/init.d.ts +5 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +65 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/components/features/ProjectGrid/ColCompose.d.ts +12 -0
- package/dist/components/features/ProjectGrid/ColCompose.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/ColCompose.js +16 -0
- package/dist/components/features/ProjectGrid/ColCompose.js.map +1 -0
- package/dist/components/features/ProjectGrid/ColMakefile.d.ts +9 -0
- package/dist/components/features/ProjectGrid/ColMakefile.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/ColMakefile.js +8 -0
- package/dist/components/features/ProjectGrid/ColMakefile.js.map +1 -0
- package/dist/components/features/ProjectGrid/ColPackageJson.d.ts +11 -0
- package/dist/components/features/ProjectGrid/ColPackageJson.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/ColPackageJson.js +8 -0
- package/dist/components/features/ProjectGrid/ColPackageJson.js.map +1 -0
- package/dist/components/features/ProjectGrid/EmptyCol.d.ts +2 -0
- package/dist/components/features/ProjectGrid/EmptyCol.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/EmptyCol.js +8 -0
- package/dist/components/features/ProjectGrid/EmptyCol.js.map +1 -0
- package/dist/components/features/ProjectGrid/ProjectCommands.d.ts +2 -0
- package/dist/components/features/ProjectGrid/ProjectCommands.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/ProjectCommands.js +6 -0
- package/dist/components/features/ProjectGrid/ProjectCommands.js.map +1 -0
- package/dist/components/features/ProjectGrid/ProjectGrid.d.ts +2 -0
- package/dist/components/features/ProjectGrid/ProjectGrid.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/ProjectGrid.js +25 -0
- package/dist/components/features/ProjectGrid/ProjectGrid.js.map +1 -0
- package/dist/components/features/ProjectGrid/ProjectInfo.d.ts +2 -0
- package/dist/components/features/ProjectGrid/ProjectInfo.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/ProjectInfo.js +13 -0
- package/dist/components/features/ProjectGrid/ProjectInfo.js.map +1 -0
- package/dist/components/features/ProjectGrid/WorkspaceCommands.d.ts +2 -0
- package/dist/components/features/ProjectGrid/WorkspaceCommands.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/WorkspaceCommands.js +6 -0
- package/dist/components/features/ProjectGrid/WorkspaceCommands.js.map +1 -0
- package/dist/components/features/ProjectGrid/WorkspaceDetail.d.ts +2 -0
- package/dist/components/features/ProjectGrid/WorkspaceDetail.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/WorkspaceDetail.js +16 -0
- package/dist/components/features/ProjectGrid/WorkspaceDetail.js.map +1 -0
- package/dist/components/features/ProjectGrid/WorkspaceInfo.d.ts +2 -0
- package/dist/components/features/ProjectGrid/WorkspaceInfo.d.ts.map +1 -0
- package/dist/components/features/ProjectGrid/WorkspaceInfo.js +11 -0
- package/dist/components/features/ProjectGrid/WorkspaceInfo.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/ColCompose.d.ts +10 -0
- package/dist/components/features/WorkspaceDetail/ColCompose.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/ColCompose.js +6 -0
- package/dist/components/features/WorkspaceDetail/ColCompose.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/ColMakefile.d.ts +9 -0
- package/dist/components/features/WorkspaceDetail/ColMakefile.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/ColMakefile.js +6 -0
- package/dist/components/features/WorkspaceDetail/ColMakefile.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/ColPackageJson.d.ts +11 -0
- package/dist/components/features/WorkspaceDetail/ColPackageJson.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/ColPackageJson.js +6 -0
- package/dist/components/features/WorkspaceDetail/ColPackageJson.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.d.ts +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.js +2 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy 2.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.d.ts +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.js +2 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol copy.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol.d.ts +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol.js +2 -0
- package/dist/components/features/WorkspaceDetail/ComposeCol.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/EmptyCol.d.ts +2 -0
- package/dist/components/features/WorkspaceDetail/EmptyCol.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/EmptyCol.js +6 -0
- package/dist/components/features/WorkspaceDetail/EmptyCol.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/EmptyRow.d.ts +2 -0
- package/dist/components/features/WorkspaceDetail/EmptyRow.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/EmptyRow.js +6 -0
- package/dist/components/features/WorkspaceDetail/EmptyRow.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.d.ts +1 -0
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.js +2 -0
- package/dist/components/features/WorkspaceDetail/PackageJsonCol.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.d.ts +2 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.js +12 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail copy.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.d.ts +2 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.js +16 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceDetail.js.map +1 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.d.ts +2 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.d.ts.map +1 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.js +11 -0
- package/dist/components/features/WorkspaceDetail/WorkspaceInfo.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.d.ts +2 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.js +6 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceCommands.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceGrid.d.ts +2 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceGrid.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceGrid.js +15 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceGrid.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.d.ts +2 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.js +11 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo copy.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo.d.ts +2 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo.js +13 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceInfo.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceRow.d.ts +9 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceRow.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceRow.js +18 -0
- package/dist/components/features/WorkspaceGrid/WorkspaceRow.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.d.ts +2 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.js +10 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesGrid.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.d.ts +2 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.js +11 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesInfo.js.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.d.ts +8 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.d.ts.map +1 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.js +18 -0
- package/dist/components/features/WorkspaceGrid/WorkspacesRow.js.map +1 -0
- package/dist/components/features/WorkspaceList/WorkspaceList.d.ts +2 -0
- package/dist/components/features/WorkspaceList/WorkspaceList.d.ts.map +1 -0
- package/dist/components/features/WorkspaceList/WorkspaceList.js +10 -0
- package/dist/components/features/WorkspaceList/WorkspaceList.js.map +1 -0
- package/dist/components/features/WorkspaceList/WorkspacesRow.d.ts +8 -0
- package/dist/components/features/WorkspaceList/WorkspacesRow.d.ts.map +1 -0
- package/dist/components/features/WorkspaceList/WorkspacesRow.js +15 -0
- package/dist/components/features/WorkspaceList/WorkspacesRow.js.map +1 -0
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.d.ts +4 -0
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.d.ts.map +1 -0
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.js +11 -0
- package/dist/components/features/WorkspaceList/responsiveColumnWidths.js.map +1 -0
- package/dist/components/features/WorkspaceList/responsiveWidth.d.ts +4 -0
- package/dist/components/features/WorkspaceList/responsiveWidth.d.ts.map +1 -0
- package/dist/components/features/WorkspaceList/responsiveWidth.js +11 -0
- package/dist/components/features/WorkspaceList/responsiveWidth.js.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.d.ts +2 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.d.ts.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.js +13 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceInfo.js.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceList.d.ts +2 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceList.d.ts.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceList.js +10 -0
- package/dist/components/features/WorkspacesGrid/WorkspaceList.js.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.d.ts +2 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.d.ts.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.js +10 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesGrid.js.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.d.ts +2 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.d.ts.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.js +11 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesInfo.js.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.d.ts +8 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.d.ts.map +1 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.js +18 -0
- package/dist/components/features/WorkspacesGrid/WorkspacesRow.js.map +1 -0
- package/dist/components/layouts/Footer/Footer.d.ts +2 -0
- package/dist/components/layouts/Footer/Footer.d.ts.map +1 -0
- package/dist/components/layouts/Footer/Footer.js +7 -0
- package/dist/components/layouts/Footer/Footer.js.map +1 -0
- package/dist/components/layouts/Header/Header.d.ts +2 -0
- package/dist/components/layouts/Header/Header.d.ts.map +1 -0
- package/dist/components/layouts/Header/Header.js +22 -0
- package/dist/components/layouts/Header/Header.js.map +1 -0
- package/dist/components/layouts/Header/ProjectCommands.d.ts +2 -0
- package/dist/components/layouts/Header/ProjectCommands.d.ts.map +1 -0
- package/dist/components/layouts/Header/ProjectCommands.js +8 -0
- package/dist/components/layouts/Header/ProjectCommands.js.map +1 -0
- package/dist/components/layouts/Header/WorkspaceCommands copy.d.ts +2 -0
- package/dist/components/layouts/Header/WorkspaceCommands copy.d.ts.map +1 -0
- package/dist/components/layouts/Header/WorkspaceCommands copy.js +6 -0
- package/dist/components/layouts/Header/WorkspaceCommands copy.js.map +1 -0
- package/dist/components/layouts/Header/WorkspaceCommands.d.ts +2 -0
- package/dist/components/layouts/Header/WorkspaceCommands.d.ts.map +1 -0
- package/dist/components/layouts/Header/WorkspaceCommands.js +13 -0
- package/dist/components/layouts/Header/WorkspaceCommands.js.map +1 -0
- package/dist/config/config.d.ts +8 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/config.js +39 -0
- package/dist/config/config.js.map +1 -0
- package/dist/config/defaults.d.ts +10 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +43 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/contexts/NavigationContext.d.ts +27 -0
- package/dist/contexts/NavigationContext.d.ts.map +1 -0
- package/dist/contexts/NavigationContext.js +33 -0
- package/dist/contexts/NavigationContext.js.map +1 -0
- package/dist/contexts/PageNavigationContext.d.ts +15 -0
- package/dist/contexts/PageNavigationContext.d.ts.map +1 -0
- package/dist/contexts/PageNavigationContext.js +16 -0
- package/dist/contexts/PageNavigationContext.js.map +1 -0
- package/dist/contexts/ProjectGridContext.d.ts +20 -0
- package/dist/contexts/ProjectGridContext.d.ts.map +1 -0
- package/dist/contexts/ProjectGridContext.js +40 -0
- package/dist/contexts/ProjectGridContext.js.map +1 -0
- package/dist/contexts/ProjectNavigationContext.d.ts +20 -0
- package/dist/contexts/ProjectNavigationContext.d.ts.map +1 -0
- package/dist/contexts/ProjectNavigationContext.js +35 -0
- package/dist/contexts/ProjectNavigationContext.js.map +1 -0
- package/dist/contexts/ResponsizeContext.d.ts +14 -0
- package/dist/contexts/ResponsizeContext.d.ts.map +1 -0
- package/dist/contexts/ResponsizeContext.js +34 -0
- package/dist/contexts/ResponsizeContext.js.map +1 -0
- package/dist/contexts/WorkspaceDiscoveryContext.d.ts +15 -0
- package/dist/contexts/WorkspaceDiscoveryContext.d.ts.map +1 -0
- package/dist/contexts/WorkspaceDiscoveryContext.js +14 -0
- package/dist/contexts/WorkspaceDiscoveryContext.js.map +1 -0
- package/dist/contexts/WorkspaceGridContext.d.ts +29 -0
- package/dist/contexts/WorkspaceGridContext.d.ts.map +1 -0
- package/dist/contexts/WorkspaceGridContext.js +47 -0
- package/dist/contexts/WorkspaceGridContext.js.map +1 -0
- package/dist/contexts/WorkspaceNavigationContext.d.ts +29 -0
- package/dist/contexts/WorkspaceNavigationContext.d.ts.map +1 -0
- package/dist/contexts/WorkspaceNavigationContext.js +41 -0
- package/dist/contexts/WorkspaceNavigationContext.js.map +1 -0
- package/dist/contexts/WorkspacesNavigationContext.d.ts +29 -0
- package/dist/contexts/WorkspacesNavigationContext.d.ts.map +1 -0
- package/dist/contexts/WorkspacesNavigationContext.js +37 -0
- package/dist/contexts/WorkspacesNavigationContext.js.map +1 -0
- package/dist/hooks/useDisovery.d.ts +7 -0
- package/dist/hooks/useDisovery.d.ts.map +1 -0
- package/dist/hooks/useDisovery.js +38 -0
- package/dist/hooks/useDisovery.js.map +1 -0
- package/dist/hooks/useGridNavigation.d.ts +19 -0
- package/dist/hooks/useGridNavigation.d.ts.map +1 -0
- package/dist/hooks/useGridNavigation.js +52 -0
- package/dist/hooks/useGridNavigation.js.map +1 -0
- package/dist/hooks/useNavigation.d.ts +10 -0
- package/dist/hooks/useNavigation.d.ts.map +1 -0
- package/dist/hooks/useNavigation.js +43 -0
- package/dist/hooks/useNavigation.js.map +1 -0
- package/dist/hooks/useNavigationMatrix.d.ts +6 -0
- package/dist/hooks/useNavigationMatrix.d.ts.map +1 -0
- package/dist/hooks/useNavigationMatrix.js +34 -0
- package/dist/hooks/useNavigationMatrix.js.map +1 -0
- package/dist/hooks/useProjectGrid.d.ts +12 -0
- package/dist/hooks/useProjectGrid.d.ts.map +1 -0
- package/dist/hooks/useProjectGrid.js +62 -0
- package/dist/hooks/useProjectGrid.js.map +1 -0
- package/dist/hooks/useRuntime.d.ts +1 -0
- package/dist/hooks/useRuntime.d.ts.map +1 -0
- package/dist/hooks/useRuntime.js +2 -0
- package/dist/hooks/useRuntime.js.map +1 -0
- package/dist/hooks/useWorkspaceDiscovery.d.ts +11 -0
- package/dist/hooks/useWorkspaceDiscovery.d.ts.map +1 -0
- package/dist/hooks/useWorkspaceDiscovery.js +48 -0
- package/dist/hooks/useWorkspaceDiscovery.js.map +1 -0
- package/dist/hooks/useWorkspaceGrid.d.ts +11 -0
- package/dist/hooks/useWorkspaceGrid.d.ts.map +1 -0
- package/dist/hooks/useWorkspaceGrid.js +59 -0
- package/dist/hooks/useWorkspaceGrid.js.map +1 -0
- package/dist/hooks/useWorkspaceNavigation.d.ts +10 -0
- package/dist/hooks/useWorkspaceNavigation.d.ts.map +1 -0
- package/dist/hooks/useWorkspaceNavigation.js +31 -0
- package/dist/hooks/useWorkspaceNavigation.js.map +1 -0
- package/dist/hooks/useWorkspaceQuickActions.d.ts +4 -0
- package/dist/hooks/useWorkspaceQuickActions.d.ts.map +1 -0
- package/dist/hooks/useWorkspaceQuickActions.js +100 -0
- package/dist/hooks/useWorkspaceQuickActions.js.map +1 -0
- package/dist/hooks/useWorkspaceQuickActionts.d.ts +4 -0
- package/dist/hooks/useWorkspaceQuickActionts.d.ts.map +1 -0
- package/dist/hooks/useWorkspaceQuickActionts.js +28 -0
- package/dist/hooks/useWorkspaceQuickActionts.js.map +1 -0
- package/dist/hooks/useWorkspaceRuntime.d.ts +4 -0
- package/dist/hooks/useWorkspaceRuntime.d.ts.map +1 -0
- package/dist/hooks/useWorkspaceRuntime.js +65 -0
- package/dist/hooks/useWorkspaceRuntime.js.map +1 -0
- package/dist/hooks/useWorkspacesGrid copy.d.ts +10 -0
- package/dist/hooks/useWorkspacesGrid copy.d.ts.map +1 -0
- package/dist/hooks/useWorkspacesGrid copy.js +31 -0
- package/dist/hooks/useWorkspacesGrid copy.js.map +1 -0
- package/dist/hooks/useWorkspacesGrid.d.ts +11 -0
- package/dist/hooks/useWorkspacesGrid.d.ts.map +1 -0
- package/dist/hooks/useWorkspacesGrid.js +31 -0
- package/dist/hooks/useWorkspacesGrid.js.map +1 -0
- package/dist/hooks/useWorkspacesNavigation.d.ts +10 -0
- package/dist/hooks/useWorkspacesNavigation.d.ts.map +1 -0
- package/dist/hooks/useWorkspacesNavigation.js +31 -0
- package/dist/hooks/useWorkspacesNavigation.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/services/discovery/facets/biome-parser.d.ts +3 -0
- package/dist/services/discovery/facets/biome-parser.d.ts.map +1 -0
- package/dist/services/discovery/facets/biome-parser.js +73 -0
- package/dist/services/discovery/facets/biome-parser.js.map +1 -0
- package/dist/services/discovery/facets/compose-parser.d.ts +17 -0
- package/dist/services/discovery/facets/compose-parser.d.ts.map +1 -0
- package/dist/services/discovery/facets/compose-parser.js +168 -0
- package/dist/services/discovery/facets/compose-parser.js.map +1 -0
- package/dist/services/discovery/facets/composeParser.d.ts +1 -0
- package/dist/services/discovery/facets/composeParser.d.ts.map +1 -0
- package/dist/services/discovery/facets/composeParser.js +2 -0
- package/dist/services/discovery/facets/composeParser.js.map +1 -0
- package/dist/services/discovery/facets/makefile-parser.d.ts +8 -0
- package/dist/services/discovery/facets/makefile-parser.d.ts.map +1 -0
- package/dist/services/discovery/facets/makefile-parser.js +143 -0
- package/dist/services/discovery/facets/makefile-parser.js.map +1 -0
- package/dist/services/discovery/facets/makefileParser.d.ts +1 -0
- package/dist/services/discovery/facets/makefileParser.d.ts.map +1 -0
- package/dist/services/discovery/facets/makefileParser.js +2 -0
- package/dist/services/discovery/facets/makefileParser.js.map +1 -0
- package/dist/services/discovery/facets/manifest-parser.d.ts +7 -0
- package/dist/services/discovery/facets/manifest-parser.d.ts.map +1 -0
- package/dist/services/discovery/facets/manifest-parser.js +43 -0
- package/dist/services/discovery/facets/manifest-parser.js.map +1 -0
- package/dist/services/discovery/facets/manifestParser.d.ts +1 -0
- package/dist/services/discovery/facets/manifestParser.d.ts.map +1 -0
- package/dist/services/discovery/facets/manifestParser.js +2 -0
- package/dist/services/discovery/facets/manifestParser.js.map +1 -0
- package/dist/services/discovery/facets/package-json-parser.d.ts +7 -0
- package/dist/services/discovery/facets/package-json-parser.d.ts.map +1 -0
- package/dist/services/discovery/facets/package-json-parser.js +118 -0
- package/dist/services/discovery/facets/package-json-parser.js.map +1 -0
- package/dist/services/discovery/index.d.ts +2 -0
- package/dist/services/discovery/index.d.ts.map +1 -0
- package/dist/services/discovery/index.js +2 -0
- package/dist/services/discovery/index.js.map +1 -0
- package/dist/services/discovery/workspace-discovery.d.ts +4 -0
- package/dist/services/discovery/workspace-discovery.d.ts.map +1 -0
- package/dist/services/discovery/workspace-discovery.js +86 -0
- package/dist/services/discovery/workspace-discovery.js.map +1 -0
- package/dist/services/discovery/workspaceDiscovery.d.ts +3 -0
- package/dist/services/discovery/workspaceDiscovery.d.ts.map +1 -0
- package/dist/services/discovery/workspaceDiscovery.js +17 -0
- package/dist/services/discovery/workspaceDiscovery.js.map +1 -0
- package/dist/services/runtime/command-runner.d.ts +17 -0
- package/dist/services/runtime/command-runner.d.ts.map +1 -0
- package/dist/services/runtime/command-runner.js +70 -0
- package/dist/services/runtime/command-runner.js.map +1 -0
- package/dist/services/runtime/docker-runtime.d.ts +15 -0
- package/dist/services/runtime/docker-runtime.d.ts.map +1 -0
- package/dist/services/runtime/docker-runtime.js +133 -0
- package/dist/services/runtime/docker-runtime.js.map +1 -0
- package/dist/services/runtime/node-runtime.d.ts +4 -0
- package/dist/services/runtime/node-runtime.d.ts.map +1 -0
- package/dist/services/runtime/node-runtime.js +210 -0
- package/dist/services/runtime/node-runtime.js.map +1 -0
- package/dist/services/runtime/resolve-runtime-conflicts.d.ts +15 -0
- package/dist/services/runtime/resolve-runtime-conflicts.d.ts.map +1 -0
- package/dist/services/runtime/resolve-runtime-conflicts.js +36 -0
- package/dist/services/runtime/resolve-runtime-conflicts.js.map +1 -0
- package/dist/services/runtime/resolve-runtime.d.ts +15 -0
- package/dist/services/runtime/resolve-runtime.d.ts.map +1 -0
- package/dist/services/runtime/resolve-runtime.js +36 -0
- package/dist/services/runtime/resolve-runtime.js.map +1 -0
- package/dist/services/runtime/stop-runtime.d.ts +14 -0
- package/dist/services/runtime/stop-runtime.d.ts.map +1 -0
- package/dist/services/runtime/stop-runtime.js +48 -0
- package/dist/services/runtime/stop-runtime.js.map +1 -0
- package/dist/theme/theme.d.ts +33 -0
- package/dist/theme/theme.d.ts.map +1 -0
- package/dist/theme/theme.js +61 -0
- package/dist/theme/theme.js.map +1 -0
- package/dist/types/config.d.ts +44 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/navigation.d.ts +10 -0
- package/dist/types/navigation.d.ts.map +1 -0
- package/dist/types/navigation.js +59 -0
- package/dist/types/navigation.js.map +1 -0
- package/dist/types/page.d.ts +6 -0
- package/dist/types/page.d.ts.map +1 -0
- package/dist/types/page.js +7 -0
- package/dist/types/page.js.map +1 -0
- package/dist/types/project-grid.d.ts +48 -0
- package/dist/types/project-grid.d.ts.map +1 -0
- package/dist/types/project-grid.js +9 -0
- package/dist/types/project-grid.js.map +1 -0
- package/dist/types/project.d.ts +64 -0
- package/dist/types/project.d.ts.map +1 -0
- package/dist/types/project.js +2 -0
- package/dist/types/project.js.map +1 -0
- package/dist/types/projects-grid.d.ts +32 -0
- package/dist/types/projects-grid.d.ts.map +1 -0
- package/dist/types/projects-grid.js +2 -0
- package/dist/types/projects-grid.js.map +1 -0
- package/dist/types/quick-actions.d.ts +7 -0
- package/dist/types/quick-actions.d.ts.map +1 -0
- package/dist/types/quick-actions.js +2 -0
- package/dist/types/quick-actions.js.map +1 -0
- package/dist/types/runtime.d.ts +16 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/runtime.js +2 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/workpace-grid.d.ts +32 -0
- package/dist/types/workpace-grid.d.ts.map +1 -0
- package/dist/types/workpace-grid.js +2 -0
- package/dist/types/workpace-grid.js.map +1 -0
- package/dist/types/workspace-grid.d.ts +32 -0
- package/dist/types/workspace-grid.d.ts.map +1 -0
- package/dist/types/workspace-grid.js +2 -0
- package/dist/types/workspace-grid.js.map +1 -0
- package/dist/types/workspace-navigation.d.ts +37 -0
- package/dist/types/workspace-navigation.d.ts.map +1 -0
- package/dist/types/workspace-navigation.js +7 -0
- package/dist/types/workspace-navigation.js.map +1 -0
- package/dist/types/workspace-quick-actions.d.ts +12 -0
- package/dist/types/workspace-quick-actions.d.ts.map +1 -0
- package/dist/types/workspace-quick-actions.js +2 -0
- package/dist/types/workspace-quick-actions.js.map +1 -0
- package/dist/types/workspace-runtime.d.ts +21 -0
- package/dist/types/workspace-runtime.d.ts.map +1 -0
- package/dist/types/workspace-runtime.js +2 -0
- package/dist/types/workspace-runtime.js.map +1 -0
- package/dist/types/workspace.d.ts +63 -0
- package/dist/types/workspace.d.ts.map +1 -0
- package/dist/types/workspace.js +2 -0
- package/dist/types/workspace.js.map +1 -0
- package/dist/types/workspaces-grid copy.d.ts +37 -0
- package/dist/types/workspaces-grid copy.d.ts.map +1 -0
- package/dist/types/workspaces-grid copy.js +7 -0
- package/dist/types/workspaces-grid copy.js.map +1 -0
- package/dist/types/workspaces-grid.d.ts +37 -0
- package/dist/types/workspaces-grid.d.ts.map +1 -0
- package/dist/types/workspaces-grid.js +7 -0
- package/dist/types/workspaces-grid.js.map +1 -0
- package/dist/types/worspace-state.d.ts +19 -0
- package/dist/types/worspace-state.d.ts.map +1 -0
- package/dist/types/worspace-state.js +2 -0
- package/dist/types/worspace-state.js.map +1 -0
- package/dist/utils/framework-detector.d.ts +7 -0
- package/dist/utils/framework-detector.d.ts.map +1 -0
- package/dist/utils/framework-detector.js +111 -0
- package/dist/utils/framework-detector.js.map +1 -0
- package/dist/utils/fs/directories.d.ts +7 -0
- package/dist/utils/fs/directories.d.ts.map +1 -0
- package/dist/utils/fs/directories.js +41 -0
- package/dist/utils/fs/directories.js.map +1 -0
- package/dist/utils/fs/file.d.ts +8 -0
- package/dist/utils/fs/file.d.ts.map +1 -0
- package/dist/utils/fs/file.js +31 -0
- package/dist/utils/fs/file.js.map +1 -0
- package/dist/utils/fs/package-json.d.ts +2 -0
- package/dist/utils/fs/package-json.d.ts.map +1 -0
- package/dist/utils/fs/package-json.js +11 -0
- package/dist/utils/fs/package-json.js.map +1 -0
- package/dist/utils/fs/scanner.d.ts +6 -0
- package/dist/utils/fs/scanner.d.ts.map +1 -0
- package/dist/utils/fs/scanner.js +32 -0
- package/dist/utils/fs/scanner.js.map +1 -0
- package/dist/utils/getPackageVersion.d.ts +2 -0
- package/dist/utils/getPackageVersion.d.ts.map +1 -0
- package/dist/utils/getPackageVersion.js +6 -0
- package/dist/utils/getPackageVersion.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +99 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/logging/logger.d.ts +14 -0
- package/dist/utils/logging/logger.d.ts.map +1 -0
- package/dist/utils/logging/logger.js +99 -0
- package/dist/utils/logging/logger.js.map +1 -0
- package/dist/utils/navigation/grid-navigation.d.ts +9 -0
- package/dist/utils/navigation/grid-navigation.d.ts.map +1 -0
- package/dist/utils/navigation/grid-navigation.js +53 -0
- package/dist/utils/navigation/grid-navigation.js.map +1 -0
- package/dist/utils/navigation/navigation-helper.d.ts +19 -0
- package/dist/utils/navigation/navigation-helper.d.ts.map +1 -0
- package/dist/utils/navigation/navigation-helper.js +66 -0
- package/dist/utils/navigation/navigation-helper.js.map +1 -0
- package/dist/utils/navigation-helper.d.ts +9 -0
- package/dist/utils/navigation-helper.d.ts.map +1 -0
- package/dist/utils/navigation-helper.js +53 -0
- package/dist/utils/navigation-helper.js.map +1 -0
- package/dist/utils/package-json.d.ts +2 -0
- package/dist/utils/package-json.d.ts.map +1 -0
- package/dist/utils/package-json.js +11 -0
- package/dist/utils/package-json.js.map +1 -0
- package/dist/utils/port.d.ts +6 -0
- package/dist/utils/port.d.ts.map +1 -0
- package/dist/utils/port.js +24 -0
- package/dist/utils/port.js.map +1 -0
- package/dist/utils/project/project-grid.d.ts +17 -0
- package/dist/utils/project/project-grid.d.ts.map +1 -0
- package/dist/utils/project/project-grid.js +121 -0
- package/dist/utils/project/project-grid.js.map +1 -0
- package/dist/utils/project/workspace-grid.d.ts +17 -0
- package/dist/utils/project/workspace-grid.d.ts.map +1 -0
- package/dist/utils/project/workspace-grid.js +121 -0
- package/dist/utils/project/workspace-grid.js.map +1 -0
- package/dist/utils/runtime/port.d.ts +6 -0
- package/dist/utils/runtime/port.d.ts.map +1 -0
- package/dist/utils/runtime/port.js +24 -0
- package/dist/utils/runtime/port.js.map +1 -0
- package/dist/utils/workpace/workspace-grid.d.ts +17 -0
- package/dist/utils/workpace/workspace-grid.d.ts.map +1 -0
- package/dist/utils/workpace/workspace-grid.js +121 -0
- package/dist/utils/workpace/workspace-grid.js.map +1 -0
- package/dist/utils/workpace/workspace-helper.d.ts +7 -0
- package/dist/utils/workpace/workspace-helper.d.ts.map +1 -0
- package/dist/utils/workpace/workspace-helper.js +10 -0
- package/dist/utils/workpace/workspace-helper.js.map +1 -0
- package/dist/utils/workpace/workspace-navigation.d.ts +17 -0
- package/dist/utils/workpace/workspace-navigation.d.ts.map +1 -0
- package/dist/utils/workpace/workspace-navigation.js +123 -0
- package/dist/utils/workpace/workspace-navigation.js.map +1 -0
- package/dist/utils/workpace/workspaces-grid copy.d.ts +30 -0
- package/dist/utils/workpace/workspaces-grid copy.d.ts.map +1 -0
- package/dist/utils/workpace/workspaces-grid copy.js +97 -0
- package/dist/utils/workpace/workspaces-grid copy.js.map +1 -0
- package/dist/utils/workpace/workspaces-grid.d.ts +22 -0
- package/dist/utils/workpace/workspaces-grid.d.ts.map +1 -0
- package/dist/utils/workpace/workspaces-grid.js +123 -0
- package/dist/utils/workpace/workspaces-grid.js.map +1 -0
- package/dist/utils/workpace/worspace-state.d.ts +18 -0
- package/dist/utils/workpace/worspace-state.d.ts.map +1 -0
- package/dist/utils/workpace/worspace-state.js +2 -0
- package/dist/utils/workpace/worspace-state.js.map +1 -0
- package/dist/utils/workspace/framework-detector.d.ts +7 -0
- package/dist/utils/workspace/framework-detector.d.ts.map +1 -0
- package/dist/utils/workspace/framework-detector.js +111 -0
- package/dist/utils/workspace/framework-detector.js.map +1 -0
- package/dist/utils/workspace/workspace-grid.d.ts +22 -0
- package/dist/utils/workspace/workspace-grid.d.ts.map +1 -0
- package/dist/utils/workspace/workspace-grid.js +123 -0
- package/dist/utils/workspace/workspace-grid.js.map +1 -0
- package/dist/utils/workspace/workspace-helper.d.ts +7 -0
- package/dist/utils/workspace/workspace-helper.d.ts.map +1 -0
- package/dist/utils/workspace/workspace-helper.js +10 -0
- package/dist/utils/workspace/workspace-helper.js.map +1 -0
- package/dist/utils/workspace/workspaces-grid.d.ts +22 -0
- package/dist/utils/workspace/workspaces-grid.d.ts.map +1 -0
- package/dist/utils/workspace/workspaces-grid.js +123 -0
- package/dist/utils/workspace/workspaces-grid.js.map +1 -0
- package/dist/utils/workspace-helper.d.ts +10 -0
- package/dist/utils/workspace-helper.d.ts.map +1 -0
- package/dist/utils/workspace-helper.js +46 -0
- package/dist/utils/workspace-helper.js.map +1 -0
- package/dist/utils/workspace-navigation.d.ts +1 -0
- package/dist/utils/workspace-navigation.d.ts.map +1 -0
- package/dist/utils/workspace-navigation.js +2 -0
- package/dist/utils/workspace-navigation.js.map +1 -0
- package/jest.config.mjs +31 -0
- package/package.json +69 -0
- package/scripts/run-commitlint.sh +48 -0
- package/src/app/App.tsx +25 -0
- package/src/app/Layout.tsx +37 -0
- package/src/app/pages/Exit.tsx +9 -0
- package/src/app/pages/ProjectPage.tsx +37 -0
- package/src/app/pages/WorkspacePage.tsx +33 -0
- package/src/bin/init.ts +7 -0
- package/src/bin/trace-warnings.ts +25 -0
- package/src/commands/init.ts +80 -0
- package/src/components/features/ProjectGrid/ColCompose.tsx +99 -0
- package/src/components/features/ProjectGrid/ColMakefile.tsx +44 -0
- package/src/components/features/ProjectGrid/ColPackageJson.tsx +54 -0
- package/src/components/features/ProjectGrid/EmptyCol.tsx +28 -0
- package/src/components/features/ProjectGrid/ProjectGrid.tsx +94 -0
- package/src/components/features/ProjectGrid/ProjectInfo.tsx +67 -0
- package/src/components/features/WorkspaceGrid/WorkspaceGrid.tsx +52 -0
- package/src/components/features/WorkspaceGrid/WorkspaceInfo.tsx +89 -0
- package/src/components/features/WorkspaceGrid/WorkspaceRow.tsx +115 -0
- package/src/components/layouts/Header/Header.tsx +51 -0
- package/src/components/layouts/Header/ProjectCommands.tsx +17 -0
- package/src/components/layouts/Header/WorkspaceCommands.tsx +60 -0
- package/src/config/config.ts +46 -0
- package/src/config/defaults.ts +44 -0
- package/src/contexts/PageNavigationContext.tsx +39 -0
- package/src/contexts/ProjectGridContext.tsx +92 -0
- package/src/contexts/WorkspaceDiscoveryContext.tsx +46 -0
- package/src/contexts/WorkspaceGridContext.tsx +113 -0
- package/src/hooks/useProjectGrid.ts +77 -0
- package/src/hooks/useWorkspaceDiscovery.ts +61 -0
- package/src/hooks/useWorkspaceGrid.ts +85 -0
- package/src/hooks/useWorkspaceQuickActions.ts +114 -0
- package/src/hooks/useWorkspaceRuntime.ts +92 -0
- package/src/index.ts +10 -0
- package/src/services/discovery/facets/compose-parser.ts +236 -0
- package/src/services/discovery/facets/makefile-parser.ts +196 -0
- package/src/services/discovery/facets/package-json-parser.ts +151 -0
- package/src/services/discovery/index.ts +1 -0
- package/src/services/discovery/workspace-discovery.ts +105 -0
- package/src/services/runtime/command-runner.ts +87 -0
- package/src/services/runtime/docker-runtime.ts +171 -0
- package/src/services/runtime/node-runtime.ts +253 -0
- package/src/services/runtime/resolve-runtime.ts +45 -0
- package/src/services/runtime/stop-runtime.ts +52 -0
- package/src/theme/theme.ts +72 -0
- package/src/types/config.ts +50 -0
- package/src/types/page.ts +5 -0
- package/src/types/project-grid.ts +73 -0
- package/src/types/project.ts +81 -0
- package/src/types/workspace-grid.ts +41 -0
- package/src/types/workspace-quick-actions.ts +12 -0
- package/src/types/workspace-runtime.ts +28 -0
- package/src/utils/fs/directories.test.ts +60 -0
- package/src/utils/fs/directories.ts +54 -0
- package/src/utils/fs/file.test.ts +90 -0
- package/src/utils/fs/file.ts +32 -0
- package/src/utils/fs/package-json.ts +12 -0
- package/src/utils/logging/logger.ts +103 -0
- package/src/utils/navigation/grid-navigation.ts +60 -0
- package/src/utils/navigation/navigation-helper.ts +84 -0
- package/src/utils/project/project-grid.ts +165 -0
- package/src/utils/runtime/port.test.ts +34 -0
- package/src/utils/runtime/port.ts +26 -0
- package/src/utils/workspace/framework-detector.ts +77 -0
- package/src/utils/workspace/workspace-grid.ts +161 -0
- package/src/utils/workspace/workspace-helper.ts +21 -0
- package/tsconfig.json +23 -0
- package/workspace-cli.mjs +18 -0
package/package.json
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@factorim/monotui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "MonoTUI is a **Text User Interface (TUI)** dashboard for managing **Node monorepos**.",
|
|
5
|
+
"keywords": [],
|
|
6
|
+
"homepage": "https://github.com/factorim/monotui#readme",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/factorim/monotui/issues"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "git+https://github.com/factorim/monotui.git"
|
|
13
|
+
},
|
|
14
|
+
"license": "ISC",
|
|
15
|
+
"author": "Factorim",
|
|
16
|
+
"type": "module",
|
|
17
|
+
"exports": {
|
|
18
|
+
"types": "./dist/index.d.ts",
|
|
19
|
+
"default": "./dist/index.js"
|
|
20
|
+
},
|
|
21
|
+
"main": "index.js",
|
|
22
|
+
"bin": {
|
|
23
|
+
"monotui": "dist/index.js",
|
|
24
|
+
"monotui-init": "dist/bin/init.js",
|
|
25
|
+
"monotui-trace-warnings": "dist/bin/trace-warnings.js"
|
|
26
|
+
},
|
|
27
|
+
"scripts": {
|
|
28
|
+
"prepare": "husky",
|
|
29
|
+
"build": "tsc",
|
|
30
|
+
"dev": "tsc --watch",
|
|
31
|
+
"start": "node dist/index.js",
|
|
32
|
+
"start:trace-warnings": "node --trace-warnings dist/index.js",
|
|
33
|
+
"test": "jest",
|
|
34
|
+
"test:coverage": "jest --coverage",
|
|
35
|
+
"lint": "biome check .",
|
|
36
|
+
"lint:fix": "biome check --write ."
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@inkjs/ui": "^2.0.0",
|
|
40
|
+
"ink": "^6.7.0",
|
|
41
|
+
"pino": "^10.3.1",
|
|
42
|
+
"pino-pretty": "^13.1.3",
|
|
43
|
+
"react": "^19.2.4",
|
|
44
|
+
"read-pkg": "^10.1.0",
|
|
45
|
+
"type-fest": "^5.4.4",
|
|
46
|
+
"yaml": "^2.8.2"
|
|
47
|
+
},
|
|
48
|
+
"devDependencies": {
|
|
49
|
+
"@biomejs/biome": "2.3.14",
|
|
50
|
+
"@commitlint/cli": "^20.4.1",
|
|
51
|
+
"@commitlint/config-conventional": "^20.4.1",
|
|
52
|
+
"@jest/globals": "^30.2.0",
|
|
53
|
+
"@types/jest": "^30.0.0",
|
|
54
|
+
"@types/node": "^25.2.3",
|
|
55
|
+
"@types/react": "^19.2.14",
|
|
56
|
+
"husky": "^9.1.7",
|
|
57
|
+
"jest": "^30.2.0",
|
|
58
|
+
"lint-staged": "^16.2.7",
|
|
59
|
+
"ts-jest": "^29.4.6",
|
|
60
|
+
"typescript": "^5.9.3"
|
|
61
|
+
},
|
|
62
|
+
"packageManager": "pnpm@10.28.0",
|
|
63
|
+
"lint-staged": {
|
|
64
|
+
"*.{ts,tsx,js,jsx,json}": [
|
|
65
|
+
"biome check --write --no-errors-on-unmatched",
|
|
66
|
+
"bash -c 'pnpm biome check .'"
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
#!/bin/sh
|
|
2
|
+
|
|
3
|
+
# -----------------------------------------------------------------------------
|
|
4
|
+
# Script Name: run-commitlint.sh
|
|
5
|
+
# Purpose: This script runs `commitlint` on the commit message provided as an
|
|
6
|
+
# argument to ensure it follows the defined commit message conventions.
|
|
7
|
+
# It can be used as part of a pre-commit hook or run manually to verify
|
|
8
|
+
# commit messages.
|
|
9
|
+
#
|
|
10
|
+
# Usage:
|
|
11
|
+
# ./run-commitlint.sh [commit_message_file]
|
|
12
|
+
# - [commit_message_file]: The path to the file containing the commit message.
|
|
13
|
+
#
|
|
14
|
+
# Examples:
|
|
15
|
+
# - Run commitlint on a commit message stored in msg.txt:
|
|
16
|
+
# ./run-commitlint.sh msg.txt
|
|
17
|
+
# - Use with a Git hook to automatically lint commit messages before commit:
|
|
18
|
+
# cp run-commitlint.sh .git/hooks/commit-msg
|
|
19
|
+
#
|
|
20
|
+
# Bypass (for urgent situations):
|
|
21
|
+
# git commit -am "message" --no-verify
|
|
22
|
+
# -----------------------------------------------------------------------------
|
|
23
|
+
|
|
24
|
+
echo "==== Run commitlint ===="
|
|
25
|
+
|
|
26
|
+
# Run commitlint on the commit message passed as an argument
|
|
27
|
+
npx --no -- commitlint --edit "$1"
|
|
28
|
+
|
|
29
|
+
# If commitlint fails, show helpful information
|
|
30
|
+
if [ $? -ne 0 ]; then
|
|
31
|
+
echo "📚 Best practices - Conventional Commits:"
|
|
32
|
+
echo " Format: <type>(<scope>): <subject>"
|
|
33
|
+
echo ""
|
|
34
|
+
echo " Types: feat, fix, docs, style, refactor, test, chore"
|
|
35
|
+
echo ""
|
|
36
|
+
echo " Examples:"
|
|
37
|
+
echo " ✅ feat: add user authentication"
|
|
38
|
+
echo " ✅ fix(api): handle null response"
|
|
39
|
+
echo " ✅ docs: update README with installation steps"
|
|
40
|
+
echo ""
|
|
41
|
+
echo "📖 Documentation: https://www.conventionalcommits.org"
|
|
42
|
+
echo "📖 Commitlint: https://commitlint.js.org"
|
|
43
|
+
echo ""
|
|
44
|
+
echo "💡 Bypass (urgent): git commit --no-verify"
|
|
45
|
+
exit 1
|
|
46
|
+
else
|
|
47
|
+
echo "✅ Commit message passed commitlint."
|
|
48
|
+
fi
|
package/src/app/App.tsx
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ThemeProvider } from "@inkjs/ui"
|
|
2
|
+
import { render } from "ink"
|
|
3
|
+
|
|
4
|
+
import { getConfig } from "../config/config.js"
|
|
5
|
+
import { PageNavigationProvider } from "../contexts/PageNavigationContext.js"
|
|
6
|
+
import { WorkspaceDiscoveryProvider } from "../contexts/WorkspaceDiscoveryContext.js"
|
|
7
|
+
import { getAppTheme } from "../theme/theme.js"
|
|
8
|
+
import { Layout } from "./Layout.js"
|
|
9
|
+
|
|
10
|
+
export function App() {
|
|
11
|
+
const config = getConfig()
|
|
12
|
+
const theme = getAppTheme(config.theme)
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<ThemeProvider theme={theme}>
|
|
16
|
+
<WorkspaceDiscoveryProvider>
|
|
17
|
+
<PageNavigationProvider>
|
|
18
|
+
<Layout />
|
|
19
|
+
</PageNavigationProvider>
|
|
20
|
+
</WorkspaceDiscoveryProvider>
|
|
21
|
+
</ThemeProvider>
|
|
22
|
+
)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
render(<App />)
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useComponentTheme } from "@inkjs/ui"
|
|
2
|
+
import { Box } from "ink"
|
|
3
|
+
import { useContext } from "react"
|
|
4
|
+
|
|
5
|
+
import { PageNavigationContext } from "../contexts/PageNavigationContext.js"
|
|
6
|
+
import type { AppLayoutTheme } from "../theme/theme.js"
|
|
7
|
+
import { Page } from "../types/page.js"
|
|
8
|
+
import { ExitPage } from "./pages/Exit.js"
|
|
9
|
+
import { ProjectPage } from "./pages/ProjectPage.js"
|
|
10
|
+
import { WorkspacePage } from "./pages/WorkspacePage.js"
|
|
11
|
+
|
|
12
|
+
export function Layout() {
|
|
13
|
+
const { currentPage } = useContext(PageNavigationContext)
|
|
14
|
+
const { styles } = useComponentTheme<AppLayoutTheme>("AppLayout")
|
|
15
|
+
|
|
16
|
+
const renderPage = () => {
|
|
17
|
+
switch (currentPage) {
|
|
18
|
+
case Page.Workspace:
|
|
19
|
+
return <WorkspacePage />
|
|
20
|
+
case Page.Project:
|
|
21
|
+
return <ProjectPage />
|
|
22
|
+
case Page.Exit:
|
|
23
|
+
return <ExitPage />
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<Box
|
|
29
|
+
flexDirection="column"
|
|
30
|
+
width="100%"
|
|
31
|
+
borderStyle="single"
|
|
32
|
+
{...styles.container()}
|
|
33
|
+
>
|
|
34
|
+
{renderPage()}
|
|
35
|
+
</Box>
|
|
36
|
+
)
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useComponentTheme } from "@inkjs/ui"
|
|
2
|
+
import { Box, Text } from "ink"
|
|
3
|
+
import { useContext } from "react"
|
|
4
|
+
|
|
5
|
+
import { ProjectGrid } from "../../components/features/ProjectGrid/ProjectGrid.js"
|
|
6
|
+
import { ProjectInfo } from "../../components/features/ProjectGrid/ProjectInfo.js"
|
|
7
|
+
import { Header } from "../../components/layouts/Header/Header.js"
|
|
8
|
+
import { PageNavigationContext } from "../../contexts/PageNavigationContext.js"
|
|
9
|
+
import { ProjectGridProvider } from "../../contexts/ProjectGridContext.js"
|
|
10
|
+
import { WorkspaceDiscoveryContext } from "../../contexts/WorkspaceDiscoveryContext.js"
|
|
11
|
+
import type { GridTheme } from "../../theme/theme.js"
|
|
12
|
+
|
|
13
|
+
export function ProjectPage() {
|
|
14
|
+
const { setPage } = useContext(PageNavigationContext)
|
|
15
|
+
const { project, setProject } = useContext(WorkspaceDiscoveryContext)
|
|
16
|
+
const { styles } = useComponentTheme<GridTheme>("GridTheme")
|
|
17
|
+
|
|
18
|
+
if (!project) {
|
|
19
|
+
return (
|
|
20
|
+
<Box>
|
|
21
|
+
<Text {...styles.error()}>No project selected</Text>
|
|
22
|
+
</Box>
|
|
23
|
+
)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
return (
|
|
27
|
+
<ProjectGridProvider
|
|
28
|
+
setPage={setPage}
|
|
29
|
+
project={project}
|
|
30
|
+
setProject={setProject}
|
|
31
|
+
>
|
|
32
|
+
<Header />
|
|
33
|
+
<ProjectGrid />
|
|
34
|
+
<ProjectInfo />
|
|
35
|
+
</ProjectGridProvider>
|
|
36
|
+
)
|
|
37
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useContext } from "react"
|
|
2
|
+
import { WorkspaceGrid } from "../../components/features/WorkspaceGrid/WorkspaceGrid.js"
|
|
3
|
+
import { WorkspaceInfo } from "../../components/features/WorkspaceGrid/WorkspaceInfo.js"
|
|
4
|
+
import { Header } from "../../components/layouts/Header/Header.js"
|
|
5
|
+
import { PageNavigationContext } from "../../contexts/PageNavigationContext.js"
|
|
6
|
+
import { WorkspaceDiscoveryContext } from "../../contexts/WorkspaceDiscoveryContext.js"
|
|
7
|
+
import { WorkspacesNavigationProvider } from "../../contexts/WorkspaceGridContext.js"
|
|
8
|
+
import { useWorkspaceQuickActions } from "../../hooks/useWorkspaceQuickActions.js"
|
|
9
|
+
|
|
10
|
+
export function WorkspacePage() {
|
|
11
|
+
const { setPage, workspacesGridPosition, setWorkspacesGridPosition } =
|
|
12
|
+
useContext(PageNavigationContext)
|
|
13
|
+
const { projects, workspaceRuntimes, setProject } = useContext(
|
|
14
|
+
WorkspaceDiscoveryContext,
|
|
15
|
+
)
|
|
16
|
+
const workspaceQuickActions = useWorkspaceQuickActions(projects)
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<WorkspacesNavigationProvider
|
|
20
|
+
projects={projects}
|
|
21
|
+
workspaceQuickActions={workspaceQuickActions}
|
|
22
|
+
workspaceRuntimes={workspaceRuntimes}
|
|
23
|
+
initialPosition={workspacesGridPosition}
|
|
24
|
+
setPage={setPage}
|
|
25
|
+
setProject={setProject}
|
|
26
|
+
onPositionChange={setWorkspacesGridPosition}
|
|
27
|
+
>
|
|
28
|
+
<Header />
|
|
29
|
+
<WorkspaceGrid />
|
|
30
|
+
<WorkspaceInfo />
|
|
31
|
+
</WorkspacesNavigationProvider>
|
|
32
|
+
)
|
|
33
|
+
}
|
package/src/bin/init.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { spawnSync } from "node:child_process"
|
|
3
|
+
import { fileURLToPath } from "node:url"
|
|
4
|
+
|
|
5
|
+
const cliEntry = fileURLToPath(new URL("../index.js", import.meta.url))
|
|
6
|
+
|
|
7
|
+
const result = spawnSync(
|
|
8
|
+
process.execPath,
|
|
9
|
+
["--trace-warnings", cliEntry, ...process.argv.slice(2)],
|
|
10
|
+
{
|
|
11
|
+
stdio: "inherit",
|
|
12
|
+
cwd: process.cwd(),
|
|
13
|
+
env: process.env,
|
|
14
|
+
},
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
if (typeof result.status === "number") {
|
|
18
|
+
process.exit(result.status)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (result.error) {
|
|
22
|
+
console.error(result.error)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
process.exit(1)
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { existsSync } from "node:fs"
|
|
2
|
+
import { writeFile } from "node:fs/promises"
|
|
3
|
+
import { join } from "node:path"
|
|
4
|
+
import { DEFAULT_CONFIG } from "../config/defaults.js"
|
|
5
|
+
import type { Config } from "../types/config.js"
|
|
6
|
+
|
|
7
|
+
const CONFIG_FILENAME = "workspace-cli.mjs"
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Convert object to JavaScript literal syntax (without quoted keys)
|
|
11
|
+
*/
|
|
12
|
+
function toJavaScriptObject(obj: unknown, indent = 0): string {
|
|
13
|
+
const spaces = " ".repeat(indent)
|
|
14
|
+
const nextSpaces = " ".repeat(indent + 1)
|
|
15
|
+
|
|
16
|
+
if (Array.isArray(obj)) {
|
|
17
|
+
if (obj.length === 0) return "[]"
|
|
18
|
+
const items = obj
|
|
19
|
+
.map((item) =>
|
|
20
|
+
typeof item === "string"
|
|
21
|
+
? `"${item}"`
|
|
22
|
+
: toJavaScriptObject(item, indent + 1),
|
|
23
|
+
)
|
|
24
|
+
.join(`,\n${nextSpaces}`)
|
|
25
|
+
return `[\n${nextSpaces}${items}\n${spaces}]`
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (typeof obj === "object" && obj !== null) {
|
|
29
|
+
const entries = Object.entries(obj)
|
|
30
|
+
if (entries.length === 0) return "{}"
|
|
31
|
+
|
|
32
|
+
const props = entries
|
|
33
|
+
.map(([key, value]) => {
|
|
34
|
+
const valueStr =
|
|
35
|
+
typeof value === "string"
|
|
36
|
+
? `"${value}"`
|
|
37
|
+
: typeof value === "boolean" || typeof value === "number"
|
|
38
|
+
? String(value)
|
|
39
|
+
: toJavaScriptObject(value, indent + 1)
|
|
40
|
+
return `${key}: ${valueStr}`
|
|
41
|
+
})
|
|
42
|
+
.join(`,\n${nextSpaces}`)
|
|
43
|
+
|
|
44
|
+
return `{\n${nextSpaces}${props}\n${spaces}}`
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
return String(obj)
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Generate config file content
|
|
52
|
+
*/
|
|
53
|
+
function generateConfigContent(config: Config): string {
|
|
54
|
+
return `export default ${toJavaScriptObject(config)}\n`
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Initialize workspace-cli configuration
|
|
59
|
+
*/
|
|
60
|
+
export async function initCommand(
|
|
61
|
+
targetDir: string = process.cwd(),
|
|
62
|
+
): Promise<void> {
|
|
63
|
+
const configPath = join(targetDir, CONFIG_FILENAME)
|
|
64
|
+
|
|
65
|
+
// Check if config already exists
|
|
66
|
+
if (existsSync(configPath)) {
|
|
67
|
+
console.log(`⚠️ Config already exists at ${CONFIG_FILENAME}`)
|
|
68
|
+
console.log(" Delete it first if you want to reinitialize")
|
|
69
|
+
return
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Create config file with ESM export
|
|
73
|
+
const configContent = generateConfigContent(DEFAULT_CONFIG)
|
|
74
|
+
await writeFile(configPath, configContent, "utf-8")
|
|
75
|
+
|
|
76
|
+
console.log(`✓ Created ${CONFIG_FILENAME}`)
|
|
77
|
+
console.log("\nNext steps:")
|
|
78
|
+
console.log(" 1. Customize the configuration in workspace-cli.mjs")
|
|
79
|
+
console.log(" 2. Run: workspace-cli")
|
|
80
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { useComponentTheme } from "@inkjs/ui"
|
|
2
|
+
import { Box, Text } from "ink"
|
|
3
|
+
|
|
4
|
+
import type { GridTheme } from "../../../theme/theme"
|
|
5
|
+
import type {
|
|
6
|
+
ComposeCommandCell,
|
|
7
|
+
ComposeServiceCell,
|
|
8
|
+
} from "../../../types/project-grid"
|
|
9
|
+
import type { RuntimeStatus } from "../../../types/workspace-runtime.js"
|
|
10
|
+
|
|
11
|
+
type ColComposeProps = {
|
|
12
|
+
composeCommandCells: ComposeCommandCell[]
|
|
13
|
+
composeServiceCells: ComposeServiceCell[]
|
|
14
|
+
composeServiceStatuses?: Record<string, RuntimeStatus>
|
|
15
|
+
row: number
|
|
16
|
+
col: number
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function ColCompose({
|
|
20
|
+
composeCommandCells,
|
|
21
|
+
composeServiceCells,
|
|
22
|
+
composeServiceStatuses,
|
|
23
|
+
row,
|
|
24
|
+
col,
|
|
25
|
+
}: ColComposeProps) {
|
|
26
|
+
const { styles } = useComponentTheme<GridTheme>("GridTheme")
|
|
27
|
+
|
|
28
|
+
return (
|
|
29
|
+
<Box flexDirection="column" width="32%">
|
|
30
|
+
<Box
|
|
31
|
+
flexDirection="column"
|
|
32
|
+
width="100%"
|
|
33
|
+
borderStyle="single"
|
|
34
|
+
borderTop={false}
|
|
35
|
+
borderBottom={true}
|
|
36
|
+
borderLeft={false}
|
|
37
|
+
borderRight={false}
|
|
38
|
+
{...styles.border()}
|
|
39
|
+
>
|
|
40
|
+
<Text {...styles.headerText()}>DOCKER COMPOSE</Text>
|
|
41
|
+
<Box width="100%">
|
|
42
|
+
<Text> </Text>
|
|
43
|
+
</Box>
|
|
44
|
+
</Box>
|
|
45
|
+
|
|
46
|
+
{composeCommandCells.map((cell) => (
|
|
47
|
+
<Box key={cell.action.name} width="100%">
|
|
48
|
+
<Text
|
|
49
|
+
{...styles.action()}
|
|
50
|
+
inverse={row === cell.row && col === cell.col}
|
|
51
|
+
>
|
|
52
|
+
{cell.action.name}
|
|
53
|
+
</Text>
|
|
54
|
+
</Box>
|
|
55
|
+
))}
|
|
56
|
+
|
|
57
|
+
<Box flexDirection="column" borderStyle="single" marginTop={1}>
|
|
58
|
+
{composeServiceCells.map((cell, index) => {
|
|
59
|
+
const isSelected = row === cell.row && col === cell.col
|
|
60
|
+
const serviceStatus = composeServiceStatuses?.[cell.service.name]
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
<Box
|
|
64
|
+
key={cell.service.name}
|
|
65
|
+
flexDirection="column"
|
|
66
|
+
borderStyle="single"
|
|
67
|
+
borderTop={false}
|
|
68
|
+
borderBottom={index < composeServiceCells.length - 1}
|
|
69
|
+
borderLeft={false}
|
|
70
|
+
borderRight={false}
|
|
71
|
+
borderColor={
|
|
72
|
+
isSelected ? styles.action().color : styles.text().color
|
|
73
|
+
}
|
|
74
|
+
>
|
|
75
|
+
<Text
|
|
76
|
+
{...(serviceStatus
|
|
77
|
+
? styles.runtime({ status: serviceStatus })
|
|
78
|
+
: isSelected
|
|
79
|
+
? styles.action()
|
|
80
|
+
: styles.text())}
|
|
81
|
+
inverse={isSelected}
|
|
82
|
+
>
|
|
83
|
+
{cell.service.name}
|
|
84
|
+
</Text>
|
|
85
|
+
{cell.service.image && (
|
|
86
|
+
<Text {...styles.text()}>{cell.service.image}</Text>
|
|
87
|
+
)}
|
|
88
|
+
{cell.service.ports && cell.service.ports.length > 0 && (
|
|
89
|
+
<Text {...styles.text()}>
|
|
90
|
+
Ports: {cell.service.ports.join(", ")}
|
|
91
|
+
</Text>
|
|
92
|
+
)}
|
|
93
|
+
</Box>
|
|
94
|
+
)
|
|
95
|
+
})}
|
|
96
|
+
</Box>
|
|
97
|
+
</Box>
|
|
98
|
+
)
|
|
99
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { useComponentTheme } from "@inkjs/ui"
|
|
2
|
+
import { Box, Text } from "ink"
|
|
3
|
+
import type { GridTheme } from "../../../theme/theme.js"
|
|
4
|
+
import type { MakefileCell } from "../../../types/project-grid"
|
|
5
|
+
|
|
6
|
+
type ColMakefileProps = {
|
|
7
|
+
makefileCells: MakefileCell[]
|
|
8
|
+
row: number
|
|
9
|
+
col: number
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function ColMakefile({ makefileCells, row, col }: ColMakefileProps) {
|
|
13
|
+
const { styles } = useComponentTheme<GridTheme>("GridTheme")
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<Box flexDirection="column" width="32%">
|
|
17
|
+
<Box
|
|
18
|
+
flexDirection="column"
|
|
19
|
+
width="100%"
|
|
20
|
+
borderStyle="single"
|
|
21
|
+
borderTop={false}
|
|
22
|
+
borderBottom={true}
|
|
23
|
+
borderLeft={false}
|
|
24
|
+
borderRight={false}
|
|
25
|
+
{...styles.border()}
|
|
26
|
+
>
|
|
27
|
+
<Text {...styles.headerText()}>MAKEFILE</Text>
|
|
28
|
+
<Box width="100%">
|
|
29
|
+
<Text> </Text>
|
|
30
|
+
</Box>
|
|
31
|
+
</Box>
|
|
32
|
+
{makefileCells.map((cell) => (
|
|
33
|
+
<Box key={cell.command.command} width="100%">
|
|
34
|
+
<Text
|
|
35
|
+
{...styles.action()}
|
|
36
|
+
inverse={row === cell.row && col === cell.col}
|
|
37
|
+
>
|
|
38
|
+
{cell.command.name}
|
|
39
|
+
</Text>
|
|
40
|
+
</Box>
|
|
41
|
+
))}
|
|
42
|
+
</Box>
|
|
43
|
+
)
|
|
44
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { useComponentTheme } from "@inkjs/ui"
|
|
2
|
+
import { Box, Text } from "ink"
|
|
3
|
+
import type { GridTheme } from "../../../theme/theme.js"
|
|
4
|
+
import type { Project } from "../../../types/project"
|
|
5
|
+
import type { PackageJsonCell } from "../../../types/project-grid"
|
|
6
|
+
|
|
7
|
+
type ColPackageJsonProps = {
|
|
8
|
+
project: Project
|
|
9
|
+
packageJsonCells: PackageJsonCell[]
|
|
10
|
+
row: number
|
|
11
|
+
col: number
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function ColPackageJson({
|
|
15
|
+
project,
|
|
16
|
+
packageJsonCells,
|
|
17
|
+
row,
|
|
18
|
+
col,
|
|
19
|
+
}: ColPackageJsonProps) {
|
|
20
|
+
const { styles } = useComponentTheme<GridTheme>("GridTheme")
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<Box flexDirection="column" width="32%">
|
|
24
|
+
<Box
|
|
25
|
+
flexDirection="column"
|
|
26
|
+
width="100%"
|
|
27
|
+
borderStyle="single"
|
|
28
|
+
borderTop={false}
|
|
29
|
+
borderBottom={true}
|
|
30
|
+
borderLeft={false}
|
|
31
|
+
borderRight={false}
|
|
32
|
+
{...styles.border()}
|
|
33
|
+
>
|
|
34
|
+
<Text {...styles.headerText()}>PACKAGE.JSON</Text>
|
|
35
|
+
<Box width="100%">
|
|
36
|
+
<Text>{project?.facets.packageJson?.name}</Text>
|
|
37
|
+
{project?.facets.packageJson?.version && (
|
|
38
|
+
<Text>{` v${project?.facets.packageJson?.version}`}</Text>
|
|
39
|
+
)}
|
|
40
|
+
</Box>
|
|
41
|
+
</Box>
|
|
42
|
+
{packageJsonCells.map((cell) => (
|
|
43
|
+
<Box key={cell.script.command} width="100%">
|
|
44
|
+
<Text
|
|
45
|
+
{...styles.action()}
|
|
46
|
+
inverse={row === cell.row && col === cell.col}
|
|
47
|
+
>
|
|
48
|
+
{cell.script.name}
|
|
49
|
+
</Text>
|
|
50
|
+
</Box>
|
|
51
|
+
))}
|
|
52
|
+
</Box>
|
|
53
|
+
)
|
|
54
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useComponentTheme } from "@inkjs/ui"
|
|
2
|
+
import { Box, Text } from "ink"
|
|
3
|
+
|
|
4
|
+
import type { GridTheme } from "../../../theme/theme.js"
|
|
5
|
+
|
|
6
|
+
export function EmptyCol() {
|
|
7
|
+
const { styles } = useComponentTheme<GridTheme>("GridTheme")
|
|
8
|
+
|
|
9
|
+
return (
|
|
10
|
+
<Box flexDirection="column" width="32%">
|
|
11
|
+
<Box
|
|
12
|
+
flexDirection="column"
|
|
13
|
+
width="100%"
|
|
14
|
+
borderStyle="single"
|
|
15
|
+
borderTop={false}
|
|
16
|
+
borderBottom={true}
|
|
17
|
+
borderLeft={false}
|
|
18
|
+
borderRight={false}
|
|
19
|
+
{...styles.border()}
|
|
20
|
+
>
|
|
21
|
+
<Text {...styles.text()}> </Text>
|
|
22
|
+
<Box width="100%">
|
|
23
|
+
<Text> </Text>
|
|
24
|
+
</Box>
|
|
25
|
+
</Box>
|
|
26
|
+
</Box>
|
|
27
|
+
)
|
|
28
|
+
}
|