OXYGENHUB
# 0c26846a9a81 oxygen-vscode / package.json
22.1 KiB · JSON · last changed Stop the Source Control refresh loop; remotes carry their CA (0.13.0) 1 month ago source blame history raw
1
{
2
  "name": "oxygen-vscode",
3
  "displayName": "Oxygen",
4
  "description": "Oxygen version control: source control view, diffs, decorations, bookmarks and history for oxy repositories",
5
  "version": "0.13.0",
6
  "publisher": "oxygen",
7
  "license": "MIT OR Apache-2.0",
8
  "icon": "assets/images/oxygen.png",
9
  "engines": {
10
    "vscode": "^1.137.0"
11
  },
12
  "categories": [
13
    "SCM Providers"
14
  ],
15
  "keywords": [
16
    "oxygen",
17
    "oxy",
18
    "scm",
19
    "version control"
20
  ],
21
  "activationEvents": [
22
    "workspaceContains:.oxy/format",
23
    "workspaceContains:.oxy",
24
    "onStartupFinished",
25
    "onUri"
26
  ],
27
  "main": "./dist/extension.js",
28
  "contributes": {
29
    "commands": [
30
      {
31
        "command": "oxygen.refresh",
32
        "title": "Refresh",
33
        "category": "Oxygen",
34
        "icon": "$(refresh)"
35
      },
36
      {
37
        "command": "oxygen.commit",
38
        "title": "Commit",
39
        "category": "Oxygen",
40
        "icon": "$(check)"
41
      },
42
      {
43
        "command": "oxygen.openFile",
44
        "title": "Open File",
45
        "category": "Oxygen",
46
        "icon": "$(go-to-file)"
47
      },
48
      {
49
        "command": "oxygen.openChanges",
50
        "title": "Open Changes",
51
        "category": "Oxygen"
52
      },
53
      {
54
        "command": "oxygen.openBaseVersion",
55
        "title": "Open Base Version",
56
        "category": "Oxygen"
57
      },
58
      {
59
        "command": "oxygen.showOutput",
60
        "title": "Show Output",
61
        "category": "Oxygen"
62
      },
63
      {
64
        "command": "oxygen.showLog",
65
        "title": "Show Log",
66
        "category": "Oxygen"
67
      },
68
      {
69
        "command": "oxygen.init",
70
        "title": "Initialize Repository",
71
        "category": "Oxygen"
72
      },
73
      {
74
        "command": "oxygen.discard",
75
        "title": "Discard Changes",
76
        "category": "Oxygen",
77
        "icon": "$(discard)"
78
      },
79
      {
80
        "command": "oxygen.commitSelected",
81
        "title": "Commit Selected Paths",
82
        "category": "Oxygen"
83
      },
84
      {
85
        "command": "oxygen.commitHunks",
86
        "title": "Commit Hunks\u2026",
87
        "category": "Oxygen"
88
      },
89
      {
90
        "command": "oxygen.amend",
91
        "title": "Amend",
92
        "category": "Oxygen"
93
      },
94
      {
95
        "command": "oxygen.undo",
96
        "title": "Undo Last Operation",
97
        "category": "Oxygen",
98
        "icon": "$(discard)"
99
      },
100
      {
101
        "command": "oxygen.undoTo",
102
        "title": "Undo to Here",
103
        "category": "Oxygen",
104
        "icon": "$(discard)"
105
      },
106
      {
107
        "command": "oxygen.refreshOperations",
108
        "title": "Refresh Operations",
109
        "category": "Oxygen",
110
        "icon": "$(refresh)"
111
      },
112
      {
113
        "command": "oxygen.switchBookmark",
114
        "title": "Switch Bookmark\u2026",
115
        "category": "Oxygen",
116
        "icon": "$(bookmark)"
117
      },
118
      {
119
        "command": "oxygen.createBookmark",
120
        "title": "Create Bookmark\u2026",
121
        "category": "Oxygen"
122
      },
123
      {
124
        "command": "oxygen.mergeBookmark",
125
        "title": "Merge Bookmark\u2026",
126
        "category": "Oxygen"
127
      },
128
      {
129
        "command": "oxygen.deleteBookmark",
130
        "title": "Delete Bookmark\u2026",
131
        "category": "Oxygen"
132
      },
133
      {
134
        "command": "oxygen.fetch",
135
        "title": "Fetch",
136
        "category": "Oxygen"
137
      },
138
      {
139
        "command": "oxygen.pull",
140
        "title": "Pull",
141
        "category": "Oxygen"
142
      },
143
      {
144
        "command": "oxygen.push",
145
        "title": "Push",
146
        "category": "Oxygen"
147
      },
148
      {
149
        "command": "oxygen.pushBookmark",
150
        "title": "Push Bookmark\u2026",
151
        "category": "Oxygen"
152
      },
153
      {
154
        "command": "oxygen.sync",
155
        "title": "Sync",
156
        "category": "Oxygen",
157
        "icon": "$(sync)"
158
      },
159
      {
160
        "command": "oxygen.showHistory",
161
        "title": "Show History",
162
        "category": "Oxygen",
163
        "icon": "$(git-commit)"
164
      },
165
      {
166
        "command": "oxygen.fileHistory",
167
        "title": "File History\u2026",
168
        "category": "Oxygen",
169
        "icon": "$(history)"
170
      },
171
      {
172
        "command": "oxygen.toggleBlame",
173
        "title": "Toggle Inline Blame",
174
        "category": "Oxygen"
175
      },
176
      {
177
        "command": "oxygen.showChange",
178
        "title": "Show Change",
179
        "category": "Oxygen"
180
      },
181
      {
182
        "command": "oxygen.acceptSides",
183
        "title": "Accept Conflict Sides",
184
        "category": "Oxygen"
185
      },
186
      {
187
        "command": "oxygen.keepCandidate",
188
        "title": "Keep This Candidate",
189
        "category": "Oxygen",
190
        "icon": "$(check)"
191
      },
192
      {
193
        "command": "oxygen.markResolved",
194
        "title": "Mark Resolved",
195
        "category": "Oxygen",
196
        "icon": "$(check-all)"
197
      },
198
      {
199
        "command": "oxygen.openConflict",
200
        "title": "Open Conflict",
201
        "category": "Oxygen"
202
      },
203
      {
204
        "command": "oxygen.openSubrepo",
205
        "title": "Open Subrepo",
206
        "category": "Oxygen"
207
      },
208
      {
209
        "command": "oxygen.updateSubrepo",
210
        "title": "Update to Pin",
211
        "category": "Oxygen",
212
        "icon": "$(cloud-download)"
213
      },
214
      {
215
        "command": "oxygen.updateSubrepos",
216
        "title": "Update Subrepos",
217
        "category": "Oxygen"
218
      },
219
      {
220
        "command": "oxygen.bisectStart",
221
        "title": "Bisect: Start",
222
        "category": "Oxygen"
223
      },
224
      {
225
        "command": "oxygen.bisectGood",
226
        "title": "Bisect: Good",
227
        "category": "Oxygen"
228
      },
229
      {
230
        "command": "oxygen.bisectBad",
231
        "title": "Bisect: Bad",
232
        "category": "Oxygen"
233
      },
234
      {
235
        "command": "oxygen.bisectSkip",
236
        "title": "Bisect: Skip",
237
        "category": "Oxygen"
238
      },
239
      {
240
        "command": "oxygen.bisectRun",
241
        "title": "Bisect: Run\u2026",
242
        "category": "Oxygen"
243
      },
244
      {
245
        "command": "oxygen.bisectReset",
246
        "title": "Bisect: Reset",
247
        "category": "Oxygen"
248
      },
249
      {
250
        "command": "oxygen.refreshBisect",
251
        "title": "Refresh",
252
        "category": "Oxygen",
253
        "icon": "$(refresh)"
254
      },
255
      {
256
        "command": "oxygen.refreshTrust",
257
        "title": "Refresh",
258
        "category": "Oxygen",
259
        "icon": "$(refresh)"
260
      },
261
      {
262
        "command": "oxygen.verify",
263
        "title": "Verify Signatures",
264
        "category": "Oxygen"
265
      },
266
      {
267
        "command": "oxygen.tags",
268
        "title": "Tags\u2026",
269
        "category": "Oxygen"
270
      },
271
      {
272
        "command": "oxygen.createTag",
273
        "title": "Create Tag\u2026",
274
        "category": "Oxygen"
275
      },
276
      {
277
        "command": "oxygen.addWorkspace",
278
        "title": "Add Workspace\u2026",
279
        "category": "Oxygen"
280
      },
281
      {
282
        "command": "oxygen.clone",
283
        "title": "Clone Repository\u2026",
284
        "category": "Oxygen"
285
      },
286
      {
287
        "command": "oxygen.openOnRemote",
288
        "title": "Open on Remote",
289
        "category": "Oxygen",
290
        "icon": "$(link-external)"
291
      },
292
      {
293
        "command": "oxygen.openChangeOnRemote",
294
        "title": "Open Change on Remote",
295
        "category": "Oxygen"
296
      },
297
      {
298
        "command": "oxygen.history.split",
299
        "title": "Split\u2026",
300
        "category": "Oxygen",
301
        "icon": "$(split-horizontal)"
302
      },
303
      {
304
        "command": "oxygen.history.squash",
305
        "title": "Squash into a Dependency\u2026",
306
        "category": "Oxygen",
307
        "icon": "$(fold)"
308
      },
309
      {
310
        "command": "oxygen.history.rebase",
311
        "title": "Rebase onto\u2026",
312
        "category": "Oxygen",
313
        "icon": "$(git-pull-request-go-to-changes)"
314
      },
315
      {
316
        "command": "oxygen.amendMode",
317
        "title": "Amend Mode",
318
        "category": "Oxygen",
319
        "icon": "$(edit)"
320
      },
321
      {
322
        "command": "oxygen.leaveAmendMode",
323
        "title": "Leave Amend Mode",
324
        "category": "Oxygen",
325
        "icon": "$(close)"
326
      },
327
      {
328
        "command": "oxygen.messageHistory",
329
        "title": "Previous Commit Messages\u2026",
330
        "category": "Oxygen",
331
        "icon": "$(history)"
332
      },
333
      {
334
        "command": "oxygen.copyRemoteLink",
335
        "title": "Copy Remote Link",
336
        "category": "Oxygen",
337
        "icon": "$(link)"
338
      },
339
      {
340
        "command": "oxygen.copyPermalink",
341
        "title": "Copy Permalink",
342
        "category": "Oxygen",
343
        "icon": "$(pinned)"
344
      }
345
    ],
346
    "views": {
347
      "scm": [
348
        {
349
          "id": "oxygen.operations",
350
          "name": "Oxygen Operations",
351
          "when": "oxygen.hasRepository",
352
          "icon": "assets/images/oxygen.svg",
353
          "visibility": "collapsed"
354
        },
355
        {
356
          "id": "oxygen.bisect",
357
          "name": "Oxygen Bisect",
358
          "when": "oxygen.hasRepository",
359
          "icon": "assets/images/oxygen.svg",
360
          "visibility": "collapsed"
361
        },
362
        {
363
          "id": "oxygen.trust",
364
          "name": "Oxygen Trust",
365
          "when": "oxygen.hasRepository",
366
          "icon": "assets/images/oxygen.svg",
367
          "visibility": "collapsed"
368
        }
369
      ]
370
    },
371
    "viewsWelcome": [
372
      {
373
        "view": "scm",
374
        "contents": "Oxygen is installed but found no oxy repository in the open folders.\n[Initialize Oxygen Repository](command:oxygen.init)\n[Show Oxygen Output](command:oxygen.showOutput)",
375
        "when": "workbenchState != empty && !oxygen.hasRepository"
376
      }
377
    ],
378
    "menus": {
379
      "scm/title": [
380
        {
381
          "command": "oxygen.commit",
382
          "group": "navigation@1",
383
          "when": "scmProvider == oxygen"
384
        },
385
        {
386
          "command": "oxygen.sync",
387
          "group": "navigation@2",
388
          "when": "scmProvider == oxygen"
389
        },
390
        {
391
          "command": "oxygen.refresh",
392
          "group": "navigation@3",
393
          "when": "scmProvider == oxygen"
394
        },
395
        {
396
          "command": "oxygen.pull",
397
          "group": "4_sync@1",
398
          "when": "scmProvider == oxygen"
399
        },
400
        {
401
          "command": "oxygen.push",
402
          "group": "4_sync@2",
403
          "when": "scmProvider == oxygen"
404
        },
405
        {
406
          "command": "oxygen.pushBookmark",
407
          "group": "4_sync@3",
408
          "when": "scmProvider == oxygen"
409
        },
410
        {
411
          "command": "oxygen.fetch",
412
          "group": "4_sync@4",
413
          "when": "scmProvider == oxygen"
414
        },
415
        {
416
          "command": "oxygen.switchBookmark",
417
          "group": "5_bookmarks@1",
418
          "when": "scmProvider == oxygen"
419
        },
420
        {
421
          "command": "oxygen.createBookmark",
422
          "group": "5_bookmarks@2",
423
          "when": "scmProvider == oxygen"
424
        },
425
        {
426
          "command": "oxygen.mergeBookmark",
427
          "group": "5_bookmarks@3",
428
          "when": "scmProvider == oxygen"
429
        },
430
        {
431
          "command": "oxygen.deleteBookmark",
432
          "group": "5_bookmarks@4",
433
          "when": "scmProvider == oxygen"
434
        },
435
        {
436
          "command": "oxygen.tags",
437
          "group": "6_more@1",
438
          "when": "scmProvider == oxygen"
439
        },
440
        {
441
          "command": "oxygen.createTag",
442
          "group": "6_more@2",
443
          "when": "scmProvider == oxygen"
444
        },
445
        {
446
          "command": "oxygen.addWorkspace",
447
          "group": "6_more@3",
448
          "when": "scmProvider == oxygen"
449
        },
450
        {
451
          "command": "oxygen.updateSubrepos",
452
          "group": "6_more@4",
453
          "when": "scmProvider == oxygen"
454
        },
455
        {
456
          "command": "oxygen.verify",
457
          "group": "6_more@5",
458
          "when": "scmProvider == oxygen"
459
        },
460
        {
461
          "command": "oxygen.commitHunks",
462
          "group": "2_commit@1",
463
          "when": "scmProvider == oxygen"
464
        },
465
        {
466
          "command": "oxygen.amend",
467
          "group": "2_commit@2",
468
          "when": "scmProvider == oxygen"
469
        },
470
        {
471
          "command": "oxygen.undo",
472
          "group": "3_undo",
473
          "when": "scmProvider == oxygen"
474
        },
475
        {
476
          "command": "oxygen.markResolved",
477
          "group": "2_commit@3",
478
          "when": "scmProvider == oxygen"
479
        },
480
        {
481
          "command": "oxygen.showHistory",
482
          "group": "1_view@1",
483
          "when": "scmProvider == oxygen"
484
        },
485
        {
486
          "command": "oxygen.showLog",
487
          "group": "1_view@2",
488
          "when": "scmProvider == oxygen"
489
        },
490
        {
491
          "command": "oxygen.showOutput",
492
          "group": "1_view@3",
493
          "when": "scmProvider == oxygen"
494
        },
495
        {
496
          "command": "oxygen.openOnRemote",
497
          "when": "scmProvider == oxygen",
498
          "group": "navigation@9"
499
        },
500
        {
501
          "command": "oxygen.amendMode",
502
          "group": "navigation@4",
503
          "when": "scmProvider == oxygen && !oxygen.amending"
504
        },
505
        {
506
          "command": "oxygen.leaveAmendMode",
507
          "group": "navigation@4",
508
          "when": "scmProvider == oxygen && oxygen.amending"
509
        },
510
        {
511
          "command": "oxygen.messageHistory",
512
          "group": "2_commit@4",
513
          "when": "scmProvider == oxygen"
514
        }
515
      ],
516
      "editor/title": [
517
        {
518
          "command": "oxygen.fileHistory",
519
          "group": "navigation@9",
520
          "when": "oxygen.hasRepository && resourceScheme == file"
521
        }
522
      ],
523
      "editor/context": [
524
        {
525
          "command": "oxygen.toggleBlame",
526
          "group": "oxygen@1",
527
          "when": "oxygen.hasRepository && resourceScheme == file"
528
        },
529
        {
530
          "command": "oxygen.fileHistory",
531
          "group": "oxygen@2",
532
          "when": "oxygen.hasRepository && resourceScheme == file"
533
        },
534
        {
535
          "command": "oxygen.openOnRemote",
536
          "when": "oxygen.hasRemoteProvider && resourceScheme == file",
537
          "group": "9_oxygen@1"
538
        },
539
        {
540
          "command": "oxygen.copyRemoteLink",
541
          "when": "oxygen.hasRemoteProvider && resourceScheme == file",
542
          "group": "9_oxygen@2"
543
        },
544
        {
545
          "command": "oxygen.copyPermalink",
546
          "when": "oxygen.hasRemoteProvider && resourceScheme == file",
547
          "group": "9_oxygen@3"
548
        }
549
      ],
550
      "explorer/context": [
551
        {
552
          "command": "oxygen.fileHistory",
553
          "group": "7_modification@9",
554
          "when": "oxygen.hasRepository && !explorerResourceIsFolder"
555
        }
556
      ],
557
      "scm/resourceState/context": [
558
        {
559
          "command": "oxygen.openFile",
560
          "group": "inline@1",
561
          "when": "scmProvider == oxygen"
562
        },
563
        {
564
          "command": "oxygen.discard",
565
          "group": "inline@2",
566
          "when": "scmProvider == oxygen"
567
        },
568
        {
569
          "command": "oxygen.openChanges",
570
          "group": "navigation",
571
          "when": "scmProvider == oxygen"
572
        },
573
        {
574
          "command": "oxygen.openBaseVersion",
575
          "group": "navigation",
576
          "when": "scmProvider == oxygen"
577
        },
578
        {
579
          "command": "oxygen.commitSelected",
580
          "group": "1_modification@1",
581
          "when": "scmProvider == oxygen"
582
        },
583
        {
584
          "command": "oxygen.discard",
585
          "group": "1_modification@2",
586
          "when": "scmProvider == oxygen"
587
        },
588
        {
589
          "command": "oxygen.keepCandidate",
590
          "group": "inline@0",
591
          "when": "scmProvider == oxygen && scmResourceState == candidate"
592
        },
593
        {
594
          "command": "oxygen.updateSubrepo",
595
          "group": "inline@0",
596
          "when": "scmProvider == oxygen && scmResourceState == subrepo"
597
        },
598
        {
599
          "command": "oxygen.keepCandidate",
600
          "group": "0_conflict",
601
          "when": "scmProvider == oxygen && scmResourceState == candidate"
602
        }
603
      ],
604
      "scm/resourceGroup/context": [
605
        {
606
          "command": "oxygen.markResolved",
607
          "group": "inline",
608
          "when": "scmProvider == oxygen && scmResourceGroup == conflicts"
609
        }
610
      ],
611
      "view/title": [
612
        {
613
          "command": "oxygen.refreshOperations",
614
          "group": "navigation",
615
          "when": "view == oxygen.operations"
616
        },
617
        {
618
          "command": "oxygen.refreshBisect",
619
          "group": "navigation",
620
          "when": "view == oxygen.bisect"
621
        },
622
        {
623
          "command": "oxygen.refreshTrust",
624
          "group": "navigation",
625
          "when": "view == oxygen.trust"
626
        }
627
      ],
628
      "view/item/context": [
629
        {
630
          "command": "oxygen.undoTo",
631
          "group": "inline",
632
          "when": "view == oxygen.operations && viewItem == operation"
633
        }
634
      ],
635
      "commandPalette": [
636
        {
637
          "command": "oxygen.openFile",
638
          "when": "false"
639
        },
640
        {
641
          "command": "oxygen.openChanges",
642
          "when": "false"
643
        },
644
        {
645
          "command": "oxygen.openBaseVersion",
646
          "when": "false"
647
        },
648
        {
649
          "command": "oxygen.discard",
650
          "when": "false"
651
        },
652
        {
653
          "command": "oxygen.commitSelected",
654
          "when": "false"
655
        },
656
        {
657
          "command": "oxygen.undoTo",
658
          "when": "false"
659
        },
660
        {
661
          "command": "oxygen.refreshOperations",
662
          "when": "false"
663
        },
664
        {
665
          "command": "oxygen.showChange",
666
          "when": "false"
667
        },
668
        {
669
          "command": "oxygen.acceptSides",
670
          "when": "false"
671
        },
672
        {
673
          "command": "oxygen.keepCandidate",
674
          "when": "false"
675
        },
676
        {
677
          "command": "oxygen.openConflict",
678
          "when": "false"
679
        },
680
        {
681
          "command": "oxygen.openSubrepo",
682
          "when": "false"
683
        },
684
        {
685
          "command": "oxygen.updateSubrepo",
686
          "when": "false"
687
        },
688
        {
689
          "command": "oxygen.refreshBisect",
690
          "when": "false"
691
        },
692
        {
693
          "command": "oxygen.refreshTrust",
694
          "when": "false"
695
        },
696
        {
697
          "command": "oxygen.history.split",
698
          "when": "false"
699
        },
700
        {
701
          "command": "oxygen.history.squash",
702
          "when": "false"
703
        },
704
        {
705
          "command": "oxygen.history.rebase",
706
          "when": "false"
707
        }
708
      ],
709
      "editor/title/context": [
710
        {
711
          "command": "oxygen.openOnRemote",
712
          "when": "oxygen.hasRemoteProvider",
713
          "group": "oxygen@1"
714
        },
715
        {
716
          "command": "oxygen.copyPermalink",
717
          "when": "oxygen.hasRemoteProvider",
718
          "group": "oxygen@2"
719
        }
720
      ],
721
      "webview/context": [
722
        {
723
          "command": "oxygen.history.split",
724
          "when": "webviewId == 'oxygen.history' && webviewSection == 'change' && oxygenHead",
725
          "group": "oxygen@1"
726
        },
727
        {
728
          "command": "oxygen.history.squash",
729
          "when": "webviewId == 'oxygen.history' && webviewSection == 'change' && oxygenHasDeps",
730
          "group": "oxygen@2"
731
        },
732
        {
733
          "command": "oxygen.history.rebase",
734
          "when": "webviewId == 'oxygen.history' && webviewSection == 'change'",
735
          "group": "oxygen@3"
736
        }
737
      ],
738
      "editor/lineNumber/context": [
739
        {
740
          "command": "oxygen.openOnRemote",
741
          "when": "oxygen.hasRemoteProvider && resourceScheme == file",
742
          "group": "oxygen@1"
743
        },
744
        {
745
          "command": "oxygen.copyRemoteLink",
746
          "when": "oxygen.hasRemoteProvider && resourceScheme == file",
747
          "group": "oxygen@2"
748
        },
749
        {
750
          "command": "oxygen.copyPermalink",
751
          "when": "oxygen.hasRemoteProvider && resourceScheme == file",
752
          "group": "oxygen@3"
753
        }
754
      ]
755
    },
756
    "configuration": {
757
      "title": "Oxygen",
758
      "properties": {
759
        "oxygen.path": {
760
          "type": "string",
761
          "default": "",
762
          "description": "Path to the oxy binary. Empty means oxy on PATH, then ~/.local/bin/oxy."
763
        },
764
        "oxygen.autoRefresh": {
765
          "type": "boolean",
766
          "default": true,
767
          "description": "Refresh the source control view when files in the workspace change."
768
        },
769
        "oxygen.decorations.enabled": {
770
          "type": "boolean",
771
          "default": true,
772
          "description": "Show status decorations in the explorer and on editor tabs."
773
        },
774
        "oxygen.inlineBlame": {
775
          "type": "boolean",
776
          "default": false,
777
          "description": "Show each line's introducing change, author and age at the end of the line."
778
        },
779
        "oxygen.confirmSync": {
780
          "type": "boolean",
781
          "default": true,
782
          "description": "Ask before pushing."
783
        },
784
        "oxygen.showSnapshotOperations": {
785
          "type": "boolean",
786
          "default": false,
787
          "description": "List snapshot operations in the Oxygen Operations view."
788
        },
789
        "oxygen.statusBar.enabled": {
790
          "type": "boolean",
791
          "default": true,
792
          "description": "Show the bookmark, working copy and state in the status bar."
793
        }
794
      }
795
    }
796
  },
797
  "scripts": {
798
    "build": "esbuild src/extension.ts --bundle --platform=node --format=cjs --external:vscode --outfile=dist/extension.js --sourcemap",
799
    "watch": "npm run build -- --watch",
800
    "typecheck": "tsc --noEmit -p .",
801
    "pretest": "esbuild src/oxy.ts --bundle --platform=node --format=esm --outfile=out/oxy.mjs && esbuild src/diffutil.ts --bundle --platform=node --format=esm --outfile=out/diffutil.mjs && esbuild src/markers.ts --bundle --platform=node --format=esm --outfile=out/markers.mjs && esbuild src/api.ts --bundle --platform=node --format=esm --outfile=out/api.mjs && esbuild src/commitbox.ts --bundle --platform=node --format=esm --outfile=out/commitbox.mjs && esbuild src/handoff.ts --bundle --platform=node --format=esm --outfile=out/handoff.mjs && esbuild src/paths.ts --bundle --platform=node --format=esm --outfile=out/paths.mjs",
802
    "test": "node --test \"test/**/*.test.mjs\"",
803
    "check": "npm run typecheck && npm run build && npm test",
804
    "package": "vsce package --no-dependencies"
805
  },
806
  "devDependencies": {
807
    "@types/node": "^24.0.0",
808
    "@types/vscode": "^1.137.0",
809
    "@vscode/vsce": "^4.0.0",
810
    "esbuild": "^0.28.0",
811
    "typescript": "^5.9.0"
812
  }
813
}