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