gitx.do 0.0.2 → 0.0.3
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/dist/cli/commands/blame.d.ts +259 -0
- package/dist/cli/commands/blame.d.ts.map +1 -0
- package/dist/cli/commands/blame.js +609 -0
- package/dist/cli/commands/blame.js.map +1 -0
- package/dist/cli/commands/branch.d.ts +249 -0
- package/dist/cli/commands/branch.d.ts.map +1 -0
- package/dist/cli/commands/branch.js +693 -0
- package/dist/cli/commands/branch.js.map +1 -0
- package/dist/cli/commands/commit.d.ts +182 -0
- package/dist/cli/commands/commit.d.ts.map +1 -0
- package/dist/cli/commands/commit.js +437 -0
- package/dist/cli/commands/commit.js.map +1 -0
- package/dist/cli/commands/diff.d.ts +464 -0
- package/dist/cli/commands/diff.d.ts.map +1 -0
- package/dist/cli/commands/diff.js +958 -0
- package/dist/cli/commands/diff.js.map +1 -0
- package/dist/cli/commands/log.d.ts +239 -0
- package/dist/cli/commands/log.d.ts.map +1 -0
- package/dist/cli/commands/log.js +535 -0
- package/dist/cli/commands/log.js.map +1 -0
- package/dist/cli/commands/review.d.ts +457 -0
- package/dist/cli/commands/review.d.ts.map +1 -0
- package/dist/cli/commands/review.js +533 -0
- package/dist/cli/commands/review.js.map +1 -0
- package/dist/cli/commands/status.d.ts +269 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +493 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/web.d.ts +199 -0
- package/dist/cli/commands/web.d.ts.map +1 -0
- package/dist/cli/commands/web.js +696 -0
- package/dist/cli/commands/web.js.map +1 -0
- package/dist/cli/fs-adapter.d.ts +656 -0
- package/dist/cli/fs-adapter.d.ts.map +1 -0
- package/dist/cli/fs-adapter.js +1179 -0
- package/dist/cli/fs-adapter.js.map +1 -0
- package/dist/cli/index.d.ts +387 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +523 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/ui/components/DiffView.d.ts +7 -0
- package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
- package/dist/cli/ui/components/DiffView.js +11 -0
- package/dist/cli/ui/components/DiffView.js.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
- package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
- package/dist/cli/ui/components/ErrorDisplay.js +11 -0
- package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
- package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
- package/dist/cli/ui/components/FuzzySearch.js +12 -0
- package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
- package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
- package/dist/cli/ui/components/LoadingSpinner.js +10 -0
- package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
- package/dist/cli/ui/components/NavigationList.d.ts +9 -0
- package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
- package/dist/cli/ui/components/NavigationList.js +11 -0
- package/dist/cli/ui/components/NavigationList.js.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
- package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
- package/dist/cli/ui/components/ScrollableContent.js +11 -0
- package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
- package/dist/cli/ui/components/index.d.ts +7 -0
- package/dist/cli/ui/components/index.d.ts.map +1 -0
- package/dist/cli/ui/components/index.js +9 -0
- package/dist/cli/ui/components/index.js.map +1 -0
- package/dist/cli/ui/terminal-ui.d.ts +52 -0
- package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
- package/dist/cli/ui/terminal-ui.js +121 -0
- package/dist/cli/ui/terminal-ui.js.map +1 -0
- package/dist/durable-object/object-store.d.ts +401 -23
- package/dist/durable-object/object-store.d.ts.map +1 -1
- package/dist/durable-object/object-store.js +414 -25
- package/dist/durable-object/object-store.js.map +1 -1
- package/dist/durable-object/schema.d.ts +188 -0
- package/dist/durable-object/schema.d.ts.map +1 -1
- package/dist/durable-object/schema.js +160 -0
- package/dist/durable-object/schema.js.map +1 -1
- package/dist/durable-object/wal.d.ts +336 -31
- package/dist/durable-object/wal.d.ts.map +1 -1
- package/dist/durable-object/wal.js +272 -27
- package/dist/durable-object/wal.js.map +1 -1
- package/dist/index.d.ts +379 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +379 -7
- package/dist/index.js.map +1 -1
- package/dist/mcp/adapter.d.ts +579 -38
- package/dist/mcp/adapter.d.ts.map +1 -1
- package/dist/mcp/adapter.js +426 -33
- package/dist/mcp/adapter.js.map +1 -1
- package/dist/mcp/sandbox.d.ts +532 -29
- package/dist/mcp/sandbox.d.ts.map +1 -1
- package/dist/mcp/sandbox.js +389 -22
- package/dist/mcp/sandbox.js.map +1 -1
- package/dist/mcp/sdk-adapter.d.ts +478 -56
- package/dist/mcp/sdk-adapter.d.ts.map +1 -1
- package/dist/mcp/sdk-adapter.js +346 -44
- package/dist/mcp/sdk-adapter.js.map +1 -1
- package/dist/mcp/tools.d.ts +445 -30
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +363 -33
- package/dist/mcp/tools.js.map +1 -1
- package/dist/ops/blame.d.ts +424 -21
- package/dist/ops/blame.d.ts.map +1 -1
- package/dist/ops/blame.js +303 -20
- package/dist/ops/blame.js.map +1 -1
- package/dist/ops/branch.d.ts +583 -32
- package/dist/ops/branch.d.ts.map +1 -1
- package/dist/ops/branch.js +365 -23
- package/dist/ops/branch.js.map +1 -1
- package/dist/ops/commit-traversal.d.ts +164 -24
- package/dist/ops/commit-traversal.d.ts.map +1 -1
- package/dist/ops/commit-traversal.js +68 -2
- package/dist/ops/commit-traversal.js.map +1 -1
- package/dist/ops/commit.d.ts +387 -53
- package/dist/ops/commit.d.ts.map +1 -1
- package/dist/ops/commit.js +249 -29
- package/dist/ops/commit.js.map +1 -1
- package/dist/ops/merge-base.d.ts +195 -21
- package/dist/ops/merge-base.d.ts.map +1 -1
- package/dist/ops/merge-base.js +122 -12
- package/dist/ops/merge-base.js.map +1 -1
- package/dist/ops/merge.d.ts +600 -130
- package/dist/ops/merge.d.ts.map +1 -1
- package/dist/ops/merge.js +408 -60
- package/dist/ops/merge.js.map +1 -1
- package/dist/ops/tag.d.ts +67 -2
- package/dist/ops/tag.d.ts.map +1 -1
- package/dist/ops/tag.js +42 -1
- package/dist/ops/tag.js.map +1 -1
- package/dist/ops/tree-builder.d.ts +102 -6
- package/dist/ops/tree-builder.d.ts.map +1 -1
- package/dist/ops/tree-builder.js +30 -5
- package/dist/ops/tree-builder.js.map +1 -1
- package/dist/ops/tree-diff.d.ts +50 -2
- package/dist/ops/tree-diff.d.ts.map +1 -1
- package/dist/ops/tree-diff.js +50 -2
- package/dist/ops/tree-diff.js.map +1 -1
- package/dist/pack/delta.d.ts +211 -39
- package/dist/pack/delta.d.ts.map +1 -1
- package/dist/pack/delta.js +232 -46
- package/dist/pack/delta.js.map +1 -1
- package/dist/pack/format.d.ts +390 -28
- package/dist/pack/format.d.ts.map +1 -1
- package/dist/pack/format.js +344 -33
- package/dist/pack/format.js.map +1 -1
- package/dist/pack/full-generation.d.ts +313 -28
- package/dist/pack/full-generation.d.ts.map +1 -1
- package/dist/pack/full-generation.js +238 -19
- package/dist/pack/full-generation.js.map +1 -1
- package/dist/pack/generation.d.ts +346 -23
- package/dist/pack/generation.d.ts.map +1 -1
- package/dist/pack/generation.js +269 -21
- package/dist/pack/generation.js.map +1 -1
- package/dist/pack/index.d.ts +407 -86
- package/dist/pack/index.d.ts.map +1 -1
- package/dist/pack/index.js +351 -70
- package/dist/pack/index.js.map +1 -1
- package/dist/refs/branch.d.ts +517 -71
- package/dist/refs/branch.d.ts.map +1 -1
- package/dist/refs/branch.js +410 -26
- package/dist/refs/branch.js.map +1 -1
- package/dist/refs/storage.d.ts +610 -57
- package/dist/refs/storage.d.ts.map +1 -1
- package/dist/refs/storage.js +481 -29
- package/dist/refs/storage.js.map +1 -1
- package/dist/refs/tag.d.ts +677 -67
- package/dist/refs/tag.d.ts.map +1 -1
- package/dist/refs/tag.js +497 -30
- package/dist/refs/tag.js.map +1 -1
- package/dist/storage/lru-cache.d.ts +556 -53
- package/dist/storage/lru-cache.d.ts.map +1 -1
- package/dist/storage/lru-cache.js +439 -36
- package/dist/storage/lru-cache.js.map +1 -1
- package/dist/storage/object-index.d.ts +483 -38
- package/dist/storage/object-index.d.ts.map +1 -1
- package/dist/storage/object-index.js +388 -22
- package/dist/storage/object-index.js.map +1 -1
- package/dist/storage/r2-pack.d.ts +957 -94
- package/dist/storage/r2-pack.d.ts.map +1 -1
- package/dist/storage/r2-pack.js +756 -48
- package/dist/storage/r2-pack.js.map +1 -1
- package/dist/tiered/cdc-pipeline.d.ts +1610 -38
- package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
- package/dist/tiered/cdc-pipeline.js +1131 -22
- package/dist/tiered/cdc-pipeline.js.map +1 -1
- package/dist/tiered/migration.d.ts +903 -41
- package/dist/tiered/migration.d.ts.map +1 -1
- package/dist/tiered/migration.js +646 -24
- package/dist/tiered/migration.js.map +1 -1
- package/dist/tiered/parquet-writer.d.ts +944 -47
- package/dist/tiered/parquet-writer.d.ts.map +1 -1
- package/dist/tiered/parquet-writer.js +667 -39
- package/dist/tiered/parquet-writer.js.map +1 -1
- package/dist/tiered/read-path.d.ts +728 -34
- package/dist/tiered/read-path.d.ts.map +1 -1
- package/dist/tiered/read-path.js +310 -27
- package/dist/tiered/read-path.js.map +1 -1
- package/dist/types/objects.d.ts +457 -0
- package/dist/types/objects.d.ts.map +1 -1
- package/dist/types/objects.js +305 -4
- package/dist/types/objects.js.map +1 -1
- package/dist/types/storage.d.ts +407 -35
- package/dist/types/storage.d.ts.map +1 -1
- package/dist/types/storage.js +27 -3
- package/dist/types/storage.js.map +1 -1
- package/dist/utils/hash.d.ts +133 -12
- package/dist/utils/hash.d.ts.map +1 -1
- package/dist/utils/hash.js +133 -12
- package/dist/utils/hash.js.map +1 -1
- package/dist/utils/sha1.d.ts +102 -9
- package/dist/utils/sha1.d.ts.map +1 -1
- package/dist/utils/sha1.js +114 -11
- package/dist/utils/sha1.js.map +1 -1
- package/dist/wire/capabilities.d.ts +896 -88
- package/dist/wire/capabilities.d.ts.map +1 -1
- package/dist/wire/capabilities.js +566 -62
- package/dist/wire/capabilities.js.map +1 -1
- package/dist/wire/pkt-line.d.ts +293 -15
- package/dist/wire/pkt-line.d.ts.map +1 -1
- package/dist/wire/pkt-line.js +251 -15
- package/dist/wire/pkt-line.js.map +1 -1
- package/dist/wire/receive-pack.d.ts +814 -64
- package/dist/wire/receive-pack.d.ts.map +1 -1
- package/dist/wire/receive-pack.js +542 -41
- package/dist/wire/receive-pack.js.map +1 -1
- package/dist/wire/smart-http.d.ts +575 -97
- package/dist/wire/smart-http.d.ts.map +1 -1
- package/dist/wire/smart-http.js +337 -46
- package/dist/wire/smart-http.js.map +1 -1
- package/dist/wire/upload-pack.d.ts +492 -98
- package/dist/wire/upload-pack.d.ts.map +1 -1
- package/dist/wire/upload-pack.js +347 -59
- package/dist/wire/upload-pack.js.map +1 -1
- package/package.json +1 -1
package/dist/ops/commit.d.ts
CHANGED
|
@@ -1,97 +1,259 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Commit Creation Operations
|
|
2
|
+
* @fileoverview Commit Creation Operations
|
|
3
3
|
*
|
|
4
4
|
* Provides functionality for creating, formatting, and amending git commits.
|
|
5
5
|
* Supports author/committer info, parent handling, GPG signing, and message formatting.
|
|
6
|
+
*
|
|
7
|
+
* ## Features
|
|
8
|
+
*
|
|
9
|
+
* - Create new commits with full metadata
|
|
10
|
+
* - Amend existing commits
|
|
11
|
+
* - GPG signature support
|
|
12
|
+
* - Message formatting and validation
|
|
13
|
+
* - Empty commit detection
|
|
14
|
+
* - Author/committer timestamp handling
|
|
15
|
+
*
|
|
16
|
+
* ## Usage Example
|
|
17
|
+
*
|
|
18
|
+
* ```typescript
|
|
19
|
+
* import { createCommit, formatCommitMessage } from './ops/commit'
|
|
20
|
+
*
|
|
21
|
+
* // Create a commit
|
|
22
|
+
* const result = await createCommit(store, {
|
|
23
|
+
* message: 'Add new feature',
|
|
24
|
+
* tree: treeHash,
|
|
25
|
+
* parents: [parentHash],
|
|
26
|
+
* author: { name: 'John Doe', email: 'john@example.com' }
|
|
27
|
+
* })
|
|
28
|
+
*
|
|
29
|
+
* console.log('Created commit:', result.sha)
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @module ops/commit
|
|
6
33
|
*/
|
|
7
34
|
import { Author, CommitObject } from '../types/objects';
|
|
8
35
|
import type { BasicObjectStore as ObjectStore } from '../types/storage';
|
|
9
36
|
/**
|
|
10
|
-
* Author/Committer information for creating commits
|
|
37
|
+
* Author/Committer information for creating commits.
|
|
38
|
+
*
|
|
39
|
+
* Represents the identity and timestamp for a commit author or committer.
|
|
40
|
+
* Timestamp and timezone are optional and will be auto-filled if not provided.
|
|
41
|
+
*
|
|
42
|
+
* @interface CommitAuthor
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* const author: CommitAuthor = {
|
|
47
|
+
* name: 'Jane Developer',
|
|
48
|
+
* email: 'jane@example.com',
|
|
49
|
+
* timestamp: Math.floor(Date.now() / 1000),
|
|
50
|
+
* timezone: '-0800'
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
11
53
|
*/
|
|
12
54
|
export interface CommitAuthor {
|
|
13
|
-
/** Author's name */
|
|
55
|
+
/** Author's display name */
|
|
14
56
|
name: string;
|
|
15
57
|
/** Author's email address */
|
|
16
58
|
email: string;
|
|
17
|
-
/**
|
|
59
|
+
/**
|
|
60
|
+
* Unix timestamp in seconds.
|
|
61
|
+
* If not provided, current time will be used.
|
|
62
|
+
*/
|
|
18
63
|
timestamp?: number;
|
|
19
|
-
/**
|
|
64
|
+
/**
|
|
65
|
+
* Timezone offset string (e.g., '+0000', '-0500', '+0530').
|
|
66
|
+
* If not provided, local timezone will be used.
|
|
67
|
+
*/
|
|
20
68
|
timezone?: string;
|
|
21
69
|
}
|
|
22
70
|
/**
|
|
23
|
-
*
|
|
71
|
+
* Options for GPG signing commits.
|
|
72
|
+
*
|
|
73
|
+
* @interface SigningOptions
|
|
24
74
|
*/
|
|
25
75
|
export interface SigningOptions {
|
|
26
|
-
/**
|
|
76
|
+
/**
|
|
77
|
+
* Whether to sign the commit.
|
|
78
|
+
* Must be true for signing to occur.
|
|
79
|
+
*/
|
|
27
80
|
sign: boolean;
|
|
28
|
-
/**
|
|
81
|
+
/**
|
|
82
|
+
* GPG key ID to use for signing.
|
|
83
|
+
* If not specified, the default key will be used.
|
|
84
|
+
*/
|
|
29
85
|
keyId?: string;
|
|
30
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Callback function that performs the actual signing.
|
|
88
|
+
* Receives the commit data and should return the signature string.
|
|
89
|
+
*
|
|
90
|
+
* @param data - The commit data to sign
|
|
91
|
+
* @returns Promise resolving to the signature string
|
|
92
|
+
*/
|
|
31
93
|
signer?: (data: Uint8Array) => Promise<string>;
|
|
32
94
|
}
|
|
33
95
|
/**
|
|
34
|
-
* Options for creating a commit
|
|
96
|
+
* Options for creating a new commit.
|
|
97
|
+
*
|
|
98
|
+
* @interface CommitOptions
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```typescript
|
|
102
|
+
* const options: CommitOptions = {
|
|
103
|
+
* message: 'Fix critical bug\n\nThis fixes issue #123',
|
|
104
|
+
* tree: 'abc123...', // 40-char SHA
|
|
105
|
+
* parents: ['def456...'],
|
|
106
|
+
* author: {
|
|
107
|
+
* name: 'Developer',
|
|
108
|
+
* email: 'dev@example.com'
|
|
109
|
+
* },
|
|
110
|
+
* allowEmpty: false
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
35
113
|
*/
|
|
36
114
|
export interface CommitOptions {
|
|
37
|
-
/**
|
|
115
|
+
/**
|
|
116
|
+
* The commit message (required).
|
|
117
|
+
* Should follow Git conventions: short subject, blank line, body.
|
|
118
|
+
*/
|
|
38
119
|
message: string;
|
|
39
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* Tree SHA for the commit (required).
|
|
122
|
+
* This is the root tree object representing the repository state.
|
|
123
|
+
*/
|
|
40
124
|
tree: string;
|
|
41
|
-
/**
|
|
125
|
+
/**
|
|
126
|
+
* Parent commit SHA(s).
|
|
127
|
+
* - Empty array for initial commit
|
|
128
|
+
* - Single SHA for normal commit
|
|
129
|
+
* - Multiple SHAs for merge commit
|
|
130
|
+
*/
|
|
42
131
|
parents?: string[];
|
|
43
|
-
/**
|
|
132
|
+
/**
|
|
133
|
+
* Author information (required).
|
|
134
|
+
* The person who originally wrote the code.
|
|
135
|
+
*/
|
|
44
136
|
author?: CommitAuthor;
|
|
45
|
-
/**
|
|
137
|
+
/**
|
|
138
|
+
* Committer information.
|
|
139
|
+
* The person who created the commit. Defaults to author if not specified.
|
|
140
|
+
*/
|
|
46
141
|
committer?: CommitAuthor;
|
|
47
142
|
/** GPG signing options */
|
|
48
143
|
signing?: SigningOptions;
|
|
49
|
-
/**
|
|
144
|
+
/**
|
|
145
|
+
* Allow creating empty commits (no changes from parent).
|
|
146
|
+
* @default true
|
|
147
|
+
*/
|
|
50
148
|
allowEmpty?: boolean;
|
|
51
|
-
/**
|
|
149
|
+
/**
|
|
150
|
+
* Whether this is an amend of a previous commit.
|
|
151
|
+
* @internal
|
|
152
|
+
*/
|
|
52
153
|
amend?: boolean;
|
|
53
154
|
}
|
|
54
155
|
/**
|
|
55
|
-
* Options for amending
|
|
156
|
+
* Options for amending an existing commit.
|
|
157
|
+
*
|
|
158
|
+
* All fields are optional - only specified fields will be changed.
|
|
159
|
+
*
|
|
160
|
+
* @interface AmendOptions
|
|
161
|
+
*
|
|
162
|
+
* @example
|
|
163
|
+
* ```typescript
|
|
164
|
+
* // Change just the message
|
|
165
|
+
* await amendCommit(store, commitSha, {
|
|
166
|
+
* message: 'Better commit message'
|
|
167
|
+
* })
|
|
168
|
+
*
|
|
169
|
+
* // Change author and reset date
|
|
170
|
+
* await amendCommit(store, commitSha, {
|
|
171
|
+
* author: { name: 'New Author', email: 'new@example.com' },
|
|
172
|
+
* resetAuthorDate: true
|
|
173
|
+
* })
|
|
174
|
+
* ```
|
|
56
175
|
*/
|
|
57
176
|
export interface AmendOptions {
|
|
58
|
-
/**
|
|
177
|
+
/**
|
|
178
|
+
* New commit message.
|
|
179
|
+
* If not provided, keeps the original message.
|
|
180
|
+
*/
|
|
59
181
|
message?: string;
|
|
60
|
-
/**
|
|
182
|
+
/**
|
|
183
|
+
* New tree SHA.
|
|
184
|
+
* If not provided, keeps the original tree.
|
|
185
|
+
*/
|
|
61
186
|
tree?: string;
|
|
62
|
-
/**
|
|
187
|
+
/**
|
|
188
|
+
* New author information.
|
|
189
|
+
* If not provided, keeps the original author.
|
|
190
|
+
*/
|
|
63
191
|
author?: CommitAuthor;
|
|
64
|
-
/**
|
|
192
|
+
/**
|
|
193
|
+
* New committer information.
|
|
194
|
+
* Defaults to current user with current time if not provided.
|
|
195
|
+
*/
|
|
65
196
|
committer?: CommitAuthor;
|
|
66
|
-
/**
|
|
197
|
+
/**
|
|
198
|
+
* Whether to reset the author timestamp to current time.
|
|
199
|
+
* Only applies if author is not explicitly provided.
|
|
200
|
+
*/
|
|
67
201
|
resetAuthorDate?: boolean;
|
|
68
202
|
/** GPG signing options */
|
|
69
203
|
signing?: SigningOptions;
|
|
70
204
|
}
|
|
71
205
|
/**
|
|
72
|
-
* Options for formatting commit messages
|
|
206
|
+
* Options for formatting commit messages.
|
|
207
|
+
*
|
|
208
|
+
* @interface FormatOptions
|
|
73
209
|
*/
|
|
74
210
|
export interface FormatOptions {
|
|
75
|
-
/**
|
|
211
|
+
/**
|
|
212
|
+
* Strip leading/trailing whitespace from lines.
|
|
213
|
+
* @default true (for most cleanup modes)
|
|
214
|
+
*/
|
|
76
215
|
stripWhitespace?: boolean;
|
|
77
|
-
/**
|
|
216
|
+
/**
|
|
217
|
+
* Strip comment lines (starting with comment character).
|
|
218
|
+
* @default true (for 'strip' mode)
|
|
219
|
+
*/
|
|
78
220
|
stripComments?: boolean;
|
|
79
|
-
/**
|
|
221
|
+
/**
|
|
222
|
+
* Character that starts comment lines.
|
|
223
|
+
* @default '#'
|
|
224
|
+
*/
|
|
80
225
|
commentChar?: string;
|
|
81
|
-
/**
|
|
226
|
+
/**
|
|
227
|
+
* Wrap message body at this column width.
|
|
228
|
+
* Set to 0 to disable wrapping.
|
|
229
|
+
* @default 0
|
|
230
|
+
*/
|
|
82
231
|
wrapColumn?: number;
|
|
83
|
-
/**
|
|
232
|
+
/**
|
|
233
|
+
* Message cleanup mode:
|
|
234
|
+
* - 'verbatim': Keep message exactly as-is
|
|
235
|
+
* - 'whitespace': Collapse whitespace, strip trailing lines
|
|
236
|
+
* - 'strip': Also remove comment lines
|
|
237
|
+
* - 'scissors': Remove everything after scissors line
|
|
238
|
+
* - 'default': Same as 'strip' but preserves initial blank lines
|
|
239
|
+
* @default 'default'
|
|
240
|
+
*/
|
|
84
241
|
cleanup?: 'verbatim' | 'whitespace' | 'strip' | 'scissors' | 'default';
|
|
85
242
|
}
|
|
86
243
|
/**
|
|
87
|
-
* Result of creating a commit
|
|
244
|
+
* Result of creating a commit.
|
|
245
|
+
*
|
|
246
|
+
* @interface CommitResult
|
|
88
247
|
*/
|
|
89
248
|
export interface CommitResult {
|
|
90
249
|
/** SHA of the created commit */
|
|
91
250
|
sha: string;
|
|
92
251
|
/** The commit object */
|
|
93
252
|
commit: CommitObject;
|
|
94
|
-
/**
|
|
253
|
+
/**
|
|
254
|
+
* Whether the commit was actually created.
|
|
255
|
+
* Will be false if empty and allowEmpty=false.
|
|
256
|
+
*/
|
|
95
257
|
created: boolean;
|
|
96
258
|
}
|
|
97
259
|
/**
|
|
@@ -100,61 +262,135 @@ export interface CommitResult {
|
|
|
100
262
|
*/
|
|
101
263
|
export type { ObjectStore };
|
|
102
264
|
/**
|
|
103
|
-
*
|
|
265
|
+
* Gets the current timezone offset string.
|
|
104
266
|
*
|
|
105
|
-
*
|
|
267
|
+
* Returns the local timezone in Git's format (e.g., '+0000', '-0500').
|
|
268
|
+
*
|
|
269
|
+
* @returns Timezone offset string
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```typescript
|
|
273
|
+
* const tz = getCurrentTimezone()
|
|
274
|
+
* // Returns something like '-0800' for Pacific time
|
|
275
|
+
* ```
|
|
106
276
|
*/
|
|
107
277
|
export declare function getCurrentTimezone(): string;
|
|
108
278
|
/**
|
|
109
|
-
*
|
|
279
|
+
* Formats a timestamp and timezone as git author/committer format.
|
|
110
280
|
*
|
|
111
281
|
* @param timestamp - Unix timestamp in seconds
|
|
112
282
|
* @param timezone - Timezone offset string (e.g., '+0000', '-0500')
|
|
113
283
|
* @returns Formatted string like "1234567890 +0000"
|
|
284
|
+
*
|
|
285
|
+
* @example
|
|
286
|
+
* ```typescript
|
|
287
|
+
* const formatted = formatTimestamp(1609459200, '+0000')
|
|
288
|
+
* // Returns "1609459200 +0000"
|
|
289
|
+
* ```
|
|
114
290
|
*/
|
|
115
291
|
export declare function formatTimestamp(timestamp: number, timezone: string): string;
|
|
116
292
|
/**
|
|
117
|
-
*
|
|
293
|
+
* Parses a git timestamp string.
|
|
118
294
|
*
|
|
119
295
|
* @param timestampStr - Timestamp string like "1234567890 +0000"
|
|
120
|
-
* @returns Object with timestamp and timezone
|
|
296
|
+
* @returns Object with parsed timestamp and timezone
|
|
297
|
+
*
|
|
298
|
+
* @throws {Error} If the format is invalid
|
|
299
|
+
*
|
|
300
|
+
* @example
|
|
301
|
+
* ```typescript
|
|
302
|
+
* const { timestamp, timezone } = parseTimestamp("1609459200 -0500")
|
|
303
|
+
* // timestamp = 1609459200, timezone = "-0500"
|
|
304
|
+
* ```
|
|
121
305
|
*/
|
|
122
306
|
export declare function parseTimestamp(timestampStr: string): {
|
|
123
307
|
timestamp: number;
|
|
124
308
|
timezone: string;
|
|
125
309
|
};
|
|
126
310
|
/**
|
|
127
|
-
*
|
|
311
|
+
* Creates an Author object with current timestamp.
|
|
312
|
+
*
|
|
313
|
+
* Convenience function for creating author information with
|
|
314
|
+
* the current time and local timezone.
|
|
128
315
|
*
|
|
129
316
|
* @param name - Author name
|
|
130
317
|
* @param email - Author email
|
|
131
318
|
* @param timezone - Optional timezone (defaults to local timezone)
|
|
132
319
|
* @returns Author object with current timestamp
|
|
320
|
+
*
|
|
321
|
+
* @example
|
|
322
|
+
* ```typescript
|
|
323
|
+
* const author = createAuthor('John Doe', 'john@example.com')
|
|
324
|
+
* // { name: 'John Doe', email: 'john@example.com', timestamp: <now>, timezone: <local> }
|
|
325
|
+
* ```
|
|
133
326
|
*/
|
|
134
327
|
export declare function createAuthor(name: string, email: string, timezone?: string): Author;
|
|
135
328
|
/**
|
|
136
|
-
*
|
|
329
|
+
* Formats a commit message according to git conventions.
|
|
330
|
+
*
|
|
331
|
+
* Applies various transformations based on the cleanup mode:
|
|
332
|
+
* - Strips comments
|
|
333
|
+
* - Normalizes whitespace
|
|
334
|
+
* - Wraps long lines
|
|
335
|
+
* - Removes scissors markers
|
|
137
336
|
*
|
|
138
337
|
* @param message - The raw commit message
|
|
139
338
|
* @param options - Formatting options
|
|
140
339
|
* @returns The formatted commit message
|
|
340
|
+
*
|
|
341
|
+
* @example
|
|
342
|
+
* ```typescript
|
|
343
|
+
* // Clean up a message
|
|
344
|
+
* const formatted = formatCommitMessage(`
|
|
345
|
+
* Add feature
|
|
346
|
+
*
|
|
347
|
+
* # This is a comment
|
|
348
|
+
* Long description here
|
|
349
|
+
* `, { cleanup: 'strip' })
|
|
350
|
+
* // Returns: "Add feature\n\nLong description here"
|
|
351
|
+
* ```
|
|
141
352
|
*/
|
|
142
353
|
export declare function formatCommitMessage(message: string, options?: FormatOptions): string;
|
|
143
354
|
/**
|
|
144
|
-
*
|
|
355
|
+
* Parses a commit message into subject and body.
|
|
356
|
+
*
|
|
357
|
+
* The subject is the first line. The body starts after the first
|
|
358
|
+
* blank line following the subject.
|
|
145
359
|
*
|
|
146
360
|
* @param message - The commit message
|
|
147
361
|
* @returns Object with subject (first line) and body (rest)
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* ```typescript
|
|
365
|
+
* const { subject, body } = parseCommitMessage(
|
|
366
|
+
* 'Add feature\n\nThis adds the new feature'
|
|
367
|
+
* )
|
|
368
|
+
* // subject = 'Add feature'
|
|
369
|
+
* // body = 'This adds the new feature'
|
|
370
|
+
* ```
|
|
148
371
|
*/
|
|
149
372
|
export declare function parseCommitMessage(message: string): {
|
|
150
373
|
subject: string;
|
|
151
374
|
body: string;
|
|
152
375
|
};
|
|
153
376
|
/**
|
|
154
|
-
*
|
|
377
|
+
* Validates a commit message format.
|
|
378
|
+
*
|
|
379
|
+
* Checks for common issues and provides warnings for style violations.
|
|
380
|
+
* Returns errors for critical issues that would prevent commit creation.
|
|
155
381
|
*
|
|
156
382
|
* @param message - The commit message to validate
|
|
157
|
-
* @returns Object with valid flag and any error messages
|
|
383
|
+
* @returns Object with valid flag and any error/warning messages
|
|
384
|
+
*
|
|
385
|
+
* @example
|
|
386
|
+
* ```typescript
|
|
387
|
+
* const result = validateCommitMessage('Fix bug.')
|
|
388
|
+
* // {
|
|
389
|
+
* // valid: true,
|
|
390
|
+
* // errors: [],
|
|
391
|
+
* // warnings: ['Subject line should not end with a period']
|
|
392
|
+
* // }
|
|
393
|
+
* ```
|
|
158
394
|
*/
|
|
159
395
|
export declare function validateCommitMessage(message: string): {
|
|
160
396
|
valid: boolean;
|
|
@@ -162,60 +398,158 @@ export declare function validateCommitMessage(message: string): {
|
|
|
162
398
|
warnings: string[];
|
|
163
399
|
};
|
|
164
400
|
/**
|
|
165
|
-
*
|
|
401
|
+
* Checks if a commit is signed.
|
|
166
402
|
*
|
|
167
403
|
* @param commit - The commit object
|
|
168
404
|
* @returns true if the commit has a GPG signature
|
|
405
|
+
*
|
|
406
|
+
* @example
|
|
407
|
+
* ```typescript
|
|
408
|
+
* if (isCommitSigned(commit)) {
|
|
409
|
+
* const sig = extractCommitSignature(commit)
|
|
410
|
+
* // Verify signature...
|
|
411
|
+
* }
|
|
412
|
+
* ```
|
|
169
413
|
*/
|
|
170
414
|
export declare function isCommitSigned(commit: CommitObject): boolean;
|
|
171
415
|
/**
|
|
172
|
-
*
|
|
416
|
+
* Extracts the GPG signature from a signed commit.
|
|
173
417
|
*
|
|
174
418
|
* @param commit - The commit object
|
|
175
|
-
* @returns The signature if present, null otherwise
|
|
419
|
+
* @returns The signature string if present, null otherwise
|
|
176
420
|
*/
|
|
177
421
|
export declare function extractCommitSignature(commit: CommitObject): string | null;
|
|
178
422
|
/**
|
|
179
|
-
*
|
|
423
|
+
* Adds a GPG signature to a commit.
|
|
424
|
+
*
|
|
425
|
+
* Creates a new commit object with the signature attached.
|
|
426
|
+
* Does not modify the original commit object.
|
|
180
427
|
*
|
|
181
428
|
* @param commit - The unsigned commit object
|
|
182
|
-
* @param signature - The GPG signature
|
|
429
|
+
* @param signature - The GPG signature string
|
|
183
430
|
* @returns The signed commit object
|
|
184
431
|
*/
|
|
185
432
|
export declare function addSignatureToCommit(commit: CommitObject, signature: string): CommitObject;
|
|
186
433
|
/**
|
|
187
|
-
*
|
|
434
|
+
* Checks if a commit would be empty (same tree as parent).
|
|
435
|
+
*
|
|
436
|
+
* A commit is considered empty if its tree SHA is identical to
|
|
437
|
+
* its parent's tree SHA, meaning no files were changed.
|
|
188
438
|
*
|
|
189
439
|
* @param store - The object store for reading objects
|
|
190
440
|
* @param tree - The tree SHA for the new commit
|
|
191
441
|
* @param parent - The parent commit SHA (or null for initial commit)
|
|
192
442
|
* @returns true if the commit would have no changes
|
|
443
|
+
*
|
|
444
|
+
* @example
|
|
445
|
+
* ```typescript
|
|
446
|
+
* const isEmpty = await isEmptyCommit(store, newTreeSha, parentSha)
|
|
447
|
+
* if (isEmpty && !options.allowEmpty) {
|
|
448
|
+
* throw new Error('Nothing to commit')
|
|
449
|
+
* }
|
|
450
|
+
* ```
|
|
193
451
|
*/
|
|
194
452
|
export declare function isEmptyCommit(store: ObjectStore, tree: string, parent: string | null): Promise<boolean>;
|
|
195
453
|
/**
|
|
196
|
-
*
|
|
454
|
+
* Builds a commit object from options without storing it.
|
|
455
|
+
*
|
|
456
|
+
* Useful for creating commit objects for inspection or testing
|
|
457
|
+
* without actually persisting them to the object store.
|
|
197
458
|
*
|
|
198
459
|
* @param options - Commit creation options
|
|
199
460
|
* @returns The commit object (not stored)
|
|
461
|
+
*
|
|
462
|
+
* @example
|
|
463
|
+
* ```typescript
|
|
464
|
+
* const commit = buildCommitObject({
|
|
465
|
+
* message: 'Test commit',
|
|
466
|
+
* tree: treeSha,
|
|
467
|
+
* parents: [parentSha],
|
|
468
|
+
* author: { name: 'Test', email: 'test@example.com' }
|
|
469
|
+
* })
|
|
470
|
+
*
|
|
471
|
+
* console.log(commit.message) // 'Test commit'
|
|
472
|
+
* ```
|
|
200
473
|
*/
|
|
201
474
|
export declare function buildCommitObject(options: CommitOptions): CommitObject;
|
|
202
475
|
/**
|
|
203
|
-
*
|
|
476
|
+
* Creates a new commit.
|
|
477
|
+
*
|
|
478
|
+
* Creates a commit object with the specified options and stores it
|
|
479
|
+
* in the object store. Handles validation, empty commit detection,
|
|
480
|
+
* and optional GPG signing.
|
|
204
481
|
*
|
|
205
482
|
* @param store - The object store for reading/writing objects
|
|
206
483
|
* @param options - Commit creation options
|
|
207
484
|
* @returns The created commit result with SHA and commit object
|
|
208
|
-
*
|
|
485
|
+
*
|
|
486
|
+
* @throws {Error} If tree SHA is missing or invalid
|
|
487
|
+
* @throws {Error} If author is missing or invalid
|
|
488
|
+
* @throws {Error} If commit message is empty
|
|
489
|
+
* @throws {Error} If commit would be empty and allowEmpty is false
|
|
490
|
+
*
|
|
491
|
+
* @example
|
|
492
|
+
* ```typescript
|
|
493
|
+
* // Basic commit
|
|
494
|
+
* const result = await createCommit(store, {
|
|
495
|
+
* message: 'Add new feature',
|
|
496
|
+
* tree: treeSha,
|
|
497
|
+
* parents: [headSha],
|
|
498
|
+
* author: { name: 'John', email: 'john@example.com' }
|
|
499
|
+
* })
|
|
500
|
+
*
|
|
501
|
+
* // Signed commit
|
|
502
|
+
* const signedResult = await createCommit(store, {
|
|
503
|
+
* message: 'Signed commit',
|
|
504
|
+
* tree: treeSha,
|
|
505
|
+
* parents: [headSha],
|
|
506
|
+
* author: { name: 'John', email: 'john@example.com' },
|
|
507
|
+
* signing: {
|
|
508
|
+
* sign: true,
|
|
509
|
+
* signer: async (data) => myGpgSign(data)
|
|
510
|
+
* }
|
|
511
|
+
* })
|
|
512
|
+
*
|
|
513
|
+
* // Initial commit (no parents)
|
|
514
|
+
* const initialResult = await createCommit(store, {
|
|
515
|
+
* message: 'Initial commit',
|
|
516
|
+
* tree: treeSha,
|
|
517
|
+
* parents: [],
|
|
518
|
+
* author: { name: 'John', email: 'john@example.com' }
|
|
519
|
+
* })
|
|
520
|
+
* ```
|
|
209
521
|
*/
|
|
210
522
|
export declare function createCommit(store: ObjectStore, options: CommitOptions): Promise<CommitResult>;
|
|
211
523
|
/**
|
|
212
|
-
*
|
|
524
|
+
* Amends an existing commit.
|
|
525
|
+
*
|
|
526
|
+
* Creates a new commit that replaces the specified commit.
|
|
527
|
+
* The original commit is not modified. Only specified fields
|
|
528
|
+
* in options will be changed from the original.
|
|
529
|
+
*
|
|
530
|
+
* Note: This does not update any refs. The caller is responsible
|
|
531
|
+
* for updating HEAD or branch refs to point to the new commit.
|
|
213
532
|
*
|
|
214
533
|
* @param store - The object store for reading/writing objects
|
|
215
534
|
* @param commitSha - SHA of the commit to amend
|
|
216
|
-
* @param options - Amendment options
|
|
535
|
+
* @param options - Amendment options (only specified fields are changed)
|
|
217
536
|
* @returns The new commit result (original commit is not modified)
|
|
218
|
-
*
|
|
537
|
+
*
|
|
538
|
+
* @throws {Error} If the commit doesn't exist
|
|
539
|
+
*
|
|
540
|
+
* @example
|
|
541
|
+
* ```typescript
|
|
542
|
+
* // Change just the message
|
|
543
|
+
* const newCommit = await amendCommit(store, headSha, {
|
|
544
|
+
* message: 'Better commit message'
|
|
545
|
+
* })
|
|
546
|
+
*
|
|
547
|
+
* // Update tree and committer
|
|
548
|
+
* const newCommit = await amendCommit(store, headSha, {
|
|
549
|
+
* tree: newTreeSha,
|
|
550
|
+
* committer: { name: 'New Name', email: 'new@example.com' }
|
|
551
|
+
* })
|
|
552
|
+
* ```
|
|
219
553
|
*/
|
|
220
554
|
export declare function amendCommit(store: ObjectStore, commitSha: string, options: AmendOptions): Promise<CommitResult>;
|
|
221
555
|
//# sourceMappingURL=commit.d.ts.map
|
package/dist/ops/commit.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/ops/commit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"commit.d.ts","sourceRoot":"","sources":["../../src/ops/commit.ts"],"names":[],"mappings":"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"}
|