@bretwardjames/ghp-cli 0.1.1 → 0.1.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/branch-linker.d.ts +31 -9
- package/dist/branch-linker.d.ts.map +1 -1
- package/dist/branch-linker.js +61 -35
- package/dist/branch-linker.js.map +1 -1
- package/dist/commands/link-branch.d.ts.map +1 -1
- package/dist/commands/link-branch.js +20 -0
- package/dist/commands/link-branch.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +235 -95
- package/dist/commands/plan.js.map +1 -1
- package/dist/commands/set-field.d.ts.map +1 -1
- package/dist/commands/set-field.js +25 -1
- package/dist/commands/set-field.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +21 -0
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/switch.d.ts.map +1 -1
- package/dist/commands/switch.js +20 -0
- package/dist/commands/switch.js.map +1 -1
- package/dist/commands/sync.d.ts +2 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +77 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/work.d.ts +5 -0
- package/dist/commands/work.d.ts.map +1 -1
- package/dist/commands/work.js +226 -36
- package/dist/commands/work.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js.map +1 -1
- package/dist/git-utils.d.ts +6 -52
- package/dist/git-utils.d.ts.map +1 -1
- package/dist/git-utils.js +7 -137
- package/dist/git-utils.js.map +1 -1
- package/dist/github-api.d.ts +17 -108
- package/dist/github-api.d.ts.map +1 -1
- package/dist/github-api.js +48 -579
- package/dist/github-api.js.map +1 -1
- package/dist/index.js +16 -2
- package/dist/index.js.map +1 -1
- package/dist/table.d.ts +16 -0
- package/dist/table.d.ts.map +1 -0
- package/dist/table.js +230 -0
- package/dist/table.js.map +1 -0
- package/dist/types.d.ts +6 -36
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/commands/work.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { api } from '../github-api.js';
|
|
3
3
|
import { detectRepository } from '../git-utils.js';
|
|
4
|
+
import { getConfig } from '../config.js';
|
|
5
|
+
import { displayTable, parseColumns, DEFAULT_COLUMNS, calculateColumnWidths, displayTableWithWidths } from '../table.js';
|
|
4
6
|
export async function workCommand(options) {
|
|
5
7
|
// Detect repository
|
|
6
8
|
const repo = await detectRepository();
|
|
@@ -42,6 +44,47 @@ export async function workCommand(options) {
|
|
|
42
44
|
if (options.hideDone) {
|
|
43
45
|
filteredItems = filteredItems.filter(item => !['Done', 'Closed', 'Completed'].includes(item.status || ''));
|
|
44
46
|
}
|
|
47
|
+
// --slice/--filter: filter by field=value pairs
|
|
48
|
+
const filters = [...(options.slice || []), ...(options.filter || [])];
|
|
49
|
+
if (filters.length > 0) {
|
|
50
|
+
for (const slice of filters) {
|
|
51
|
+
const [field, value] = slice.split('=');
|
|
52
|
+
if (!field || !value) {
|
|
53
|
+
console.error(chalk.red('Invalid filter format:'), slice);
|
|
54
|
+
console.log(chalk.dim('Use: --filter field=value'));
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
const fieldLower = field.toLowerCase();
|
|
58
|
+
const valueLower = value.toLowerCase();
|
|
59
|
+
filteredItems = filteredItems.filter(item => {
|
|
60
|
+
if (fieldLower === 'assignee' || fieldLower === 'user') {
|
|
61
|
+
return item.assignees.some(a => a.toLowerCase().includes(valueLower));
|
|
62
|
+
}
|
|
63
|
+
if (fieldLower === 'label') {
|
|
64
|
+
return item.labels.some(l => l.name.toLowerCase().includes(valueLower));
|
|
65
|
+
}
|
|
66
|
+
if (fieldLower === 'type' || fieldLower === 'issuetype' || fieldLower === 'issue-type') {
|
|
67
|
+
return item.issueType?.toLowerCase().includes(valueLower) || false;
|
|
68
|
+
}
|
|
69
|
+
if (fieldLower === 'state') {
|
|
70
|
+
return item.state?.toLowerCase() === valueLower;
|
|
71
|
+
}
|
|
72
|
+
if (fieldLower === 'project') {
|
|
73
|
+
return item.projectTitle.toLowerCase().includes(valueLower);
|
|
74
|
+
}
|
|
75
|
+
// Check custom project fields
|
|
76
|
+
const fieldValue = item.fields[field] || item.fields[fieldLower];
|
|
77
|
+
if (fieldValue) {
|
|
78
|
+
return fieldValue.toLowerCase().includes(valueLower);
|
|
79
|
+
}
|
|
80
|
+
const matchingField = Object.entries(item.fields).find(([k]) => k.toLowerCase() === fieldLower);
|
|
81
|
+
if (matchingField) {
|
|
82
|
+
return matchingField[1].toLowerCase().includes(valueLower);
|
|
83
|
+
}
|
|
84
|
+
return false;
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
45
88
|
if (filteredItems.length === 0) {
|
|
46
89
|
if (options.all) {
|
|
47
90
|
console.log(chalk.yellow('No items found.'));
|
|
@@ -52,49 +95,196 @@ export async function workCommand(options) {
|
|
|
52
95
|
}
|
|
53
96
|
return;
|
|
54
97
|
}
|
|
55
|
-
//
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
98
|
+
// Sort items if requested
|
|
99
|
+
if (options.sort) {
|
|
100
|
+
const sortFields = options.sort.split(',').map(f => f.trim());
|
|
101
|
+
filteredItems.sort((a, b) => {
|
|
102
|
+
for (const field of sortFields) {
|
|
103
|
+
const ascending = field.startsWith('-');
|
|
104
|
+
const fieldName = ascending ? field.slice(1) : field;
|
|
105
|
+
let aVal = getFieldValue(a, fieldName);
|
|
106
|
+
let bVal = getFieldValue(b, fieldName);
|
|
107
|
+
if (aVal === bVal)
|
|
108
|
+
continue;
|
|
109
|
+
if (aVal === null || aVal === undefined)
|
|
110
|
+
return ascending ? -1 : 1;
|
|
111
|
+
if (bVal === null || bVal === undefined)
|
|
112
|
+
return ascending ? 1 : -1;
|
|
113
|
+
if (typeof aVal === 'string' && typeof bVal === 'string') {
|
|
114
|
+
const cmp = aVal.localeCompare(bVal);
|
|
115
|
+
return ascending ? cmp : -cmp;
|
|
116
|
+
}
|
|
117
|
+
if (aVal < bVal)
|
|
118
|
+
return ascending ? -1 : 1;
|
|
119
|
+
if (aVal > bVal)
|
|
120
|
+
return ascending ? 1 : -1;
|
|
121
|
+
}
|
|
122
|
+
return 0;
|
|
123
|
+
});
|
|
64
124
|
}
|
|
65
|
-
// Sort statuses
|
|
66
|
-
const sortedStatuses = [...byStatus.keys()].sort((a, b) => {
|
|
67
|
-
const aIdx = statusOrder.indexOf(a);
|
|
68
|
-
const bIdx = statusOrder.indexOf(b);
|
|
69
|
-
if (aIdx === -1 && bIdx === -1)
|
|
70
|
-
return a.localeCompare(b);
|
|
71
|
-
if (aIdx === -1)
|
|
72
|
-
return 1;
|
|
73
|
-
if (bIdx === -1)
|
|
74
|
-
return -1;
|
|
75
|
-
return aIdx - bIdx;
|
|
76
|
-
});
|
|
77
125
|
// Simple list output for pickers
|
|
78
126
|
if (options.list) {
|
|
79
|
-
for (const
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
console.log(`${num} ${item.title} [${status}]`);
|
|
84
|
-
}
|
|
127
|
+
for (const item of filteredItems) {
|
|
128
|
+
const num = item.number ? `#${item.number}` : '';
|
|
129
|
+
const status = item.status ? `[${item.status}]` : '';
|
|
130
|
+
console.log(`${num} ${item.title} ${status}`);
|
|
85
131
|
}
|
|
86
132
|
return;
|
|
87
133
|
}
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
const
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
134
|
+
// Flat table output
|
|
135
|
+
if (options.flat) {
|
|
136
|
+
const columnsConfig = getConfig('columns');
|
|
137
|
+
const defaultWithStatus = ['number', 'type', 'title', 'status', 'assignees', 'priority', 'size', 'labels'];
|
|
138
|
+
const columns = columnsConfig ? parseColumns(columnsConfig) : defaultWithStatus;
|
|
139
|
+
displayTable(filteredItems, columns);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
// Grouped display (by specified field or default to status)
|
|
143
|
+
const groupField = options.group || 'status';
|
|
144
|
+
displayGroupedView(filteredItems, groupField);
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get field value for sorting
|
|
148
|
+
*/
|
|
149
|
+
function getFieldValue(item, fieldName) {
|
|
150
|
+
const lower = fieldName.toLowerCase();
|
|
151
|
+
switch (lower) {
|
|
152
|
+
case 'number':
|
|
153
|
+
return item.number;
|
|
154
|
+
case 'title':
|
|
155
|
+
return item.title;
|
|
156
|
+
case 'status':
|
|
157
|
+
return item.statusIndex;
|
|
158
|
+
case 'type':
|
|
159
|
+
return item.type;
|
|
160
|
+
case 'issuetype':
|
|
161
|
+
case 'issue-type':
|
|
162
|
+
return item.issueType;
|
|
163
|
+
case 'assignee':
|
|
164
|
+
case 'assignees':
|
|
165
|
+
return item.assignees[0] || '';
|
|
166
|
+
case 'repo':
|
|
167
|
+
case 'repository':
|
|
168
|
+
return item.repository;
|
|
169
|
+
case 'label':
|
|
170
|
+
case 'labels':
|
|
171
|
+
return item.labels[0]?.name || '';
|
|
172
|
+
case 'project':
|
|
173
|
+
return item.projectTitle;
|
|
174
|
+
default:
|
|
175
|
+
// Check custom fields
|
|
176
|
+
if (item.fields[fieldName]) {
|
|
177
|
+
return item.fields[fieldName];
|
|
178
|
+
}
|
|
179
|
+
const customField = Object.entries(item.fields || {}).find(([k]) => k.toLowerCase() === lower);
|
|
180
|
+
return customField ? customField[1] : null;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Get display value for grouping headers
|
|
185
|
+
*/
|
|
186
|
+
function getFieldDisplayValue(item, fieldName) {
|
|
187
|
+
const lower = fieldName.toLowerCase();
|
|
188
|
+
switch (lower) {
|
|
189
|
+
case 'status':
|
|
190
|
+
return item.status || 'No Status';
|
|
191
|
+
case 'type':
|
|
192
|
+
case 'issuetype':
|
|
193
|
+
case 'issue-type':
|
|
194
|
+
return item.issueType || 'No Type';
|
|
195
|
+
case 'assignee':
|
|
196
|
+
case 'assignees':
|
|
197
|
+
return item.assignees.length > 0 ? item.assignees.join(', ') : 'Unassigned';
|
|
198
|
+
case 'priority':
|
|
199
|
+
return item.fields['Priority'] || item.fields['priority'] || 'No Priority';
|
|
200
|
+
case 'size':
|
|
201
|
+
return item.fields['Size'] || item.fields['size'] || item.fields['Estimate'] || 'No Size';
|
|
202
|
+
case 'label':
|
|
203
|
+
case 'labels':
|
|
204
|
+
return item.labels.length > 0 ? item.labels.map(l => l.name).join(', ') : 'No Labels';
|
|
205
|
+
case 'project':
|
|
206
|
+
return item.projectTitle;
|
|
207
|
+
case 'repo':
|
|
208
|
+
case 'repository':
|
|
209
|
+
return item.repository || 'Unknown';
|
|
210
|
+
default:
|
|
211
|
+
const fieldValue = item.fields[fieldName] ||
|
|
212
|
+
Object.entries(item.fields).find(([k]) => k.toLowerCase() === lower)?.[1];
|
|
213
|
+
return fieldValue || `No ${fieldName}`;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Display items grouped by a field with consistent column widths
|
|
218
|
+
*/
|
|
219
|
+
function displayGroupedView(items, groupField) {
|
|
220
|
+
if (items.length === 0) {
|
|
221
|
+
console.log(chalk.dim('No items found.'));
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
// Group items by the field value
|
|
225
|
+
const groups = new Map();
|
|
226
|
+
const groupOrder = [];
|
|
227
|
+
for (const item of items) {
|
|
228
|
+
const groupValue = getFieldDisplayValue(item, groupField);
|
|
229
|
+
if (!groups.has(groupValue)) {
|
|
230
|
+
groups.set(groupValue, []);
|
|
231
|
+
groupOrder.push(groupValue);
|
|
97
232
|
}
|
|
233
|
+
groups.get(groupValue).push(item);
|
|
234
|
+
}
|
|
235
|
+
// Sort groups
|
|
236
|
+
const lower = groupField.toLowerCase();
|
|
237
|
+
if (lower === 'status') {
|
|
238
|
+
groupOrder.sort((a, b) => {
|
|
239
|
+
const aItem = groups.get(a)[0];
|
|
240
|
+
const bItem = groups.get(b)[0];
|
|
241
|
+
return aItem.statusIndex - bItem.statusIndex;
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
groupOrder.sort((a, b) => {
|
|
246
|
+
const aIsEmpty = a.startsWith('No ') || a === 'Unassigned';
|
|
247
|
+
const bIsEmpty = b.startsWith('No ') || b === 'Unassigned';
|
|
248
|
+
if (aIsEmpty && !bIsEmpty)
|
|
249
|
+
return 1;
|
|
250
|
+
if (!aIsEmpty && bIsEmpty)
|
|
251
|
+
return -1;
|
|
252
|
+
return a.localeCompare(b);
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
// Determine columns - exclude the group field from display
|
|
256
|
+
const columnsConfig = getConfig('columns');
|
|
257
|
+
let columns = columnsConfig
|
|
258
|
+
? parseColumns(columnsConfig)
|
|
259
|
+
: DEFAULT_COLUMNS;
|
|
260
|
+
// Remove the grouped field from columns
|
|
261
|
+
const fieldToColumnMap = {
|
|
262
|
+
'status': 'status',
|
|
263
|
+
'type': 'type',
|
|
264
|
+
'issuetype': 'type',
|
|
265
|
+
'issue-type': 'type',
|
|
266
|
+
'assignee': 'assignees',
|
|
267
|
+
'assignees': 'assignees',
|
|
268
|
+
'priority': 'priority',
|
|
269
|
+
'size': 'size',
|
|
270
|
+
'label': 'labels',
|
|
271
|
+
'labels': 'labels',
|
|
272
|
+
'project': 'project',
|
|
273
|
+
'repo': 'repository',
|
|
274
|
+
'repository': 'repository',
|
|
275
|
+
};
|
|
276
|
+
const columnToRemove = fieldToColumnMap[lower];
|
|
277
|
+
if (columnToRemove) {
|
|
278
|
+
columns = columns.filter(c => c !== columnToRemove);
|
|
279
|
+
}
|
|
280
|
+
// Pre-calculate column widths for consistent alignment across groups
|
|
281
|
+
const columnWidths = calculateColumnWidths(items, columns);
|
|
282
|
+
// Display each group
|
|
283
|
+
for (const groupValue of groupOrder) {
|
|
284
|
+
const groupItems = groups.get(groupValue);
|
|
285
|
+
console.log(getStatusColor(groupValue)(`■ ${groupValue}`) + chalk.dim(` (${groupItems.length})`));
|
|
286
|
+
console.log();
|
|
287
|
+
displayTableWithWidths(groupItems, columns, columnWidths);
|
|
98
288
|
console.log();
|
|
99
289
|
}
|
|
100
290
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"work.js","sourceRoot":"","sources":["../../src/commands/work.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IAEnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IAGnB,QAAQ,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,YAAY,CAAC;QACpB,QAAQ,CAAC,EAAE;YACP,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACL,CAAC;IAGF,SAAS,CAAC,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;KAChC,CAAC;CACL;AAWD,wBAAgB,UAAU,IAAI,MAAM,CAUnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CASxD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAGnE;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAEhF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAGlE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAItE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAG5D;AAED,wBAAgB,eAAe,IAAI,YAAY,CAG9C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAK5D;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,mBAAmB,IAAI;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAG9F;AAED,eAAO,MAAM,WAAW,8EAA+E,CAAC;AAExG,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAQ/D"}
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,YAAY;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IAEnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,QAAQ,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,YAAY,CAAC;QACpB,QAAQ,CAAC,EAAE;YACP,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACL,CAAC;IAGF,SAAS,CAAC,EAAE;QACR,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;KAChC,CAAC;CACL;AAWD,wBAAgB,UAAU,IAAI,MAAM,CAUnC;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,CASxD;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAGnE;AAED,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAEhF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAGlE;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAItE;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAMjD;AAED,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAG5D;AAED,wBAAgB,eAAe,IAAI,YAAY,CAG9C;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI,CAK5D;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,wBAAgB,mBAAmB,IAAI;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAG9F;AAED,eAAO,MAAM,WAAW,8EAA+E,CAAC;AAExG,wBAAgB,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAQ/D"}
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AACzD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/git-utils.d.ts
CHANGED
|
@@ -1,55 +1,9 @@
|
|
|
1
|
-
import type { RepoInfo } from './types.js';
|
|
2
1
|
/**
|
|
3
|
-
*
|
|
2
|
+
* Git utilities re-exported from core library.
|
|
3
|
+
*
|
|
4
|
+
* For CLI usage, all functions use process.cwd() by default.
|
|
5
|
+
* The core library accepts an optional { cwd } parameter for IDE integrations.
|
|
4
6
|
*/
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
* Parse a GitHub URL into owner and repo name
|
|
8
|
-
*/
|
|
9
|
-
export declare function parseGitHubUrl(url: string): RepoInfo | null;
|
|
10
|
-
/**
|
|
11
|
-
* Get the current git branch
|
|
12
|
-
*/
|
|
13
|
-
export declare function getCurrentBranch(): Promise<string | null>;
|
|
14
|
-
/**
|
|
15
|
-
* Check if there are uncommitted changes
|
|
16
|
-
*/
|
|
17
|
-
export declare function hasUncommittedChanges(): Promise<boolean>;
|
|
18
|
-
/**
|
|
19
|
-
* Check if a branch exists locally
|
|
20
|
-
*/
|
|
21
|
-
export declare function branchExists(branchName: string): Promise<boolean>;
|
|
22
|
-
/**
|
|
23
|
-
* Create and checkout a new branch
|
|
24
|
-
*/
|
|
25
|
-
export declare function createBranch(branchName: string): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Checkout an existing branch
|
|
28
|
-
*/
|
|
29
|
-
export declare function checkoutBranch(branchName: string): Promise<void>;
|
|
30
|
-
/**
|
|
31
|
-
* Pull latest from origin
|
|
32
|
-
*/
|
|
33
|
-
export declare function pullLatest(): Promise<void>;
|
|
34
|
-
/**
|
|
35
|
-
* Fetch from origin
|
|
36
|
-
*/
|
|
37
|
-
export declare function fetchOrigin(): Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* Get number of commits behind origin
|
|
40
|
-
*/
|
|
41
|
-
export declare function getCommitsBehind(branch: string): Promise<number>;
|
|
42
|
-
/**
|
|
43
|
-
* Sanitize a string for use in a branch name
|
|
44
|
-
*/
|
|
45
|
-
export declare function sanitizeForBranchName(str: string): string;
|
|
46
|
-
/**
|
|
47
|
-
* Generate a branch name from a pattern
|
|
48
|
-
*/
|
|
49
|
-
export declare function generateBranchName(pattern: string, vars: {
|
|
50
|
-
user: string;
|
|
51
|
-
number: number | null;
|
|
52
|
-
title: string;
|
|
53
|
-
repo: string;
|
|
54
|
-
}, maxLength?: number): string;
|
|
7
|
+
export { detectRepository, getCurrentBranch, hasUncommittedChanges, branchExists, createBranch, checkoutBranch, pullLatest, fetchOrigin, getCommitsBehind, getCommitsAhead, isGitRepository, getRepositoryRoot, sanitizeForBranchName, generateBranchName, getDefaultBranch, parseGitHubUrl, } from '@bretwardjames/ghp-core';
|
|
8
|
+
export type { RepoInfo, GitOptions } from '@bretwardjames/ghp-core';
|
|
55
9
|
//# sourceMappingURL=git-utils.d.ts.map
|
package/dist/git-utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACjB,MAAM,yBAAyB,CAAC;AAGjC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC"}
|
package/dist/git-utils.js
CHANGED
|
@@ -1,140 +1,10 @@
|
|
|
1
|
-
import { exec } from 'child_process';
|
|
2
|
-
import { promisify } from 'util';
|
|
3
|
-
const execAsync = promisify(exec);
|
|
4
1
|
/**
|
|
5
|
-
*
|
|
2
|
+
* Git utilities re-exported from core library.
|
|
3
|
+
*
|
|
4
|
+
* For CLI usage, all functions use process.cwd() by default.
|
|
5
|
+
* The core library accepts an optional { cwd } parameter for IDE integrations.
|
|
6
6
|
*/
|
|
7
|
-
export
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const url = stdout.trim();
|
|
11
|
-
return parseGitHubUrl(url);
|
|
12
|
-
}
|
|
13
|
-
catch {
|
|
14
|
-
return null;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Parse a GitHub URL into owner and repo name
|
|
19
|
-
*/
|
|
20
|
-
export function parseGitHubUrl(url) {
|
|
21
|
-
// Handle SSH format: git@github.com:owner/repo.git
|
|
22
|
-
const sshMatch = url.match(/git@github\.com:([^/]+)\/(.+?)(?:\.git)?$/);
|
|
23
|
-
if (sshMatch) {
|
|
24
|
-
return {
|
|
25
|
-
owner: sshMatch[1],
|
|
26
|
-
name: sshMatch[2],
|
|
27
|
-
fullName: `${sshMatch[1]}/${sshMatch[2]}`,
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
// Handle HTTPS format: https://github.com/owner/repo.git
|
|
31
|
-
const httpsMatch = url.match(/https:\/\/github\.com\/([^/]+)\/(.+?)(?:\.git)?$/);
|
|
32
|
-
if (httpsMatch) {
|
|
33
|
-
return {
|
|
34
|
-
owner: httpsMatch[1],
|
|
35
|
-
name: httpsMatch[2],
|
|
36
|
-
fullName: `${httpsMatch[1]}/${httpsMatch[2]}`,
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Get the current git branch
|
|
43
|
-
*/
|
|
44
|
-
export async function getCurrentBranch() {
|
|
45
|
-
try {
|
|
46
|
-
const { stdout } = await execAsync('git branch --show-current');
|
|
47
|
-
return stdout.trim() || null;
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Check if there are uncommitted changes
|
|
55
|
-
*/
|
|
56
|
-
export async function hasUncommittedChanges() {
|
|
57
|
-
try {
|
|
58
|
-
const { stdout } = await execAsync('git status --porcelain');
|
|
59
|
-
return stdout.trim().length > 0;
|
|
60
|
-
}
|
|
61
|
-
catch {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Check if a branch exists locally
|
|
67
|
-
*/
|
|
68
|
-
export async function branchExists(branchName) {
|
|
69
|
-
try {
|
|
70
|
-
await execAsync(`git show-ref --verify --quiet refs/heads/${branchName}`);
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Create and checkout a new branch
|
|
79
|
-
*/
|
|
80
|
-
export async function createBranch(branchName) {
|
|
81
|
-
await execAsync(`git checkout -b "${branchName}"`);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Checkout an existing branch
|
|
85
|
-
*/
|
|
86
|
-
export async function checkoutBranch(branchName) {
|
|
87
|
-
await execAsync(`git checkout "${branchName}"`);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Pull latest from origin
|
|
91
|
-
*/
|
|
92
|
-
export async function pullLatest() {
|
|
93
|
-
await execAsync('git pull');
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Fetch from origin
|
|
97
|
-
*/
|
|
98
|
-
export async function fetchOrigin() {
|
|
99
|
-
await execAsync('git fetch origin');
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* Get number of commits behind origin
|
|
103
|
-
*/
|
|
104
|
-
export async function getCommitsBehind(branch) {
|
|
105
|
-
try {
|
|
106
|
-
await fetchOrigin();
|
|
107
|
-
const { stdout } = await execAsync(`git rev-list --count ${branch}..origin/${branch}`);
|
|
108
|
-
return parseInt(stdout.trim(), 10) || 0;
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
return 0;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Sanitize a string for use in a branch name
|
|
116
|
-
*/
|
|
117
|
-
export function sanitizeForBranchName(str) {
|
|
118
|
-
return str
|
|
119
|
-
.toLowerCase()
|
|
120
|
-
.replace(/[^a-z0-9-]/g, '-')
|
|
121
|
-
.replace(/-+/g, '-')
|
|
122
|
-
.replace(/^-|-$/g, '')
|
|
123
|
-
.substring(0, 50);
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Generate a branch name from a pattern
|
|
127
|
-
*/
|
|
128
|
-
export function generateBranchName(pattern, vars, maxLength = 60) {
|
|
129
|
-
const sanitizedTitle = sanitizeForBranchName(vars.title);
|
|
130
|
-
let branch = pattern
|
|
131
|
-
.replace('{user}', vars.user)
|
|
132
|
-
.replace('{number}', vars.number?.toString() || 'draft')
|
|
133
|
-
.replace('{title}', sanitizedTitle)
|
|
134
|
-
.replace('{repo}', vars.repo);
|
|
135
|
-
if (branch.length > maxLength) {
|
|
136
|
-
branch = branch.substring(0, maxLength).replace(/-$/, '');
|
|
137
|
-
}
|
|
138
|
-
return branch;
|
|
139
|
-
}
|
|
7
|
+
// Re-export all git utilities from core
|
|
8
|
+
// These all use process.cwd() by default, which is correct for CLI usage
|
|
9
|
+
export { detectRepository, getCurrentBranch, hasUncommittedChanges, branchExists, createBranch, checkoutBranch, pullLatest, fetchOrigin, getCommitsBehind, getCommitsAhead, isGitRepository, getRepositoryRoot, sanitizeForBranchName, generateBranchName, getDefaultBranch, parseGitHubUrl, } from '@bretwardjames/ghp-core';
|
|
140
10
|
//# sourceMappingURL=git-utils.js.map
|
package/dist/git-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../src/git-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,wCAAwC;AACxC,yEAAyE;AACzE,OAAO,EACH,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,GACjB,MAAM,yBAAyB,CAAC"}
|