@sascha384/tic 1.2.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/app.d.ts +4 -1
  2. package/dist/app.js +27 -2
  3. package/dist/app.js.map +1 -1
  4. package/dist/backends/ado/index.d.ts +15 -14
  5. package/dist/backends/ado/index.js +45 -14
  6. package/dist/backends/ado/index.js.map +1 -1
  7. package/dist/backends/factory.d.ts +2 -2
  8. package/dist/backends/factory.js +8 -6
  9. package/dist/backends/factory.js.map +1 -1
  10. package/dist/backends/github/index.d.ts +15 -14
  11. package/dist/backends/github/index.js +36 -16
  12. package/dist/backends/github/index.js.map +1 -1
  13. package/dist/backends/gitlab/index.d.ts +15 -14
  14. package/dist/backends/gitlab/index.js +40 -19
  15. package/dist/backends/gitlab/index.js.map +1 -1
  16. package/dist/backends/local/config.d.ts +3 -2
  17. package/dist/backends/local/config.js +18 -7
  18. package/dist/backends/local/config.js.map +1 -1
  19. package/dist/backends/local/index.d.ts +18 -16
  20. package/dist/backends/local/index.js +72 -47
  21. package/dist/backends/local/index.js.map +1 -1
  22. package/dist/backends/local/items.d.ts +4 -4
  23. package/dist/backends/local/items.js +22 -16
  24. package/dist/backends/local/items.js.map +1 -1
  25. package/dist/backends/types.d.ts +30 -28
  26. package/dist/backends/types.js.map +1 -1
  27. package/dist/cli/commands/config.d.ts +2 -2
  28. package/dist/cli/commands/config.js +5 -5
  29. package/dist/cli/commands/config.js.map +1 -1
  30. package/dist/cli/commands/init.d.ts +1 -1
  31. package/dist/cli/commands/init.js +2 -2
  32. package/dist/cli/commands/init.js.map +1 -1
  33. package/dist/cli/commands/item.d.ts +7 -7
  34. package/dist/cli/commands/item.js +14 -14
  35. package/dist/cli/commands/item.js.map +1 -1
  36. package/dist/cli/commands/iteration.d.ts +2 -2
  37. package/dist/cli/commands/iteration.js +5 -5
  38. package/dist/cli/commands/iteration.js.map +1 -1
  39. package/dist/cli/commands/mcp.d.ts +15 -15
  40. package/dist/cli/commands/mcp.js +74 -71
  41. package/dist/cli/commands/mcp.js.map +1 -1
  42. package/dist/cli/index.js +53 -39
  43. package/dist/cli/index.js.map +1 -1
  44. package/dist/components/AutocompleteInput.d.ts +10 -0
  45. package/dist/components/AutocompleteInput.js +40 -0
  46. package/dist/components/AutocompleteInput.js.map +1 -0
  47. package/dist/components/IterationPicker.js +9 -4
  48. package/dist/components/IterationPicker.js.map +1 -1
  49. package/dist/components/Settings.js +18 -4
  50. package/dist/components/Settings.js.map +1 -1
  51. package/dist/components/StatusScreen.d.ts +1 -0
  52. package/dist/components/StatusScreen.js +48 -0
  53. package/dist/components/StatusScreen.js.map +1 -0
  54. package/dist/components/WorkItemForm.js +185 -51
  55. package/dist/components/WorkItemForm.js.map +1 -1
  56. package/dist/components/WorkItemList.js +66 -46
  57. package/dist/components/WorkItemList.js.map +1 -1
  58. package/dist/hooks/useBackendData.d.ts +15 -0
  59. package/dist/hooks/useBackendData.js +67 -0
  60. package/dist/hooks/useBackendData.js.map +1 -0
  61. package/dist/hooks/useScrollViewport.d.ts +14 -0
  62. package/dist/hooks/useScrollViewport.js +20 -0
  63. package/dist/hooks/useScrollViewport.js.map +1 -0
  64. package/dist/hooks/useTerminalSize.d.ts +4 -0
  65. package/dist/hooks/useTerminalSize.js +23 -0
  66. package/dist/hooks/useTerminalSize.js.map +1 -0
  67. package/dist/index.js +2 -2
  68. package/dist/index.js.map +1 -1
  69. package/dist/sync/SyncManager.js +30 -32
  70. package/dist/sync/SyncManager.js.map +1 -1
  71. package/dist/sync/queue.d.ts +5 -5
  72. package/dist/sync/queue.js +17 -19
  73. package/dist/sync/queue.js.map +1 -1
  74. package/package.json +1 -1
