@bendyline/docblocks-react 2.0.0 → 2.1.1
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/README.md +18 -3
- package/dist/ExportDialog-VYATD5UC.js +9 -0
- package/dist/{ExportToolbarControls-D2YDWOXW.js → ExportToolbarControls-5HUE3LSX.js} +206 -42
- package/dist/{GitToolbarControl-LMIR4R7I.js → GitToolbarControl-FW3BZFXV.js} +62 -44
- package/dist/{GitUI-KGF5MSNV.js → GitUI-GMH3PAYL.js} +225 -141
- package/dist/{LazyEditorShell-EF2BWRXU.js → LazyEditorShell-RF54B5UD.js} +0 -1
- package/dist/ShareDialog-PAMOQQFB.js +212 -0
- package/dist/chunk-3CZ27FOA.js +359 -0
- package/dist/chunk-3QSZY74C.js +255 -0
- package/{src/Export/export-destination.ts → dist/chunk-BI7NVU6T.js} +16 -15
- package/dist/{chunk-VHDP4IPL.js → chunk-BPGEBGAN.js} +0 -1
- package/dist/{chunk-DD4VFJQI.js → chunk-EBWYGTN7.js} +2 -1
- package/dist/{chunk-ZI56BNB7.js → chunk-GHQ4X7KM.js} +27 -7
- package/dist/{chunk-5A4KEWKT.js → chunk-HFYPTTCH.js} +0 -1
- package/dist/chunk-LG6HAWCK.js +109 -0
- package/dist/chunk-TFMO7EVO.js +88 -0
- package/dist/{chunk-4XXSWN3T.js → chunk-YBEYTVU2.js} +0 -1
- package/dist/editor.d.ts +5 -4
- package/dist/editor.js +8 -70
- package/dist/export/index.d.ts +24 -8
- package/dist/export/index.js +10 -6
- package/dist/index.d.ts +355 -21
- package/dist/index.js +6419 -21
- package/dist/run-export-Z5BVFLIR.js +9 -0
- package/dist/settings/index.d.ts +9 -1
- package/dist/settings/index.js +6 -5
- package/package.json +18 -13
- package/src/styles/docblocks.css +985 -35
- package/dist/AppMenu/AppMenu.d.ts +0 -53
- package/dist/AppMenu/AppMenu.d.ts.map +0 -1
- package/dist/AppMenu/AppMenu.js +0 -67
- package/dist/AppMenu/AppMenu.js.map +0 -1
- package/dist/AppMenu/index.d.ts +0 -3
- package/dist/AppMenu/index.d.ts.map +0 -1
- package/dist/AppMenu/index.js +0 -2
- package/dist/AppMenu/index.js.map +0 -1
- package/dist/DocBlocksShell/DocBlocksShell.d.ts +0 -49
- package/dist/DocBlocksShell/DocBlocksShell.d.ts.map +0 -1
- package/dist/DocBlocksShell/DocBlocksShell.js +0 -2730
- package/dist/DocBlocksShell/DocBlocksShell.js.map +0 -1
- package/dist/DocBlocksShell/LazyEditorShell.d.ts +0 -3
- package/dist/DocBlocksShell/LazyEditorShell.d.ts.map +0 -1
- package/dist/DocBlocksShell/LazyEditorShell.js +0 -3
- package/dist/DocBlocksShell/LazyEditorShell.js.map +0 -1
- package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts +0 -13
- package/dist/DocBlocksShell/UpdateAvailableNotice.d.ts.map +0 -1
- package/dist/DocBlocksShell/UpdateAvailableNotice.js +0 -16
- package/dist/DocBlocksShell/UpdateAvailableNotice.js.map +0 -1
- package/dist/DocBlocksShell/document-title.d.ts +0 -3
- package/dist/DocBlocksShell/document-title.d.ts.map +0 -1
- package/dist/DocBlocksShell/document-title.js +0 -17
- package/dist/DocBlocksShell/document-title.js.map +0 -1
- package/dist/DocBlocksShell/index.d.ts +0 -3
- package/dist/DocBlocksShell/index.d.ts.map +0 -1
- package/dist/DocBlocksShell/index.js +0 -2
- package/dist/DocBlocksShell/index.js.map +0 -1
- package/dist/DocBlocksShell/workspace-authority-barrier.d.ts +0 -14
- package/dist/DocBlocksShell/workspace-authority-barrier.d.ts.map +0 -1
- package/dist/DocBlocksShell/workspace-authority-barrier.js +0 -23
- package/dist/DocBlocksShell/workspace-authority-barrier.js.map +0 -1
- package/dist/Export/DeferredExportToolbarControls.d.ts +0 -5
- package/dist/Export/DeferredExportToolbarControls.d.ts.map +0 -1
- package/dist/Export/DeferredExportToolbarControls.js +0 -10
- package/dist/Export/DeferredExportToolbarControls.js.map +0 -1
- package/dist/Export/ExportDialog.d.ts +0 -25
- package/dist/Export/ExportDialog.d.ts.map +0 -1
- package/dist/Export/ExportDialog.js +0 -160
- package/dist/Export/ExportDialog.js.map +0 -1
- package/dist/Export/ExportToolbarControls.d.ts +0 -37
- package/dist/Export/ExportToolbarControls.d.ts.map +0 -1
- package/dist/Export/ExportToolbarControls.js +0 -285
- package/dist/Export/ExportToolbarControls.js.map +0 -1
- package/dist/Export/export-destination.d.ts +0 -3
- package/dist/Export/export-destination.d.ts.map +0 -1
- package/dist/Export/export-destination.js +0 -32
- package/dist/Export/export-destination.js.map +0 -1
- package/dist/Export/export-options.d.ts +0 -53
- package/dist/Export/export-options.d.ts.map +0 -1
- package/dist/Export/export-options.js +0 -49
- package/dist/Export/export-options.js.map +0 -1
- package/dist/Export/index.d.ts +0 -10
- package/dist/Export/index.d.ts.map +0 -1
- package/dist/Export/index.js +0 -6
- package/dist/Export/index.js.map +0 -1
- package/dist/Export/public-api.d.ts +0 -12
- package/dist/Export/public-api.d.ts.map +0 -1
- package/dist/Export/public-api.js +0 -9
- package/dist/Export/public-api.js.map +0 -1
- package/dist/Export/run-export.d.ts +0 -10
- package/dist/Export/run-export.d.ts.map +0 -1
- package/dist/Export/run-export.js +0 -313
- package/dist/Export/run-export.js.map +0 -1
- package/dist/Export/transform-summaries.d.ts +0 -7
- package/dist/Export/transform-summaries.d.ts.map +0 -1
- package/dist/Export/transform-summaries.js +0 -6
- package/dist/Export/transform-summaries.js.map +0 -1
- package/dist/ExportDialog-MEUISWZX.js +0 -9
- package/dist/ExportDialog-MEUISWZX.js.map +0 -1
- package/dist/ExportToolbarControls-D2YDWOXW.js.map +0 -1
- package/dist/FileExplorer/FileExplorer.d.ts +0 -43
- package/dist/FileExplorer/FileExplorer.d.ts.map +0 -1
- package/dist/FileExplorer/FileExplorer.js +0 -315
- package/dist/FileExplorer/FileExplorer.js.map +0 -1
- package/dist/FileExplorer/FileTreeNode.d.ts +0 -39
- package/dist/FileExplorer/FileTreeNode.d.ts.map +0 -1
- package/dist/FileExplorer/FileTreeNode.js +0 -131
- package/dist/FileExplorer/FileTreeNode.js.map +0 -1
- package/dist/FileExplorer/index.d.ts +0 -6
- package/dist/FileExplorer/index.d.ts.map +0 -1
- package/dist/FileExplorer/index.js +0 -4
- package/dist/FileExplorer/index.js.map +0 -1
- package/dist/FileExplorer/useFileTree.d.ts +0 -37
- package/dist/FileExplorer/useFileTree.d.ts.map +0 -1
- package/dist/FileExplorer/useFileTree.js +0 -284
- package/dist/FileExplorer/useFileTree.js.map +0 -1
- package/dist/Git/GitAuthGuidanceDialog.d.ts +0 -18
- package/dist/Git/GitAuthGuidanceDialog.d.ts.map +0 -1
- package/dist/Git/GitAuthGuidanceDialog.js +0 -27
- package/dist/Git/GitAuthGuidanceDialog.js.map +0 -1
- package/dist/Git/GitBranchesDialog.d.ts +0 -13
- package/dist/Git/GitBranchesDialog.d.ts.map +0 -1
- package/dist/Git/GitBranchesDialog.js +0 -59
- package/dist/Git/GitBranchesDialog.js.map +0 -1
- package/dist/Git/GitCloneDialog.d.ts +0 -14
- package/dist/Git/GitCloneDialog.d.ts.map +0 -1
- package/dist/Git/GitCloneDialog.js +0 -79
- package/dist/Git/GitCloneDialog.js.map +0 -1
- package/dist/Git/GitCommitDialog.d.ts +0 -12
- package/dist/Git/GitCommitDialog.d.ts.map +0 -1
- package/dist/Git/GitCommitDialog.js +0 -38
- package/dist/Git/GitCommitDialog.js.map +0 -1
- package/dist/Git/GitConflictsDialog.d.ts +0 -12
- package/dist/Git/GitConflictsDialog.d.ts.map +0 -1
- package/dist/Git/GitConflictsDialog.js +0 -17
- package/dist/Git/GitConflictsDialog.js.map +0 -1
- package/dist/Git/GitContext.d.ts +0 -89
- package/dist/Git/GitContext.d.ts.map +0 -1
- package/dist/Git/GitContext.js +0 -15
- package/dist/Git/GitContext.js.map +0 -1
- package/dist/Git/GitDiffDialog.d.ts +0 -20
- package/dist/Git/GitDiffDialog.d.ts.map +0 -1
- package/dist/Git/GitDiffDialog.js +0 -100
- package/dist/Git/GitDiffDialog.js.map +0 -1
- package/dist/Git/GitDiffView.d.ts +0 -23
- package/dist/Git/GitDiffView.d.ts.map +0 -1
- package/dist/Git/GitDiffView.js +0 -77
- package/dist/Git/GitDiffView.js.map +0 -1
- package/dist/Git/GitHistoryDialog.d.ts +0 -15
- package/dist/Git/GitHistoryDialog.d.ts.map +0 -1
- package/dist/Git/GitHistoryDialog.js +0 -107
- package/dist/Git/GitHistoryDialog.js.map +0 -1
- package/dist/Git/GitStatusBar.d.ts +0 -8
- package/dist/Git/GitStatusBar.d.ts.map +0 -1
- package/dist/Git/GitStatusBar.js +0 -49
- package/dist/Git/GitStatusBar.js.map +0 -1
- package/dist/Git/GitToolbarControl.d.ts +0 -15
- package/dist/Git/GitToolbarControl.d.ts.map +0 -1
- package/dist/Git/GitToolbarControl.js +0 -51
- package/dist/Git/GitToolbarControl.js.map +0 -1
- package/dist/Git/GitUI.d.ts +0 -14
- package/dist/Git/GitUI.d.ts.map +0 -1
- package/dist/Git/GitUI.js +0 -21
- package/dist/Git/GitUI.js.map +0 -1
- package/dist/Git/commit-selection.d.ts +0 -22
- package/dist/Git/commit-selection.d.ts.map +0 -1
- package/dist/Git/commit-selection.js +0 -47
- package/dist/Git/commit-selection.js.map +0 -1
- package/dist/Git/git-clone-utils.d.ts +0 -8
- package/dist/Git/git-clone-utils.d.ts.map +0 -1
- package/dist/Git/git-clone-utils.js +0 -26
- package/dist/Git/git-clone-utils.js.map +0 -1
- package/dist/Git/git-status.d.ts +0 -24
- package/dist/Git/git-status.d.ts.map +0 -1
- package/dist/Git/git-status.js +0 -105
- package/dist/Git/git-status.js.map +0 -1
- package/dist/Git/useGit.d.ts +0 -15
- package/dist/Git/useGit.d.ts.map +0 -1
- package/dist/Git/useGit.js +0 -206
- package/dist/Git/useGit.js.map +0 -1
- package/dist/Git/useGitStatus.d.ts +0 -17
- package/dist/Git/useGitStatus.d.ts.map +0 -1
- package/dist/Git/useGitStatus.js +0 -63
- package/dist/Git/useGitStatus.js.map +0 -1
- package/dist/GitToolbarControl-LMIR4R7I.js.map +0 -1
- package/dist/GitUI-KGF5MSNV.js.map +0 -1
- package/dist/LazyEditorShell-EF2BWRXU.js.map +0 -1
- package/dist/Settings/Settings.d.ts +0 -23
- package/dist/Settings/Settings.d.ts.map +0 -1
- package/dist/Settings/Settings.js +0 -22
- package/dist/Settings/Settings.js.map +0 -1
- package/dist/Settings/public-api.d.ts +0 -3
- package/dist/Settings/public-api.d.ts.map +0 -1
- package/dist/Settings/public-api.js +0 -2
- package/dist/Settings/public-api.js.map +0 -1
- package/dist/WorkspacePicker/WorkspacePicker.d.ts +0 -22
- package/dist/WorkspacePicker/WorkspacePicker.d.ts.map +0 -1
- package/dist/WorkspacePicker/WorkspacePicker.js +0 -74
- package/dist/WorkspacePicker/WorkspacePicker.js.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts +0 -11
- package/dist/WorkspacePicker/WorkspaceSettingsButton.d.ts.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsButton.js +0 -27
- package/dist/WorkspacePicker/WorkspaceSettingsButton.js.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts +0 -20
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.d.ts.map +0 -1
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.js +0 -36
- package/dist/WorkspacePicker/WorkspaceSettingsDialog.js.map +0 -1
- package/dist/WorkspacePicker/index.d.ts +0 -3
- package/dist/WorkspacePicker/index.d.ts.map +0 -1
- package/dist/WorkspacePicker/index.js +0 -2
- package/dist/WorkspacePicker/index.js.map +0 -1
- package/dist/chunk-3SAXDU2U.js +0 -157
- package/dist/chunk-3SAXDU2U.js.map +0 -1
- package/dist/chunk-4XXSWN3T.js.map +0 -1
- package/dist/chunk-5A4KEWKT.js.map +0 -1
- package/dist/chunk-AOVTHZU7.js +0 -321
- package/dist/chunk-AOVTHZU7.js.map +0 -1
- package/dist/chunk-DD4VFJQI.js.map +0 -1
- package/dist/chunk-GSNZSCIK.js +0 -55
- package/dist/chunk-GSNZSCIK.js.map +0 -1
- package/dist/chunk-VHDP4IPL.js.map +0 -1
- package/dist/chunk-ZI56BNB7.js.map +0 -1
- package/dist/components/Dialog.d.ts +0 -22
- package/dist/components/Dialog.d.ts.map +0 -1
- package/dist/components/Dialog.js +0 -33
- package/dist/components/Dialog.js.map +0 -1
- package/dist/editor.d.ts.map +0 -1
- package/dist/editor.js.map +0 -1
- package/dist/export/index.js.map +0 -1
- package/dist/hooks/index.d.ts +0 -3
- package/dist/hooks/index.d.ts.map +0 -1
- package/dist/hooks/index.js +0 -2
- package/dist/hooks/index.js.map +0 -1
- package/dist/hooks/useDocumentSession.d.ts +0 -16
- package/dist/hooks/useDocumentSession.d.ts.map +0 -1
- package/dist/hooks/useDocumentSession.js +0 -18
- package/dist/hooks/useDocumentSession.js.map +0 -1
- package/dist/icons.d.ts +0 -12
- package/dist/icons.d.ts.map +0 -1
- package/dist/icons.js +0 -28
- package/dist/icons.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/preferences/theme.d.ts +0 -18
- package/dist/preferences/theme.d.ts.map +0 -1
- package/dist/preferences/theme.js +0 -63
- package/dist/preferences/theme.js.map +0 -1
- package/dist/preferences/versioning.d.ts +0 -27
- package/dist/preferences/versioning.d.ts.map +0 -1
- package/dist/preferences/versioning.js +0 -62
- package/dist/preferences/versioning.js.map +0 -1
- package/dist/provider-lease.d.ts +0 -10
- package/dist/provider-lease.d.ts.map +0 -1
- package/dist/provider-lease.js +0 -42
- package/dist/provider-lease.js.map +0 -1
- package/dist/run-export-ICTZITXC.js +0 -10
- package/dist/run-export-ICTZITXC.js.map +0 -1
- package/dist/settings/index.js.map +0 -1
- package/src/AppMenu/AppMenu.tsx +0 -334
- package/src/AppMenu/index.ts +0 -2
- package/src/DocBlocksShell/DocBlocksShell.tsx +0 -3398
- package/src/DocBlocksShell/LazyEditorShell.ts +0 -2
- package/src/DocBlocksShell/UpdateAvailableNotice.tsx +0 -60
- package/src/DocBlocksShell/document-title.ts +0 -19
- package/src/DocBlocksShell/index.ts +0 -2
- package/src/DocBlocksShell/workspace-authority-barrier.ts +0 -26
- package/src/Export/DeferredExportToolbarControls.tsx +0 -23
- package/src/Export/ExportDialog.tsx +0 -437
- package/src/Export/ExportToolbarControls.tsx +0 -511
- package/src/Export/export-options.ts +0 -99
- package/src/Export/index.ts +0 -19
- package/src/Export/public-api.ts +0 -17
- package/src/Export/run-export.ts +0 -374
- package/src/Export/transform-summaries.ts +0 -14
- package/src/FileExplorer/FileExplorer.tsx +0 -528
- package/src/FileExplorer/FileTreeNode.tsx +0 -306
- package/src/FileExplorer/index.ts +0 -5
- package/src/FileExplorer/useFileTree.ts +0 -352
- package/src/Git/GitAuthGuidanceDialog.tsx +0 -84
- package/src/Git/GitBranchesDialog.tsx +0 -144
- package/src/Git/GitCloneDialog.tsx +0 -200
- package/src/Git/GitCommitDialog.tsx +0 -119
- package/src/Git/GitConflictsDialog.tsx +0 -62
- package/src/Git/GitContext.tsx +0 -88
- package/src/Git/GitDiffDialog.tsx +0 -147
- package/src/Git/GitDiffView.tsx +0 -105
- package/src/Git/GitHistoryDialog.tsx +0 -195
- package/src/Git/GitStatusBar.tsx +0 -157
- package/src/Git/GitToolbarControl.tsx +0 -123
- package/src/Git/GitUI.tsx +0 -68
- package/src/Git/commit-selection.ts +0 -63
- package/src/Git/git-clone-utils.ts +0 -23
- package/src/Git/git-status.ts +0 -113
- package/src/Git/useGit.ts +0 -279
- package/src/Git/useGitStatus.ts +0 -78
- package/src/Settings/Settings.tsx +0 -118
- package/src/Settings/public-api.ts +0 -8
- package/src/WorkspacePicker/WorkspacePicker.tsx +0 -191
- package/src/WorkspacePicker/WorkspaceSettingsButton.tsx +0 -88
- package/src/WorkspacePicker/WorkspaceSettingsDialog.tsx +0 -121
- package/src/WorkspacePicker/index.ts +0 -2
- package/src/components/Dialog.tsx +0 -81
- package/src/editor.ts +0 -72
- package/src/hooks/index.ts +0 -2
- package/src/hooks/useDocumentSession.ts +0 -37
- package/src/icons.tsx +0 -48
- package/src/index.ts +0 -61
- package/src/preferences/theme.ts +0 -67
- package/src/preferences/versioning.ts +0 -69
- package/src/provider-lease.ts +0 -52
- package/src/types/pwa-dom.d.ts +0 -31
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitStatusBar.js","sourceRoot":"","sources":["../../src/Git/GitStatusBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitToolbarControl — per-file git actions in the editor toolbar.
|
|
3
|
-
*
|
|
4
|
-
* A single branch-glyph button (styled like the export trigger) opening a
|
|
5
|
-
* small dropdown: view working-tree changes, per-file history, and "Open
|
|
6
|
-
* on <host>" when a web remote is known. A dot overlay marks the selected
|
|
7
|
-
* file as modified. Null-renders without a git context, a repository, or a
|
|
8
|
-
* selected file. Deliberately has no editor dependency.
|
|
9
|
-
*/
|
|
10
|
-
export interface GitToolbarControlProps {
|
|
11
|
-
/** Currently selected file path (slash-prefixed), or null. */
|
|
12
|
-
selectedFile: string | null;
|
|
13
|
-
}
|
|
14
|
-
export declare function GitToolbarControl({ selectedFile }: GitToolbarControlProps): import("react/jsx-runtime").JSX.Element | null;
|
|
15
|
-
//# sourceMappingURL=GitToolbarControl.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitToolbarControl.d.ts","sourceRoot":"","sources":["../../src/Git/GitToolbarControl.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,MAAM,WAAW,sBAAsB;IACrC,8DAA8D;IAC9D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,YAAY,EAAE,EAAE,sBAAsB,kDAmFzE"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* GitToolbarControl — per-file git actions in the editor toolbar.
|
|
4
|
-
*
|
|
5
|
-
* A single branch-glyph button (styled like the export trigger) opening a
|
|
6
|
-
* small dropdown: view working-tree changes, per-file history, and "Open
|
|
7
|
-
* on <host>" when a web remote is known. A dot overlay marks the selected
|
|
8
|
-
* file as modified. Null-renders without a git context, a repository, or a
|
|
9
|
-
* selected file. Deliberately has no editor dependency.
|
|
10
|
-
*/
|
|
11
|
-
import { useEffect, useRef, useState } from 'react';
|
|
12
|
-
import { useGitContext } from './GitContext.js';
|
|
13
|
-
import { isFileDirty } from './git-status.js';
|
|
14
|
-
export function GitToolbarControl({ selectedFile }) {
|
|
15
|
-
const git = useGitContext();
|
|
16
|
-
const [menuOpen, setMenuOpen] = useState(false);
|
|
17
|
-
const menuRef = useRef(null);
|
|
18
|
-
// Close on outside click (same pointerdown pattern as ExportToolbarControls).
|
|
19
|
-
useEffect(() => {
|
|
20
|
-
if (!menuOpen)
|
|
21
|
-
return;
|
|
22
|
-
const onPointerDown = (e) => {
|
|
23
|
-
if (menuRef.current && !menuRef.current.contains(e.target)) {
|
|
24
|
-
setMenuOpen(false);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
document.addEventListener('pointerdown', onPointerDown);
|
|
28
|
-
return () => document.removeEventListener('pointerdown', onPointerDown);
|
|
29
|
-
}, [menuOpen]);
|
|
30
|
-
if (!git || !git.repo || !selectedFile)
|
|
31
|
-
return null;
|
|
32
|
-
const dirty = isFileDirty(git.status, selectedFile);
|
|
33
|
-
const label = dirty ? 'Git actions (file modified)' : 'Git actions';
|
|
34
|
-
const openDiff = () => {
|
|
35
|
-
setMenuOpen(false);
|
|
36
|
-
git.openDialog({ kind: 'diff', path: selectedFile });
|
|
37
|
-
};
|
|
38
|
-
const openHistory = () => {
|
|
39
|
-
setMenuOpen(false);
|
|
40
|
-
git.openDialog({ kind: 'history', path: selectedFile });
|
|
41
|
-
};
|
|
42
|
-
const openOnRemote = () => {
|
|
43
|
-
setMenuOpen(false);
|
|
44
|
-
git.openOnRemote(selectedFile);
|
|
45
|
-
};
|
|
46
|
-
return (_jsxs("div", { className: "db-toolbar-menu", ref: menuRef, children: [_jsxs("button", { type: "button", className: "squisq-toolbar-button db-git-toolbar-trigger", onClick: () => setMenuOpen((prev) => !prev), "aria-label": label, "aria-haspopup": "menu", "aria-expanded": menuOpen, "data-tooltip": label, children: [_jsx(BranchGlyph, {}), dirty && _jsx("span", { className: "db-git-toolbar-dot", "aria-hidden": "true" })] }), menuOpen && (_jsxs("div", { className: "db-toolbar-menu-dropdown", role: "menu", children: [_jsx("button", { type: "button", role: "menuitem", className: "db-toolbar-menu-item", disabled: !dirty, onClick: openDiff, children: "View changes" }), _jsx("button", { type: "button", role: "menuitem", className: "db-toolbar-menu-item", onClick: openHistory, children: "File history\u2026" }), git.remoteWeb && (_jsxs("button", { type: "button", role: "menuitem", className: "db-toolbar-menu-item", onClick: openOnRemote, children: ["Open on ", git.remoteWeb.host] }))] }))] }));
|
|
47
|
-
}
|
|
48
|
-
function BranchGlyph() {
|
|
49
|
-
return (_jsxs("svg", { viewBox: "0 0 16 16", width: "16", height: "16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": "true", children: [_jsx("circle", { cx: "4.5", cy: "12", r: "2" }), _jsx("circle", { cx: "11.5", cy: "4", r: "2" }), _jsx("path", { d: "M4.5 10V7.5A2.5 2.5 0 0 1 7 5h2.5" })] }));
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=GitToolbarControl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitToolbarControl.js","sourceRoot":"","sources":["../../src/Git/GitToolbarControl.tsx"],"names":[],"mappings":"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"}
|
package/dist/Git/GitUI.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GitUI — single mount point for the git status bar, the aria-live
|
|
3
|
-
* operation result line, and every git dialog. Dialog visibility lives in
|
|
4
|
-
* GitContext so the file tree, toolbar, and native menu can all open them.
|
|
5
|
-
*/
|
|
6
|
-
import type { ElectronWorkspaceInfo } from '@bendyline/docblocks/host';
|
|
7
|
-
export interface GitUIProps {
|
|
8
|
-
/** Open a workspace file in the editor (from conflicts/history dialogs). */
|
|
9
|
-
onOpenFile: (path: string) => void;
|
|
10
|
-
/** A clone finished and its folder is registered — open the workspace. */
|
|
11
|
-
onWorkspaceCloned?: (info: ElectronWorkspaceInfo) => void;
|
|
12
|
-
}
|
|
13
|
-
export declare function GitUI({ onOpenFile, onWorkspaceCloned }: GitUIProps): import("react/jsx-runtime").JSX.Element | null;
|
|
14
|
-
//# sourceMappingURL=GitUI.d.ts.map
|
package/dist/Git/GitUI.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitUI.d.ts","sourceRoot":"","sources":["../../src/Git/GitUI.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAWvE,MAAM,WAAW,UAAU;IACzB,4EAA4E;IAC5E,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAgB,KAAK,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE,EAAE,UAAU,kDA2ClE"}
|
package/dist/Git/GitUI.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useGitContext } from './GitContext.js';
|
|
3
|
-
import { GitStatusBar } from './GitStatusBar.js';
|
|
4
|
-
import { GitCommitDialog } from './GitCommitDialog.js';
|
|
5
|
-
import { GitBranchesDialog } from './GitBranchesDialog.js';
|
|
6
|
-
import { GitHistoryDialog } from './GitHistoryDialog.js';
|
|
7
|
-
import { GitDiffDialog } from './GitDiffDialog.js';
|
|
8
|
-
import { GitCloneDialog } from './GitCloneDialog.js';
|
|
9
|
-
import { GitAuthGuidanceDialog } from './GitAuthGuidanceDialog.js';
|
|
10
|
-
import { GitConflictsDialog } from './GitConflictsDialog.js';
|
|
11
|
-
export function GitUI({ onOpenFile, onWorkspaceCloned }) {
|
|
12
|
-
const git = useGitContext();
|
|
13
|
-
if (!git || !git.available)
|
|
14
|
-
return null;
|
|
15
|
-
const { dialog, closeDialog } = git;
|
|
16
|
-
return (_jsxs(_Fragment, { children: [_jsx(GitStatusBar, {}), git.repo && (_jsx("span", { className: "db-git-inline-status", role: "status", "aria-live": "polite", children: git.lastResult?.message ?? '' })), dialog.kind === 'commit' && _jsx(GitCommitDialog, { onClose: closeDialog }), dialog.kind === 'branches' && (_jsx(GitBranchesDialog, { createFocus: dialog.createFocus, onClose: closeDialog })), dialog.kind === 'history' && _jsx(GitHistoryDialog, { path: dialog.path, onClose: closeDialog }), dialog.kind === 'diff' && (_jsx(GitDiffDialog, { path: dialog.path, revision: dialog.revision, onClose: closeDialog })), dialog.kind === 'clone' && (_jsx(GitCloneDialog, { onClose: closeDialog, onCloned: (info) => {
|
|
17
|
-
closeDialog();
|
|
18
|
-
onWorkspaceCloned?.(info);
|
|
19
|
-
} })), dialog.kind === 'auth-guidance' && (_jsx(GitAuthGuidanceDialog, { operation: dialog.operation, detail: dialog.detail, onClose: closeDialog })), dialog.kind === 'conflicts' && (_jsx(GitConflictsDialog, { paths: dialog.paths, onOpenFile: onOpenFile, onClose: closeDialog }))] }));
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=GitUI.js.map
|
package/dist/Git/GitUI.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GitUI.js","sourceRoot":"","sources":["../../src/Git/GitUI.tsx"],"names":[],"mappings":";AAOA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAS7D,MAAM,UAAU,KAAK,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAc;IACjE,MAAM,GAAG,GAAG,aAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,GAAG,CAAC;IAEpC,OAAO,CACL,8BACE,KAAC,YAAY,KAAG,EACf,GAAG,CAAC,IAAI,IAAI,CACX,eAAM,SAAS,EAAC,sBAAsB,EAAC,IAAI,EAAC,QAAQ,eAAW,QAAQ,YACpE,GAAG,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE,GACzB,CACR,EACA,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAC,eAAe,IAAC,OAAO,EAAE,WAAW,GAAI,EACrE,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,CAC7B,KAAC,iBAAiB,IAAC,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,GAAI,CAC7E,EACA,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,KAAC,gBAAgB,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,GAAI,EAC1F,MAAM,CAAC,IAAI,KAAK,MAAM,IAAI,CACzB,KAAC,aAAa,IAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,GAAI,CACtF,EACA,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,CAC1B,KAAC,cAAc,IACb,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;oBACjB,WAAW,EAAE,CAAC;oBACd,iBAAiB,EAAE,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC,GACD,CACH,EACA,MAAM,CAAC,IAAI,KAAK,eAAe,IAAI,CAClC,KAAC,qBAAqB,IACpB,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,OAAO,EAAE,WAAW,GACpB,CACH,EACA,MAAM,CAAC,IAAI,KAAK,WAAW,IAAI,CAC9B,KAAC,kBAAkB,IAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,GAAI,CAC1F,IACA,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Commit-dialog selection state — pure helpers, unit-testable.
|
|
3
|
-
*
|
|
4
|
-
* All changed files are included by default. While a merge is being
|
|
5
|
-
* concluded, conflicted files are force-included: committing a subset that
|
|
6
|
-
* omits them would not resolve the merge.
|
|
7
|
-
*/
|
|
8
|
-
import type { GitFileChange, GitStatus } from '@bendyline/docblocks/host';
|
|
9
|
-
export interface CommitSelection {
|
|
10
|
-
/** Slash-prefixed path → include in the commit. */
|
|
11
|
-
included: Map<string, boolean>;
|
|
12
|
-
/** Paths the user cannot exclude (conflicted files during a merge). */
|
|
13
|
-
locked: Set<string>;
|
|
14
|
-
}
|
|
15
|
-
export declare function initSelection(changes: readonly GitFileChange[], merging: boolean): CommitSelection;
|
|
16
|
-
export declare function toggleSelection(selection: CommitSelection, path: string): CommitSelection;
|
|
17
|
-
export declare function setAllSelected(selection: CommitSelection, value: boolean): CommitSelection;
|
|
18
|
-
export declare function selectedPaths(selection: CommitSelection): string[];
|
|
19
|
-
export declare function canCommit(message: string, selection: CommitSelection): boolean;
|
|
20
|
-
/** True when committing concludes an in-progress merge. */
|
|
21
|
-
export declare function isMergeCommit(status: GitStatus | null): boolean;
|
|
22
|
-
//# sourceMappingURL=commit-selection.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commit-selection.d.ts","sourceRoot":"","sources":["../../src/Git/commit-selection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,uEAAuE;IACvE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAMD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,SAAS,aAAa,EAAE,EACjC,OAAO,EAAE,OAAO,GACf,eAAe,CASjB;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,CAMzF;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,eAAe,CAM1F;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,EAAE,CAElE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,GAAG,OAAO,CAE9E;AAED,2DAA2D;AAC3D,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,OAAO,CAE/D"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Commit-dialog selection state — pure helpers, unit-testable.
|
|
3
|
-
*
|
|
4
|
-
* All changed files are included by default. While a merge is being
|
|
5
|
-
* concluded, conflicted files are force-included: committing a subset that
|
|
6
|
-
* omits them would not resolve the merge.
|
|
7
|
-
*/
|
|
8
|
-
function normalise(path) {
|
|
9
|
-
return path.startsWith('/') ? path : `/${path}`;
|
|
10
|
-
}
|
|
11
|
-
export function initSelection(changes, merging) {
|
|
12
|
-
const included = new Map();
|
|
13
|
-
const locked = new Set();
|
|
14
|
-
for (const change of changes) {
|
|
15
|
-
const path = normalise(change.path);
|
|
16
|
-
included.set(path, true);
|
|
17
|
-
if (merging && change.conflicted)
|
|
18
|
-
locked.add(path);
|
|
19
|
-
}
|
|
20
|
-
return { included, locked };
|
|
21
|
-
}
|
|
22
|
-
export function toggleSelection(selection, path) {
|
|
23
|
-
const key = normalise(path);
|
|
24
|
-
if (selection.locked.has(key))
|
|
25
|
-
return selection;
|
|
26
|
-
const included = new Map(selection.included);
|
|
27
|
-
included.set(key, !included.get(key));
|
|
28
|
-
return { included, locked: selection.locked };
|
|
29
|
-
}
|
|
30
|
-
export function setAllSelected(selection, value) {
|
|
31
|
-
const included = new Map();
|
|
32
|
-
for (const key of selection.included.keys()) {
|
|
33
|
-
included.set(key, selection.locked.has(key) ? true : value);
|
|
34
|
-
}
|
|
35
|
-
return { included, locked: selection.locked };
|
|
36
|
-
}
|
|
37
|
-
export function selectedPaths(selection) {
|
|
38
|
-
return [...selection.included.entries()].filter(([, on]) => on).map(([path]) => path);
|
|
39
|
-
}
|
|
40
|
-
export function canCommit(message, selection) {
|
|
41
|
-
return message.trim().length > 0 && selectedPaths(selection).length > 0;
|
|
42
|
-
}
|
|
43
|
-
/** True when committing concludes an in-progress merge. */
|
|
44
|
-
export function isMergeCommit(status) {
|
|
45
|
-
return status?.operation === 'merge';
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=commit-selection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commit-selection.js","sourceRoot":"","sources":["../../src/Git/commit-selection.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAWH,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,OAAiC,EACjC,OAAgB;IAEhB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACzB,IAAI,OAAO,IAAI,MAAM,CAAC,UAAU;YAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,SAA0B,EAAE,IAAY;IACtE,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAI,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC7C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,SAA0B,EAAE,KAAc;IACvE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,SAA0B;IACtD,OAAO,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,SAA0B;IACnE,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC1E,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,aAAa,CAAC,MAAwB;IACpD,OAAO,MAAM,EAAE,SAAS,KAAK,OAAO,CAAC;AACvC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Clone-dialog helpers — pure URL utilities, unit-testable.
|
|
3
|
-
*/
|
|
4
|
-
/** Folder name a clone of this URL will produce (mirrors the host's rule). */
|
|
5
|
-
export declare function deriveCloneFolderName(url: string): string;
|
|
6
|
-
/** Loose shape check for enabling the Clone button — the host re-validates. */
|
|
7
|
-
export declare function isLikelyGitUrl(url: string): boolean;
|
|
8
|
-
//# sourceMappingURL=git-clone-utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-clone-utils.d.ts","sourceRoot":"","sources":["../../src/Git/git-clone-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8EAA8E;AAC9E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMzD;AAED,+EAA+E;AAC/E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQnD"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Clone-dialog helpers — pure URL utilities, unit-testable.
|
|
3
|
-
*/
|
|
4
|
-
/** Folder name a clone of this URL will produce (mirrors the host's rule). */
|
|
5
|
-
export function deriveCloneFolderName(url) {
|
|
6
|
-
const trimmed = url.trim().replace(/\/+$/, '');
|
|
7
|
-
const lastSegment = trimmed.split(/[/:\\]/).pop() ?? '';
|
|
8
|
-
const withoutGit = lastSegment.replace(/\.git$/i, '');
|
|
9
|
-
const sanitized = withoutGit.replace(/[^A-Za-z0-9._-]/g, '-');
|
|
10
|
-
return sanitized.length > 0 ? sanitized : 'repository';
|
|
11
|
-
}
|
|
12
|
-
/** Loose shape check for enabling the Clone button — the host re-validates. */
|
|
13
|
-
export function isLikelyGitUrl(url) {
|
|
14
|
-
const trimmed = url.trim();
|
|
15
|
-
if (trimmed.length === 0 || /\s/.test(trimmed))
|
|
16
|
-
return false;
|
|
17
|
-
if (trimmed.startsWith('-') || trimmed.toLowerCase().startsWith('file:'))
|
|
18
|
-
return false;
|
|
19
|
-
if (/^(https?|ssh|git):\/\/\S+\/\S+/i.test(trimmed))
|
|
20
|
-
return true;
|
|
21
|
-
// scp-like: user@host:owner/repo
|
|
22
|
-
if (/^[\w.-]+@[\w.-]+:\S+/.test(trimmed))
|
|
23
|
-
return true;
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
//# sourceMappingURL=git-clone-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-clone-utils.js","sourceRoot":"","sources":["../../src/Git/git-clone-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,8EAA8E;AAC9E,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACxD,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IAC9D,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;AACzD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,GAAW;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7D,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,KAAK,CAAC;IACvF,IAAI,iCAAiC,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACjE,iCAAiC;IACjC,IAAI,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/dist/Git/git-status.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure helpers mapping GitStatus onto UI concerns — file-tree badges,
|
|
3
|
-
* ahead/behind chips, dirty summaries. No React, no host access.
|
|
4
|
-
*/
|
|
5
|
-
import type { GitFileChange, GitStatus } from '@bendyline/docblocks/host';
|
|
6
|
-
export type GitBadgeKind = 'modified' | 'added' | 'untracked' | 'renamed' | 'deleted' | 'conflicted' | 'dir';
|
|
7
|
-
export declare const BADGE_GLYPHS: Record<GitBadgeKind, string>;
|
|
8
|
-
export declare const BADGE_LABELS: Record<GitBadgeKind, string>;
|
|
9
|
-
export declare function badgeKindFor(change: GitFileChange): GitBadgeKind;
|
|
10
|
-
/**
|
|
11
|
-
* Slash-prefixed path → badge kind, including directory rollups: any
|
|
12
|
-
* ancestor directory of a changed file gets a 'dir' dot (or 'conflicted'
|
|
13
|
-
* when a conflicted descendant wins). Deleted files aren't in the tree, so
|
|
14
|
-
* they contribute only their ancestor rollup. Dot-paths are excluded so a
|
|
15
|
-
* `.gitignore` edit doesn't inexplicably dot the root.
|
|
16
|
-
*/
|
|
17
|
-
export declare function buildBadgeMap(changes: readonly GitFileChange[]): Map<string, GitBadgeKind>;
|
|
18
|
-
/** "2↑ 1↓" — empty string when neither applies. */
|
|
19
|
-
export declare function formatAheadBehind(status: Pick<GitStatus, 'ahead' | 'behind'>): string;
|
|
20
|
-
export declare function isFileDirty(status: GitStatus | null, path: string | null): boolean;
|
|
21
|
-
export declare function conflictedPaths(status: GitStatus | null): string[];
|
|
22
|
-
/** "3 changes" / "1 change" / "" when clean. */
|
|
23
|
-
export declare function summarizeDirty(status: GitStatus | null): string;
|
|
24
|
-
//# sourceMappingURL=git-status.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-status.d.ts","sourceRoot":"","sources":["../../src/Git/git-status.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAE1E,MAAM,MAAM,YAAY,GACpB,UAAU,GACV,OAAO,GACP,WAAW,GACX,SAAS,GACT,SAAS,GACT,YAAY,GACZ,KAAK,CAAC;AAEV,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAQrD,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,MAAM,CAQrD,CAAC;AAaF,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,YAAY,CAOhE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAuB1F;AAED,mDAAmD;AACnD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC,GAAG,MAAM,CAKrF;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAIlF;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,EAAE,CAGlE;AAED,gDAAgD;AAChD,wBAAgB,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAI/D"}
|
package/dist/Git/git-status.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure helpers mapping GitStatus onto UI concerns — file-tree badges,
|
|
3
|
-
* ahead/behind chips, dirty summaries. No React, no host access.
|
|
4
|
-
*/
|
|
5
|
-
export const BADGE_GLYPHS = {
|
|
6
|
-
modified: 'M',
|
|
7
|
-
added: 'A',
|
|
8
|
-
untracked: 'U',
|
|
9
|
-
renamed: 'R',
|
|
10
|
-
deleted: 'D',
|
|
11
|
-
conflicted: '!',
|
|
12
|
-
dir: '•',
|
|
13
|
-
};
|
|
14
|
-
export const BADGE_LABELS = {
|
|
15
|
-
modified: 'modified',
|
|
16
|
-
added: 'added',
|
|
17
|
-
untracked: 'untracked',
|
|
18
|
-
renamed: 'renamed',
|
|
19
|
-
deleted: 'deleted',
|
|
20
|
-
conflicted: 'has conflicts',
|
|
21
|
-
dir: 'contains changes',
|
|
22
|
-
};
|
|
23
|
-
function normalise(path) {
|
|
24
|
-
return path.startsWith('/') ? path : `/${path}`;
|
|
25
|
-
}
|
|
26
|
-
/** True when any path segment is a dot-entry (.git, .github, .gitignore…). */
|
|
27
|
-
function isDotPath(path) {
|
|
28
|
-
return normalise(path)
|
|
29
|
-
.split('/')
|
|
30
|
-
.some((segment) => segment.startsWith('.'));
|
|
31
|
-
}
|
|
32
|
-
export function badgeKindFor(change) {
|
|
33
|
-
if (change.conflicted)
|
|
34
|
-
return 'conflicted';
|
|
35
|
-
if (change.worktree === 'untracked')
|
|
36
|
-
return 'untracked';
|
|
37
|
-
if (change.index === 'deleted' || change.worktree === 'deleted')
|
|
38
|
-
return 'deleted';
|
|
39
|
-
if (change.index === 'renamed' || change.worktree === 'renamed')
|
|
40
|
-
return 'renamed';
|
|
41
|
-
if (change.index === 'added' || change.worktree === 'added')
|
|
42
|
-
return 'added';
|
|
43
|
-
return 'modified';
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Slash-prefixed path → badge kind, including directory rollups: any
|
|
47
|
-
* ancestor directory of a changed file gets a 'dir' dot (or 'conflicted'
|
|
48
|
-
* when a conflicted descendant wins). Deleted files aren't in the tree, so
|
|
49
|
-
* they contribute only their ancestor rollup. Dot-paths are excluded so a
|
|
50
|
-
* `.gitignore` edit doesn't inexplicably dot the root.
|
|
51
|
-
*/
|
|
52
|
-
export function buildBadgeMap(changes) {
|
|
53
|
-
const badges = new Map();
|
|
54
|
-
const dirKinds = new Map();
|
|
55
|
-
for (const change of changes) {
|
|
56
|
-
if (isDotPath(change.path))
|
|
57
|
-
continue;
|
|
58
|
-
const filePath = normalise(change.path);
|
|
59
|
-
const kind = badgeKindFor(change);
|
|
60
|
-
if (kind !== 'deleted') {
|
|
61
|
-
badges.set(filePath, kind);
|
|
62
|
-
}
|
|
63
|
-
const segments = filePath.split('/').slice(1, -1);
|
|
64
|
-
let dir = '';
|
|
65
|
-
for (const segment of segments) {
|
|
66
|
-
dir += `/${segment}`;
|
|
67
|
-
const rollup = kind === 'conflicted' ? 'conflicted' : 'dir';
|
|
68
|
-
if (dirKinds.get(dir) !== 'conflicted')
|
|
69
|
-
dirKinds.set(dir, rollup);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
for (const [dir, kind] of dirKinds) {
|
|
73
|
-
if (!badges.has(dir))
|
|
74
|
-
badges.set(dir, kind);
|
|
75
|
-
}
|
|
76
|
-
return badges;
|
|
77
|
-
}
|
|
78
|
-
/** "2↑ 1↓" — empty string when neither applies. */
|
|
79
|
-
export function formatAheadBehind(status) {
|
|
80
|
-
const parts = [];
|
|
81
|
-
if (status.ahead > 0)
|
|
82
|
-
parts.push(`${status.ahead}↑`);
|
|
83
|
-
if (status.behind > 0)
|
|
84
|
-
parts.push(`${status.behind}↓`);
|
|
85
|
-
return parts.join(' ');
|
|
86
|
-
}
|
|
87
|
-
export function isFileDirty(status, path) {
|
|
88
|
-
if (!status || !path)
|
|
89
|
-
return false;
|
|
90
|
-
const target = normalise(path);
|
|
91
|
-
return status.changes.some((c) => normalise(c.path) === target);
|
|
92
|
-
}
|
|
93
|
-
export function conflictedPaths(status) {
|
|
94
|
-
if (!status)
|
|
95
|
-
return [];
|
|
96
|
-
return status.changes.filter((c) => c.conflicted).map((c) => normalise(c.path));
|
|
97
|
-
}
|
|
98
|
-
/** "3 changes" / "1 change" / "" when clean. */
|
|
99
|
-
export function summarizeDirty(status) {
|
|
100
|
-
const count = status?.changes.length ?? 0;
|
|
101
|
-
if (count === 0)
|
|
102
|
-
return '';
|
|
103
|
-
return count === 1 ? '1 change' : `${count} changes`;
|
|
104
|
-
}
|
|
105
|
-
//# sourceMappingURL=git-status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-status.js","sourceRoot":"","sources":["../../src/Git/git-status.ts"],"names":[],"mappings":"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"}
|
package/dist/Git/useGit.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useGit — the single hook DocBlocksShell calls to power all git UI.
|
|
3
|
-
*
|
|
4
|
-
* Tier 1 (`available`): running under the Electron host with a working git —
|
|
5
|
-
* gates only the clone entry. Tier 2 (`repo`): the active workspace is an
|
|
6
|
-
* electron-native folder that is a git repository — gates everything else.
|
|
7
|
-
* On the site / VS Code webview / store builds every surface null-renders.
|
|
8
|
-
*
|
|
9
|
-
* Actions never throw: typed GitErrors are routed to the auth-guidance or
|
|
10
|
-
* conflicts dialogs when actionable, otherwise to the aria-live result line.
|
|
11
|
-
*/
|
|
12
|
-
import type { FileSystemProvider } from '@bendyline/docblocks/filesystem';
|
|
13
|
-
import type { GitValue } from './GitContext.js';
|
|
14
|
-
export declare function useGit(provider: FileSystemProvider | null, requestedWorkspaceId: string | null, theme: 'light' | 'dark'): GitValue;
|
|
15
|
-
//# sourceMappingURL=useGit.d.ts.map
|
package/dist/Git/useGit.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useGit.d.ts","sourceRoot":"","sources":["../../src/Git/useGit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAG1E,OAAO,KAAK,EAAgD,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAa9F,wBAAgB,MAAM,CACpB,QAAQ,EAAE,kBAAkB,GAAG,IAAI,EACnC,oBAAoB,EAAE,MAAM,GAAG,IAAI,EACnC,KAAK,EAAE,OAAO,GAAG,MAAM,GACtB,QAAQ,CA6OV"}
|
package/dist/Git/useGit.js
DELETED
|
@@ -1,206 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* useGit — the single hook DocBlocksShell calls to power all git UI.
|
|
3
|
-
*
|
|
4
|
-
* Tier 1 (`available`): running under the Electron host with a working git —
|
|
5
|
-
* gates only the clone entry. Tier 2 (`repo`): the active workspace is an
|
|
6
|
-
* electron-native folder that is a git repository — gates everything else.
|
|
7
|
-
* On the site / VS Code webview / store builds every surface null-renders.
|
|
8
|
-
*
|
|
9
|
-
* Actions never throw: typed GitErrors are routed to the auth-guidance or
|
|
10
|
-
* conflicts dialogs when actionable, otherwise to the aria-live result line.
|
|
11
|
-
*/
|
|
12
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
13
|
-
import { maybeGetDocBlocksHost } from '@bendyline/docblocks/host';
|
|
14
|
-
import { buildBadgeMap, conflictedPaths } from './git-status.js';
|
|
15
|
-
import { useGitStatus } from './useGitStatus.js';
|
|
16
|
-
/** Capabilities can't change within a session — probe once per page load. */
|
|
17
|
-
let capabilitiesPromise = null;
|
|
18
|
-
function capabilitiesOnce(gitApi) {
|
|
19
|
-
capabilitiesPromise ?? (capabilitiesPromise = gitApi.capabilities());
|
|
20
|
-
return capabilitiesPromise;
|
|
21
|
-
}
|
|
22
|
-
function describeError(error) {
|
|
23
|
-
return error.message || 'Git operation failed';
|
|
24
|
-
}
|
|
25
|
-
export function useGit(provider, requestedWorkspaceId, theme) {
|
|
26
|
-
const host = maybeGetDocBlocksHost();
|
|
27
|
-
const gitApi = host?.git ?? null;
|
|
28
|
-
const workspaceId = gitApi ? requestedWorkspaceId : null;
|
|
29
|
-
const [capabilities, setCapabilities] = useState(null);
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
if (!gitApi)
|
|
32
|
-
return;
|
|
33
|
-
let cancelled = false;
|
|
34
|
-
void capabilitiesOnce(gitApi).then((caps) => {
|
|
35
|
-
if (!cancelled)
|
|
36
|
-
setCapabilities(caps);
|
|
37
|
-
});
|
|
38
|
-
return () => {
|
|
39
|
-
cancelled = true;
|
|
40
|
-
};
|
|
41
|
-
}, [gitApi]);
|
|
42
|
-
const available = gitApi !== null && capabilities?.gitAvailable === true;
|
|
43
|
-
const [repo, setRepo] = useState(null);
|
|
44
|
-
const [remoteWeb, setRemoteWeb] = useState(null);
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
setRepo(null);
|
|
47
|
-
setRemoteWeb(null);
|
|
48
|
-
if (!gitApi || !workspaceId || !available)
|
|
49
|
-
return;
|
|
50
|
-
let cancelled = false;
|
|
51
|
-
void gitApi.detectRepo(workspaceId).then((result) => {
|
|
52
|
-
if (cancelled || !result.ok || !result.value.isRepo || !result.value.repositoryId) {
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
setRepo(result.value);
|
|
56
|
-
void gitApi.listRemotes(result.value.repositoryId).then((remotes) => {
|
|
57
|
-
if (cancelled || !remotes.ok)
|
|
58
|
-
return;
|
|
59
|
-
const first = remotes.value[0];
|
|
60
|
-
setRemoteWeb(first?.web ?? null);
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
return () => {
|
|
64
|
-
cancelled = true;
|
|
65
|
-
};
|
|
66
|
-
}, [gitApi, workspaceId, available]);
|
|
67
|
-
const repositoryId = repo?.repositoryId ?? null;
|
|
68
|
-
const isRepo = repositoryId !== null;
|
|
69
|
-
const { status, refresh, scheduleRefresh } = useGitStatus(gitApi, repositoryId, isRepo);
|
|
70
|
-
const badges = useMemo(() => buildBadgeMap(status?.changes ?? []), [status]);
|
|
71
|
-
const [busy, setBusy] = useState(null);
|
|
72
|
-
const [lastResult, setLastResult] = useState(null);
|
|
73
|
-
const [dialog, setDialog] = useState({ kind: 'none' });
|
|
74
|
-
const openDialog = useCallback((next) => setDialog(next), []);
|
|
75
|
-
const closeDialog = useCallback(() => setDialog({ kind: 'none' }), []);
|
|
76
|
-
// Route a failed operation somewhere useful.
|
|
77
|
-
const routeError = useCallback((operation, error) => {
|
|
78
|
-
if (error.code === 'auth-failed') {
|
|
79
|
-
setDialog({
|
|
80
|
-
kind: 'auth-guidance',
|
|
81
|
-
operation: operation === 'commit' || operation === 'branch' ? 'push' : operation,
|
|
82
|
-
detail: error.message,
|
|
83
|
-
});
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
setLastResult({ tone: 'error', message: describeError(error) });
|
|
87
|
-
}, []);
|
|
88
|
-
const statusRef = useRef(status);
|
|
89
|
-
statusRef.current = status;
|
|
90
|
-
const runAction = useCallback(async (kind, operation, action, successMessage) => {
|
|
91
|
-
if (!gitApi || !repositoryId)
|
|
92
|
-
return false;
|
|
93
|
-
setBusy(kind);
|
|
94
|
-
setLastResult(null);
|
|
95
|
-
try {
|
|
96
|
-
const result = await action(gitApi, repositoryId);
|
|
97
|
-
if (result.ok) {
|
|
98
|
-
if (successMessage)
|
|
99
|
-
setLastResult({ tone: 'info', message: successMessage });
|
|
100
|
-
refresh();
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
if (operation === 'pull' && result.error.code === 'merge-conflict') {
|
|
104
|
-
// Surface the conflicted files; the fresh status carries them.
|
|
105
|
-
const fresh = await gitApi.status(repositoryId);
|
|
106
|
-
const paths = fresh.ok ? conflictedPaths(fresh.value) : [];
|
|
107
|
-
refresh();
|
|
108
|
-
setDialog({ kind: 'conflicts', paths });
|
|
109
|
-
setLastResult({ tone: 'error', message: 'Pull hit merge conflicts' });
|
|
110
|
-
return false;
|
|
111
|
-
}
|
|
112
|
-
routeError(operation, result.error);
|
|
113
|
-
refresh();
|
|
114
|
-
return false;
|
|
115
|
-
}
|
|
116
|
-
finally {
|
|
117
|
-
setBusy(null);
|
|
118
|
-
}
|
|
119
|
-
}, [gitApi, repositoryId, refresh, routeError]);
|
|
120
|
-
const commit = useCallback((message, paths) => runAction('commit', 'commit', (api, repository) => api.commit(repository, message, paths), 'Committed'), [runAction]);
|
|
121
|
-
const push = useCallback(async () => {
|
|
122
|
-
const setUpstream = statusRef.current?.upstream === null;
|
|
123
|
-
await runAction('push', 'push', (api, repository) => api.push(repository, setUpstream ? { setUpstream: true } : undefined), setUpstream ? 'Branch published' : 'Pushed');
|
|
124
|
-
}, [runAction]);
|
|
125
|
-
const pull = useCallback(async () => {
|
|
126
|
-
await runAction('pull', 'pull', (api, repository) => api.pull(repository), 'Pulled');
|
|
127
|
-
}, [runAction]);
|
|
128
|
-
const fetchRemote = useCallback(async () => {
|
|
129
|
-
await runAction('fetch', 'fetch', (api, repository) => api.fetch(repository), 'Fetched');
|
|
130
|
-
}, [runAction]);
|
|
131
|
-
const createBranch = useCallback((name) => runAction('branch', 'branch', (api, repository) => api.createBranch(repository, name, { checkout: true }), `Switched to new branch ${name}`), [runAction]);
|
|
132
|
-
const switchBranch = useCallback((name) => runAction('branch', 'branch', (api, repository) => api.checkoutBranch(repository, name), `Switched to ${name}`), [runAction]);
|
|
133
|
-
const openOnRemote = useCallback((filePath) => {
|
|
134
|
-
if (!remoteWeb || !host)
|
|
135
|
-
return;
|
|
136
|
-
let url = remoteWeb.webUrl;
|
|
137
|
-
// Only GitHub's blob-path shape is a safe bet; other hosts get the repo.
|
|
138
|
-
if (filePath && remoteWeb.host === 'github.com' && statusRef.current?.branch) {
|
|
139
|
-
const rel = filePath.replace(/^\/+/, '');
|
|
140
|
-
url = `${remoteWeb.webUrl}/blob/${encodeURIComponent(statusRef.current.branch)}/${rel
|
|
141
|
-
.split('/')
|
|
142
|
-
.map(encodeURIComponent)
|
|
143
|
-
.join('/')}`;
|
|
144
|
-
}
|
|
145
|
-
void host.shell.openExternal(url);
|
|
146
|
-
}, [remoteWeb, host]);
|
|
147
|
-
const createPullRequest = useCallback(async () => {
|
|
148
|
-
if (!gitApi || !repositoryId)
|
|
149
|
-
return;
|
|
150
|
-
setBusy('pr');
|
|
151
|
-
setLastResult(null);
|
|
152
|
-
try {
|
|
153
|
-
const result = await gitApi.createPullRequest(repositoryId);
|
|
154
|
-
if (result.ok) {
|
|
155
|
-
setLastResult({ tone: 'info', message: 'Opening pull request in browser' });
|
|
156
|
-
return;
|
|
157
|
-
}
|
|
158
|
-
if (result.error.code === 'no-upstream') {
|
|
159
|
-
setLastResult({
|
|
160
|
-
tone: 'error',
|
|
161
|
-
message: 'Push the branch first, then create the pull request',
|
|
162
|
-
});
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
if (result.error.code === 'gh-not-available') {
|
|
166
|
-
setLastResult({
|
|
167
|
-
tone: 'error',
|
|
168
|
-
message: 'Install the GitHub CLI (gh) to create pull requests',
|
|
169
|
-
});
|
|
170
|
-
return;
|
|
171
|
-
}
|
|
172
|
-
routeError('pr', result.error);
|
|
173
|
-
}
|
|
174
|
-
finally {
|
|
175
|
-
setBusy(null);
|
|
176
|
-
}
|
|
177
|
-
}, [gitApi, repositoryId, routeError]);
|
|
178
|
-
return {
|
|
179
|
-
available,
|
|
180
|
-
capabilities,
|
|
181
|
-
repo,
|
|
182
|
-
repositoryId,
|
|
183
|
-
remoteWeb,
|
|
184
|
-
gitApi,
|
|
185
|
-
provider,
|
|
186
|
-
theme,
|
|
187
|
-
status,
|
|
188
|
-
badges,
|
|
189
|
-
busy,
|
|
190
|
-
lastResult,
|
|
191
|
-
refresh,
|
|
192
|
-
scheduleRefresh,
|
|
193
|
-
commit,
|
|
194
|
-
push,
|
|
195
|
-
pull,
|
|
196
|
-
fetchRemote,
|
|
197
|
-
createBranch,
|
|
198
|
-
switchBranch,
|
|
199
|
-
openOnRemote,
|
|
200
|
-
createPullRequest,
|
|
201
|
-
dialog,
|
|
202
|
-
openDialog,
|
|
203
|
-
closeDialog,
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
//# sourceMappingURL=useGit.js.map
|