@superdoc-dev/cli 0.2.0-next.138 → 0.2.0-next.139

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 (2) hide show
  1. package/dist/index.js +144 -31
  2. package/package.json +9 -9
package/dist/index.js CHANGED
@@ -135979,7 +135979,7 @@ var init_remark_gfm_CjV8kaUy_es = __esm(() => {
135979
135979
  init_remark_gfm_z_sDF4ss_es();
135980
135980
  });
135981
135981
 
135982
- // ../../packages/superdoc/dist/chunks/src-SNuegb28.es.js
135982
+ // ../../packages/superdoc/dist/chunks/src-D6jkx7VE.es.js
135983
135983
  function deleteProps(obj, propOrProps) {
135984
135984
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
135985
135985
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -181952,19 +181952,31 @@ function safeCleanup(fn, context) {
181952
181952
  }
181953
181953
  }
181954
181954
  function createHiddenHost(doc$2, widthPx) {
181955
+ const wrapper = doc$2.createElement("div");
181956
+ wrapper.className = "presentation-editor__hidden-host-wrapper";
181957
+ wrapper.style.setProperty("position", "fixed");
181958
+ wrapper.style.setProperty("left", "-9999px");
181959
+ wrapper.style.setProperty("top", "0");
181960
+ wrapper.style.setProperty("width", "1px");
181961
+ wrapper.style.setProperty("height", "1px");
181962
+ wrapper.style.setProperty("overflow", "hidden");
181963
+ wrapper.style.setProperty("opacity", "0");
181964
+ wrapper.style.setProperty("z-index", "-1");
181965
+ wrapper.style.setProperty("pointer-events", "none");
181955
181966
  const host = doc$2.createElement("div");
181956
181967
  host.className = "presentation-editor__hidden-host";
181957
- host.style.setProperty("position", "fixed");
181958
- host.style.setProperty("left", "-9999px");
181968
+ host.style.setProperty("position", "absolute");
181969
+ host.style.setProperty("left", "0");
181959
181970
  host.style.setProperty("top", "0");
181960
181971
  if (widthPx >= 0)
181961
181972
  host.style.setProperty("width", `${widthPx}px`);
181962
181973
  host.style.setProperty("overflow-anchor", "none");
181963
- host.style.setProperty("pointer-events", "none");
181964
- host.style.setProperty("opacity", "0");
181965
- host.style.setProperty("z-index", "-1");
181966
181974
  host.style.setProperty("user-select", "none");
181967
- return host;
181975
+ wrapper.appendChild(host);
181976
+ return {
181977
+ wrapper,
181978
+ host
181979
+ };
181968
181980
  }