@@ -35,27 +35,42 @@ export class GitLabBackend extends BaseBackend {
35
35
  },
36
36
  };
37
37
  }
38
- getStatuses() {
38
+ // eslint-disable-next-line @typescript-eslint/require-await
39
+ async getStatuses() {
39
40
  return ['open', 'closed'];
40
41
  }
41
- getWorkItemTypes() {
42
+ // eslint-disable-next-line @typescript-eslint/require-await
43
+ async getWorkItemTypes() {
42
44
  return ['epic', 'issue'];
43
45
  }
44
- getIterations() {
46
+ // eslint-disable-next-line @typescript-eslint/require-await
47
+ async getAssignees() {
48
+ try {
49
+ const members = glab(['api', 'projects/:fullpath/members/all', '--paginate'], this.cwd);
50
+ return members.map((m) => m.username);
51
+ }
52
+ catch {
53
+ return [];
54
+ }
55
+ }
56
+ // eslint-disable-next-line @typescript-eslint/require-await
57
+ async getIterations() {
45
58
  const iterations = this.fetchIterations();
46
59
  return iterations.map((i) => i.title);
47
60
  }
48
- getCurrentIteration() {
61
+ // eslint-disable-next-line @typescript-eslint/require-await
62
+ async getCurrentIteration() {
49
63
  const iterations = this.fetchIterations();
50
64
  const today = new Date().toISOString().split('T')[0];
51
65
  const current = iterations.find((i) => i.start_date <= today && today <= i.due_date);
52
66
  return current?.title ?? '';
53
67
  }
54
68
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
55
- setCurrentIteration(_name) {
69
+ async setCurrentIteration(_name) {
56
70
  // No-op — current iteration is determined by date range
57
71
  }
58
- listWorkItems(iteration) {
72
+ // eslint-disable-next-line @typescript-eslint/require-await
73
+ async listWorkItems(iteration) {
59
74
  // Fetch issues
60
75
  const issueArgs = [
61
76
  'issue',
@@ -80,7 +95,8 @@ export class GitLabBackend extends BaseBackend {
80
95
  allItems.sort((a, b) => b.updated.localeCompare(a.updated));
81
96
  return allItems;
82
97
  }
83
- getWorkItem(id) {
98
+ // eslint-disable-next-line @typescript-eslint/require-await
99
+ async getWorkItem(id) {
84
100
  const { type, iid } = parseId(id);
85
101
  if (type === 'issue') {
86
102
  const issue = glab(['issue', 'view', iid, '-F', 'json'], this.cwd);
@@ -99,14 +115,14 @@ export class GitLabBackend extends BaseBackend {
99
115
  item.comments = notes.map(mapNoteToComment);
100
116
  return item;
101
117
  }
102
- createWorkItem(data) {
118
+ async createWorkItem(data) {
103
119
  this.validateFields(data);
104
120
  if (data.type === 'epic') {
105
121
  return this.createEpic(data);
106
122
  }
107
123
  return this.createIssue(data);
108
124
  }
109
- updateWorkItem(id, data) {
125
+ async updateWorkItem(id, data) {
110
126
  this.validateFields(data);
111
127
  const { type, iid } = parseId(id);
112
128
  if (type === 'issue') {
@@ -114,7 +130,8 @@ export class GitLabBackend extends BaseBackend {
114
130
  }
115
131
  return this.updateEpic(iid, data);
116
132
  }
117
- deleteWorkItem(id) {
133
+ // eslint-disable-next-line @typescript-eslint/require-await
134
+ async deleteWorkItem(id) {
118
135
  const { type, iid } = parseId(id);
119
136
  if (type === 'issue') {
120
137
  glabExec(['issue', 'delete', iid, '--yes'], this.cwd);
@@ -123,7 +140,8 @@ export class GitLabBackend extends BaseBackend {
123
140
  const encodedGroup = encodeURIComponent(this.group);
124
141
  glab(['api', `groups/${encodedGroup}/epics/${iid}`, '-X', 'DELETE'], this.cwd);
125
142
  }
126
- addComment(workItemId, comment) {
143
+ // eslint-disable-next-line @typescript-eslint/require-await
144
+ async addComment(workItemId, comment) {
127
145
  const { type, iid } = parseId(workItemId);
128
146
  if (type === 'issue') {
129
147
  glabExec(['issue', 'note', iid, '-m', comment.body], this.cwd);
@@ -145,7 +163,8 @@ export class GitLabBackend extends BaseBackend {
145
163
  body: comment.body,
146
164
  };
147
165
  }
148
- getChildren(id) {
166
+ // eslint-disable-next-line @typescript-eslint/require-await
167
+ async getChildren(id) {
149
168
  const { type, iid } = parseId(id);
150
169
  if (type === 'issue') {
151
170
  return [];
@@ -154,8 +173,8 @@ export class GitLabBackend extends BaseBackend {
154
173
  const issues = glab(['api', `groups/${encodedGroup}/epics/${iid}/issues`, '--paginate'], this.cwd);
155
174
  return issues.map(mapIssueToWorkItem);
156
175
  }
157
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
158
- getDependents(_id) {
176
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/require-await
177
+ async getDependents(_id) {
159
178
  return [];
160
179
  }
161
180
  getItemUrl(id) {
@@ -166,7 +185,8 @@ export class GitLabBackend extends BaseBackend {
166
185
  }
167
186
  return `https://gitlab.com/groups/${this.group}/-/epics/${iid}`;
168
187
  }
169
- openItem(id) {
188
+ // eslint-disable-next-line @typescript-eslint/require-await
189
+ async openItem(id) {
170
190
  const { type, iid } = parseId(id);
171
191
  if (type === 'issue') {
172
192
  glabExec(['issue', 'view', iid, '--web'], this.cwd);
@@ -179,7 +199,7 @@ export class GitLabBackend extends BaseBackend {
179
199
  const encodedGroup = encodeURIComponent(this.group);
180
200
  return glab(['api', `groups/${encodedGroup}/iterations`, '--paginate'], this.cwd);
181
201
  }
182
- createIssue(data) {
202
+ async createIssue(data) {
183
203
  const args = ['issue', 'create', '--title', data.title, '--yes'];
184
204
  if (data.description) {
185
205
  args.push('--description', data.description);
@@ -202,7 +222,8 @@ export class GitLabBackend extends BaseBackend {
202
222
  const iid = match[1];
203
223
  return this.getWorkItem(`issue-${iid}`);
204
224
  }
205
- createEpic(data) {
225
+ // eslint-disable-next-line @typescript-eslint/require-await
226
+ async createEpic(data) {
206
227
  const encodedGroup = encodeURIComponent(this.group);
207
228
  const args = [
208
229
  'api',
@@ -221,7 +242,7 @@ export class GitLabBackend extends BaseBackend {
221
242
  const epic = glab(args, this.cwd);
222
243
  return mapEpicToWorkItem(epic);
223
244
  }
224
- updateIssue(iid, data) {
245
+ async updateIssue(iid, data) {
225
246
  // Handle status changes via close/reopen
226
247
  if (data.status === 'closed') {
227
248
  glabExec(['issue', 'close', iid], this.cwd);
@@ -266,7 +287,7 @@ export class GitLabBackend extends BaseBackend {
266
287
  }
267
288
  return this.getWorkItem(`issue-${iid}`);
268
289
  }
269
- updateEpic(iid, data) {
290
+ async updateEpic(iid, data) {
270
291
  const encodedGroup = encodeURIComponent(this.group);
271
292
  const args = ['api', `groups/${encodedGroup}/epics/${iid}`, '-X', 'PUT'];
272
293
  let hasEdits = false;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/gitlab/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/gitlab/index.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,6 @@ export interface Config {
8
8
  branchMode: 'worktree' | 'branch';
9
9
  }
10
10
  export declare const defaultConfig: Config;
11
- export declare function readConfig(root: string): Config;
12
- export declare function writeConfig(root: string, config: Config): void;
11
+ export declare function readConfig(root: string): Promise<Config>;
12
+ export declare function readConfigSync(root: string): Config;
13
+ export declare function writeConfig(root: string, config: Config): Promise<void>;
@@ -1,4 +1,5 @@
1
- import fs from 'node:fs';
1
+ import fs from 'node:fs/promises';
2
+ import fsSync from 'node:fs';
2
3
  import path from 'node:path';
3
4
  import yaml from 'yaml';
4
5
  export const defaultConfig = {
@@ -13,16 +14,26 @@ export const defaultConfig = {
13
14
  function configPath(root) {
14
15
  return path.join(root, '.tic', 'config.yml');
15
16
  }
16
- export function readConfig(root) {
17
+ export async function readConfig(root) {
17
18
  const p = configPath(root);
18
- if (!fs.existsSync(p))
19
+ try {
20
+ const raw = await fs.readFile(p, 'utf-8');
21
+ return yaml.parse(raw);
22
+ }
23
+ catch {
19
24
  return { ...defaultConfig };
20
- const raw = fs.readFileSync(p, 'utf-8');
25
+ }
26
+ }
27
+ export function readConfigSync(root) {
28
+ const p = configPath(root);
29
+ if (!fsSync.existsSync(p))
30
+ return { ...defaultConfig };
31
+ const raw = fsSync.readFileSync(p, 'utf-8');
21
32
  return yaml.parse(raw);
22
33
  }
23
- export function writeConfig(root, config) {
34
+ export async function writeConfig(root, config) {
24
35
  const dir = path.join(root, '.tic');
25
- fs.mkdirSync(dir, { recursive: true });
26
- fs.writeFileSync(configPath(root), yaml.stringify(config));
36
+ await fs.mkdir(dir, { recursive: true });
37
+ await fs.writeFile(configPath(root), yaml.stringify(config));
27
38
  }
28
39
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/backends/local/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC9D,iBAAiB,EAAE,SAAS;IAC5B,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,UAAU;CACvB,CAAC;AAEF,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IACnD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACxC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc;IACtD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/backends/local/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,MAAM,MAAM,SAAS,CAAC;AAC7B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAYxB,MAAM,CAAC,MAAM,aAAa,GAAW;IACnC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC9D,iBAAiB,EAAE,SAAS;IAC5B,UAAU,EAAE,CAAC,SAAS,CAAC;IACvB,OAAO,EAAE,CAAC;IACV,UAAU,EAAE,UAAU;CACvB,CAAC;AAEF,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QAAE,OAAO,EAAE,GAAG,aAAa,EAAE,CAAC;IACvD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAW,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,MAAc;IAC5D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACpC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC"}
@@ -8,30 +8,32 @@ export declare class LocalBackend extends BaseBackend {
8
8
  private root;
9
9
  private config;
10
10
  private tempIds;
11
- constructor(root: string, options?: LocalBackendOptions);
11
+ private constructor();
12
+ static create(root: string, options?: LocalBackendOptions): Promise<LocalBackend>;
12
13
  getRoot(): string;
13
14
  getCapabilities(): BackendCapabilities;
14
15
  private save;
15
- getStatuses(): string[];
16
- getIterations(): string[];
17
- getWorkItemTypes(): string[];
18
- getCurrentIteration(): string;
19
- setCurrentIteration(name: string): void;
16
+ getStatuses(): Promise<string[]>;
17
+ getIterations(): Promise<string[]>;
18
+ getWorkItemTypes(): Promise<string[]>;
19
+ getAssignees(): Promise<string[]>;
20
+ getCurrentIteration(): Promise<string>;
21
+ setCurrentIteration(name: string): Promise<void>;
20
22
  syncConfigFromRemote(remote: {
21
23
  iterations: string[];
22
24
  currentIteration: string;
23
25
  statuses: string[];
24
26
  types: string[];
25
- }): void;
27
+ }): Promise<void>;
26
28
  private validateRelationships;
27
- listWorkItems(iteration?: string): WorkItem[];
28
- getWorkItem(id: string): WorkItem;
29
- createWorkItem(data: NewWorkItem): WorkItem;
30
- updateWorkItem(id: string, data: Partial<WorkItem>): WorkItem;
31
- deleteWorkItem(id: string): void;
32
- addComment(workItemId: string, comment: NewComment): Comment;
33
- getChildren(id: string): WorkItem[];
34
- getDependents(id: string): WorkItem[];
29
+ listWorkItems(iteration?: string): Promise<WorkItem[]>;
30
+ getWorkItem(id: string): Promise<WorkItem>;
31
+ createWorkItem(data: NewWorkItem): Promise<WorkItem>;
32
+ updateWorkItem(id: string, data: Partial<WorkItem>): Promise<WorkItem>;
33
+ deleteWorkItem(id: string): Promise<void>;
34
+ addComment(workItemId: string, comment: NewComment): Promise<Comment>;
35
+ getChildren(id: string): Promise<WorkItem[]>;
36
+ getDependents(id: string): Promise<WorkItem[]>;
35
37
  getItemUrl(id: string): string;
36
- openItem(id: string): void;
38
+ openItem(id: string): Promise<void>;
37
39
  }
@@ -1,19 +1,23 @@
1
1
  import { BaseBackend } from '../types.js';
2
2
  import { readConfig, writeConfig } from './config.js';
3
3
  import { readWorkItem, writeWorkItem, deleteWorkItem as removeWorkItemFile, listItemFiles, parseWorkItemFile, } from './items.js';
4
- import { execSync } from 'node:child_process';
5
- import fs from 'node:fs';
4
+ import { spawn } from 'node:child_process';
5
+ import fs from 'node:fs/promises';
6
6
  import path from 'node:path';
7
7
  export class LocalBackend extends BaseBackend {
8
8
  root;
9
9
  config;
10
10
  tempIds;
11
- constructor(root, options) {
11
+ constructor(root, config, options) {
12
12
  super();
13
13
  this.root = root;
14
- this.config = readConfig(root);
14
+ this.config = config;
15
15
  this.tempIds = options?.tempIds ?? false;
16
16
  }
17
+ static async create(root, options) {
18
+ const config = await readConfig(root);
19
+ return new LocalBackend(root, config, options);
20
+ }
17
21
  getRoot() {
18
22
  return this.root;
19
23
  }
@@ -33,37 +37,51 @@ export class LocalBackend extends BaseBackend {
33
37
  },
34
38
  };
35
39
  }
36
- save() {
37
- writeConfig(this.root, this.config);
40
+ async save() {
41
+ await writeConfig(this.root, this.config);
38
42
  }
39
- getStatuses() {
43
+ // eslint-disable-next-line @typescript-eslint/require-await
44
+ async getStatuses() {
40
45
  return this.config.statuses;
41
46
  }
42
- getIterations() {
47
+ // eslint-disable-next-line @typescript-eslint/require-await
48
+ async getIterations() {
43
49
  return this.config.iterations;
44
50
  }
45
- getWorkItemTypes() {
51
+ // eslint-disable-next-line @typescript-eslint/require-await
52
+ async getWorkItemTypes() {
46
53
  return this.config.types;
47
54
  }
48
- getCurrentIteration() {
55
+ async getAssignees() {
56
+ const items = await this.listWorkItems();
57
+ const assignees = new Set();
58
+ for (const item of items) {
59
+ if (item.assignee) {
60
+ assignees.add(item.assignee);
61
+ }
62
+ }
63
+ return [...assignees].sort();
64
+ }
65
+ // eslint-disable-next-line @typescript-eslint/require-await
66
+ async getCurrentIteration() {
49
67
  return this.config.current_iteration;
50
68
  }
51
- setCurrentIteration(name) {
69
+ async setCurrentIteration(name) {
52
70
  this.config.current_iteration = name;
53
71
  if (!this.config.iterations.includes(name)) {
54
72
  this.config.iterations.push(name);
55
73
  }
56
- this.save();
74
+ await this.save();
57
75
  }
58
- syncConfigFromRemote(remote) {
76
+ async syncConfigFromRemote(remote) {
59
77
  this.config.iterations = remote.iterations;
60
78
  this.config.current_iteration = remote.currentIteration;
61
79
  this.config.statuses = remote.statuses;
62
80
  this.config.types = remote.types;
63
- this.save();
81
+ await this.save();
64
82
  }
65
- validateRelationships(id, parent, dependsOn) {
66
- const all = this.listWorkItems();
83
+ async validateRelationships(id, parent, dependsOn) {
84
+ const all = await this.listWorkItems();
67
85
  const allIds = new Set(all.map((item) => item.id));
68
86
  // Validate parent
69
87
  if (parent !== null && parent !== undefined) {
@@ -124,26 +142,26 @@ export class LocalBackend extends BaseBackend {
124
142
  }
125
143
  }
126
144
  }
127
- listWorkItems(iteration) {
128
- const files = listItemFiles(this.root);
129
- const items = files.map((f) => {
130
- const raw = fs.readFileSync(f, 'utf-8');
145
+ async listWorkItems(iteration) {
146
+ const files = await listItemFiles(this.root);
147
+ const items = await Promise.all(files.map(async (f) => {
148
+ const raw = await fs.readFile(f, 'utf-8');
131
149
  return parseWorkItemFile(raw);
132
- });
150
+ }));
133
151
  if (iteration)
134
152
  return items.filter((i) => i.iteration === iteration);
135
153
  return items;
136
154
  }
137
- getWorkItem(id) {
138
- return readWorkItem(this.root, id);
155
+ async getWorkItem(id) {
156
+ return await readWorkItem(this.root, id);
139
157
  }
140
- createWorkItem(data) {
158
+ async createWorkItem(data) {
141
159
  this.validateFields(data);
142
160
  const now = new Date().toISOString();
143
161
  const id = this.tempIds
144
162
  ? `local-${this.config.next_id}`
145
163
  : String(this.config.next_id);
146
- this.validateRelationships(id, data.parent, data.dependsOn);
164
+ await this.validateRelationships(id, data.parent, data.dependsOn);
147
165
  const item = {
148
166
  ...data,
149
167
  id,
@@ -155,27 +173,27 @@ export class LocalBackend extends BaseBackend {
155
173
  if (data.iteration && !this.config.iterations.includes(data.iteration)) {
156
174
  this.config.iterations.push(data.iteration);
157
175
  }
158
- this.save();
159
- writeWorkItem(this.root, item);
176
+ await this.save();
177
+ await writeWorkItem(this.root, item);
160
178
  return item;
161
179
  }
162
- updateWorkItem(id, data) {
180
+ async updateWorkItem(id, data) {
163
181
  this.validateFields(data);
164
- const item = this.getWorkItem(id);
165
- this.validateRelationships(id, data.parent, data.dependsOn);
182
+ const item = await this.getWorkItem(id);
183
+ await this.validateRelationships(id, data.parent, data.dependsOn);
166
184
  const updated = {
167
185
  ...item,
168
186
  ...data,
169
187
  id,
170
188
  updated: new Date().toISOString(),
171
189
  };
172
- writeWorkItem(this.root, updated);
190
+ await writeWorkItem(this.root, updated);
173
191
  return updated;
174
192
  }
175
- deleteWorkItem(id) {
176
- removeWorkItemFile(this.root, id);
193
+ async deleteWorkItem(id) {
194
+ await removeWorkItemFile(this.root, id);
177
195
  // Clean up references in other items
178
- const all = this.listWorkItems();
196
+ const all = await this.listWorkItems();
179
197
  for (const item of all) {
180
198
  let changed = false;
181
199
  if (item.parent === id) {
@@ -187,12 +205,12 @@ export class LocalBackend extends BaseBackend {
187
205
  changed = true;
188
206
  }
189
207
  if (changed) {
190
- writeWorkItem(this.root, item);
208
+ await writeWorkItem(this.root, item);
191
209
  }
192
210
  }
193
211
  }
194
- addComment(workItemId, comment) {
195
- const item = this.getWorkItem(workItemId);
212
+ async addComment(workItemId, comment) {
213
+ const item = await this.getWorkItem(workItemId);
196
214
  const newComment = {
197
215
  author: comment.author,
198
216
  date: new Date().toISOString(),
@@ -200,27 +218,34 @@ export class LocalBackend extends BaseBackend {
200
218
  };
201
219
  item.comments.push(newComment);
202
220
  item.updated = new Date().toISOString();
203
- writeWorkItem(this.root, item);
221
+ await writeWorkItem(this.root, item);
204
222
  return newComment;
205
223
  }
206
- getChildren(id) {
207
- const all = this.listWorkItems();
224
+ async getChildren(id) {
225
+ const all = await this.listWorkItems();
208
226
  return all.filter((item) => item.parent === id);
209
227
  }
210
- getDependents(id) {
211
- const all = this.listWorkItems();
228
+ async getDependents(id) {
229
+ const all = await this.listWorkItems();
212
230
  return all.filter((item) => item.dependsOn.includes(id));
213
231
  }
214
232
  getItemUrl(id) {
215
233
  return path.resolve(this.root, '.tic', 'items', `${id}.md`);
216
234
  }
217
- openItem(id) {
235
+ async openItem(id) {
218
236
  const filePath = this.getItemUrl(id);
219
- if (!fs.existsSync(filePath)) {
220
- throw new Error(`Work item #${id} does not exist`);
221
- }
237
+ await fs.access(filePath);
222
238
  const editor = process.env['VISUAL'] || process.env['EDITOR'] || 'vi';
223
- execSync(`${editor} ${filePath}`, { stdio: 'inherit' });
239
+ return new Promise((resolve, reject) => {
240
+ const child = spawn(editor, [filePath], { stdio: 'inherit' });
241
+ child.on('close', (code) => {
242
+ if (code === 0)
243
+ resolve();
244
+ else
245
+ reject(new Error(`Editor exited with code ${code}`));
246
+ });
247
+ child.on('error', reject);
248
+ });
224
249
  }
225
250
  }
226
251
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/local/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/backends/local/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { WorkItem } from '../../types.js';
2
- export declare function listItemFiles(root: string): string[];
3
- export declare function readWorkItem(root: string, id: string): WorkItem;
2
+ export declare function listItemFiles(root: string): Promise<string[]>;
3
+ export declare function readWorkItem(root: string, id: string): Promise<WorkItem>;
4
4
  export declare function parseWorkItemFile(raw: string): WorkItem;
5
- export declare function writeWorkItem(root: string, item: WorkItem): void;
6
- export declare function deleteWorkItem(root: string, id: string): void;
5
+ export declare function writeWorkItem(root: string, item: WorkItem): Promise<void>;
6
+ export declare function deleteWorkItem(root: string, id: string): Promise<void>;