sync-worktrees 4.1.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +135 -55
- package/dist/components/App.d.ts.map +1 -1
- package/dist/components/BranchCreationWizard.d.ts.map +1 -1
- package/dist/components/OpenEditorWizard.d.ts.map +1 -1
- package/dist/components/StatusBar.d.ts +1 -0
- package/dist/components/StatusBar.d.ts.map +1 -1
- package/dist/components/WorktreeStatusView.d.ts.map +1 -1
- package/dist/constants.d.ts +22 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/errors/index.d.ts +7 -0
- package/dist/errors/index.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2201 -510
- package/dist/index.js.map +4 -4
- package/dist/mcp/context.d.ts +1 -1
- package/dist/mcp/context.d.ts.map +1 -1
- package/dist/mcp/handlers.d.ts +0 -5
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/worktree-summary.d.ts.map +1 -1
- package/dist/mcp-server.js +2117 -519
- package/dist/mcp-server.js.map +4 -4
- package/dist/services/InteractiveUIService.d.ts.map +1 -1
- package/dist/services/clone-sync.service.d.ts +13 -2
- package/dist/services/clone-sync.service.d.ts.map +1 -1
- package/dist/services/config-loader.service.d.ts +2 -0
- package/dist/services/config-loader.service.d.ts.map +1 -1
- package/dist/services/git-maintenance.service.d.ts +44 -0
- package/dist/services/git-maintenance.service.d.ts.map +1 -0
- package/dist/services/git.service.d.ts +19 -1
- package/dist/services/git.service.d.ts.map +1 -1
- package/dist/services/removal-audit.service.d.ts +19 -0
- package/dist/services/removal-audit.service.d.ts.map +1 -0
- package/dist/services/sync-outcome.d.ts +1 -1
- package/dist/services/sync-outcome.d.ts.map +1 -1
- package/dist/services/trash-migration.service.d.ts +18 -0
- package/dist/services/trash-migration.service.d.ts.map +1 -0
- package/dist/services/trash-reaper.service.d.ts +18 -0
- package/dist/services/trash-reaper.service.d.ts.map +1 -0
- package/dist/services/trash.service.d.ts +91 -0
- package/dist/services/trash.service.d.ts.map +1 -0
- package/dist/services/worktree-metadata.service.d.ts +7 -0
- package/dist/services/worktree-metadata.service.d.ts.map +1 -1
- package/dist/services/worktree-mode-sync-runner.d.ts +11 -1
- package/dist/services/worktree-mode-sync-runner.d.ts.map +1 -1
- package/dist/services/worktree-status.service.d.ts +5 -2
- package/dist/services/worktree-status.service.d.ts.map +1 -1
- package/dist/services/worktree-sync.service.d.ts +21 -2
- package/dist/services/worktree-sync.service.d.ts.map +1 -1
- package/dist/types/index.d.ts +60 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/sync-metadata.d.ts +6 -0
- package/dist/types/sync-metadata.d.ts.map +1 -1
- package/dist/utils/atomic-write.d.ts +2 -0
- package/dist/utils/atomic-write.d.ts.map +1 -0
- package/dist/utils/file-exists.d.ts +2 -0
- package/dist/utils/file-exists.d.ts.map +1 -1
- package/dist/utils/filename-timestamp.d.ts +2 -0
- package/dist/utils/filename-timestamp.d.ts.map +1 -0
- package/dist/utils/lock-path.d.ts +1 -0
- package/dist/utils/lock-path.d.ts.map +1 -1
- package/dist/utils/quarantine.d.ts +2 -0
- package/dist/utils/quarantine.d.ts.map +1 -0
- package/package.json +28 -27
package/dist/types/index.d.ts
CHANGED
|
@@ -61,6 +61,40 @@ export interface ParallelismConfig {
|
|
|
61
61
|
/** Max concurrent per-branch fetches when falling back from bulk fetch (default: 3) */
|
|
62
62
|
maxBranchFetches?: number;
|
|
63
63
|
}
|
|
64
|
+
export interface MaintenanceConfig {
|
|
65
|
+
/** Enable periodic `git gc`. Default: true. */
|
|
66
|
+
enabled?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Minimum time between maintenance runs (duration string, e.g. "7d", "24h").
|
|
69
|
+
* Default: "7d". Throttled via a persisted timestamp so it survives daemon
|
|
70
|
+
* restarts and repeated `runOnce` invocations.
|
|
71
|
+
*/
|
|
72
|
+
interval?: string;
|
|
73
|
+
/**
|
|
74
|
+
* When true, run `git gc --prune=now` instead of plain `git gc`. This prunes
|
|
75
|
+
* recently-unreachable objects immediately, bypassing Git's default 2-week
|
|
76
|
+
* grace period. Off by default — only enable for explicit aggressive cleanup.
|
|
77
|
+
*
|
|
78
|
+
* Hazard: the repo lock only serializes sync-worktrees processes. Plain git
|
|
79
|
+
* commands run concurrently by you or your IDE can have objects written but
|
|
80
|
+
* not yet ref-anchored; `--prune=now` deletes those with no grace window.
|
|
81
|
+
*/
|
|
82
|
+
aggressive?: boolean;
|
|
83
|
+
}
|
|
84
|
+
export interface TrashConfig {
|
|
85
|
+
/** Route removals through `<worktreeDir>/.trash/` instead of deleting. Default: true. */
|
|
86
|
+
enabled?: boolean;
|
|
87
|
+
/** Days each trashed item is retained before the reaper deletes it. Default: 30. */
|
|
88
|
+
retentionDays?: number;
|
|
89
|
+
/** Log a warning when total trash size exceeds this many bytes. No default (off). */
|
|
90
|
+
warnSizeBytes?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Adopt pre-trash `.removed/` and `.diverged/` entries (exact known dirname
|
|
93
|
+
* formats only) into `.trash/` so they age out under the same retention
|
|
94
|
+
* policy. Default: true.
|
|
95
|
+
*/
|
|
96
|
+
migrateLegacy?: boolean;
|
|
97
|
+
}
|
|
64
98
|
export type RepositoryMode = "clone" | "worktree";
|
|
65
99
|
export type SyncOutcomeMode = RepositoryMode;
|
|
66
100
|
export type SyncOutcomeScope = "repo" | "branch" | "worktree" | "sparse-checkout";
|
|
@@ -81,6 +115,7 @@ export type SyncOutcomeAction = {
|
|
|
81
115
|
kind: "removed";
|
|
82
116
|
branch: string;
|
|
83
117
|
path: string;
|
|
118
|
+
warning?: string;
|
|
84
119
|
} | {
|
|
85
120
|
kind: "updated";
|
|
86
121
|
branch: string;
|
|
@@ -149,6 +184,22 @@ export interface Config {
|
|
|
149
184
|
filesToCopyOnBranchCreate?: string[];
|
|
150
185
|
hooks?: HooksConfig;
|
|
151
186
|
sparseCheckout?: SparseCheckoutConfig;
|
|
187
|
+
/**
|
|
188
|
+
* Periodic Git object-store maintenance (`git gc`). Applies to both modes.
|
|
189
|
+
* Reclaims unreachable objects left behind by ref narrowing / branch churn
|
|
190
|
+
* and consolidates pack files. Throttled by `interval` (default 7d) and runs
|
|
191
|
+
* under the repository operation lock at the tail of a successful sync.
|
|
192
|
+
*/
|
|
193
|
+
maintenance?: MaintenanceConfig;
|
|
194
|
+
/**
|
|
195
|
+
* Reversible removals: every automatic or manual removal moves the directory
|
|
196
|
+
* into `<worktreeDir>/.trash/<id>/` with a manifest and a pin ref
|
|
197
|
+
* (`refs/sync-worktrees/trash/<id>`) that keeps the trashed HEAD's objects
|
|
198
|
+
* alive through `git gc` for the retention window. A reaper deletes expired
|
|
199
|
+
* items at the tail of a successful sync. Worktree mode only — clone mode
|
|
200
|
+
* never removes its checkout.
|
|
201
|
+
*/
|
|
202
|
+
trash?: TrashConfig;
|
|
152
203
|
/**
|
|
153
204
|
* Repository strategy. `worktree` (default) clones once as a bare repo and
|
|
154
205
|
* maintains one worktree per remote branch under `worktreeDir/<branch>`.
|
|
@@ -165,8 +216,8 @@ export interface Config {
|
|
|
165
216
|
branch?: string;
|
|
166
217
|
/**
|
|
167
218
|
* Shallow clone depth for config-file clone-mode repositories. Maps to
|
|
168
|
-
* `git clone --depth <N
|
|
169
|
-
* shallow sync fetches at the configured depth.
|
|
219
|
+
* `git clone --single-branch --no-tags --depth <N>` on initial clone and
|
|
220
|
+
* keeps shallow sync fetches for the tracked branch at the configured depth.
|
|
170
221
|
*/
|
|
171
222
|
depth?: number;
|
|
172
223
|
/**
|
|
@@ -236,6 +287,8 @@ export type SyncWorktreesHooksConfig = HooksConfig;
|
|
|
236
287
|
export type SyncWorktreesSparseCheckoutMode = SparseCheckoutMode;
|
|
237
288
|
export type SyncWorktreesSparseCheckoutConfig = SparseCheckoutConfig;
|
|
238
289
|
export type SyncWorktreesRepositoryMode = RepositoryMode;
|
|
290
|
+
export type SyncWorktreesMaintenanceConfig = MaintenanceConfig;
|
|
291
|
+
export type SyncWorktreesTrashConfig = TrashConfig;
|
|
239
292
|
interface SyncWorktreesCommonConfigFields {
|
|
240
293
|
cronSchedule?: string;
|
|
241
294
|
runOnce?: boolean;
|
|
@@ -246,6 +299,7 @@ interface SyncWorktreesCommonConfigFields {
|
|
|
246
299
|
filesToCopyOnBranchCreate?: string[];
|
|
247
300
|
hooks?: SyncWorktreesHooksConfig;
|
|
248
301
|
sparseCheckout?: SyncWorktreesSparseCheckoutConfig;
|
|
302
|
+
maintenance?: SyncWorktreesMaintenanceConfig;
|
|
249
303
|
}
|
|
250
304
|
interface SyncWorktreesRepositoryBase extends SyncWorktreesCommonConfigFields {
|
|
251
305
|
name: string;
|
|
@@ -261,6 +315,7 @@ export interface SyncWorktreesCloneRepository extends SyncWorktreesRepositoryBas
|
|
|
261
315
|
branchInclude?: never;
|
|
262
316
|
branchExclude?: never;
|
|
263
317
|
updateExistingWorktrees?: never;
|
|
318
|
+
trash?: never;
|
|
264
319
|
}
|
|
265
320
|
export interface SyncWorktreesWorktreeRepository extends SyncWorktreesRepositoryBase {
|
|
266
321
|
mode?: "worktree";
|
|
@@ -269,6 +324,7 @@ export interface SyncWorktreesWorktreeRepository extends SyncWorktreesRepository
|
|
|
269
324
|
branchInclude?: string[];
|
|
270
325
|
branchExclude?: string[];
|
|
271
326
|
updateExistingWorktrees?: boolean;
|
|
327
|
+
trash?: SyncWorktreesTrashConfig;
|
|
272
328
|
branch?: never;
|
|
273
329
|
depth?: never;
|
|
274
330
|
}
|
|
@@ -282,6 +338,7 @@ export interface SyncWorktreesCloneDefaults extends SyncWorktreesDefaultsBase {
|
|
|
282
338
|
branchInclude?: never;
|
|
283
339
|
branchExclude?: never;
|
|
284
340
|
updateExistingWorktrees?: never;
|
|
341
|
+
trash?: never;
|
|
285
342
|
}
|
|
286
343
|
export interface SyncWorktreesWorktreeDefaults extends SyncWorktreesDefaultsBase {
|
|
287
344
|
mode?: "worktree";
|
|
@@ -289,6 +346,7 @@ export interface SyncWorktreesWorktreeDefaults extends SyncWorktreesDefaultsBase
|
|
|
289
346
|
branchInclude?: string[];
|
|
290
347
|
branchExclude?: string[];
|
|
291
348
|
updateExistingWorktrees?: boolean;
|
|
349
|
+
trash?: SyncWorktreesTrashConfig;
|
|
292
350
|
branch?: never;
|
|
293
351
|
depth?: never;
|
|
294
352
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAEhF,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,CAAC;AAEpD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B;;;;;;;;;OASG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;CACvC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oDAAoD;IACpD,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,UAAU,CAAC;AAElD,MAAM,MAAM,eAAe,GAAG,cAAc,CAAC;AAE7C,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,iBAAiB,CAAC;AAElF,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,12 @@ export interface SyncMetadata {
|
|
|
7
7
|
commit: string;
|
|
8
8
|
};
|
|
9
9
|
syncHistory: SyncHistoryEntry[];
|
|
10
|
+
lastKnownRemoteTip?: LastKnownRemoteTip;
|
|
11
|
+
}
|
|
12
|
+
export interface LastKnownRemoteTip {
|
|
13
|
+
ref: string;
|
|
14
|
+
oid: string;
|
|
15
|
+
recordedAt: string;
|
|
10
16
|
}
|
|
11
17
|
export interface SyncHistoryEntry {
|
|
12
18
|
date: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-metadata.d.ts","sourceRoot":"","sources":["../../src/types/sync-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,EAAE,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"sync-metadata.d.ts","sourceRoot":"","sources":["../../src/types/sync-metadata.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE;QACX,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAKhC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;CAC3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atomic-write.d.ts","sourceRoot":"","sources":["../../src/utils/atomic-write.ts"],"names":[],"mappings":"AAMA,wBAAsB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BtF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-exists.d.ts","sourceRoot":"","sources":["../../src/utils/file-exists.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO/D"}
|
|
1
|
+
{"version":3,"file":"file-exists.d.ts","sourceRoot":"","sources":["../../src/utils/file-exists.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAO/D;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAI/D,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAQ5E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filename-timestamp.d.ts","sourceRoot":"","sources":["../../src/utils/filename-timestamp.ts"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,CAAC,IAAI,GAAE,IAAiB,GAAG,MAAM,CAEjE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock-path.d.ts","sourceRoot":"","sources":["../../src/utils/lock-path.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;CACd;
|
|
1
|
+
{"version":3,"file":"lock-path.d.ts","sourceRoot":"","sources":["../../src/utils/lock-path.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,MAAM,EAAoB,MAAM,UAAU,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,CASrE;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAmB7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quarantine.d.ts","sourceRoot":"","sources":["../../src/utils/quarantine.ts"],"names":[],"mappings":"AASA,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAO1E"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sync-worktrees",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.0.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Automatically synchronize Git worktrees with remote branches - perfect for multi-branch development workflows",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -46,45 +46,46 @@
|
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://github.com/yordan-kanchelov/sync-worktrees#readme",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@inquirer/prompts": "^
|
|
49
|
+
"@inquirer/prompts": "^8.5.0",
|
|
50
50
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
51
51
|
"cli-table3": "^0.6.5",
|
|
52
|
-
"cron-parser": "^5.
|
|
52
|
+
"cron-parser": "^5.5.0",
|
|
53
53
|
"fast-folder-size": "^2.4.0",
|
|
54
|
-
"glob": "^13.0.
|
|
55
|
-
"ink": "^
|
|
56
|
-
"node-cron": "^4.2.
|
|
57
|
-
"p-limit": "^7.
|
|
54
|
+
"glob": "^13.0.6",
|
|
55
|
+
"ink": "^7.0.4",
|
|
56
|
+
"node-cron": "^4.2.1",
|
|
57
|
+
"p-limit": "^7.3.0",
|
|
58
58
|
"proper-lockfile": "^4.1.2",
|
|
59
|
-
"react": "^19.2.
|
|
60
|
-
"simple-git": "^3.
|
|
59
|
+
"react": "^19.2.6",
|
|
60
|
+
"simple-git": "^3.36.0",
|
|
61
61
|
"yargs": "^18.0.0",
|
|
62
|
-
"zod": "^4.3
|
|
62
|
+
"zod": "^4.4.3"
|
|
63
63
|
},
|
|
64
64
|
"devDependencies": {
|
|
65
|
-
"@changesets/cli": "^2.
|
|
66
|
-
"@eslint/js": "^9.
|
|
67
|
-
"@types/node": "^
|
|
65
|
+
"@changesets/cli": "^2.31.0",
|
|
66
|
+
"@eslint/js": "^9.39.4",
|
|
67
|
+
"@types/node": "^25.9.1",
|
|
68
68
|
"@types/node-cron": "^3.0.11",
|
|
69
69
|
"@types/proper-lockfile": "^4.1.4",
|
|
70
|
-
"@types/react": "^19.2.
|
|
71
|
-
"@types/yargs": "^17.0.
|
|
72
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
73
|
-
"@typescript-eslint/parser": "^8.
|
|
74
|
-
"@vitest/coverage-v8": "^4.
|
|
75
|
-
"@vitest/ui": "^4.
|
|
76
|
-
"esbuild": "^0.
|
|
77
|
-
"eslint": "^9.
|
|
70
|
+
"@types/react": "^19.2.15",
|
|
71
|
+
"@types/yargs": "^17.0.35",
|
|
72
|
+
"@typescript-eslint/eslint-plugin": "^8.60.0",
|
|
73
|
+
"@typescript-eslint/parser": "^8.60.0",
|
|
74
|
+
"@vitest/coverage-v8": "^4.1.7",
|
|
75
|
+
"@vitest/ui": "^4.1.7",
|
|
76
|
+
"esbuild": "^0.28.0",
|
|
77
|
+
"eslint": "^9.39.4",
|
|
78
78
|
"eslint-import-resolver-typescript": "^4.4.4",
|
|
79
79
|
"eslint-plugin-import": "^2.32.0",
|
|
80
|
-
"eslint-plugin-prettier": "^5.5.
|
|
81
|
-
"globals": "^
|
|
82
|
-
"happy-dom": "^20.0
|
|
80
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
81
|
+
"globals": "^17.6.0",
|
|
82
|
+
"happy-dom": "^20.9.0",
|
|
83
83
|
"ink-testing-library": "^4.0.0",
|
|
84
|
-
"prettier": "^3.
|
|
84
|
+
"prettier": "^3.8.3",
|
|
85
|
+
"react-devtools-core": "^7.0.1",
|
|
85
86
|
"ts-node": "^10.9.2",
|
|
86
|
-
"typescript": "^
|
|
87
|
-
"vitest": "^4.
|
|
87
|
+
"typescript": "^6.0.3",
|
|
88
|
+
"vitest": "^4.1.7"
|
|
88
89
|
},
|
|
89
90
|
"scripts": {
|
|
90
91
|
"build": "node esbuild.config.js && tsc --emitDeclarationOnly",
|