@superdoc-dev/cli 0.16.0-next.13 → 0.16.0-next.14

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 +146 -28
  2. package/package.json +6 -6
package/dist/index.js CHANGED
@@ -229075,7 +229075,7 @@ var init_remark_gfm_eZN6yzWQ_es = __esm(() => {
229075
229075
  init_remark_gfm_BhnWr3yf_es();
229076
229076
  });
229077
229077
 
229078
- // ../../packages/superdoc/dist/chunks/src-C8mTdIvv.es.js
229078
+ // ../../packages/superdoc/dist/chunks/src-BAgFSihz.es.js
229079
229079
  function deleteProps(obj, propOrProps) {
229080
229080
  const props = typeof propOrProps === "string" ? [propOrProps] : propOrProps;
229081
229081
  const removeNested = (target, pathParts, index2 = 0) => {
@@ -283976,7 +283976,7 @@ async function measureParagraphBlock(block, maxWidth) {
283976
283976
  toChar: 1,
283977
283977
  width: 0,
283978
283978
  maxFontSize: lastFontSize,
283979
- maxFontInfo: hasSeenTextRun ? undefined : fallbackFontInfo,
283979
+ maxFontInfo: hasSeenTextRun ? undefined : fallbackFontInfo ?? getFontInfoFromRun(run2),
283980
283980
  maxWidth: getEffectiveWidth(lines.length === 0 ? initialAvailableWidth : bodyContentWidth),
283981
283981
  segments: [],
283982
283982
  spaceCount: 0
@@ -310062,20 +310062,39 @@ menclose::after {
310062
310062
  if (!("text" in run2) || !run2.text)
310063
310063
  return null;
310064
310064
  return renderTextRun(run2, context, renderContext, trackedConfig);
310065
- }, renderInlineTabRun = (run2, line, doc$12, layoutEpoch, styleId) => {
310065
+ }, getRunUnderline = (run2) => ("underline" in run2) ? run2.underline : undefined, getRunFontSize = (run2) => ("fontSize" in run2) && typeof run2.fontSize === "number" ? run2.fontSize : 16, getRunColor = (run2) => ("color" in run2) && typeof run2.color === "string" ? run2.color : undefined, underlineStyleForRun = (run2) => getRunUnderline(run2)?.style ?? "single", canPaintUnderlineAsBorder = (run2) => {
310066
+ if (!getRunUnderline(run2))
310067
+ return false;
310068
+ const style2 = underlineStyleForRun(run2);
310069
+ return style2 !== "none" && style2 !== "words";
310070
+ }, canPaintUnderlineOverlay = (run2) => {
310071
+ if (!canPaintUnderlineAsBorder(run2))
310072
+ return false;
310073
+ const style2 = underlineStyleForRun(run2);
310074
+ return style2 === "single" || style2 === "double" || style2 === "dotted" || style2 === "dashed";
310075
+ }, underlineBorderForRun = (run2) => {
310076
+ if (!canPaintUnderlineAsBorder(run2))
310077
+ return;
310078
+ const underlineStyle = underlineStyleForRun(run2);
310079
+ const borderStyle = underlineStyle === "double" || underlineStyle === "dotted" || underlineStyle === "dashed" ? underlineStyle : "solid";
310080
+ const underlineColor = getRunUnderline(run2)?.color ?? getRunColor(run2) ?? "#000000";
310081
+ return `${underlineThicknessPx(getRunFontSize(run2))}px ${borderStyle} ${underlineColor}`;
310082
+ }, renderInlineTabRun = (run2, line, doc$12, layoutEpoch, styleId, paintUnderline = true) => {
310066
310083
  const tabEl = doc$12.createElement("span");
310067
310084
  tabEl.classList.add("superdoc-tab");
310068
310085
  const tabWidth = run2.width ?? 48;
310069
310086
  tabEl.style.display = "inline-block";
310070
310087
  tabEl.style.width = `${tabWidth}px`;
310071
- if (run2.underline) {
310088
+ const shouldPaintUnderline = paintUnderline && canPaintUnderlineAsBorder(run2);
310089
+ if (shouldPaintUnderline) {
310072
310090
  tabEl.style.height = `${underlineOffsetFromLineTop(line)}px`;
310073
310091
  tabEl.style.verticalAlign = "top";
310074
310092
  } else {
310075
310093
  tabEl.style.height = `${line.lineHeight}px`;
310076
310094
  tabEl.style.verticalAlign = "bottom";
310077
310095
  }
310078
- applyTabUnderlineBorder(tabEl, run2);
310096
+ if (shouldPaintUnderline)
310097
+ applyTabUnderlineBorder(tabEl, run2);
310079
310098
  if (styleId)
310080
310099
  tabEl.setAttribute("styleid", styleId);
310081
310100
  if (run2.pmStart != null)
@@ -310084,7 +310103,7 @@ menclose::after {
310084
310103
  tabEl.dataset.pmEnd = String(run2.pmEnd);
310085
310104
  tabEl.dataset.layoutEpoch = String(layoutEpoch);
310086
310105
  return tabEl;
310087
- }, renderPositionedTabRun = (run2, line, doc$12, layoutEpoch, tabStartX, indentOffset, immediateNextSegment, styleId) => {
310106
+ }, renderPositionedTabRun = (run2, line, doc$12, layoutEpoch, tabStartX, indentOffset, immediateNextSegment, styleId, paintUnderline = true) => {
310088
310107
  const measuredTabEndX = tabStartX + (run2.width ?? 0);
310089
310108
  const tabEndX = immediateNextSegment?.precedingTabEndX ?? immediateNextSegment?.x ?? measuredTabEndX;
310090
310109
  const actualTabWidth = tabEndX - tabStartX;
@@ -310093,12 +310112,14 @@ menclose::after {
310093
310112
  tabEl.style.left = `${tabStartX + indentOffset}px`;
310094
310113
  tabEl.style.top = "0px";
310095
310114
  tabEl.style.width = `${actualTabWidth}px`;
310096
- tabEl.style.height = run2.underline ? `${underlineOffsetFromLineTop(line)}px` : `${line.lineHeight}px`;
310115
+ const shouldPaintUnderline = paintUnderline && canPaintUnderlineAsBorder(run2);
310116
+ tabEl.style.height = shouldPaintUnderline ? `${underlineOffsetFromLineTop(line)}px` : `${line.lineHeight}px`;
310097
310117
  tabEl.style.display = "inline-block";
310098
310118
  tabEl.style.pointerEvents = "none";
310099
310119
  tabEl.style.zIndex = "1";
310100
- applyTabUnderlineBorder(tabEl, run2);
310101
- if (!run2.underline)
310120
+ if (shouldPaintUnderline)
310121
+ applyTabUnderlineBorder(tabEl, run2);
310122
+ else
310102
310123
  tabEl.style.visibility = "hidden";
310103
310124
  if (styleId)
310104
310125
  tabEl.setAttribute("styleid", styleId);
@@ -310115,13 +310136,10 @@ menclose::after {
310115
310136
  }, underlineOffsetFromLineTop = (line) => {
310116
310137
  return Math.max(0, (line.lineHeight - line.ascent - line.descent) / 2) + line.ascent + Math.min(line.descent, line.lineHeight * 0.08);
310117
310138
  }, applyTabUnderlineBorder = (tabEl, run2) => {
310118
- if (!run2.underline)
310139
+ const border = underlineBorderForRun(run2);
310140
+ if (!border)
310119
310141
  return;
310120
- const underlineStyle = run2.underline.style ?? "single";
310121
- const underlineColor = run2.underline.color ?? "#000000";
310122
- const borderStyle = underlineStyle === "double" ? "double" : "solid";
310123
- const fontSize = run2.fontSize ?? 16;
310124
- tabEl.style.borderBottom = `${underlineThicknessPx(fontSize)}px ${borderStyle} ${underlineColor}`;
310142
+ tabEl.style.borderBottom = border;
310125
310143
  }, applyStyles$1 = (el, styles) => {
310126
310144
  Object.entries(styles).forEach(([key2, value]) => {
310127
310145
  if (value != null && value !== "" && key2 in el.style)
@@ -310226,6 +310244,73 @@ menclose::after {
310226
310244
  break;
310227
310245
  }
310228
310246
  return merged;
310247
+ }, isTextRun$5 = (run2) => (run2.kind === "text" || run2.kind === undefined) && ("text" in run2), isOverlaySafeRunKind = (run2) => {
310248
+ const kind = run2.kind ?? "text";
310249
+ return kind === "text" || kind === "tab" || kind === "lineBreak" || kind === "break";
310250
+ }, shouldUseLineUnderlineOverlay = (runsForLine) => runsForLine.every(isOverlaySafeRunKind) && runsForLine.some((run2) => run2.kind === "tab" && canPaintUnderlineOverlay(run2)), cloneRunWithoutUnderline = (run2) => ({
310251
+ ...run2,
310252
+ underline: undefined
310253
+ }), appendUnderlineOverlaySpan = (spans, from$1, to, border) => {
310254
+ if (!border || to <= from$1)
310255
+ return;
310256
+ const last2 = spans[spans.length - 1];
310257
+ if (last2 && last2.border === border && Math.abs(last2.to - from$1) < 0.5) {
310258
+ last2.to = to;
310259
+ return;
310260
+ }
310261
+ spans.push({
310262
+ from: from$1,
310263
+ to,
310264
+ border
310265
+ });
310266
+ }, runInlinePaintWidth = (run2, runIndex, segmentsByRun, spacingPerSpace) => {
310267
+ if (run2.kind === "tab")
310268
+ return run2.width ?? 48;
310269
+ const segments = segmentsByRun.get(runIndex);
310270
+ if (segments?.length)
310271
+ return segments.reduce((sum, segment) => {
310272
+ const text5 = isTextRun$5(run2) ? (run2.text ?? "").slice(segment.fromChar, segment.toChar) : "";
310273
+ return sum + segment.width + spacingPerSpace * countSpaces$1(text5);
310274
+ }, 0);
310275
+ if ("width" in run2 && typeof run2.width === "number")
310276
+ return run2.width;
310277
+ return 0;
310278
+ }, buildInlineUnderlineSpans = (block, line, spacingPerSpace, lineTextStartOffsetPx) => {
310279
+ const segmentsByRun = /* @__PURE__ */ new Map;
310280
+ line.segments?.forEach((segment) => {
310281
+ const segments = segmentsByRun.get(segment.runIndex);
310282
+ if (segments)
310283
+ segments.push(segment);
310284
+ else
310285
+ segmentsByRun.set(segment.runIndex, [segment]);
310286
+ });
310287
+ const spans = [];
310288
+ let currentX = lineTextStartOffsetPx;
310289
+ for (let runIndex = line.fromRun;runIndex <= line.toRun; runIndex += 1) {
310290
+ const run2 = block.runs[runIndex];
310291
+ if (!run2)
310292
+ continue;
310293
+ const width = runInlinePaintWidth(run2, runIndex, segmentsByRun, spacingPerSpace);
310294
+ if (canPaintUnderlineOverlay(run2))
310295
+ appendUnderlineOverlaySpan(spans, currentX, currentX + width, underlineBorderForRun(run2));
310296
+ currentX += width;
310297
+ }
310298
+ return spans;
310299
+ }, renderUnderlineSpans = (spans, top$1, el, doc$12) => {
310300
+ spans.forEach((span) => {
310301
+ const overlay = doc$12.createElement("div");
310302
+ overlay.classList.add("superdoc-underline-overlay");
310303
+ overlay.setAttribute("aria-hidden", "true");
310304
+ overlay.style.position = "absolute";
310305
+ overlay.style.left = `${span.from}px`;
310306
+ overlay.style.top = `${top$1}px`;
310307
+ overlay.style.width = `${Math.max(0, span.to - span.from)}px`;
310308
+ overlay.style.height = "0px";
310309
+ overlay.style.borderTop = span.border;
310310
+ overlay.style.pointerEvents = "none";
310311
+ overlay.style.zIndex = "2";
310312
+ el.appendChild(overlay);
310313
+ });
310229
310314
  }, renderLine = ({ block, line, context, availableWidthOverride, lineIndex, skipJustify, preExpandedRuns, resolvedListTextStartPx, indentOffsetOverride, paragraphMarkLeftOffsetOverride, runContext }) => {
310230
310315
  const expandedBlock = {
310231
310316
  ...block,
@@ -310320,6 +310405,11 @@ menclose::after {
310320
310405
  shouldJustify: justifyShouldApply
310321
310406
  });
310322
310407
  const lineContainsInlineImage = runsForLine.some((run2) => isImageRun$1(run2));
310408
+ const useSegmentPositioning = shouldUseSegmentPositioning(hasExplicitPositioning ?? false, Boolean(line.segments), isRtl);
310409
+ const overlayAlignment = block.attrs?.alignment;
310410
+ const overlayIndent = block.attrs?.indent;
310411
+ const inlineOverlayOriginMatchesContent = overlayAlignment !== "center" && overlayAlignment !== "right" && (overlayIndent?.hanging ?? 0) === 0 && (overlayIndent?.left ?? 0) >= 0;
310412
+ const useLineUnderlineOverlay = Boolean(line.segments) && !isRtl && shouldUseLineUnderlineOverlay(runsForLine) && (useSegmentPositioning || inlineOverlayOriginMatchesContent);
310323
310413
  const resolveLineIndentOffset = () => {
310324
310414
  if (indentOffsetOverride != null)
310325
310415
  return indentOffsetOverride;
@@ -310339,7 +310429,8 @@ menclose::after {
310339
310429
  const paragraphMarkLeftOffsetPx = lineTextStartOffsetPx;
310340
310430
  if (spacingPerSpace !== 0)
310341
310431
  el.style.wordSpacing = `${spacingPerSpace}px`;
310342
- if (shouldUseSegmentPositioning(hasExplicitPositioning ?? false, Boolean(line.segments), isRtl))
310432
+ const underlineSpans = [];
310433
+ if (useSegmentPositioning)
310343
310434
  renderExplicitlyPositionedRuns({
310344
310435
  block,
310345
310436
  line,
@@ -310350,9 +310441,11 @@ menclose::after {
310350
310441
  styleId,
310351
310442
  runContext,
310352
310443
  trackedConfig,
310353
- lineContainsInlineImage
310444
+ lineContainsInlineImage,
310445
+ useLineUnderlineOverlay,
310446
+ underlineSpanCollector: useLineUnderlineOverlay ? underlineSpans : undefined
310354
310447
  });
310355
- else
310448
+ else {
310356
310449
  renderInlineRuns({
310357
310450
  runsForLine,
310358
310451
  line,
@@ -310361,8 +310454,14 @@ menclose::after {
310361
310454
  styleId,
310362
310455
  runContext,
310363
310456
  trackedConfig,
310364
- lineContainsInlineImage
310457
+ lineContainsInlineImage,
310458
+ useLineUnderlineOverlay
310365
310459
  });
310460
+ if (useLineUnderlineOverlay)
310461
+ underlineSpans.push(...buildInlineUnderlineSpans(expandedBlock, line, spacingPerSpace, lineTextStartOffsetPx));
310462
+ }
310463
+ if (useLineUnderlineOverlay && underlineSpans.length > 0)
310464
+ renderUnderlineSpans(underlineSpans, underlineOffsetFromLineTop(line), el, runContext.doc);
310366
310465
  appendFormattingParagraphMark(el, line, expandedBlock.runs, paragraphMarkLeftOffsetPx, availableWidth, hasExplicitPositioning ?? false, runContext.doc, runContext.showFormattingMarks);
310367
310466
  el.querySelectorAll("a[href]").forEach((anchor) => {
310368
310467
  const pendingTooltip = runContext.pendingTooltips.get(anchor);
@@ -310372,7 +310471,7 @@ menclose::after {
310372
310471
  }
310373
310472
  });
310374
310473
  return el;
310375
- }, renderExplicitlyPositionedRuns = ({ block, line, context, el, lineTextStartOffsetPx, spacingPerSpace, styleId, runContext, trackedConfig, lineContainsInlineImage }) => {
310474
+ }, renderExplicitlyPositionedRuns = ({ block, line, context, el, lineTextStartOffsetPx, spacingPerSpace, styleId, runContext, trackedConfig, lineContainsInlineImage, useLineUnderlineOverlay, underlineSpanCollector }) => {
310376
310475
  const indentOffset = lineTextStartOffsetPx;
310377
310476
  let cumulativeX = 0;
310378
310477
  const segments = line.segments;
@@ -310441,8 +310540,11 @@ menclose::after {
310441
310540
  if (baseRun.kind === "tab") {
310442
310541
  const immediateNextSegment = findImmediateNextSegment(runIndex);
310443
310542
  const tabStartX = cumulativeX;
310444
- const { element: tabEl, tabEndX, actualTabWidth } = renderPositionedTabRun(baseRun, line, runContext.doc, runContext.layoutEpoch, tabStartX, indentOffset, immediateNextSegment, styleId);
310543
+ const coveredByOverlay$1 = useLineUnderlineOverlay && canPaintUnderlineOverlay(baseRun);
310544
+ const { element: tabEl, tabEndX, actualTabWidth } = renderPositionedTabRun(baseRun, line, runContext.doc, runContext.layoutEpoch, tabStartX, indentOffset, immediateNextSegment, styleId, !coveredByOverlay$1);
310445
310545
  appendToLineGeo(tabEl, baseRun, tabStartX + indentOffset, actualTabWidth);
310546
+ if (coveredByOverlay$1 && underlineSpanCollector)
310547
+ appendUnderlineOverlaySpan(underlineSpanCollector, tabStartX + indentOffset, tabStartX + indentOffset + actualTabWidth, underlineBorderForRun(baseRun));
310446
310548
  cumulativeX = tabEndX;
310447
310549
  continue;
310448
310550
  }
@@ -310521,6 +310623,7 @@ menclose::after {
310521
310623
  const baseText = baseRun.text ?? "";
310522
310624
  const runPmStart = baseRun.pmStart ?? null;
310523
310625
  const fallbackPmEnd = runPmStart != null && baseRun.pmEnd == null ? runPmStart + baseText.length : baseRun.pmEnd ?? null;
310626
+ const coveredByOverlay = useLineUnderlineOverlay && canPaintUnderlineOverlay(baseRun);
310524
310627
  runSegments.forEach((segment) => {
310525
310628
  const segmentText = baseText.slice(segment.fromChar, segment.toChar);
310526
310629
  if (!segmentText)
@@ -310531,10 +310634,13 @@ menclose::after {
310531
310634
  ...baseRun,
310532
310635
  text: segmentText,
310533
310636
  pmStart: pmSliceStart,
310534
- pmEnd: pmSliceEnd
310637
+ pmEnd: pmSliceEnd,
310638
+ ...coveredByOverlay ? { underline: undefined } : {}
310535
310639
  };
310536
310640
  const elem = renderRun(segmentRun, context, runContext, trackedConfig);
310537
310641
  if (elem) {
310642
+ if (coveredByOverlay)
310643
+ elem.style.textDecorationLine = segmentRun.strike ? "line-through" : "none";
310538
310644
  if (styleId)
310539
310645
  elem.setAttribute("styleid", styleId);
310540
310646
  alignNormalTextBesideInlineImage(elem, segmentRun, lineContainsInlineImage);
@@ -310544,6 +310650,8 @@ menclose::after {
310544
310650
  elem.style.left = `${xPos}px`;
310545
310651
  appendToLineGeo(elem, segmentRun, xPos, segment.width);
310546
310652
  const visualWidth = segment.width + (spacingPerSpace !== 0 ? spacingPerSpace * countSpaces$1(segmentText) : 0);
310653
+ if (coveredByOverlay && underlineSpanCollector)
310654
+ appendUnderlineOverlaySpan(underlineSpanCollector, xPos, xPos + visualWidth, underlineBorderForRun(baseRun));
310547
310655
  cumulativeX = baseX + visualWidth;
310548
310656
  if (geoSdtWrapper)
310549
310657
  geoSdtMaxRight = Math.max(geoSdtMaxRight, xPos + visualWidth);
@@ -310551,7 +310659,7 @@ menclose::after {
310551
310659
  });
310552
310660
  }
310553
310661
  closeGeoSdtWrapper();
310554
- }, renderInlineRuns = ({ runsForLine, line, context, el, styleId, runContext, trackedConfig, lineContainsInlineImage }) => {
310662
+ }, renderInlineRuns = ({ runsForLine, line, context, el, styleId, runContext, trackedConfig, lineContainsInlineImage, useLineUnderlineOverlay }) => {
310555
310663
  let currentInlineSdtWrapper = null;
310556
310664
  let currentInlineSdtId = null;
310557
310665
  const closeCurrentWrapper = () => {
@@ -310566,11 +310674,15 @@ menclose::after {
310566
310674
  const runSdtId = resolved?.sdtId ?? null;
310567
310675
  if (runSdtId !== currentInlineSdtId)
310568
310676
  closeCurrentWrapper();
310569
- const elem = run2.kind === "tab" ? renderInlineTabRun(run2, line, runContext.doc, runContext.layoutEpoch, styleId) : renderRun(run2, context, runContext, trackedConfig);
310677
+ const suppressUnderline = useLineUnderlineOverlay && canPaintUnderlineOverlay(run2);
310678
+ const runForRender = suppressUnderline ? cloneRunWithoutUnderline(run2) : run2;
310679
+ const elem = run2.kind === "tab" ? renderInlineTabRun(runForRender, line, runContext.doc, runContext.layoutEpoch, styleId, !suppressUnderline) : renderRun(runForRender, context, runContext, trackedConfig);
310570
310680
  if (elem) {
310681
+ if (suppressUnderline && run2.kind !== "tab")
310682
+ elem.style.textDecorationLine = "strike" in runForRender && runForRender.strike ? "line-through" : "none";
310571
310683
  if (styleId)
310572
310684
  elem.setAttribute("styleid", styleId);
310573
- alignNormalTextBesideInlineImage(elem, run2, lineContainsInlineImage);
310685
+ alignNormalTextBesideInlineImage(elem, runForRender, lineContainsInlineImage);
310574
310686
  if (resolved) {
310575
310687
  if (!currentInlineSdtWrapper) {
310576
310688
  currentInlineSdtWrapper = runContext.createInlineSdtWrapper(resolved.sdt);
@@ -313429,7 +313541,13 @@ menclose::after {
313429
313541
  run2.text ?? "",
313430
313542
  "tab",
313431
313543
  run2.underline?.style ?? "",
313432
- run2.underline?.color ?? ""
313544
+ run2.underline?.color ?? "",
313545
+ run2.fontSize ?? "",
313546
+ run2.fontFamily ?? "",
313547
+ run2.bold ? 1 : 0,
313548
+ run2.italic ? 1 : 0,
313549
+ getFontConfigVersion(),
313550
+ run2.color ?? ""
313433
313551
  ].join(",");
313434
313552
  if (run2.kind === "fieldAnnotation") {
313435
313553
  const fieldRun = run2;
@@ -322264,7 +322382,7 @@ menclose::after {
322264
322382
  return;
322265
322383
  console.log(...args$1);
322266
322384
  }, HEADER_FOOTER_INIT_BUDGET_MS = 200, MAX_ZOOM_WARNING_THRESHOLD = 10, MAX_SELECTION_RECTS_PER_USER = 100, SEMANTIC_RESIZE_DEBOUNCE_MS = 120, MIN_SEMANTIC_CONTENT_WIDTH_PX = 1, GLOBAL_PERFORMANCE, PresentationEditor, ICONS, TEXTS, tableActionsOptions, TRACKED_MARK_NAMES;
322267
- var init_src_C8mTdIvv_es = __esm(() => {
322385
+ var init_src_BAgFSihz_es = __esm(() => {
322268
322386
  init_rolldown_runtime_Bg48TavK_es();
322269
322387
  init_SuperConverter_CcHCWpfX_es();
322270
322388
  init_jszip_C49i9kUs_es();
@@ -356666,7 +356784,7 @@ var init_zipper_yaJVJ4z9_es = __esm(() => {
356666
356784
 
356667
356785
  // ../../packages/superdoc/dist/super-editor.es.js
356668
356786
  var init_super_editor_es = __esm(() => {
356669
- init_src_C8mTdIvv_es();
356787
+ init_src_BAgFSihz_es();
356670
356788
  init_SuperConverter_CcHCWpfX_es();
356671
356789
  init_jszip_C49i9kUs_es();
356672
356790
  init_xml_js_CqGKpaft_es();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdoc-dev/cli",
3
- "version": "0.16.0-next.13",
3
+ "version": "0.16.0-next.14",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "superdoc": "./dist/index.js"
@@ -33,11 +33,11 @@
33
33
  "access": "public"
34
34
  },
35
35
  "optionalDependencies": {
36
- "@superdoc-dev/cli-darwin-arm64": "0.16.0-next.13",
37
- "@superdoc-dev/cli-darwin-x64": "0.16.0-next.13",
38
- "@superdoc-dev/cli-linux-x64": "0.16.0-next.13",
39
- "@superdoc-dev/cli-windows-x64": "0.16.0-next.13",
40
- "@superdoc-dev/cli-linux-arm64": "0.16.0-next.13"
36
+ "@superdoc-dev/cli-darwin-arm64": "0.16.0-next.14",
37
+ "@superdoc-dev/cli-darwin-x64": "0.16.0-next.14",
38
+ "@superdoc-dev/cli-linux-x64": "0.16.0-next.14",
39
+ "@superdoc-dev/cli-linux-arm64": "0.16.0-next.14",
40
+ "@superdoc-dev/cli-windows-x64": "0.16.0-next.14"
41
41
  },
42
42
  "scripts": {
43
43
  "predev": "node scripts/ensure-superdoc-build.js",