181969
181981
  function getFallbackCursorColor(clientId, fallbackColors) {
181970
181982
  return fallbackColors[clientId % fallbackColors.length];
@@ -191795,9 +191807,13 @@ function getAdjacentLineClientTarget(editor, coords, direction) {
191795
191807
  const clientY = rect.top + rect.height / 2;
191796
191808
  if (!Number.isFinite(clientY))
191797
191809
  return null;
191810
+ const pmStart = Number(adjacentLine.dataset?.pmStart);
191811
+ const pmEnd = Number(adjacentLine.dataset?.pmEnd);
191798
191812
  return {
191799
191813
  clientY,
191800
- pageIndex: Number.isFinite(pageIndex) ? pageIndex : undefined
191814
+ pageIndex: Number.isFinite(pageIndex) ? pageIndex : undefined,
191815
+ pmStart: Number.isFinite(pmStart) ? pmStart : undefined,
191816
+ pmEnd: Number.isFinite(pmEnd) ? pmEnd : undefined
191801
191817
  };
191802
191818
  }
191803
191819
  function getHitFromLayoutCoords(editor, goalX, clientY, coords, pageIndex) {
@@ -191868,6 +191884,33 @@ function findAdjacentLineElement(currentLine, direction) {
191868
191884
  return getEdgeLineFromFragment(pageFragments[0], direction);
191869
191885
  return getEdgeLineFromFragment(pageFragments[pageFragments.length - 1], direction);
191870
191886
  }
191887
+ function resolvePositionAtGoalX(editor, pmStart, pmEnd, goalX) {
191888
+ const presentationEditor = editor.presentationEditor;
191889
+ let bestPos = pmStart;
191890
+ let bestDist = Infinity;
191891
+ let lo = pmStart;
191892
+ let hi = pmEnd;
191893
+ while (lo <= hi) {
191894
+ const mid = Math.floor((lo + hi) / 2);
191895
+ const rect = presentationEditor.computeCaretLayoutRect(mid);
191896
+ if (!rect || !Number.isFinite(rect.x)) {
191897
+ lo = mid + 1;
191898
+ continue;
191899
+ }
191900
+ const dist = Math.abs(rect.x - goalX);
191901
+ if (dist < bestDist) {
191902
+ bestDist = dist;
191903
+ bestPos = mid;
191904
+ }
191905
+ if (rect.x < goalX)
191906
+ lo = mid + 1;
191907
+ else if (rect.x > goalX)
191908
+ hi = mid - 1;
191909
+ else
191910
+ break;
191911
+ }
191912
+ return { pos: bestPos };
191913
+ }
191871
191914
  function getEdgeLineFromFragment(fragment2, direction) {
191872
191915
  if (!fragment2)
191873
191916
  return null;
@@ -193369,7 +193412,14 @@ var Node$13 = class Node$14 {
193369
193412
  typeOver = true;
193370
193413
  }
193371
193414
  }
193372
- if (gecko && added.length) {
193415
+ if (added.some((n) => n.nodeName == "BR") && (view.input.lastKeyCode == 8 || view.input.lastKeyCode == 46)) {
193416
+ for (let node3 of added)
193417
+ if (node3.nodeName == "BR" && node3.parentNode) {
193418
+ let after = node3.nextSibling;
193419
+ if (after && after.nodeType == 1 && after.contentEditable == "false")
193420
+ node3.parentNode.removeChild(node3);
193421
+ }
193422
+ } else if (gecko && added.length) {
193373
193423
  let brs = added.filter((n) => n.nodeName == "BR");
193374
193424
  if (brs.length == 2) {
193375
193425
  let [a2, b$1] = brs;
@@ -193385,13 +193435,6 @@ var Node$13 = class Node$14 {
193385
193435
  br2.remove();
193386
193436
  }
193387
193437
  }
193388
- } else if ((chrome || safari) && added.some((n) => n.nodeName == "BR") && (view.input.lastKeyCode == 8 || view.input.lastKeyCode == 46)) {
193389
- for (let node3 of added)
193390
- if (node3.nodeName == "BR" && node3.parentNode) {
193391
- let after = node3.nextSibling;
193392
- if (after && after.nodeType == 1 && after.contentEditable == "false")
193393
- node3.parentNode.removeChild(node3);
193394
- }
193395
193438
  }
193396
193439
  let readSel = null;
193397
193440
  if (from$1 < 0 && newSel && view.input.lastFocus > Date.now() - 200 && Math.max(view.input.lastTouch, view.input.lastClick.time) < Date.now() - 300 && selectionCollapsed(sel) && (readSel = selectionFromDOM(view)) && readSel.eq(Selection.near(view.state.doc.resolve(0), 1))) {
@@ -219726,7 +219769,7 @@ var Node$13 = class Node$14 {
219726
219769
  return false;
219727
219770
  return Boolean(checker(attrs));
219728
219771
  }, SuperToolbar, ICONS, TEXTS, tableActionsOptions;
219729
- var init_src_SNuegb28_es = __esm(() => {
219772
+ var init_src_D6jkx7VE_es = __esm(() => {
219730
219773
  init_rolldown_runtime_B2q5OVn9_es();
219731
219774
  init_SuperConverter_BQCVReWb_es();
219732
219775
  init_jszip_ChlR43oI_es();
@@ -238607,6 +238650,7 @@ function print() { __p += __j.call(arguments, '') }
238607
238650
  #selectionOverlay;
238608
238651
  #permissionOverlay = null;
238609
238652
  #hiddenHost;
238653
+ #hiddenHostWrapper;
238610
238654
  #layoutOptions;
238611
238655
  #layoutState = {
238612
238656
  blocks: [],
@@ -238629,6 +238673,7 @@ function print() { __p += __j.call(arguments, '') }
238629
238673
  #pendingMapping = null;
238630
238674
  #isRerendering = false;
238631
238675
  #selectionSync = new SelectionSyncCoordinator;
238676
+ #shouldScrollSelectionIntoView = false;
238632
238677
  #epochMapper = new EpochPositionMapper;
238633
238678
  #layoutEpoch = 0;
238634
238679
  #htmlAnnotationHeights = /* @__PURE__ */ new Map;
@@ -238847,11 +238892,13 @@ function print() { __p += __j.call(arguments, '') }
238847
238892
  clip: "rect(1px, 1px, 1px, 1px)"
238848
238893
  });
238849
238894
  this.#visibleHost.appendChild(this.#ariaLiveRegion);
238850
- this.#hiddenHost = createHiddenHost(doc$2, this.#layoutOptions.pageSize?.w ?? DEFAULT_PAGE_SIZE.w);
238895
+ const { wrapper: hiddenHostWrapper, host: hiddenHost } = createHiddenHost(doc$2, this.#layoutOptions.pageSize?.w ?? DEFAULT_PAGE_SIZE.w);
238896
+ this.#hiddenHostWrapper = hiddenHostWrapper;
238897
+ this.#hiddenHost = hiddenHost;
238851
238898
  if (doc$2.body)
238852
- doc$2.body.appendChild(this.#hiddenHost);
238899
+ doc$2.body.appendChild(this.#hiddenHostWrapper);
238853
238900
  else
238854
- this.#visibleHost.appendChild(this.#hiddenHost);
238901
+ this.#visibleHost.appendChild(this.#hiddenHostWrapper);
238855
238902
  const { layoutEngineOptions: _layoutEngineOptions, element: _element, ...editorOptions } = options;
238856
238903
  const normalizedEditorProps = {
238857
238904
  ...editorOptions.editorProps ?? {},
@@ -239791,6 +239838,7 @@ function print() { __p += __j.call(arguments, '') }
239791
239838
  this.#applyZoom();
239792
239839
  this.#domPainter?.setZoom?.(zoom);
239793
239840
  this.emit("zoomChange", { zoom });
239841
+ this.#shouldScrollSelectionIntoView = true;
239794
239842
  this.#scheduleSelectionUpdate();
239795
239843
  if (this.#remoteCursorManager?.hasRemoteCursors()) {
239796
239844
  this.#remoteCursorManager.markDirty();
@@ -239872,7 +239920,7 @@ function print() { __p += __j.call(arguments, '') }
239872
239920
  this.#dragDropManager = null;
239873
239921
  this.#selectionOverlay?.remove();
239874
239922
  this.#painterHost?.remove();
239875
- this.#hiddenHost?.remove();
239923
+ this.#hiddenHostWrapper?.remove();
239876
239924
  this.#hoverOverlay = null;
239877
239925
  this.#hoverTooltip = null;
239878
239926
  this.#modeBanner?.remove();
@@ -239948,6 +239996,7 @@ function print() { __p += __j.call(arguments, '') }
239948
239996
  }
239949
239997
  };
239950
239998
  const handleSelection = () => {
239999
+ this.#shouldScrollSelectionIntoView = true;
239951
240000
  this.#scheduleSelectionUpdate({ immediate: true });
239952
240001
  this.#updateLocalAwarenessCursor();
239953
240002
  this.#scheduleA11ySelectionAnnouncement();
@@ -240159,6 +240208,7 @@ function print() { __p += __j.call(arguments, '') }
240159
240208
  this.#dragDropManager.bind();
240160
240209
  }
240161
240210
  #focusEditorAfterImageSelection() {
240211
+ this.#shouldScrollSelectionIntoView = true;
240162
240212
  this.#scheduleSelectionUpdate();
240163
240213
  if (document.activeElement instanceof HTMLElement)
240164
240214
  document.activeElement.blur();
@@ -240974,6 +241024,8 @@ function print() { __p += __j.call(arguments, '') }
240974
241024
  this.#setSelectedStructuredContentInlineClass(elements, id2);
240975
241025
  }
240976
241026
  #updateSelection() {
241027
+ const shouldScrollIntoView = this.#shouldScrollSelectionIntoView;
241028
+ this.#shouldScrollSelectionIntoView = false;
240977
241029
  if ((this.#headerFooterSession?.session?.mode ?? "body") !== "body") {
240978
241030
  this.#clearSelectedFieldAnnotationClass();
240979
241031
  return;
@@ -241049,6 +241101,8 @@ function print() { __p += __j.call(arguments, '') }
241049
241101
  if (process$1$1.env.NODE_ENV === "development")
241050
241102
  console.warn("[PresentationEditor] Failed to render caret overlay:", error);
241051
241103
  }
241104
+ if (shouldScrollIntoView)
241105
+ this.#scrollActiveEndIntoView(caretLayout.pageIndex);
241052
241106
  return;
241053
241107
  }
241054
241108
  const domRects = this.#computeSelectionRectsFromDom(from$1, to);
@@ -241081,6 +241135,59 @@ function print() { __p += __j.call(arguments, '') }
241081
241135
  if (process$1$1.env.NODE_ENV === "development")
241082
241136
  console.warn("[PresentationEditor] Failed to render selection rects:", error);
241083
241137
  }
241138
+ if (shouldScrollIntoView) {
241139
+ const head = activeEditor?.view?.state?.selection?.head ?? to;
241140
+ const headLayout = this.#computeCaretLayoutRect(head);
241141
+ if (headLayout)
241142
+ this.#scrollActiveEndIntoView(headLayout.pageIndex);
241143
+ }
241144
+ }
241145
+ #scrollScreenRectIntoView(screenTop, screenBottom) {
241146
+ const scrollContainer = this.#scrollContainer;
241147
+ if (!scrollContainer)
241148
+ return;
241149
+ let containerTop;
241150
+ let containerBottom;
241151
+ if (scrollContainer instanceof Window) {
241152
+ containerTop = 0;
241153
+ containerBottom = scrollContainer.innerHeight;
241154
+ } else {
241155
+ const r$1 = scrollContainer.getBoundingClientRect();
241156
+ containerTop = r$1.top;
241157
+ containerBottom = r$1.bottom;
241158
+ }
241159
+ const SCROLL_MARGIN = 20;
241160
+ if (screenBottom > containerBottom - SCROLL_MARGIN) {
241161
+ const delta = screenBottom - containerBottom + SCROLL_MARGIN;
241162
+ if (scrollContainer instanceof Window)
241163
+ scrollContainer.scrollBy({ top: delta });
241164
+ else
241165
+ scrollContainer.scrollTop += delta;
241166
+ } else if (screenTop < containerTop + SCROLL_MARGIN) {
241167
+ const delta = containerTop + SCROLL_MARGIN - screenTop;
241168
+ if (scrollContainer instanceof Window)
241169
+ scrollContainer.scrollBy({ top: -delta });
241170
+ else
241171
+ scrollContainer.scrollTop -= delta;
241172
+ }
241173
+ }
241174
+ #scrollActiveEndIntoView(pageIndex) {
241175
+ if (!!!this.#painterHost.querySelector(`[data-page-index="${pageIndex}"]`)) {
241176
+ this.#scrollPageIntoView(pageIndex);
241177
+ return;
241178
+ }
241179
+ const caretEl = this.#localSelectionLayer?.querySelector(".presentation-editor__selection-caret");
241180
+ if (caretEl) {
241181
+ const r$1 = caretEl.getBoundingClientRect();
241182
+ this.#scrollScreenRectIntoView(r$1.top, r$1.bottom);
241183
+ return;
241184
+ }
241185
+ const sel = this.getActiveEditor()?.view?.state?.selection;
241186
+ const headRect = !sel || sel.head >= sel.anchor ? this.#localSelectionLayer?.lastElementChild : this.#localSelectionLayer?.firstElementChild;
241187
+ if (headRect) {
241188
+ const r$1 = headRect.getBoundingClientRect();
241189
+ this.#scrollScreenRectIntoView(r$1.top, r$1.bottom);
241190
+ }
241084
241191
  }
241085
241192
  #updatePermissionOverlay() {
241086
241193
  const overlay = this.#permissionOverlay;
@@ -249691,7 +249798,13 @@ function print() { __p += __j.call(arguments, '') }
249691
249798
  const adjacent = getAdjacentLineClientTarget(editor, coords, event.key === "ArrowUp" ? -1 : 1);
249692
249799
  if (!adjacent)
249693
249800
  return false;
249694
- const hit = getHitFromLayoutCoords(editor, goalX, adjacent.clientY, coords, adjacent.pageIndex);
249801
+ let hit = getHitFromLayoutCoords(editor, goalX, adjacent.clientY, coords, adjacent.pageIndex);
249802
+ if (adjacent.pmStart != null && adjacent.pmEnd != null) {
249803
+ const TOLERANCE = 5;
249804
+ const hitPos = hit?.pos;
249805
+ if (!hit || !Number.isFinite(hitPos) || hitPos < adjacent.pmStart - TOLERANCE || hitPos > adjacent.pmEnd + TOLERANCE)
249806
+ hit = resolvePositionAtGoalX(editor, adjacent.pmStart, adjacent.pmEnd, goalX);
249807
+ }
249695
249808
  if (!hit || !Number.isFinite(hit.pos))
249696
249809
  return false;
249697
249810
  const selection = buildSelection(view.state, hit.pos, event.shiftKey);
@@ -253428,7 +253541,7 @@ var init_zipper_DqXT7uTa_es = __esm(() => {
253428
253541
 
253429
253542
  // ../../packages/superdoc/dist/super-editor.es.js
253430
253543
  var init_super_editor_es = __esm(() => {
253431
- init_src_SNuegb28_es();
253544
+ init_src_D6jkx7VE_es();
253432
253545
  init_SuperConverter_BQCVReWb_es();
253433
253546
  init_jszip_ChlR43oI_es();
253434
253547
  init_xml_js_DLE8mr0n_es();
@@ -280544,7 +280657,7 @@ var init_awareness = __esm(() => {
280544
280657
  };
280545
280658
  });
280546
280659
 
280547
- // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_bbc4954c3f565631ca331e4536595600/node_modules/y-prosemirror/src/plugins/keys.js
280660
+ // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_4cc29e23e769b0d152b4b8d1fb5406d2/node_modules/y-prosemirror/src/plugins/keys.js
280548
280661
  var ySyncPluginKey2, yUndoPluginKey2, yCursorPluginKey2;
280549
280662
  var init_keys = __esm(() => {
280550
280663
  init_dist5();
@@ -280553,18 +280666,18 @@ var init_keys = __esm(() => {
280553
280666
  yCursorPluginKey2 = new PluginKey2("yjs-cursor");
280554
280667
  });
280555
280668
 
280556
- // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_bbc4954c3f565631ca331e4536595600/node_modules/y-prosemirror/src/plugins/cursor-plugin.js
280669
+ // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_4cc29e23e769b0d152b4b8d1fb5406d2/node_modules/y-prosemirror/src/plugins/cursor-plugin.js
280557
280670
  var init_cursor_plugin = __esm(() => {
280558
280671
  init_awareness();
280559
280672
  });
280560
280673
 
280561
- // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_bbc4954c3f565631ca331e4536595600/node_modules/y-prosemirror/src/plugins/undo-plugin.js
280674
+ // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_4cc29e23e769b0d152b4b8d1fb5406d2/node_modules/y-prosemirror/src/plugins/undo-plugin.js
280562
280675
  var defaultProtectedNodes2;
280563
280676
  var init_undo_plugin = __esm(() => {
280564
280677
  defaultProtectedNodes2 = new Set(["paragraph"]);
280565
280678
  });
280566
280679
 
280567
- // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_bbc4954c3f565631ca331e4536595600/node_modules/y-prosemirror/src/y-prosemirror.js
280680
+ // ../../node_modules/.pnpm/y-prosemirror@1.3.7_prosemirror-model@1.25.4_prosemirror-state@1.4.4_prosemirror-view@1_4cc29e23e769b0d152b4b8d1fb5406d2/node_modules/y-prosemirror/src/y-prosemirror.js
280568
280681
  var init_y_prosemirror = __esm(() => {
280569
280682
  init_cursor_plugin();
280570
280683
  init_undo_plugin();
@@ -394771,12 +394884,12 @@ class DetachedWindowAPI {
394771
394884
  }
394772
394885
 
394773
394886
  // ../../node_modules/.pnpm/happy-dom@20.4.0/node_modules/happy-dom/lib/window/Window.js
394774
- var Window;
394887
+ var Window2;
394775
394888
  var init_Window = __esm(() => {
394776
394889
  init_BrowserWindow();
394777
394890
  init_DetachedBrowser();
394778
394891
  init_PropertySymbol();
394779
- Window = class Window extends BrowserWindow {
394892
+ Window2 = class Window2 extends BrowserWindow {
394780
394893
  happyDOM;
394781
394894
  constructor(options2) {
394782
394895
  const browser3 = new DetachedBrowser(BrowserWindow, {
@@ -394809,7 +394922,7 @@ var GlobalWindow;
394809
394922
  var init_GlobalWindow = __esm(() => {
394810
394923
  init_PropertySymbol();
394811
394924
  init_Window();
394812
- GlobalWindow = class GlobalWindow extends Window {
394925
+ GlobalWindow = class GlobalWindow extends Window2 {
394813
394926
  Array = globalThis.Array;
394814
394927
  ArrayBuffer = globalThis.ArrayBuffer;
394815
394928
  Boolean = globalThis.Boolean;
@@ -395061,7 +395174,7 @@ var init_lib20 = __esm(() => {
395061
395174
 
395062
395175
  // src/lib/dom-environment.ts
395063
395176
  function createCliDomEnvironment() {
395064
- const window3 = new Window;
395177
+ const window3 = new Window2;
395065
395178
  return {
395066
395179
  document: window3.document,
395067
395180
  dispose() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/cli",
3
- "version": "0.2.0-next.138",
3
+ "version": "0.2.0-next.139",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -20,21 +20,21 @@
20
20
  "@types/bun": "^1.3.8",
21
21
  "@types/node": "22.19.2",
22
22
  "typescript": "^5.9.2",
23
- "@superdoc/pm-adapter": "0.0.0",
24
- "superdoc": "1.18.0",
23
+ "@superdoc/document-api": "0.0.1",
25
24
  "@superdoc/super-editor": "0.0.1",
26
- "@superdoc/document-api": "0.0.1"
25
+ "superdoc": "1.18.0",
26
+ "@superdoc/pm-adapter": "0.0.0"
27
27
  },
28
28
  "module": "src/index.ts",
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  },
32
32
  "optionalDependencies": {
33
- "@superdoc-dev/cli-darwin-arm64": "0.2.0-next.138",
34
- "@superdoc-dev/cli-darwin-x64": "0.2.0-next.138",
35
- "@superdoc-dev/cli-linux-x64": "0.2.0-next.138",
36
- "@superdoc-dev/cli-linux-arm64": "0.2.0-next.138",
37
- "@superdoc-dev/cli-windows-x64": "0.2.0-next.138"
33
+ "@superdoc-dev/cli-darwin-arm64": "0.2.0-next.139",
34
+ "@superdoc-dev/cli-linux-x64": "0.2.0-next.139",
35
+ "@superdoc-dev/cli-darwin-x64": "0.2.0-next.139",
36
+ "@superdoc-dev/cli-windows-x64": "0.2.0-next.139",
37
+ "@superdoc-dev/cli-linux-arm64": "0.2.0-next.139"
38
38
  },
39
39
  "scripts": {
40
40
  "dev": "bun run src/index.ts",