@diplodoc/yfmlint 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.js CHANGED
@@ -3041,14 +3041,14 @@ function filterByTypesCached(types, htmlFlow2) {
3041
3041
  function getReferenceLinkImageData() {
3042
3042
  return getCached(
3043
3043
  getReferenceLinkImageData.name,
3044
- () => (0, import_helpers8.getReferenceLinkImageData)(params.parsers.micromark.tokens)
3044
+ () => (0, import_helpers10.getReferenceLinkImageData)(params.parsers.micromark.tokens)
3045
3045
  );
3046
3046
  }
3047
- var import_helpers8, import_micromark_helpers, map, params;
3047
+ var import_helpers10, import_micromark_helpers, map, params;
3048
3048
  var init_cache = __esm({
3049
3049
  "node_modules/markdownlint/lib/cache.mjs"() {
3050
3050
  "use strict";
3051
- import_helpers8 = __toESM(require_helpers(), 1);
3051
+ import_helpers10 = __toESM(require_helpers(), 1);
3052
3052
  import_micromark_helpers = __toESM(require_micromark_helpers(), 1);
3053
3053
  map = /* @__PURE__ */ new Map();
3054
3054
  params = void 0;
@@ -8628,11 +8628,11 @@ var require_resolve_module = __commonJS({
8628
8628
  });
8629
8629
 
8630
8630
  // node_modules/markdownlint/lib/md001.mjs
8631
- var import_helpers9, import_micromark_helpers2, md001_default;
8631
+ var import_helpers11, import_micromark_helpers2, md001_default;
8632
8632
  var init_md001 = __esm({
8633
8633
  "node_modules/markdownlint/lib/md001.mjs"() {
8634
8634
  "use strict";
8635
- import_helpers9 = __toESM(require_helpers(), 1);
8635
+ import_helpers11 = __toESM(require_helpers(), 1);
8636
8636
  import_micromark_helpers2 = __toESM(require_micromark_helpers(), 1);
8637
8637
  init_cache();
8638
8638
  md001_default = {
@@ -8645,7 +8645,7 @@ var init_md001 = __esm({
8645
8645
  for (const heading of filterByTypesCached(["atxHeading", "setextHeading"])) {
8646
8646
  const level = (0, import_micromark_helpers2.getHeadingLevel)(heading);
8647
8647
  if (level > prevLevel) {
8648
- (0, import_helpers9.addErrorDetailIf)(
8648
+ (0, import_helpers11.addErrorDetailIf)(
8649
8649
  onError,
8650
8650
  heading.startLine,
8651
8651
  `h${prevLevel + 1}`,
@@ -8660,11 +8660,11 @@ var init_md001 = __esm({
8660
8660
  });
8661
8661
 
8662
8662
  // node_modules/markdownlint/lib/md003.mjs
8663
- var import_helpers10, import_micromark_helpers3, md003_default;
8663
+ var import_helpers12, import_micromark_helpers3, md003_default;
8664
8664
  var init_md003 = __esm({
8665
8665
  "node_modules/markdownlint/lib/md003.mjs"() {
8666
8666
  "use strict";
8667
- import_helpers10 = __toESM(require_helpers(), 1);
8667
+ import_helpers12 = __toESM(require_helpers(), 1);
8668
8668
  import_micromark_helpers3 = __toESM(require_micromark_helpers(), 1);
8669
8669
  init_cache();
8670
8670
  md003_default = {
@@ -8690,7 +8690,7 @@ var init_md003 = __esm({
8690
8690
  } else if (style === "setext_with_atx_closed") {
8691
8691
  expected = h12 ? "setext" : "atx_closed";
8692
8692
  }
8693
- (0, import_helpers10.addErrorDetailIf)(
8693
+ (0, import_helpers12.addErrorDetailIf)(
8694
8694
  onError,
8695
8695
  heading.startLine,
8696
8696
  expected,
@@ -8705,11 +8705,11 @@ var init_md003 = __esm({
8705
8705
  });
8706
8706
 
8707
8707
  // node_modules/markdownlint/lib/md004.mjs
8708
- var import_helpers11, import_micromark_helpers4, markerToStyle, styleToMarker, differentItemStyle, validStyles, md004_default;
8708
+ var import_helpers13, import_micromark_helpers4, markerToStyle, styleToMarker, differentItemStyle, validStyles, md004_default;
8709
8709
  var init_md004 = __esm({
8710
8710
  "node_modules/markdownlint/lib/md004.mjs"() {
8711
8711
  "use strict";
8712
- import_helpers11 = __toESM(require_helpers(), 1);
8712
+ import_helpers13 = __toESM(require_helpers(), 1);
8713
8713
  import_micromark_helpers4 = __toESM(require_micromark_helpers(), 1);
8714
8714
  init_cache();
8715
8715
  markerToStyle = {
@@ -8764,7 +8764,7 @@ var init_md004 = __esm({
8764
8764
  }
8765
8765
  const column = listItemMarker.startColumn;
8766
8766
  const length = listItemMarker.endColumn - listItemMarker.startColumn;
8767
- (0, import_helpers11.addErrorDetailIf)(
8767
+ (0, import_helpers13.addErrorDetailIf)(
8768
8768
  onError,
8769
8769
  listItemMarker.startLine,
8770
8770
  expectedStyle,
@@ -8786,11 +8786,11 @@ var init_md004 = __esm({
8786
8786
  });
8787
8787
 
8788
8788
  // node_modules/markdownlint/lib/md005.mjs
8789
- var import_helpers12, md005_default;
8789
+ var import_helpers14, md005_default;
8790
8790
  var init_md005 = __esm({
8791
8791
  "node_modules/markdownlint/lib/md005.mjs"() {
8792
8792
  "use strict";
8793
- import_helpers12 = __toESM(require_helpers(), 1);
8793
+ import_helpers14 = __toESM(require_helpers(), 1);
8794
8794
  init_cache();
8795
8795
  md005_default = {
8796
8796
  "names": ["MD005", "list-indent"],
@@ -8808,7 +8808,7 @@ var init_md005 = __esm({
8808
8808
  const actualIndent = listItemPrefix.startColumn - 1;
8809
8809
  const range = [1, listItemPrefix.endColumn - 1];
8810
8810
  if (list2.type === "listUnordered") {
8811
- (0, import_helpers12.addErrorDetailIf)(
8811
+ (0, import_helpers14.addErrorDetailIf)(
8812
8812
  onError,
8813
8813
  lineNumber,
8814
8814
  expectedIndent,
@@ -8829,7 +8829,7 @@ var init_md005 = __esm({
8829
8829
  const detail = endMatching ? `Expected: (${expectedEnd}); Actual: (${actualEnd})` : `Expected: ${expectedIndent}; Actual: ${actualIndent}`;
8830
8830
  const expected = endMatching ? expectedEnd - markerLength : expectedIndent;
8831
8831
  const actual = endMatching ? actualEnd - markerLength : actualIndent;
8832
- (0, import_helpers12.addError)(
8832
+ (0, import_helpers14.addError)(
8833
8833
  onError,
8834
8834
  lineNumber,
8835
8835
  detail,
@@ -8852,11 +8852,11 @@ var init_md005 = __esm({
8852
8852
  });
8853
8853
 
8854
8854
  // node_modules/markdownlint/lib/md007.mjs
8855
- var import_helpers13, import_micromark_helpers5, unorderedListTypes, unorderedParentTypes, md007_default;
8855
+ var import_helpers15, import_micromark_helpers5, unorderedListTypes, unorderedParentTypes, md007_default;
8856
8856
  var init_md007 = __esm({
8857
8857
  "node_modules/markdownlint/lib/md007.mjs"() {
8858
8858
  "use strict";
8859
- import_helpers13 = __toESM(require_helpers(), 1);
8859
+ import_helpers15 = __toESM(require_helpers(), 1);
8860
8860
  import_micromark_helpers5 = __toESM(require_micromark_helpers(), 1);
8861
8861
  init_cache();
8862
8862
  unorderedListTypes = ["blockQuotePrefix", "listItemPrefix", "listUnordered"];
@@ -8907,7 +8907,7 @@ var init_md007 = __esm({
8907
8907
  "deleteCount": Math.max(actualIndent - expectedIndent, 0),
8908
8908
  "insertText": "".padEnd(Math.max(expectedIndent - actualIndent, 0))
8909
8909
  };
8910
- (0, import_helpers13.addErrorDetailIf)(
8910
+ (0, import_helpers15.addErrorDetailIf)(
8911
8911
  onError,
8912
8912
  startLine,
8913
8913
  expectedIndent,
@@ -8926,11 +8926,11 @@ var init_md007 = __esm({
8926
8926
  });
8927
8927
 
8928
8928
  // node_modules/markdownlint/lib/md009.mjs
8929
- var import_helpers14, import_micromark_helpers6, md009_default;
8929
+ var import_helpers16, import_micromark_helpers6, md009_default;
8930
8930
  var init_md009 = __esm({
8931
8931
  "node_modules/markdownlint/lib/md009.mjs"() {
8932
8932
  "use strict";
8933
- import_helpers14 = __toESM(require_helpers(), 1);
8933
+ import_helpers16 = __toESM(require_helpers(), 1);
8934
8934
  import_micromark_helpers6 = __toESM(require_micromark_helpers(), 1);
8935
8935
  init_cache();
8936
8936
  md009_default = {
@@ -8992,7 +8992,7 @@ var init_md009 = __esm({
8992
8992
  const trailingSpaces = line.length - line.trimEnd().length;
8993
8993
  if (trailingSpaces && !codeBlockLineNumbers.has(lineNumber) && !listItemLineNumbers.has(lineNumber) && (expected !== trailingSpaces || strict && (!paragraphLineNumbers.has(lineNumber) || codeInlineLineNumbers.has(lineNumber)))) {
8994
8994
  const column = line.length - trailingSpaces + 1;
8995
- (0, import_helpers14.addError)(
8995
+ (0, import_helpers16.addError)(
8996
8996
  onError,
8997
8997
  lineNumber,
8998
8998
  "Expected: " + (expected === 0 ? "" : "0 or ") + expected + "; Actual: " + trailingSpaces,
@@ -9011,11 +9011,11 @@ var init_md009 = __esm({
9011
9011
  });
9012
9012
 
9013
9013
  // node_modules/markdownlint/lib/md010.mjs
9014
- var import_helpers15, import_micromark_helpers7, tabRe, md010_default;
9014
+ var import_helpers17, import_micromark_helpers7, tabRe, md010_default;
9015
9015
  var init_md010 = __esm({
9016
9016
  "node_modules/markdownlint/lib/md010.mjs"() {
9017
9017
  "use strict";
9018
- import_helpers15 = __toESM(require_helpers(), 1);
9018
+ import_helpers17 = __toESM(require_helpers(), 1);
9019
9019
  import_micromark_helpers7 = __toESM(require_micromark_helpers(), 1);
9020
9020
  init_cache();
9021
9021
  tabRe = /\t+/g;
@@ -9065,8 +9065,8 @@ var init_md010 = __esm({
9065
9065
  const column = match.index + 1;
9066
9066
  const length = match[0].length;
9067
9067
  const range = { "startLine": lineNumber, "startColumn": column, "endLine": lineNumber, "endColumn": column + length - 1 };
9068
- if (!codeRanges.some((codeRange) => (0, import_helpers15.hasOverlap)(codeRange, range))) {
9069
- (0, import_helpers15.addError)(
9068
+ if (!codeRanges.some((codeRange) => (0, import_helpers17.hasOverlap)(codeRange, range))) {
9069
+ (0, import_helpers17.addError)(
9070
9070
  onError,
9071
9071
  lineNumber,
9072
9072
  "Column: " + column,
@@ -9087,11 +9087,11 @@ var init_md010 = __esm({
9087
9087
  });
9088
9088
 
9089
9089
  // node_modules/markdownlint/lib/md011.mjs
9090
- var import_helpers16, import_micromark_helpers8, reversedLinkRe, md011_default;
9090
+ var import_helpers18, import_micromark_helpers8, reversedLinkRe, md011_default;
9091
9091
  var init_md011 = __esm({
9092
9092
  "node_modules/markdownlint/lib/md011.mjs"() {
9093
9093
  "use strict";
9094
- import_helpers16 = __toESM(require_helpers(), 1);
9094
+ import_helpers18 = __toESM(require_helpers(), 1);
9095
9095
  import_micromark_helpers8 = __toESM(require_micromark_helpers(), 1);
9096
9096
  init_cache();
9097
9097
  reversedLinkRe = /(^|[^\\])\(([^()]+)\)\[([^\]^][^\]]*)\](?!\()/g;
@@ -9116,8 +9116,8 @@ var init_md011 = __esm({
9116
9116
  const column = match.index + preChar.length + 1;
9117
9117
  const length = match[0].length - preChar.length;
9118
9118
  const range = { "startLine": lineNumber, "startColumn": column, "endLine": lineNumber, "endColumn": column + length - 1 };
9119
- if (!codeTexts.some((codeText2) => (0, import_helpers16.hasOverlap)(codeText2, range))) {
9120
- (0, import_helpers16.addError)(
9119
+ if (!codeTexts.some((codeText2) => (0, import_helpers18.hasOverlap)(codeText2, range))) {
9120
+ (0, import_helpers18.addError)(
9121
9121
  onError,
9122
9122
  lineNumber,
9123
9123
  reversedLink.slice(preChar.length),
@@ -9140,11 +9140,11 @@ var init_md011 = __esm({
9140
9140
  });
9141
9141
 
9142
9142
  // node_modules/markdownlint/lib/md012.mjs
9143
- var import_helpers17, import_micromark_helpers9, md012_default;
9143
+ var import_helpers19, import_micromark_helpers9, md012_default;
9144
9144
  var init_md012 = __esm({
9145
9145
  "node_modules/markdownlint/lib/md012.mjs"() {
9146
9146
  "use strict";
9147
- import_helpers17 = __toESM(require_helpers(), 1);
9147
+ import_helpers19 = __toESM(require_helpers(), 1);
9148
9148
  import_micromark_helpers9 = __toESM(require_micromark_helpers(), 1);
9149
9149
  init_cache();
9150
9150
  md012_default = {
@@ -9164,7 +9164,7 @@ var init_md012 = __esm({
9164
9164
  const inCode = codeBlockLineNumbers.has(lineIndex + 1);
9165
9165
  count = inCode || line.trim().length > 0 ? 0 : count + 1;
9166
9166
  if (maximum < count) {
9167
- (0, import_helpers17.addErrorDetailIf)(
9167
+ (0, import_helpers19.addErrorDetailIf)(
9168
9168
  onError,
9169
9169
  lineIndex + 1,
9170
9170
  maximum,
@@ -9184,11 +9184,11 @@ var init_md012 = __esm({
9184
9184
  });
9185
9185
 
9186
9186
  // node_modules/markdownlint/lib/md013.mjs
9187
- var import_helpers18, import_micromark_helpers10, longLineRePrefix, longLineRePostfixRelaxed, longLineRePostfixStrict, sternModeRe, md013_default;
9187
+ var import_helpers20, import_micromark_helpers10, longLineRePrefix, longLineRePostfixRelaxed, longLineRePostfixStrict, sternModeRe, md013_default;
9188
9188
  var init_md013 = __esm({
9189
9189
  "node_modules/markdownlint/lib/md013.mjs"() {
9190
9190
  "use strict";
9191
- import_helpers18 = __toESM(require_helpers(), 1);
9191
+ import_helpers20 = __toESM(require_helpers(), 1);
9192
9192
  init_cache();
9193
9193
  import_micromark_helpers10 = __toESM(require_micromark_helpers(), 1);
9194
9194
  longLineRePrefix = "^.{";
@@ -9254,7 +9254,7 @@ var init_md013 = __esm({
9254
9254
  const length = inCode ? codeLineLength : isHeading ? headingLineLength : lineLength;
9255
9255
  const lengthRe = inCode ? longCodeLineRe : isHeading ? longHeadingLineRe : longLineRe;
9256
9256
  if ((includeCodeBlocks || !inCode) && (includeTables || !inTable) && (includeHeadings || !isHeading) && !definitionLineIndices.has(lineIndex) && (strict || !(stern && sternModeRe.test(line)) && !linkOnlyLineNumbers.has(lineNumber)) && lengthRe.test(line)) {
9257
- (0, import_helpers18.addErrorDetailIf)(
9257
+ (0, import_helpers20.addErrorDetailIf)(
9258
9258
  onError,
9259
9259
  lineNumber,
9260
9260
  length,
@@ -9271,11 +9271,11 @@ var init_md013 = __esm({
9271
9271
  });
9272
9272
 
9273
9273
  // node_modules/markdownlint/lib/md014.mjs
9274
- var import_helpers19, dollarCommandRe, md014_default;
9274
+ var import_helpers21, dollarCommandRe, md014_default;
9275
9275
  var init_md014 = __esm({
9276
9276
  "node_modules/markdownlint/lib/md014.mjs"() {
9277
9277
  "use strict";
9278
- import_helpers19 = __toESM(require_helpers(), 1);
9278
+ import_helpers21 = __toESM(require_helpers(), 1);
9279
9279
  init_cache();
9280
9280
  dollarCommandRe = /^(\s*)(\$\s+)/;
9281
9281
  md014_default = {
@@ -9296,7 +9296,7 @@ var init_md014 = __esm({
9296
9296
  for (const dollarMatch of dollarMatches) {
9297
9297
  const column = dollarMatch.startColumn + dollarMatch.result[1].length;
9298
9298
  const length = dollarMatch.result[2].length;
9299
- (0, import_helpers19.addErrorContext)(
9299
+ (0, import_helpers21.addErrorContext)(
9300
9300
  onError,
9301
9301
  dollarMatch.startLine,
9302
9302
  dollarMatch.text,
@@ -9317,11 +9317,11 @@ var init_md014 = __esm({
9317
9317
  });
9318
9318
 
9319
9319
  // node_modules/markdownlint/lib/md018.mjs
9320
- var import_helpers20, import_micromark_helpers11, md018_default;
9320
+ var import_helpers22, import_micromark_helpers11, md018_default;
9321
9321
  var init_md018 = __esm({
9322
9322
  "node_modules/markdownlint/lib/md018.mjs"() {
9323
9323
  "use strict";
9324
- import_helpers20 = __toESM(require_helpers(), 1);
9324
+ import_helpers22 = __toESM(require_helpers(), 1);
9325
9325
  import_micromark_helpers11 = __toESM(require_micromark_helpers(), 1);
9326
9326
  init_cache();
9327
9327
  md018_default = {
@@ -9338,7 +9338,7 @@ var init_md018 = __esm({
9338
9338
  for (const [lineIndex, line] of lines.entries()) {
9339
9339
  if (!ignoreBlockLineNumbers.has(lineIndex + 1) && /^#+[^# \t]/.test(line) && !/#\s*$/.test(line) && !line.startsWith("#\uFE0F\u20E3")) {
9340
9340
  const hashCount = /^#+/.exec(line)[0].length;
9341
- (0, import_helpers20.addErrorContext)(
9341
+ (0, import_helpers22.addErrorContext)(
9342
9342
  onError,
9343
9343
  lineIndex + 1,
9344
9344
  line.trim(),
@@ -9369,7 +9369,7 @@ function validateHeadingSpaces(onError, heading, delta) {
9369
9369
  if ((headingSequence == null ? void 0 : headingSequence.type) === "atxHeadingSequence" && (whitespace == null ? void 0 : whitespace.type) === "whitespace" && whitespace.text.length > 1) {
9370
9370
  const column = whitespace.startColumn + 1;
9371
9371
  const length = whitespace.endColumn - column;
9372
- (0, import_helpers21.addErrorContext)(
9372
+ (0, import_helpers23.addErrorContext)(
9373
9373
  onError,
9374
9374
  startLine,
9375
9375
  text4.trim(),
@@ -9383,11 +9383,11 @@ function validateHeadingSpaces(onError, heading, delta) {
9383
9383
  );
9384
9384
  }
9385
9385
  }
9386
- var import_helpers21, import_micromark_helpers12, md019_md021_default;
9386
+ var import_helpers23, import_micromark_helpers12, md019_md021_default;
9387
9387
  var init_md019_md021 = __esm({
9388
9388
  "node_modules/markdownlint/lib/md019-md021.mjs"() {
9389
9389
  "use strict";
9390
- import_helpers21 = __toESM(require_helpers(), 1);
9390
+ import_helpers23 = __toESM(require_helpers(), 1);
9391
9391
  import_micromark_helpers12 = __toESM(require_micromark_helpers(), 1);
9392
9392
  init_cache();
9393
9393
  md019_md021_default = [
@@ -9421,11 +9421,11 @@ var init_md019_md021 = __esm({
9421
9421
  });
9422
9422
 
9423
9423
  // node_modules/markdownlint/lib/md020.mjs
9424
- var import_helpers22, import_micromark_helpers13, md020_default;
9424
+ var import_helpers24, import_micromark_helpers13, md020_default;
9425
9425
  var init_md020 = __esm({
9426
9426
  "node_modules/markdownlint/lib/md020.mjs"() {
9427
9427
  "use strict";
9428
- import_helpers22 = __toESM(require_helpers(), 1);
9428
+ import_helpers24 = __toESM(require_helpers(), 1);
9429
9429
  import_micromark_helpers13 = __toESM(require_micromark_helpers(), 1);
9430
9430
  init_cache();
9431
9431
  md020_default = {
@@ -9466,7 +9466,7 @@ var init_md020 = __esm({
9466
9466
  line.length - trailSpaceLength - rightHashLength,
9467
9467
  rightHashLength + 1
9468
9468
  ];
9469
- (0, import_helpers22.addErrorContext)(
9469
+ (0, import_helpers24.addErrorContext)(
9470
9470
  onError,
9471
9471
  lineIndex + 1,
9472
9472
  line.trim(),
@@ -9489,11 +9489,11 @@ var init_md020 = __esm({
9489
9489
  });
9490
9490
 
9491
9491
  // node_modules/markdownlint/lib/md022.mjs
9492
- var import_helpers23, import_micromark_helpers14, defaultLines, getLinesFunction, md022_default;
9492
+ var import_helpers25, import_micromark_helpers14, defaultLines, getLinesFunction, md022_default;
9493
9493
  var init_md022 = __esm({
9494
9494
  "node_modules/markdownlint/lib/md022.mjs"() {
9495
9495
  "use strict";
9496
- import_helpers23 = __toESM(require_helpers(), 1);
9496
+ import_helpers25 = __toESM(require_helpers(), 1);
9497
9497
  import_micromark_helpers14 = __toESM(require_micromark_helpers(), 1);
9498
9498
  init_cache();
9499
9499
  defaultLines = 1;
@@ -9524,10 +9524,10 @@ var init_md022 = __esm({
9524
9524
  const linesAbove = getLinesAbove(heading);
9525
9525
  if (linesAbove >= 0) {
9526
9526
  let actualAbove = 0;
9527
- for (let i = 0; i < linesAbove && (0, import_helpers23.isBlankLine)(lines[startLine - 2 - i]); i++) {
9527
+ for (let i = 0; i < linesAbove && (0, import_helpers25.isBlankLine)(lines[startLine - 2 - i]); i++) {
9528
9528
  actualAbove++;
9529
9529
  }
9530
- (0, import_helpers23.addErrorDetailIf)(
9530
+ (0, import_helpers25.addErrorDetailIf)(
9531
9531
  onError,
9532
9532
  startLine,
9533
9533
  linesAbove,
@@ -9547,10 +9547,10 @@ var init_md022 = __esm({
9547
9547
  const linesBelow = getLinesBelow(heading);
9548
9548
  if (linesBelow >= 0) {
9549
9549
  let actualBelow = 0;
9550
- for (let i = 0; i < linesBelow && (0, import_helpers23.isBlankLine)(lines[endLine + i]); i++) {
9550
+ for (let i = 0; i < linesBelow && (0, import_helpers25.isBlankLine)(lines[endLine + i]); i++) {
9551
9551
  actualBelow++;
9552
9552
  }
9553
- (0, import_helpers23.addErrorDetailIf)(
9553
+ (0, import_helpers25.addErrorDetailIf)(
9554
9554
  onError,
9555
9555
  startLine,
9556
9556
  linesBelow,
@@ -9575,11 +9575,11 @@ var init_md022 = __esm({
9575
9575
  });
9576
9576
 
9577
9577
  // node_modules/markdownlint/lib/md023.mjs
9578
- var import_helpers24, md023_default;
9578
+ var import_helpers26, md023_default;
9579
9579
  var init_md023 = __esm({
9580
9580
  "node_modules/markdownlint/lib/md023.mjs"() {
9581
9581
  "use strict";
9582
- import_helpers24 = __toESM(require_helpers(), 1);
9582
+ import_helpers26 = __toESM(require_helpers(), 1);
9583
9583
  init_cache();
9584
9584
  md023_default = {
9585
9585
  "names": ["MD023", "heading-start-left"],
@@ -9592,7 +9592,7 @@ var init_md023 = __esm({
9592
9592
  if (headings[i].type === "linePrefix" && headings[i + 1].type !== "linePrefix" && headings[i].startLine === headings[i + 1].startLine) {
9593
9593
  const { endColumn, startColumn, startLine } = headings[i];
9594
9594
  const length = endColumn - startColumn;
9595
- (0, import_helpers24.addErrorContext)(
9595
+ (0, import_helpers26.addErrorContext)(
9596
9596
  onError,
9597
9597
  startLine,
9598
9598
  params2.lines[startLine - 1],
@@ -9612,11 +9612,11 @@ var init_md023 = __esm({
9612
9612
  });
9613
9613
 
9614
9614
  // node_modules/markdownlint/lib/md024.mjs
9615
- var import_helpers25, import_micromark_helpers15, md024_default;
9615
+ var import_helpers27, import_micromark_helpers15, md024_default;
9616
9616
  var init_md024 = __esm({
9617
9617
  "node_modules/markdownlint/lib/md024.mjs"() {
9618
9618
  "use strict";
9619
- import_helpers25 = __toESM(require_helpers(), 1);
9619
+ import_helpers27 = __toESM(require_helpers(), 1);
9620
9620
  import_micromark_helpers15 = __toESM(require_micromark_helpers(), 1);
9621
9621
  init_cache();
9622
9622
  md024_default = {
@@ -9644,7 +9644,7 @@ var init_md024 = __esm({
9644
9644
  knownContent = knownContents[newLevel];
9645
9645
  }
9646
9646
  if (knownContent.includes(headingText)) {
9647
- (0, import_helpers25.addErrorContext)(
9647
+ (0, import_helpers27.addErrorContext)(
9648
9648
  onError,
9649
9649
  heading.startLine,
9650
9650
  headingText.trim()
@@ -9659,11 +9659,11 @@ var init_md024 = __esm({
9659
9659
  });
9660
9660
 
9661
9661
  // node_modules/markdownlint/lib/md025.mjs
9662
- var import_helpers26, import_micromark_helpers16, md025_default;
9662
+ var import_helpers28, import_micromark_helpers16, md025_default;
9663
9663
  var init_md025 = __esm({
9664
9664
  "node_modules/markdownlint/lib/md025.mjs"() {
9665
9665
  "use strict";
9666
- import_helpers26 = __toESM(require_helpers(), 1);
9666
+ import_helpers28 = __toESM(require_helpers(), 1);
9667
9667
  import_micromark_helpers16 = __toESM(require_micromark_helpers(), 1);
9668
9668
  init_cache();
9669
9669
  md025_default = {
@@ -9673,7 +9673,7 @@ var init_md025 = __esm({
9673
9673
  "parser": "micromark",
9674
9674
  "function": function MD025(params2, onError) {
9675
9675
  const level = Number(params2.config.level || 1);
9676
- const foundFrontMatterTitle = (0, import_helpers26.frontMatterHasTitle)(
9676
+ const foundFrontMatterTitle = (0, import_helpers28.frontMatterHasTitle)(
9677
9677
  params2.frontMatterLines,
9678
9678
  params2.config.front_matter_title
9679
9679
  );
@@ -9683,7 +9683,7 @@ var init_md025 = __esm({
9683
9683
  if (headingLevel === level) {
9684
9684
  if (hasTopLevelHeading || foundFrontMatterTitle) {
9685
9685
  const headingText = (0, import_micromark_helpers16.getHeadingText)(heading);
9686
- (0, import_helpers26.addErrorContext)(
9686
+ (0, import_helpers28.addErrorContext)(
9687
9687
  onError,
9688
9688
  heading.startLine,
9689
9689
  headingText
@@ -9699,11 +9699,11 @@ var init_md025 = __esm({
9699
9699
  });
9700
9700
 
9701
9701
  // node_modules/markdownlint/lib/md026.mjs
9702
- var import_helpers27, md026_default;
9702
+ var import_helpers29, md026_default;
9703
9703
  var init_md026 = __esm({
9704
9704
  "node_modules/markdownlint/lib/md026.mjs"() {
9705
9705
  "use strict";
9706
- import_helpers27 = __toESM(require_helpers(), 1);
9706
+ import_helpers29 = __toESM(require_helpers(), 1);
9707
9707
  init_cache();
9708
9708
  md026_default = {
9709
9709
  "names": ["MD026", "no-trailing-punctuation"],
@@ -9713,18 +9713,18 @@ var init_md026 = __esm({
9713
9713
  "function": function MD026(params2, onError) {
9714
9714
  let punctuation = params2.config.punctuation;
9715
9715
  punctuation = String(
9716
- punctuation === void 0 ? import_helpers27.allPunctuationNoQuestion : punctuation
9716
+ punctuation === void 0 ? import_helpers29.allPunctuationNoQuestion : punctuation
9717
9717
  );
9718
- const trailingPunctuationRe = new RegExp("\\s*[" + (0, import_helpers27.escapeForRegExp)(punctuation) + "]+$");
9718
+ const trailingPunctuationRe = new RegExp("\\s*[" + (0, import_helpers29.escapeForRegExp)(punctuation) + "]+$");
9719
9719
  const headings = filterByTypesCached(["atxHeadingText", "setextHeadingText"]);
9720
9720
  for (const heading of headings) {
9721
9721
  const { endColumn, endLine, text: text4 } = heading;
9722
9722
  const match = trailingPunctuationRe.exec(text4);
9723
- if (match && !import_helpers27.endOfLineHtmlEntityRe.test(text4) && !import_helpers27.endOfLineGemojiCodeRe.test(text4)) {
9723
+ if (match && !import_helpers29.endOfLineHtmlEntityRe.test(text4) && !import_helpers29.endOfLineGemojiCodeRe.test(text4)) {
9724
9724
  const fullMatch = match[0];
9725
9725
  const length = fullMatch.length;
9726
9726
  const column = endColumn - length;
9727
- (0, import_helpers27.addError)(
9727
+ (0, import_helpers29.addError)(
9728
9728
  onError,
9729
9729
  endLine,
9730
9730
  `Punctuation: '${fullMatch}'`,
@@ -9743,11 +9743,11 @@ var init_md026 = __esm({
9743
9743
  });
9744
9744
 
9745
9745
  // node_modules/markdownlint/lib/md027.mjs
9746
- var import_helpers28, md027_default;
9746
+ var import_helpers30, md027_default;
9747
9747
  var init_md027 = __esm({
9748
9748
  "node_modules/markdownlint/lib/md027.mjs"() {
9749
9749
  "use strict";
9750
- import_helpers28 = __toESM(require_helpers(), 1);
9750
+ import_helpers30 = __toESM(require_helpers(), 1);
9751
9751
  init_cache();
9752
9752
  md027_default = {
9753
9753
  "names": ["MD027", "no-multiple-space-blockquote"],
@@ -9765,7 +9765,7 @@ var init_md027 = __esm({
9765
9765
  const { startColumn, startLine, text: text4 } = token;
9766
9766
  const { length } = text4;
9767
9767
  const line = params2.lines[startLine - 1];
9768
- (0, import_helpers28.addErrorContext)(
9768
+ (0, import_helpers30.addErrorContext)(
9769
9769
  onError,
9770
9770
  startLine,
9771
9771
  line,
@@ -9785,11 +9785,11 @@ var init_md027 = __esm({
9785
9785
  });
9786
9786
 
9787
9787
  // node_modules/markdownlint/lib/md028.mjs
9788
- var import_helpers29, ignoreTypes, md028_default;
9788
+ var import_helpers31, ignoreTypes, md028_default;
9789
9789
  var init_md028 = __esm({
9790
9790
  "node_modules/markdownlint/lib/md028.mjs"() {
9791
9791
  "use strict";
9792
- import_helpers29 = __toESM(require_helpers(), 1);
9792
+ import_helpers31 = __toESM(require_helpers(), 1);
9793
9793
  init_cache();
9794
9794
  ignoreTypes = /* @__PURE__ */ new Set(["lineEnding", "listItemIndent", "linePrefix"]);
9795
9795
  md028_default = {
@@ -9810,7 +9810,7 @@ var init_md028 = __esm({
9810
9810
  } else if (ignoreTypes.has(type)) {
9811
9811
  } else if (type === "blockQuote") {
9812
9812
  for (const lineNumber of errorLineNumbers) {
9813
- (0, import_helpers29.addError)(onError, lineNumber);
9813
+ (0, import_helpers31.addError)(onError, lineNumber);
9814
9814
  }
9815
9815
  break;
9816
9816
  } else {
@@ -9827,11 +9827,11 @@ var init_md028 = __esm({
9827
9827
  function getOrderedListItemValue(listItemPrefix) {
9828
9828
  return Number((0, import_micromark_helpers17.getDescendantsByType)(listItemPrefix, ["listItemValue"])[0].text);
9829
9829
  }
9830
- var import_helpers30, import_micromark_helpers17, listStyleExamples, md029_default;
9830
+ var import_helpers32, import_micromark_helpers17, listStyleExamples, md029_default;
9831
9831
  var init_md029 = __esm({
9832
9832
  "node_modules/markdownlint/lib/md029.mjs"() {
9833
9833
  "use strict";
9834
- import_helpers30 = __toESM(require_helpers(), 1);
9834
+ import_helpers32 = __toESM(require_helpers(), 1);
9835
9835
  import_micromark_helpers17 = __toESM(require_micromark_helpers(), 1);
9836
9836
  init_cache();
9837
9837
  listStyleExamples = {
@@ -9870,7 +9870,7 @@ var init_md029 = __esm({
9870
9870
  }
9871
9871
  for (const listItemPrefix of listItemPrefixes) {
9872
9872
  const actual = getOrderedListItemValue(listItemPrefix);
9873
- (0, import_helpers30.addErrorDetailIf)(
9873
+ (0, import_helpers32.addErrorDetailIf)(
9874
9874
  onError,
9875
9875
  listItemPrefix.startLine,
9876
9876
  expected,
@@ -9890,11 +9890,11 @@ var init_md029 = __esm({
9890
9890
  });
9891
9891
 
9892
9892
  // node_modules/markdownlint/lib/md030.mjs
9893
- var import_helpers31, md030_default;
9893
+ var import_helpers33, md030_default;
9894
9894
  var init_md030 = __esm({
9895
9895
  "node_modules/markdownlint/lib/md030.mjs"() {
9896
9896
  "use strict";
9897
- import_helpers31 = __toESM(require_helpers(), 1);
9897
+ import_helpers33 = __toESM(require_helpers(), 1);
9898
9898
  init_cache();
9899
9899
  md030_default = {
9900
9900
  "names": ["MD030", "list-marker-space"],
@@ -9927,7 +9927,7 @@ var init_md030 = __esm({
9927
9927
  "deleteCount": actualSpaces,
9928
9928
  "insertText": "".padEnd(expectedSpaces)
9929
9929
  };
9930
- (0, import_helpers31.addErrorDetailIf)(
9930
+ (0, import_helpers33.addErrorDetailIf)(
9931
9931
  onError,
9932
9932
  startLine,
9933
9933
  expectedSpaces,
@@ -9954,7 +9954,7 @@ function addError7(onError, lines, lineNumber, top) {
9954
9954
  "insertText": `${prefix.replace(/[^>]/g, " ").trim()}
9955
9955
  `
9956
9956
  };
9957
- (0, import_helpers32.addErrorContext)(
9957
+ (0, import_helpers34.addErrorContext)(
9958
9958
  onError,
9959
9959
  lineNumber,
9960
9960
  line.trim(),
@@ -9964,11 +9964,11 @@ function addError7(onError, lines, lineNumber, top) {
9964
9964
  fixInfo
9965
9965
  );
9966
9966
  }
9967
- var import_helpers32, import_micromark_helpers18, codeFencePrefixRe, md031_default;
9967
+ var import_helpers34, import_micromark_helpers18, codeFencePrefixRe, md031_default;
9968
9968
  var init_md031 = __esm({
9969
9969
  "node_modules/markdownlint/lib/md031.mjs"() {
9970
9970
  "use strict";
9971
- import_helpers32 = __toESM(require_helpers(), 1);
9971
+ import_helpers34 = __toESM(require_helpers(), 1);
9972
9972
  import_micromark_helpers18 = __toESM(require_micromark_helpers(), 1);
9973
9973
  init_cache();
9974
9974
  codeFencePrefixRe = /^(.*?)[`~]/;
@@ -9983,10 +9983,10 @@ var init_md031 = __esm({
9983
9983
  const { lines } = params2;
9984
9984
  for (const codeBlock of filterByTypesCached(["codeFenced"])) {
9985
9985
  if (includeListItems || !(0, import_micromark_helpers18.getParentOfType)(codeBlock, ["listOrdered", "listUnordered"])) {
9986
- if (!(0, import_helpers32.isBlankLine)(lines[codeBlock.startLine - 2])) {
9986
+ if (!(0, import_helpers34.isBlankLine)(lines[codeBlock.startLine - 2])) {
9987
9987
  addError7(onError, lines, codeBlock.startLine, true);
9988
9988
  }
9989
- if (!(0, import_helpers32.isBlankLine)(lines[codeBlock.endLine]) && !(0, import_helpers32.isBlankLine)(lines[codeBlock.endLine - 1])) {
9989
+ if (!(0, import_helpers34.isBlankLine)(lines[codeBlock.endLine]) && !(0, import_helpers34.isBlankLine)(lines[codeBlock.endLine - 1])) {
9990
9990
  addError7(onError, lines, codeBlock.endLine, false);
9991
9991
  }
9992
9992
  }
@@ -9997,11 +9997,11 @@ var init_md031 = __esm({
9997
9997
  });
9998
9998
 
9999
9999
  // node_modules/markdownlint/lib/md032.mjs
10000
- var import_helpers33, import_micromark_helpers19, isList, md032_default;
10000
+ var import_helpers35, import_micromark_helpers19, isList, md032_default;
10001
10001
  var init_md032 = __esm({
10002
10002
  "node_modules/markdownlint/lib/md032.mjs"() {
10003
10003
  "use strict";
10004
- import_helpers33 = __toESM(require_helpers(), 1);
10004
+ import_helpers35 = __toESM(require_helpers(), 1);
10005
10005
  import_micromark_helpers19 = __toESM(require_micromark_helpers(), 1);
10006
10006
  init_cache();
10007
10007
  isList = (token) => token.type === "listOrdered" || token.type === "listUnordered";
@@ -10020,8 +10020,8 @@ var init_md032 = __esm({
10020
10020
  );
10021
10021
  for (const list2 of topLevelLists) {
10022
10022
  const firstLineNumber = list2.startLine;
10023
- if (!(0, import_helpers33.isBlankLine)(lines[firstLineNumber - 2])) {
10024
- (0, import_helpers33.addErrorContext)(
10023
+ if (!(0, import_helpers35.isBlankLine)(lines[firstLineNumber - 2])) {
10024
+ (0, import_helpers35.addErrorContext)(
10025
10025
  onError,
10026
10026
  firstLineNumber,
10027
10027
  lines[firstLineNumber - 1].trim(),
@@ -10043,8 +10043,8 @@ var init_md032 = __esm({
10043
10043
  endLine = flattenedChildren[flattenedChildren.length - 1].endLine;
10044
10044
  }
10045
10045
  const lastLineNumber = endLine;
10046
- if (!(0, import_helpers33.isBlankLine)(lines[lastLineNumber])) {
10047
- (0, import_helpers33.addErrorContext)(
10046
+ if (!(0, import_helpers35.isBlankLine)(lines[lastLineNumber])) {
10047
+ (0, import_helpers35.addErrorContext)(
10048
10048
  onError,
10049
10049
  lastLineNumber,
10050
10050
  lines[lastLineNumber - 1].trim(),
@@ -10064,11 +10064,11 @@ var init_md032 = __esm({
10064
10064
  });
10065
10065
 
10066
10066
  // node_modules/markdownlint/lib/md033.mjs
10067
- var import_helpers34, import_micromark_helpers20, md033_default;
10067
+ var import_helpers36, import_micromark_helpers20, md033_default;
10068
10068
  var init_md033 = __esm({
10069
10069
  "node_modules/markdownlint/lib/md033.mjs"() {
10070
10070
  "use strict";
10071
- import_helpers34 = __toESM(require_helpers(), 1);
10071
+ import_helpers36 = __toESM(require_helpers(), 1);
10072
10072
  import_micromark_helpers20 = __toESM(require_micromark_helpers(), 1);
10073
10073
  init_cache();
10074
10074
  md033_default = {
@@ -10085,9 +10085,9 @@ var init_md033 = __esm({
10085
10085
  if (htmlTagInfo && !htmlTagInfo.close && !allowedElements.includes(htmlTagInfo.name.toLowerCase())) {
10086
10086
  const range = [
10087
10087
  token.startColumn,
10088
- token.text.replace(import_helpers34.nextLinesRe, "").length
10088
+ token.text.replace(import_helpers36.nextLinesRe, "").length
10089
10089
  ];
10090
- (0, import_helpers34.addError)(
10090
+ (0, import_helpers36.addError)(
10091
10091
  onError,
10092
10092
  token.startLine,
10093
10093
  "Element: " + htmlTagInfo.name,
@@ -10102,11 +10102,11 @@ var init_md033 = __esm({
10102
10102
  });
10103
10103
 
10104
10104
  // node_modules/markdownlint/lib/md034.mjs
10105
- var import_helpers35, import_micromark_helpers21, md034_default;
10105
+ var import_helpers37, import_micromark_helpers21, md034_default;
10106
10106
  var init_md034 = __esm({
10107
10107
  "node_modules/markdownlint/lib/md034.mjs"() {
10108
10108
  "use strict";
10109
- import_helpers35 = __toESM(require_helpers(), 1);
10109
+ import_helpers37 = __toESM(require_helpers(), 1);
10110
10110
  import_micromark_helpers21 = __toESM(require_micromark_helpers(), 1);
10111
10111
  md034_default = {
10112
10112
  "names": ["MD034", "no-bare-urls"],
@@ -10167,7 +10167,7 @@ var init_md034 = __esm({
10167
10167
  "deleteCount": range[1],
10168
10168
  "insertText": `<${token.text}>`
10169
10169
  };
10170
- (0, import_helpers35.addErrorContext)(
10170
+ (0, import_helpers37.addErrorContext)(
10171
10171
  onError,
10172
10172
  token.startLine,
10173
10173
  token.text,
@@ -10183,11 +10183,11 @@ var init_md034 = __esm({
10183
10183
  });
10184
10184
 
10185
10185
  // node_modules/markdownlint/lib/md035.mjs
10186
- var import_helpers36, md035_default;
10186
+ var import_helpers38, md035_default;
10187
10187
  var init_md035 = __esm({
10188
10188
  "node_modules/markdownlint/lib/md035.mjs"() {
10189
10189
  "use strict";
10190
- import_helpers36 = __toESM(require_helpers(), 1);
10190
+ import_helpers38 = __toESM(require_helpers(), 1);
10191
10191
  init_cache();
10192
10192
  md035_default = {
10193
10193
  "names": ["MD035", "hr-style"],
@@ -10202,7 +10202,7 @@ var init_md035 = __esm({
10202
10202
  if (style === "consistent") {
10203
10203
  style = text4;
10204
10204
  }
10205
- (0, import_helpers36.addErrorDetailIf)(onError, startLine, style, text4);
10205
+ (0, import_helpers38.addErrorDetailIf)(onError, startLine, style, text4);
10206
10206
  }
10207
10207
  }
10208
10208
  };
@@ -10210,11 +10210,11 @@ var init_md035 = __esm({
10210
10210
  });
10211
10211
 
10212
10212
  // node_modules/markdownlint/lib/md036.mjs
10213
- var import_helpers37, import_micromark_helpers22, emphasisTypes, md036_default;
10213
+ var import_helpers39, import_micromark_helpers22, emphasisTypes, md036_default;
10214
10214
  var init_md036 = __esm({
10215
10215
  "node_modules/markdownlint/lib/md036.mjs"() {
10216
10216
  "use strict";
10217
- import_helpers37 = __toESM(require_helpers(), 1);
10217
+ import_helpers39 = __toESM(require_helpers(), 1);
10218
10218
  import_micromark_helpers22 = __toESM(require_micromark_helpers(), 1);
10219
10219
  init_cache();
10220
10220
  emphasisTypes = [
@@ -10228,7 +10228,7 @@ var init_md036 = __esm({
10228
10228
  "parser": "micromark",
10229
10229
  "function": function MD036(params2, onError) {
10230
10230
  let punctuation = params2.config.punctuation;
10231
- punctuation = String(punctuation === void 0 ? import_helpers37.allPunctuation : punctuation);
10231
+ punctuation = String(punctuation === void 0 ? import_helpers39.allPunctuation : punctuation);
10232
10232
  const punctuationRe = new RegExp("[" + punctuation + "]$");
10233
10233
  const paragraphTokens = filterByTypesCached(["paragraph"]).filter(
10234
10234
  (token) => {
@@ -10240,7 +10240,7 @@ var init_md036 = __esm({
10240
10240
  const textTokens = (0, import_micromark_helpers22.getDescendantsByType)(paragraphTokens, emphasisType);
10241
10241
  for (const textToken of textTokens) {
10242
10242
  if (textToken.children.length === 1 && textToken.children[0].type === "data" && !punctuationRe.test(textToken.text)) {
10243
- (0, import_helpers37.addErrorContext)(onError, textToken.startLine, textToken.text);
10243
+ (0, import_helpers39.addErrorContext)(onError, textToken.startLine, textToken.text);
10244
10244
  }
10245
10245
  }
10246
10246
  }
@@ -10250,11 +10250,11 @@ var init_md036 = __esm({
10250
10250
  });
10251
10251
 
10252
10252
  // node_modules/markdownlint/lib/md037.mjs
10253
- var import_helpers38, import_micromark_helpers23, md037_default;
10253
+ var import_helpers40, import_micromark_helpers23, md037_default;
10254
10254
  var init_md037 = __esm({
10255
10255
  "node_modules/markdownlint/lib/md037.mjs"() {
10256
10256
  "use strict";
10257
- import_helpers38 = __toESM(require_helpers(), 1);
10257
+ import_helpers40 = __toESM(require_helpers(), 1);
10258
10258
  import_micromark_helpers23 = __toESM(require_micromark_helpers(), 1);
10259
10259
  md037_default = {
10260
10260
  "names": ["MD037", "no-space-in-emphasis"],
@@ -10294,7 +10294,7 @@ var init_md037 = __esm({
10294
10294
  if (startMatch) {
10295
10295
  const [startSpaceCharacter] = startMatch;
10296
10296
  const startContext = `${marker}${startSpaceCharacter}`;
10297
- (0, import_helpers38.addError)(
10297
+ (0, import_helpers40.addError)(
10298
10298
  onError,
10299
10299
  startToken.startLine,
10300
10300
  void 0,
@@ -10313,7 +10313,7 @@ var init_md037 = __esm({
10313
10313
  if (endMatch) {
10314
10314
  const [endSpaceCharacter] = endMatch;
10315
10315
  const endContext = `${endSpaceCharacter}${marker}`;
10316
- (0, import_helpers38.addError)(
10316
+ (0, import_helpers40.addError)(
10317
10317
  onError,
10318
10318
  endToken.startLine,
10319
10319
  void 0,
@@ -10334,11 +10334,11 @@ var init_md037 = __esm({
10334
10334
  });
10335
10335
 
10336
10336
  // node_modules/markdownlint/lib/md038.mjs
10337
- var import_helpers39, import_micromark_helpers24, leftSpaceRe, rightSpaceRe, trimCodeText, md038_default;
10337
+ var import_helpers41, import_micromark_helpers24, leftSpaceRe, rightSpaceRe, trimCodeText, md038_default;
10338
10338
  var init_md038 = __esm({
10339
10339
  "node_modules/markdownlint/lib/md038.mjs"() {
10340
10340
  "use strict";
10341
- import_helpers39 = __toESM(require_helpers(), 1);
10341
+ import_helpers41 = __toESM(require_helpers(), 1);
10342
10342
  import_micromark_helpers24 = __toESM(require_micromark_helpers(), 1);
10343
10343
  init_cache();
10344
10344
  leftSpaceRe = /^\s(?:[^`]|$)/;
@@ -10408,7 +10408,7 @@ var init_md038 = __esm({
10408
10408
  }
10409
10409
  if (range) {
10410
10410
  const context = params2.lines[lineNumber - 1].substring(range[0] - 1, range[0] - 1 + range[1]);
10411
- (0, import_helpers39.addErrorContext)(
10411
+ (0, import_helpers41.addErrorContext)(
10412
10412
  onError,
10413
10413
  lineNumber,
10414
10414
  context,
@@ -10433,7 +10433,7 @@ function addLabelSpaceError(onError, label4, labelText, isStart) {
10433
10433
  isStart ? labelText.startColumn : labelText.endColumn - match[0].length,
10434
10434
  match[0].length
10435
10435
  ] : void 0;
10436
- (0, import_helpers40.addErrorContext)(
10436
+ (0, import_helpers42.addErrorContext)(
10437
10437
  onError,
10438
10438
  isStart ? labelText.startLine + (match ? 0 : 1) : labelText.endLine - (match ? 0 : 1),
10439
10439
  label4.text.replace(/\s+/g, " "),
@@ -10446,11 +10446,11 @@ function addLabelSpaceError(onError, label4, labelText, isStart) {
10446
10446
  } : void 0
10447
10447
  );
10448
10448
  }
10449
- var import_helpers40, md039_default;
10449
+ var import_helpers42, md039_default;
10450
10450
  var init_md039 = __esm({
10451
10451
  "node_modules/markdownlint/lib/md039.mjs"() {
10452
10452
  "use strict";
10453
- import_helpers40 = __toESM(require_helpers(), 1);
10453
+ import_helpers42 = __toESM(require_helpers(), 1);
10454
10454
  init_cache();
10455
10455
  md039_default = {
10456
10456
  "names": ["MD039", "no-space-in-links"],
@@ -10479,11 +10479,11 @@ var init_md039 = __esm({
10479
10479
  });
10480
10480
 
10481
10481
  // node_modules/markdownlint/lib/md040.mjs
10482
- var import_helpers41, import_micromark_helpers25, md040_default;
10482
+ var import_helpers43, import_micromark_helpers25, md040_default;
10483
10483
  var init_md040 = __esm({
10484
10484
  "node_modules/markdownlint/lib/md040.mjs"() {
10485
10485
  "use strict";
10486
- import_helpers41 = __toESM(require_helpers(), 1);
10486
+ import_helpers43 = __toESM(require_helpers(), 1);
10487
10487
  import_micromark_helpers25 = __toESM(require_micromark_helpers(), 1);
10488
10488
  init_cache();
10489
10489
  md040_default = {
@@ -10502,12 +10502,12 @@ var init_md040 = __esm({
10502
10502
  const { startLine, text: text4 } = openingFence;
10503
10503
  const info = (_a = (0, import_micromark_helpers25.getDescendantsByType)(openingFence, ["codeFencedFenceInfo"])[0]) == null ? void 0 : _a.text;
10504
10504
  if (!info) {
10505
- (0, import_helpers41.addErrorContext)(onError, startLine, text4);
10505
+ (0, import_helpers43.addErrorContext)(onError, startLine, text4);
10506
10506
  } else if (allowed.length > 0 && !allowed.includes(info)) {
10507
- (0, import_helpers41.addError)(onError, startLine, `"${info}" is not allowed`);
10507
+ (0, import_helpers43.addError)(onError, startLine, `"${info}" is not allowed`);
10508
10508
  }
10509
10509
  if (languageOnly && (0, import_micromark_helpers25.getDescendantsByType)(openingFence, ["codeFencedFenceMeta"]).length > 0) {
10510
- (0, import_helpers41.addError)(onError, startLine, `Info string contains more than language: "${text4}"`);
10510
+ (0, import_helpers43.addError)(onError, startLine, `Info string contains more than language: "${text4}"`);
10511
10511
  }
10512
10512
  }
10513
10513
  }
@@ -10516,11 +10516,11 @@ var init_md040 = __esm({
10516
10516
  });
10517
10517
 
10518
10518
  // node_modules/markdownlint/lib/md041.mjs
10519
- var import_helpers42, import_micromark_helpers26, md041_default;
10519
+ var import_helpers44, import_micromark_helpers26, md041_default;
10520
10520
  var init_md041 = __esm({
10521
10521
  "node_modules/markdownlint/lib/md041.mjs"() {
10522
10522
  "use strict";
10523
- import_helpers42 = __toESM(require_helpers(), 1);
10523
+ import_helpers44 = __toESM(require_helpers(), 1);
10524
10524
  import_micromark_helpers26 = __toESM(require_micromark_helpers(), 1);
10525
10525
  md041_default = {
10526
10526
  "names": ["MD041", "first-line-heading", "first-line-h1"],
@@ -10529,7 +10529,7 @@ var init_md041 = __esm({
10529
10529
  "parser": "micromark",
10530
10530
  "function": function MD041(params2, onError) {
10531
10531
  const level = Number(params2.config.level || 1);
10532
- if (!(0, import_helpers42.frontMatterHasTitle)(params2.frontMatterLines, params2.config.front_matter_title)) {
10532
+ if (!(0, import_helpers44.frontMatterHasTitle)(params2.frontMatterLines, params2.config.front_matter_title)) {
10533
10533
  params2.parsers.micromark.tokens.filter((token) => !import_micromark_helpers26.nonContentTokens.has(token.type) && !(0, import_micromark_helpers26.isHtmlFlowComment)(token)).every((token) => {
10534
10534
  let isError = true;
10535
10535
  if (token.type === "atxHeading" || token.type === "setextHeading") {
@@ -10540,7 +10540,7 @@ var init_md041 = __esm({
10540
10540
  isError = !tagInfo || tagInfo.name.toLowerCase() !== `h${level}`;
10541
10541
  }
10542
10542
  if (isError) {
10543
- (0, import_helpers42.addErrorContext)(onError, token.startLine, params2.lines[token.startLine - 1]);
10543
+ (0, import_helpers44.addErrorContext)(onError, token.startLine, params2.lines[token.startLine - 1]);
10544
10544
  }
10545
10545
  return false;
10546
10546
  });
@@ -10551,11 +10551,11 @@ var init_md041 = __esm({
10551
10551
  });
10552
10552
 
10553
10553
  // node_modules/markdownlint/lib/md042.mjs
10554
- var import_helpers43, import_micromark_helpers27, md042_default;
10554
+ var import_helpers45, import_micromark_helpers27, md042_default;
10555
10555
  var init_md042 = __esm({
10556
10556
  "node_modules/markdownlint/lib/md042.mjs"() {
10557
10557
  "use strict";
10558
- import_helpers43 = __toESM(require_helpers(), 1);
10558
+ import_helpers45 = __toESM(require_helpers(), 1);
10559
10559
  import_micromark_helpers27 = __toESM(require_micromark_helpers(), 1);
10560
10560
  init_cache();
10561
10561
  md042_default = {
@@ -10592,7 +10592,7 @@ var init_md042 = __esm({
10592
10592
  error = true;
10593
10593
  }
10594
10594
  if (error) {
10595
- (0, import_helpers43.addErrorContext)(
10595
+ (0, import_helpers45.addErrorContext)(
10596
10596
  onError,
10597
10597
  link.startLine,
10598
10598
  link.text,
@@ -10608,11 +10608,11 @@ var init_md042 = __esm({
10608
10608
  });
10609
10609
 
10610
10610
  // node_modules/markdownlint/lib/md043.mjs
10611
- var import_helpers44, import_micromark_helpers28, md043_default;
10611
+ var import_helpers46, import_micromark_helpers28, md043_default;
10612
10612
  var init_md043 = __esm({
10613
10613
  "node_modules/markdownlint/lib/md043.mjs"() {
10614
10614
  "use strict";
10615
- import_helpers44 = __toESM(require_helpers(), 1);
10615
+ import_helpers46 = __toESM(require_helpers(), 1);
10616
10616
  import_micromark_helpers28 = __toESM(require_micromark_helpers(), 1);
10617
10617
  init_cache();
10618
10618
  md043_default = {
@@ -10652,7 +10652,7 @@ var init_md043 = __esm({
10652
10652
  } else if (matchAny) {
10653
10653
  i--;
10654
10654
  } else {
10655
- (0, import_helpers44.addErrorDetailIf)(
10655
+ (0, import_helpers46.addErrorDetailIf)(
10656
10656
  onError,
10657
10657
  heading.startLine,
10658
10658
  expected,
@@ -10664,7 +10664,7 @@ var init_md043 = __esm({
10664
10664
  }
10665
10665
  const extraHeadings = requiredHeadings.length - i;
10666
10666
  if (!hasError && (extraHeadings > 1 || extraHeadings === 1 && requiredHeadings[i] !== "*") && (anyHeadings || !requiredHeadings.every((heading) => heading === "*"))) {
10667
- (0, import_helpers44.addErrorContext)(
10667
+ (0, import_helpers46.addErrorContext)(
10668
10668
  onError,
10669
10669
  params2.lines.length,
10670
10670
  requiredHeadings[i]
@@ -19508,11 +19508,11 @@ var init_micromark_parse = __esm({
19508
19508
  });
19509
19509
 
19510
19510
  // node_modules/markdownlint/lib/md044.mjs
19511
- var import_helpers45, import_micromark_helpers30, ignoredChildTypes, md044_default;
19511
+ var import_helpers47, import_micromark_helpers30, ignoredChildTypes, md044_default;
19512
19512
  var init_md044 = __esm({
19513
19513
  "node_modules/markdownlint/lib/md044.mjs"() {
19514
19514
  "use strict";
19515
- import_helpers45 = __toESM(require_helpers(), 1);
19515
+ import_helpers47 = __toESM(require_helpers(), 1);
19516
19516
  import_micromark_helpers30 = __toESM(require_micromark_helpers(), 1);
19517
19517
  init_micromark_parse();
19518
19518
  ignoredChildTypes = /* @__PURE__ */ new Set(
@@ -19551,7 +19551,7 @@ var init_md044 = __esm({
19551
19551
  const exclusions = [];
19552
19552
  const scannedTokens = /* @__PURE__ */ new Set();
19553
19553
  for (const name of names) {
19554
- const escapedName = (0, import_helpers45.escapeForRegExp)(name);
19554
+ const escapedName = (0, import_helpers47.escapeForRegExp)(name);
19555
19555
  const startNamePattern = /^\W/.test(name) ? "" : "\\b_*";
19556
19556
  const endNamePattern = /\W$/.test(name) ? "" : "_*\\b";
19557
19557
  const namePattern = `(${startNamePattern})(${escapedName})${endNamePattern}`;
@@ -19569,7 +19569,7 @@ var init_md044 = __esm({
19569
19569
  "endLine": lineNumber,
19570
19570
  "endColumn": column + length - 1
19571
19571
  };
19572
- if (!names.includes(nameMatch) && !exclusions.some((exclusion) => (0, import_helpers45.hasOverlap)(exclusion, nameRange))) {
19572
+ if (!names.includes(nameMatch) && !exclusions.some((exclusion) => (0, import_helpers47.hasOverlap)(exclusion, nameRange))) {
19573
19573
  let autolinkRanges = [];
19574
19574
  if (!scannedTokens.has(token)) {
19575
19575
  autolinkRanges = (0, import_micromark_helpers30.filterByTypes)(parse2(token.text), ["literalAutolink"]).map((tok) => ({
@@ -19581,8 +19581,8 @@ var init_md044 = __esm({
19581
19581
  exclusions.push(...autolinkRanges);
19582
19582
  scannedTokens.add(token);
19583
19583
  }
19584
- if (!autolinkRanges.some((autolinkRange) => (0, import_helpers45.hasOverlap)(autolinkRange, nameRange))) {
19585
- (0, import_helpers45.addErrorDetailIf)(
19584
+ if (!autolinkRanges.some((autolinkRange) => (0, import_helpers47.hasOverlap)(autolinkRange, nameRange))) {
19585
+ (0, import_helpers47.addErrorDetailIf)(
19586
19586
  onError,
19587
19587
  token.startLine,
19588
19588
  name,
@@ -19608,14 +19608,14 @@ var init_md044 = __esm({
19608
19608
  });
19609
19609
 
19610
19610
  // node_modules/markdownlint/lib/md045.mjs
19611
- var import_helpers46, import_micromark_helpers31, altRe, md045_default;
19611
+ var import_helpers48, import_micromark_helpers31, altRe, md045_default;
19612
19612
  var init_md045 = __esm({
19613
19613
  "node_modules/markdownlint/lib/md045.mjs"() {
19614
19614
  "use strict";
19615
- import_helpers46 = __toESM(require_helpers(), 1);
19615
+ import_helpers48 = __toESM(require_helpers(), 1);
19616
19616
  import_micromark_helpers31 = __toESM(require_micromark_helpers(), 1);
19617
19617
  init_cache();
19618
- altRe = (0, import_helpers46.getHtmlAttributeRe)("alt");
19618
+ altRe = (0, import_helpers48.getHtmlAttributeRe)("alt");
19619
19619
  md045_default = {
19620
19620
  "names": ["MD045", "no-alt-text"],
19621
19621
  "description": "Images should have alternate text (alt text)",
@@ -19627,7 +19627,7 @@ var init_md045 = __esm({
19627
19627
  const labelTexts = (0, import_micromark_helpers31.getDescendantsByType)(image, ["label", "labelText"]);
19628
19628
  if (labelTexts.some((labelText) => labelText.text.length === 0)) {
19629
19629
  const range = image.startLine === image.endLine ? [image.startColumn, image.endColumn - image.startColumn] : void 0;
19630
- (0, import_helpers46.addError)(
19630
+ (0, import_helpers48.addError)(
19631
19631
  onError,
19632
19632
  image.startLine,
19633
19633
  void 0,
@@ -19643,9 +19643,9 @@ var init_md045 = __esm({
19643
19643
  if (htmlTagInfo && !htmlTagInfo.close && htmlTagInfo.name.toLowerCase() === "img" && !altRe.test(text4)) {
19644
19644
  const range = [
19645
19645
  startColumn,
19646
- text4.replace(import_helpers46.nextLinesRe, "").length
19646
+ text4.replace(import_helpers48.nextLinesRe, "").length
19647
19647
  ];
19648
- (0, import_helpers46.addError)(
19648
+ (0, import_helpers48.addError)(
19649
19649
  onError,
19650
19650
  startLine,
19651
19651
  void 0,
@@ -19660,11 +19660,11 @@ var init_md045 = __esm({
19660
19660
  });
19661
19661
 
19662
19662
  // node_modules/markdownlint/lib/md046.mjs
19663
- var import_helpers47, tokenTypeToStyle, md046_default;
19663
+ var import_helpers49, tokenTypeToStyle, md046_default;
19664
19664
  var init_md046 = __esm({
19665
19665
  "node_modules/markdownlint/lib/md046.mjs"() {
19666
19666
  "use strict";
19667
- import_helpers47 = __toESM(require_helpers(), 1);
19667
+ import_helpers49 = __toESM(require_helpers(), 1);
19668
19668
  init_cache();
19669
19669
  tokenTypeToStyle = {
19670
19670
  "codeFenced": "fenced",
@@ -19682,7 +19682,7 @@ var init_md046 = __esm({
19682
19682
  if (expectedStyle === "consistent") {
19683
19683
  expectedStyle = tokenTypeToStyle[type];
19684
19684
  }
19685
- (0, import_helpers47.addErrorDetailIf)(
19685
+ (0, import_helpers49.addErrorDetailIf)(
19686
19686
  onError,
19687
19687
  startLine,
19688
19688
  expectedStyle,
@@ -19695,11 +19695,11 @@ var init_md046 = __esm({
19695
19695
  });
19696
19696
 
19697
19697
  // node_modules/markdownlint/lib/md047.mjs
19698
- var import_helpers48, md047_default;
19698
+ var import_helpers50, md047_default;
19699
19699
  var init_md047 = __esm({
19700
19700
  "node_modules/markdownlint/lib/md047.mjs"() {
19701
19701
  "use strict";
19702
- import_helpers48 = __toESM(require_helpers(), 1);
19702
+ import_helpers50 = __toESM(require_helpers(), 1);
19703
19703
  md047_default = {
19704
19704
  "names": ["MD047", "single-trailing-newline"],
19705
19705
  "description": "Files should end with a single newline character",
@@ -19708,8 +19708,8 @@ var init_md047 = __esm({
19708
19708
  "function": function MD047(params2, onError) {
19709
19709
  const lastLineNumber = params2.lines.length;
19710
19710
  const lastLine = params2.lines[lastLineNumber - 1];
19711
- if (!(0, import_helpers48.isBlankLine)(lastLine)) {
19712
- (0, import_helpers48.addError)(
19711
+ if (!(0, import_helpers50.isBlankLine)(lastLine)) {
19712
+ (0, import_helpers50.addError)(
19713
19713
  onError,
19714
19714
  lastLineNumber,
19715
19715
  void 0,
@@ -19735,11 +19735,11 @@ function fencedCodeBlockStyleFor(markup) {
19735
19735
  return "backtick";
19736
19736
  }
19737
19737
  }
19738
- var import_helpers49, import_micromark_helpers32, md048_default;
19738
+ var import_helpers51, import_micromark_helpers32, md048_default;
19739
19739
  var init_md048 = __esm({
19740
19740
  "node_modules/markdownlint/lib/md048.mjs"() {
19741
19741
  "use strict";
19742
- import_helpers49 = __toESM(require_helpers(), 1);
19742
+ import_helpers51 = __toESM(require_helpers(), 1);
19743
19743
  import_micromark_helpers32 = __toESM(require_micromark_helpers(), 1);
19744
19744
  init_cache();
19745
19745
  md048_default = {
@@ -19757,7 +19757,7 @@ var init_md048 = __esm({
19757
19757
  if (expectedStyle === "consistent") {
19758
19758
  expectedStyle = fencedCodeBlockStyleFor(text4);
19759
19759
  }
19760
- (0, import_helpers49.addErrorDetailIf)(
19760
+ (0, import_helpers51.addErrorDetailIf)(
19761
19761
  onError,
19762
19762
  startLine,
19763
19763
  expectedStyle,
@@ -19778,11 +19778,11 @@ function emphasisOrStrongStyleFor(markup) {
19778
19778
  return "underscore";
19779
19779
  }
19780
19780
  }
19781
- var import_helpers50, import_micromark_helpers33, intrawordRe, impl, md049_md050_default;
19781
+ var import_helpers52, import_micromark_helpers33, intrawordRe, impl, md049_md050_default;
19782
19782
  var init_md049_md050 = __esm({
19783
19783
  "node_modules/markdownlint/lib/md049-md050.mjs"() {
19784
19784
  "use strict";
19785
- import_helpers50 = __toESM(require_helpers(), 1);
19785
+ import_helpers52 = __toESM(require_helpers(), 1);
19786
19786
  import_micromark_helpers33 = __toESM(require_micromark_helpers(), 1);
19787
19787
  intrawordRe = /^\w$/;
19788
19788
  impl = (params2, onError, type, typeSequence, asterisk, underline, style = "consistent") => {
@@ -19809,7 +19809,7 @@ var init_md049_md050 = __esm({
19809
19809
  ));
19810
19810
  if (!underscoreIntraword) {
19811
19811
  for (const sequence of [startSequence, endSequence]) {
19812
- (0, import_helpers50.addError)(
19812
+ (0, import_helpers52.addError)(
19813
19813
  onError,
19814
19814
  sequence.startLine,
19815
19815
  `Expected: ${style}; Actual: ${markupStyle}`,
@@ -19883,15 +19883,15 @@ function convertHeadingToHTMLFragment(headingText) {
19883
19883
  function unescapeStringTokenText(token) {
19884
19884
  return (0, import_micromark_helpers34.filterByTypes)(token.children, ["characterEscapeValue", "data"]).map((child) => child.text).join("");
19885
19885
  }
19886
- var import_helpers51, import_micromark_helpers34, idRe, nameRe, anchorRe, lineFragmentRe, childrenExclude, tokensInclude, md051_default;
19886
+ var import_helpers53, import_micromark_helpers34, idRe, nameRe, anchorRe, lineFragmentRe, childrenExclude, tokensInclude, md051_default;
19887
19887
  var init_md051 = __esm({
19888
19888
  "node_modules/markdownlint/lib/md051.mjs"() {
19889
19889
  "use strict";
19890
- import_helpers51 = __toESM(require_helpers(), 1);
19890
+ import_helpers53 = __toESM(require_helpers(), 1);
19891
19891
  import_micromark_helpers34 = __toESM(require_micromark_helpers(), 1);
19892
19892
  init_cache();
19893
- idRe = (0, import_helpers51.getHtmlAttributeRe)("id");
19894
- nameRe = (0, import_helpers51.getHtmlAttributeRe)("name");
19893
+ idRe = (0, import_helpers53.getHtmlAttributeRe)("id");
19894
+ nameRe = (0, import_helpers53.getHtmlAttributeRe)("name");
19895
19895
  anchorRe = /\{(#[a-z\d]+(?:[-_][a-z\d]+)*)\}/gu;
19896
19896
  lineFragmentRe = /^#(?:L\d+(?:C\d+)?-L\d+(?:C\d+)?|L\d+)$/;
19897
19897
  childrenExclude = /* @__PURE__ */ new Set(["image", "reference", "resource"]);
@@ -19962,7 +19962,7 @@ var init_md051 = __esm({
19962
19962
  if (mixedCaseKey) {
19963
19963
  (fixInfo || {}).insertText = mixedCaseKey;
19964
19964
  if (!ignoreCase && mixedCaseKey !== text4) {
19965
- (0, import_helpers51.addError)(
19965
+ (0, import_helpers53.addError)(
19966
19966
  onError,
19967
19967
  link.startLine,
19968
19968
  `Expected: ${mixedCaseKey}; Actual: ${text4}`,
@@ -19972,7 +19972,7 @@ var init_md051 = __esm({
19972
19972
  );
19973
19973
  }
19974
19974
  } else {
19975
- (0, import_helpers51.addError)(
19975
+ (0, import_helpers53.addError)(
19976
19976
  onError,
19977
19977
  link.startLine,
19978
19978
  void 0,
@@ -19990,11 +19990,11 @@ var init_md051 = __esm({
19990
19990
  });
19991
19991
 
19992
19992
  // node_modules/markdownlint/lib/md052.mjs
19993
- var import_helpers52, md052_default;
19993
+ var import_helpers54, md052_default;
19994
19994
  var init_md052 = __esm({
19995
19995
  "node_modules/markdownlint/lib/md052.mjs"() {
19996
19996
  "use strict";
19997
- import_helpers52 = __toESM(require_helpers(), 1);
19997
+ import_helpers54 = __toESM(require_helpers(), 1);
19998
19998
  init_cache();
19999
19999
  md052_default = {
20000
20000
  "names": ["MD052", "reference-links-images"],
@@ -20012,7 +20012,7 @@ var init_md052 = __esm({
20012
20012
  for (const data of datas) {
20013
20013
  const [lineIndex, index, length] = data;
20014
20014
  const context = lines[lineIndex].slice(index, index + length);
20015
- (0, import_helpers52.addError)(
20015
+ (0, import_helpers54.addError)(
20016
20016
  onError,
20017
20017
  lineIndex + 1,
20018
20018
  `Missing link or image reference definition: "${label4}"`,
@@ -20028,11 +20028,11 @@ var init_md052 = __esm({
20028
20028
  });
20029
20029
 
20030
20030
  // node_modules/markdownlint/lib/md053.mjs
20031
- var import_helpers53, linkReferenceDefinitionRe, md053_default;
20031
+ var import_helpers55, linkReferenceDefinitionRe, md053_default;
20032
20032
  var init_md053 = __esm({
20033
20033
  "node_modules/markdownlint/lib/md053.mjs"() {
20034
20034
  "use strict";
20035
- import_helpers53 = __toESM(require_helpers(), 1);
20035
+ import_helpers55 = __toESM(require_helpers(), 1);
20036
20036
  init_cache();
20037
20037
  linkReferenceDefinitionRe = /^ {0,3}\[([^\]]*[^\\])\]:/;
20038
20038
  md053_default = {
@@ -20052,11 +20052,11 @@ var init_md053 = __esm({
20052
20052
  const [label4, [lineIndex]] = definition2;
20053
20053
  if (!ignored.has(label4) && !references.has(label4) && !shortcuts.has(label4)) {
20054
20054
  const line = lines[lineIndex];
20055
- (0, import_helpers53.addError)(
20055
+ (0, import_helpers55.addError)(
20056
20056
  onError,
20057
20057
  lineIndex + 1,
20058
20058
  `Unused link or image reference definition: "${label4}"`,
20059
- (0, import_helpers53.ellipsify)(line),
20059
+ (0, import_helpers55.ellipsify)(line),
20060
20060
  [1, line.length],
20061
20061
  singleLineDefinition(line) ? deleteFixInfo : void 0
20062
20062
  );
@@ -20066,11 +20066,11 @@ var init_md053 = __esm({
20066
20066
  const [label4, lineIndex] = duplicateDefinition;
20067
20067
  if (!ignored.has(label4)) {
20068
20068
  const line = lines[lineIndex];
20069
- (0, import_helpers53.addError)(
20069
+ (0, import_helpers55.addError)(
20070
20070
  onError,
20071
20071
  lineIndex + 1,
20072
20072
  `Duplicate link or image reference definition: "${label4}"`,
20073
- (0, import_helpers53.ellipsify)(line),
20073
+ (0, import_helpers55.ellipsify)(line),
20074
20074
  [1, line.length],
20075
20075
  singleLineDefinition(line) ? deleteFixInfo : void 0
20076
20076
  );
@@ -20082,11 +20082,11 @@ var init_md053 = __esm({
20082
20082
  });
20083
20083
 
20084
20084
  // node_modules/markdownlint/lib/md054.mjs
20085
- var import_helpers54, import_micromark_helpers35, backslashEscapeRe, removeBackslashEscapes, autolinkDisallowedRe, autolinkAble, md054_default;
20085
+ var import_helpers56, import_micromark_helpers35, backslashEscapeRe, removeBackslashEscapes, autolinkDisallowedRe, autolinkAble, md054_default;
20086
20086
  var init_md054 = __esm({
20087
20087
  "node_modules/markdownlint/lib/md054.mjs"() {
20088
20088
  "use strict";
20089
- import_helpers54 = __toESM(require_helpers(), 1);
20089
+ import_helpers56 = __toESM(require_helpers(), 1);
20090
20090
  import_micromark_helpers35 = __toESM(require_micromark_helpers(), 1);
20091
20091
  init_cache();
20092
20092
  backslashEscapeRe = /\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;
@@ -20175,10 +20175,10 @@ var init_md054 = __esm({
20175
20175
  };
20176
20176
  }
20177
20177
  }
20178
- (0, import_helpers54.addErrorContext)(
20178
+ (0, import_helpers56.addErrorContext)(
20179
20179
  onError,
20180
20180
  startLine,
20181
- text4.replace(import_helpers54.nextLinesRe, ""),
20181
+ text4.replace(import_helpers56.nextLinesRe, ""),
20182
20182
  void 0,
20183
20183
  void 0,
20184
20184
  range,
@@ -20192,11 +20192,11 @@ var init_md054 = __esm({
20192
20192
  });
20193
20193
 
20194
20194
  // node_modules/markdownlint/lib/md055.mjs
20195
- var import_helpers55, whitespaceTypes, ignoreWhitespace, firstOrNothing, lastOrNothing, makeRange, md055_default;
20195
+ var import_helpers57, whitespaceTypes, ignoreWhitespace, firstOrNothing, lastOrNothing, makeRange, md055_default;
20196
20196
  var init_md055 = __esm({
20197
20197
  "node_modules/markdownlint/lib/md055.mjs"() {
20198
20198
  "use strict";
20199
- import_helpers55 = __toESM(require_helpers(), 1);
20199
+ import_helpers57 = __toESM(require_helpers(), 1);
20200
20200
  init_cache();
20201
20201
  whitespaceTypes = /* @__PURE__ */ new Set(["linePrefix", "whitespace"]);
20202
20202
  ignoreWhitespace = (tokens) => tokens.filter(
@@ -20230,7 +20230,7 @@ var init_md055 = __esm({
20230
20230
  expectedTrailingPipe = actualTrailingPipe;
20231
20231
  }
20232
20232
  if (actualLeadingPipe !== expectedLeadingPipe) {
20233
- (0, import_helpers55.addErrorDetailIf)(
20233
+ (0, import_helpers57.addErrorDetailIf)(
20234
20234
  onError,
20235
20235
  firstCell.startLine,
20236
20236
  expectedStyle,
@@ -20241,7 +20241,7 @@ var init_md055 = __esm({
20241
20241
  );
20242
20242
  }
20243
20243
  if (actualTrailingPipe !== expectedTrailingPipe) {
20244
- (0, import_helpers55.addErrorDetailIf)(
20244
+ (0, import_helpers57.addErrorDetailIf)(
20245
20245
  onError,
20246
20246
  lastCell.endLine,
20247
20247
  expectedStyle,
@@ -20258,11 +20258,11 @@ var init_md055 = __esm({
20258
20258
  });
20259
20259
 
20260
20260
  // node_modules/markdownlint/lib/md056.mjs
20261
- var import_helpers56, import_micromark_helpers36, makeRange2, md056_default;
20261
+ var import_helpers58, import_micromark_helpers36, makeRange2, md056_default;
20262
20262
  var init_md056 = __esm({
20263
20263
  "node_modules/markdownlint/lib/md056.mjs"() {
20264
20264
  "use strict";
20265
- import_helpers56 = __toESM(require_helpers(), 1);
20265
+ import_helpers58 = __toESM(require_helpers(), 1);
20266
20266
  import_micromark_helpers36 = __toESM(require_micromark_helpers(), 1);
20267
20267
  init_cache();
20268
20268
  makeRange2 = (start, end) => [start, end - start + 1];
@@ -20293,7 +20293,7 @@ var init_md056 = __esm({
20293
20293
  detail = "Too many cells, extra data will be missing";
20294
20294
  range = makeRange2(cells[expectedCount].startColumn, row.endColumn - 1);
20295
20295
  }
20296
- (0, import_helpers56.addErrorDetailIf)(
20296
+ (0, import_helpers58.addErrorDetailIf)(
20297
20297
  onError,
20298
20298
  row.endLine,
20299
20299
  expectedCount,
@@ -20309,11 +20309,11 @@ var init_md056 = __esm({
20309
20309
  });
20310
20310
 
20311
20311
  // node_modules/markdownlint/lib/md058.mjs
20312
- var import_helpers57, import_micromark_helpers37, md058_default;
20312
+ var import_helpers59, import_micromark_helpers37, md058_default;
20313
20313
  var init_md058 = __esm({
20314
20314
  "node_modules/markdownlint/lib/md058.mjs"() {
20315
20315
  "use strict";
20316
- import_helpers57 = __toESM(require_helpers(), 1);
20316
+ import_helpers59 = __toESM(require_helpers(), 1);
20317
20317
  import_micromark_helpers37 = __toESM(require_micromark_helpers(), 1);
20318
20318
  init_cache();
20319
20319
  md058_default = {
@@ -20327,8 +20327,8 @@ var init_md058 = __esm({
20327
20327
  const tables = filterByTypesCached(["table"]);
20328
20328
  for (const table of tables) {
20329
20329
  const firstLineNumber = table.startLine;
20330
- if (!(0, import_helpers57.isBlankLine)(lines[firstLineNumber - 2])) {
20331
- (0, import_helpers57.addErrorContext)(
20330
+ if (!(0, import_helpers59.isBlankLine)(lines[firstLineNumber - 2])) {
20331
+ (0, import_helpers59.addErrorContext)(
20332
20332
  onError,
20333
20333
  firstLineNumber,
20334
20334
  lines[firstLineNumber - 1].trim(),
@@ -20341,8 +20341,8 @@ var init_md058 = __esm({
20341
20341
  );
20342
20342
  }
20343
20343
  const lastLineNumber = table.endLine;
20344
- if (!(0, import_helpers57.isBlankLine)(lines[lastLineNumber])) {
20345
- (0, import_helpers57.addErrorContext)(
20344
+ if (!(0, import_helpers59.isBlankLine)(lines[lastLineNumber])) {
20345
+ (0, import_helpers59.addErrorContext)(
20346
20346
  onError,
20347
20347
  lastLineNumber,
20348
20348
  lines[lastLineNumber - 1].trim(),
@@ -21362,8 +21362,8 @@ var config_default = {
21362
21362
  // Link is unreachable
21363
21363
  YFM004: "error" /* ERROR */,
21364
21364
  // Table not closed
21365
- YFM005: "error" /* ERROR */,
21366
- // Tab list not closed
21365
+ YFM005: "warn" /* WARN */,
21366
+ // Block not closed
21367
21367
  YFM006: "warn" /* WARN */,
21368
21368
  // Term definition duplicated
21369
21369
  YFM007: "warn" /* WARN */,
@@ -21376,8 +21376,10 @@ var config_default = {
21376
21376
  // Autotitle anchor is missed
21377
21377
  YFM011: "warn" /* WARN */,
21378
21378
  // Max svg size
21379
- YFM018: "info" /* INFO */
21379
+ YFM018: "info" /* INFO */,
21380
21380
  // Term definition from include
21381
+ YFM020: "warn" /* WARN */
21382
+ // Unknown or invalid YFM directive
21381
21383
  };
21382
21384
 
21383
21385
  // src/rules/index.ts
@@ -21394,7 +21396,8 @@ __export(rules_exports, {
21394
21396
  yfm009: () => yfm009,
21395
21397
  yfm010: () => yfm010,
21396
21398
  yfm011: () => yfm011,
21397
- yfm018: () => yfm018
21399
+ yfm018: () => yfm018,
21400
+ yfm020: () => yfm020
21398
21401
  });
21399
21402
 
21400
21403
  // src/rules/yfm001.ts
@@ -21613,6 +21616,106 @@ function findYfmLintTokens(params2, ruleName, onError, handler) {
21613
21616
  }
21614
21617
  });
21615
21618
  }
21619
+ function getIgnoredLineNumbers(params2) {
21620
+ const ignored = /* @__PURE__ */ new Set();
21621
+ params2.parsers.markdownit.tokens.forEach((token) => {
21622
+ if ((token.type === "fence" || token.type === "code_block") && token.map) {
21623
+ const [start, end] = token.map;
21624
+ for (let line = start; line < end; line++) {
21625
+ ignored.add(line + 1);
21626
+ }
21627
+ }
21628
+ });
21629
+ return ignored;
21630
+ }
21631
+ function stripInlineCode(line) {
21632
+ return line.replace(/(`+).*?\1/g, (m) => " ".repeat(m.length));
21633
+ }
21634
+ function findDirectiveMatches(params2) {
21635
+ const ignoredLines = getIgnoredLineNumbers(params2);
21636
+ const directiveRe = /(^|[^\\]){%\s*([^%]+?)\s*%}/g;
21637
+ const matches = [];
21638
+ params2.lines.forEach((line, index) => {
21639
+ const lineNumber = index + 1;
21640
+ if (ignoredLines.has(lineNumber)) {
21641
+ return;
21642
+ }
21643
+ const stripped = stripInlineCode(line);
21644
+ let match;
21645
+ const localRe = new RegExp(directiveRe.source, "g");
21646
+ while ((match = localRe.exec(stripped)) !== null) {
21647
+ matches.push({
21648
+ directive: match[2].trim(),
21649
+ lineNumber,
21650
+ line
21651
+ });
21652
+ }
21653
+ });
21654
+ return matches;
21655
+ }
21656
+ function findPairedDirectiveIssues(params2, spec) {
21657
+ const issues = [];
21658
+ const stack = [];
21659
+ for (const match of findDirectiveMatches(params2)) {
21660
+ if (spec.open.test(match.directive)) {
21661
+ stack.push(match);
21662
+ continue;
21663
+ }
21664
+ if (spec.close.test(match.directive)) {
21665
+ const open = stack.pop();
21666
+ if (!open) {
21667
+ issues.push({
21668
+ lineNumber: match.lineNumber,
21669
+ context: match.line,
21670
+ detail: `Unexpected closing directive '{% ${match.directive} %}'`
21671
+ });
21672
+ }
21673
+ }
21674
+ }
21675
+ stack.forEach((unclosed) => {
21676
+ issues.push({
21677
+ lineNumber: unclosed.lineNumber,
21678
+ context: unclosed.line,
21679
+ detail: `Directive '{% ${unclosed.directive} %}' must be closed`
21680
+ });
21681
+ });
21682
+ return issues;
21683
+ }
21684
+ function findInterleavedDirectiveIssues(params2, specs) {
21685
+ const issues = [];
21686
+ const stack = [];
21687
+ for (const match of findDirectiveMatches(params2)) {
21688
+ const openIndex = specs.findIndex((s) => s.open.test(match.directive));
21689
+ if (openIndex !== -1) {
21690
+ stack.push({ match, specIndex: openIndex });
21691
+ continue;
21692
+ }
21693
+ const closeIndex = specs.findIndex((s) => s.close.test(match.directive));
21694
+ if (closeIndex === -1) {
21695
+ continue;
21696
+ }
21697
+ let found = -1;
21698
+ for (let i = stack.length - 1; i >= 0; i--) {
21699
+ if (stack[i].specIndex === closeIndex) {
21700
+ found = i;
21701
+ break;
21702
+ }
21703
+ }
21704
+ if (found === -1) {
21705
+ continue;
21706
+ }
21707
+ for (let i = stack.length - 1; i > found; i--) {
21708
+ const interleaved = stack[i];
21709
+ issues.push({
21710
+ lineNumber: match.lineNumber,
21711
+ context: match.line,
21712
+ detail: `Interleaved directives: '{% ${match.directive} %}' closes before '{% ${interleaved.match.directive} %}' (line ${interleaved.match.lineNumber}) is closed`
21713
+ });
21714
+ }
21715
+ stack.splice(found);
21716
+ }
21717
+ return issues;
21718
+ }
21616
21719
 
21617
21720
  // src/rules/yfm002.ts
21618
21721
  var yfm002 = {
@@ -21690,26 +21793,82 @@ var yfm004 = {
21690
21793
  }
21691
21794
  };
21692
21795
 
21796
+ // src/rules/directives.ts
21797
+ var NOTE_OPEN_RE = /^note(?:\s|$)/;
21798
+ var NOTE_CLOSE_RE = /^endnote$/;
21799
+ var NOTE_STRICT_RE = /^note\s+(?:alert|info|tip|warning)(?:\s+"[^"]*")?$/;
21800
+ var CUT_OPEN_RE = /^cut(?:\s|$)/;
21801
+ var CUT_CLOSE_RE = /^endcut$/;
21802
+ var CUT_STRICT_RE = /^cut\s+["'].+["']$/;
21803
+ var TABS_OPEN_RE = /^list\s+tabs(?:\s|$)/;
21804
+ var TABS_CLOSE_RE = /^endlist$/;
21805
+ var TABS_STRICT_RE = /^list\s+tabs(?:\s+(?:regular|radio|dropdown|accordion))?(?:\s+[A-Za-z0-9_.-]+=[^\s%]+)*$/;
21806
+ var INCLUDE_RE = /^include(?:\s|$)/;
21807
+ var INCLUDE_STRICT_RE = /^include(?:\s+notitle)?\s+\[[^\]]*]\([^)]+\)$/;
21808
+ var INCLUDED_OPEN_RE = /^included\s*\(.+\)$/;
21809
+ var INCLUDED_CLOSE_RE = /^endincluded$/;
21810
+ var ANCHOR_RE = /^anchor\s+[\w-]+$/;
21811
+ var FILE_RE = /^file\s+.+$/;
21812
+ var CHANGELOG_OPEN_RE = /^changelog$/;
21813
+ var CHANGELOG_CLOSE_RE = /^endchangelog$/;
21814
+ var IF_OPEN_RE = /^if\s+.+$/;
21815
+ var ELSIF_RE = /^elsif\s+.+$/;
21816
+ var ELSE_RE = /^else$/;
21817
+ var IF_CLOSE_RE = /^endif$/;
21818
+ var FOR_OPEN_RE = /^for\s+.+\s+in\s+.+$/;
21819
+ var FOR_CLOSE_RE = /^endfor$/;
21820
+ function isKnownDirective(directive2) {
21821
+ return NOTE_OPEN_RE.test(directive2) || NOTE_CLOSE_RE.test(directive2) || CUT_OPEN_RE.test(directive2) || CUT_CLOSE_RE.test(directive2) || TABS_OPEN_RE.test(directive2) || TABS_CLOSE_RE.test(directive2) || INCLUDE_RE.test(directive2) || INCLUDED_OPEN_RE.test(directive2) || INCLUDED_CLOSE_RE.test(directive2) || ANCHOR_RE.test(directive2) || FILE_RE.test(directive2) || CHANGELOG_OPEN_RE.test(directive2) || CHANGELOG_CLOSE_RE.test(directive2) || IF_OPEN_RE.test(directive2) || ELSIF_RE.test(directive2) || ELSE_RE.test(directive2) || IF_CLOSE_RE.test(directive2) || FOR_OPEN_RE.test(directive2) || FOR_CLOSE_RE.test(directive2);
21822
+ }
21823
+
21693
21824
  // src/rules/yfm005.ts
21825
+ var PAIRED_SPECS = [
21826
+ { open: NOTE_OPEN_RE, close: NOTE_CLOSE_RE },
21827
+ { open: CUT_OPEN_RE, close: CUT_CLOSE_RE },
21828
+ { open: TABS_OPEN_RE, close: TABS_CLOSE_RE },
21829
+ { open: CHANGELOG_OPEN_RE, close: CHANGELOG_CLOSE_RE },
21830
+ { open: IF_OPEN_RE, close: IF_CLOSE_RE },
21831
+ { open: FOR_OPEN_RE, close: FOR_CLOSE_RE }
21832
+ ];
21694
21833
  var yfm005 = {
21695
- names: ["YFM005", "tab-list-not-closed"],
21696
- description: "Tab list not closed",
21697
- tags: ["tab"],
21834
+ names: ["YFM005", "block-not-closed"],
21835
+ description: "Block is not properly closed",
21836
+ tags: ["directives"],
21698
21837
  parser: "markdownit",
21699
21838
  function: function YFM005(params2, onError) {
21700
21839
  const { config } = params2;
21701
21840
  if (!config) {
21702
21841
  return;
21703
21842
  }
21843
+ let hasPluginSignal = false;
21704
21844
  params2.parsers.markdownit.tokens.filter((token) => token.type === "paragraph_open").forEach((token) => {
21705
21845
  const tokenWithAttrs = token;
21706
21846
  if (tokenWithAttrs.attrGet("YFM005")) {
21847
+ hasPluginSignal = true;
21707
21848
  onError({
21708
21849
  lineNumber: token.lineNumber,
21709
21850
  context: token.line
21710
21851
  });
21711
21852
  }
21712
21853
  });
21854
+ if (!hasPluginSignal) {
21855
+ for (const spec of PAIRED_SPECS) {
21856
+ findPairedDirectiveIssues(params2, spec).forEach((issue) => {
21857
+ onError({
21858
+ lineNumber: issue.lineNumber,
21859
+ detail: issue.detail,
21860
+ context: issue.context
21861
+ });
21862
+ });
21863
+ }
21864
+ findInterleavedDirectiveIssues(params2, PAIRED_SPECS).forEach((issue) => {
21865
+ onError({
21866
+ lineNumber: issue.lineNumber,
21867
+ detail: issue.detail,
21868
+ context: issue.context
21869
+ });
21870
+ });
21871
+ }
21713
21872
  }
21714
21873
  };
21715
21874
 
@@ -21947,6 +22106,75 @@ var yfm018 = {
21947
22106
  }
21948
22107
  };
21949
22108
 
22109
+ // src/rules/yfm020.ts
22110
+ var INCLUDE_BROAD_RE = /^include(?:\s|$)/;
22111
+ var SYNTAX_CHECKS = [
22112
+ {
22113
+ match: NOTE_OPEN_RE,
22114
+ valid: NOTE_STRICT_RE,
22115
+ message: `Invalid note syntax. Valid types: info, tip, warning, alert`
22116
+ },
22117
+ {
22118
+ match: CUT_OPEN_RE,
22119
+ valid: CUT_STRICT_RE,
22120
+ message: `Invalid cut syntax. Expected: cut "title"`
22121
+ },
22122
+ {
22123
+ match: TABS_OPEN_RE,
22124
+ valid: TABS_STRICT_RE,
22125
+ message: `Invalid tabs syntax. Valid variants: regular, radio, dropdown, accordion`
22126
+ },
22127
+ {
22128
+ match: INCLUDE_BROAD_RE,
22129
+ valid: INCLUDE_STRICT_RE,
22130
+ message: `Invalid include syntax. Expected: include [text](path) or include notitle [text](path)`
22131
+ }
22132
+ ];
22133
+ function isCustomDirective(directive2, customDirectives) {
22134
+ return customDirectives.some((name) => {
22135
+ const openRe = new RegExp(`^${name}(?:\\s|$)`);
22136
+ const closeRe = new RegExp(`^end${name}$`);
22137
+ return openRe.test(directive2) || closeRe.test(directive2);
22138
+ });
22139
+ }
22140
+ var yfm020 = {
22141
+ names: ["YFM020", "invalid-yfm-directive"],
22142
+ description: "YFM directive is unknown or has invalid syntax",
22143
+ tags: ["directives"],
22144
+ parser: "markdownit",
22145
+ function: function YFM020(params2, onError) {
22146
+ const { config } = params2;
22147
+ if (!config) {
22148
+ return;
22149
+ }
22150
+ const customDirectives = config.customDirectives || [];
22151
+ findDirectiveMatches(params2).forEach((match) => {
22152
+ for (const check of SYNTAX_CHECKS) {
22153
+ if (check.match.test(match.directive)) {
22154
+ if (!check.valid.test(match.directive)) {
22155
+ onError({
22156
+ lineNumber: match.lineNumber,
22157
+ detail: check.message,
22158
+ context: match.line
22159
+ });
22160
+ }
22161
+ return;
22162
+ }
22163
+ }
22164
+ if (customDirectives.length && isCustomDirective(match.directive, customDirectives)) {
22165
+ return;
22166
+ }
22167
+ if (!isKnownDirective(match.directive)) {
22168
+ onError({
22169
+ lineNumber: match.lineNumber,
22170
+ detail: `Unknown or invalid directive '{% ${match.directive} %}'`,
22171
+ context: match.line
22172
+ });
22173
+ }
22174
+ });
22175
+ }
22176
+ };
22177
+
21950
22178
  // src/index.ts
21951
22179
  async function yfmlint(content3, path3, opts) {
21952
22180
  const { lint } = await Promise.resolve().then(() => (init_exports_promise(), exports_promise_exports));