paperlint 6.3.0 → 7.1.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.
Files changed (185) hide show
  1. package/CONTRIBUTING.md +4 -2
  2. package/README.md +20 -13
  3. package/dist/adapters/latex/conditionals.d.ts +21 -0
  4. package/dist/adapters/latex/conditionals.d.ts.map +1 -0
  5. package/dist/adapters/latex/conditionals.js +75 -0
  6. package/dist/adapters/latex/conditionals.js.map +1 -0
  7. package/dist/adapters/latex/headings.d.ts +10 -0
  8. package/dist/adapters/latex/headings.d.ts.map +1 -0
  9. package/dist/adapters/latex/headings.js +129 -0
  10. package/dist/adapters/latex/headings.js.map +1 -0
  11. package/dist/adapters/latex/index.d.ts +1 -0
  12. package/dist/adapters/latex/index.d.ts.map +1 -1
  13. package/dist/adapters/latex/index.js +3 -0
  14. package/dist/adapters/latex/index.js.map +1 -1
  15. package/dist/adapters/latex/parse.d.ts +1 -1
  16. package/dist/adapters/latex/parse.d.ts.map +1 -1
  17. package/dist/adapters/latex/parse.js +3 -2
  18. package/dist/adapters/latex/parse.js.map +1 -1
  19. package/dist/build.d.ts +1 -1
  20. package/dist/build.d.ts.map +1 -1
  21. package/dist/build.js +1 -1
  22. package/dist/build.js.map +1 -1
  23. package/dist/cli.d.ts +1 -1
  24. package/dist/cli.d.ts.map +1 -1
  25. package/dist/cli.js +19 -5
  26. package/dist/cli.js.map +1 -1
  27. package/dist/domain/body-pages.d.ts +29 -0
  28. package/dist/domain/body-pages.d.ts.map +1 -1
  29. package/dist/domain/body-pages.js +25 -0
  30. package/dist/domain/body-pages.js.map +1 -1
  31. package/dist/domain/heading-case.d.ts +100 -0
  32. package/dist/domain/heading-case.d.ts.map +1 -0
  33. package/dist/domain/heading-case.js +365 -0
  34. package/dist/domain/heading-case.js.map +1 -0
  35. package/dist/domain/tex-document.d.ts +32 -0
  36. package/dist/domain/tex-document.d.ts.map +1 -1
  37. package/dist/domain/tex-document.js +11 -0
  38. package/dist/domain/tex-document.js.map +1 -1
  39. package/dist/eslint-rules/latex-language.d.ts.map +1 -1
  40. package/dist/eslint-rules/latex-language.js +16 -3
  41. package/dist/eslint-rules/latex-language.js.map +1 -1
  42. package/dist/facts-file.d.ts +3 -3
  43. package/dist/facts-file.d.ts.map +1 -1
  44. package/dist/facts-file.js +3 -3
  45. package/dist/facts-file.js.map +1 -1
  46. package/dist/folder-venue-rule.js +6 -6
  47. package/dist/folder-venue-rule.js.map +1 -1
  48. package/dist/heading-case.d.ts +48 -0
  49. package/dist/heading-case.d.ts.map +1 -0
  50. package/dist/heading-case.js +191 -0
  51. package/dist/heading-case.js.map +1 -0
  52. package/dist/paper-includes.d.ts +3 -0
  53. package/dist/paper-includes.d.ts.map +1 -1
  54. package/dist/paper-includes.js +17 -2
  55. package/dist/paper-includes.js.map +1 -1
  56. package/dist/ports/latex.d.ts +7 -1
  57. package/dist/ports/latex.d.ts.map +1 -1
  58. package/dist/preset-card-rule.d.ts +100 -0
  59. package/dist/preset-card-rule.d.ts.map +1 -0
  60. package/dist/preset-card-rule.js +221 -0
  61. package/dist/preset-card-rule.js.map +1 -0
  62. package/dist/presets.d.ts +29 -5
  63. package/dist/presets.d.ts.map +1 -1
  64. package/dist/presets.js +104 -68
  65. package/dist/presets.js.map +1 -1
  66. package/dist/submission.d.ts +8 -0
  67. package/dist/submission.d.ts.map +1 -1
  68. package/dist/submission.js +19 -7
  69. package/dist/submission.js.map +1 -1
  70. package/dist/tex-requirements.d.ts +42 -3
  71. package/dist/tex-requirements.d.ts.map +1 -1
  72. package/dist/tex-requirements.js +34 -5
  73. package/dist/tex-requirements.js.map +1 -1
  74. package/dist/tex-venue-rules.d.ts +6 -3
  75. package/dist/tex-venue-rules.d.ts.map +1 -1
  76. package/dist/tex-venue-rules.js +29 -10
  77. package/dist/tex-venue-rules.js.map +1 -1
  78. package/dist/venue-rules.d.ts +2 -1
  79. package/dist/venue-rules.d.ts.map +1 -1
  80. package/dist/venue-rules.js +55 -7
  81. package/dist/venue-rules.js.map +1 -1
  82. package/docs/configuration.md +13 -1
  83. package/docs/e2e.md +14 -12
  84. package/docs/optional-rules.md +4 -3
  85. package/docs/rules/format/page-limit.md +19 -2
  86. package/docs/rules/paper/folder-venue-leftover.md +1 -1
  87. package/docs/rules/talk/profile.md +1 -1
  88. package/docs/rules/tex/heading-case.md +424 -0
  89. package/docs/rules/tex/template.md +25 -5
  90. package/docs/rules/tex/venue-leftover.md +13 -0
  91. package/docs/rules.md +74 -57
  92. package/docs/submission.md +5 -1
  93. package/eslint-rules/latex-language.test.mjs +12 -0
  94. package/eslint-rules/latex-language.ts +17 -4
  95. package/eslint-rules/paper-typography.test.mjs +12 -0
  96. package/eslint.config.mjs +59 -1
  97. package/fixtures/build-e2e/acmart/paper.tex +1 -1
  98. package/fixtures/build-e2e/fallback/expect.json +3 -3
  99. package/fixtures/build-e2e/msr/PIPELINE-STATUS.md +3 -0
  100. package/fixtures/build-e2e/msr/expect.json +18 -0
  101. package/fixtures/build-e2e/msr/paper.tex +49 -0
  102. package/fixtures/build-e2e/msr/paperlint.json +1 -0
  103. package/fixtures/build-e2e/msr-appendix-after/PIPELINE-STATUS.md +3 -0
  104. package/fixtures/build-e2e/msr-appendix-after/expect.json +20 -0
  105. package/fixtures/build-e2e/msr-appendix-after/paper.tex +48 -0
  106. package/fixtures/build-e2e/msr-appendix-after/paperlint.json +1 -0
  107. package/lib/skill-checks.mjs +31 -0
  108. package/package.json +7 -1
  109. package/presets/acm-sigconf.jsonc +5 -0
  110. package/presets/acm-sigconf.md +43 -0
  111. package/presets/agenticdev.jsonc +27 -6
  112. package/presets/agenticdev.md +151 -0
  113. package/presets/aidc.jsonc +6 -0
  114. package/presets/aidc.md +75 -0
  115. package/presets/aisec.jsonc +5 -1
  116. package/presets/aisec.md +117 -0
  117. package/presets/ieee-conference.jsonc +5 -0
  118. package/presets/ieee-conference.md +38 -0
  119. package/presets/msr.jsonc +71 -0
  120. package/presets/msr.md +94 -0
  121. package/presets/realm.jsonc +7 -2
  122. package/presets/realm.md +166 -0
  123. package/presets/tex/agenticdev.tex +1 -1
  124. package/presets/tex-base.jsonc +6 -0
  125. package/presets/tex-base.md +30 -0
  126. package/presets/venue-profile.schema.json +65 -1
  127. package/skills/camera-ready/SKILL.md +8 -1
  128. package/skills/camera-ready/SKILL.md.spec.ts +7 -0
  129. package/skills/find-venue/SKILL.md +6 -5
  130. package/skills/find-venue/SKILL.md.spec.ts +5 -4
  131. package/skills/paper-pipeline/SKILL.md +5 -6
  132. package/skills/paper-pipeline/SKILL.md.spec.ts +4 -5
  133. package/skills/paper-pipeline/references/acl-venue-rules.md +1 -1
  134. package/skills/study-accepted-papers/SKILL.md +3 -3
  135. package/skills/study-accepted-papers/SKILL.md.spec.ts +2 -2
  136. package/skills/submission-portal/SKILL.md +2 -2
  137. package/skills/submission-portal/SKILL.md.spec.ts +1 -1
  138. package/skills/submit-paper/SKILL.md +34 -22
  139. package/skills/submit-paper/SKILL.md.spec.ts +33 -21
  140. package/skills/submit-paper/references/publishers/acm.md +1 -1
  141. package/src/adapters/latex/conditionals.ts +130 -0
  142. package/src/adapters/latex/headings.ts +163 -0
  143. package/src/adapters/latex/index.test.ts +65 -0
  144. package/src/adapters/latex/index.ts +3 -0
  145. package/src/adapters/latex/parse.ts +3 -2
  146. package/src/build.ts +2 -2
  147. package/src/cli.test.ts +50 -7
  148. package/src/cli.ts +28 -6
  149. package/src/domain/body-pages.test.ts +144 -0
  150. package/src/domain/body-pages.ts +61 -1
  151. package/src/domain/heading-case.test.ts +660 -0
  152. package/src/domain/heading-case.ts +538 -0
  153. package/src/domain/tex-document.ts +36 -0
  154. package/src/domain/venue-name.test.ts +13 -7
  155. package/src/facts-file.test.ts +4 -4
  156. package/src/facts-file.ts +6 -6
  157. package/src/folder-venue-rule.test.ts +10 -10
  158. package/src/folder-venue-rule.ts +6 -6
  159. package/src/heading-case.test.ts +500 -0
  160. package/src/heading-case.ts +275 -0
  161. package/src/init.test.ts +1 -1
  162. package/src/new-paper.test.ts +37 -6
  163. package/src/paper-includes.test.ts +26 -0
  164. package/src/paper-includes.ts +20 -2
  165. package/src/paper-settings-commands.test.ts +26 -11
  166. package/src/ports/latex.ts +7 -0
  167. package/src/preset-card-rule.test.ts +267 -0
  168. package/src/preset-card-rule.ts +384 -0
  169. package/src/presets.test.ts +259 -41
  170. package/src/presets.ts +161 -75
  171. package/src/rule-cases.test.ts +136 -50
  172. package/src/submission.test.ts +44 -4
  173. package/src/submission.ts +28 -7
  174. package/src/talk-rules.test.ts +6 -3
  175. package/src/tex-requirements.harness.ts +25 -11
  176. package/src/tex-requirements.test.ts +127 -1
  177. package/src/tex-requirements.ts +91 -12
  178. package/src/tex-venue-rules.test.ts +196 -21
  179. package/src/tex-venue-rules.ts +47 -16
  180. package/src/venue-rules.test.ts +180 -8
  181. package/src/venue-rules.ts +71 -10
  182. package/templates/paper/paper.tex +1 -1
  183. package/skills/submit-paper/references/venues/agenticdev.md +0 -171
  184. package/skills/submit-paper/references/venues/aisec.md +0 -105
  185. package/skills/submit-paper/references/venues/realm.md +0 -155
@@ -1 +1 @@
1
- {"version":3,"file":"facts-file.d.ts","sourceRoot":"","sources":["../src/facts-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facts-file.d.ts","sourceRoot":"","sources":["../src/facts-file.ts"],"names":[],"mappings":"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"}
@@ -64,12 +64,12 @@ export function declaredVenue(files, paperDir, venuesDir = presetsDir()) {
64
64
  throw new Error(problem);
65
65
  if (p.kind === "resolved")
66
66
  return {
67
- label: p.preset.label,
67
+ id: p.preset.id,
68
68
  kind: p.settings.kind,
69
69
  pdf: p.settings.pdf,
70
70
  };
71
71
  return p.kind === "none" && p.settings
72
- ? { label: null, kind: p.settings.kind, pdf: p.settings.pdf }
72
+ ? { id: null, kind: p.settings.kind, pdf: p.settings.pdf }
73
73
  : null;
74
74
  }
75
75
  export function fontEntry(f) {
@@ -129,7 +129,7 @@ export async function measurePaper(paperDir, pdf, o) {
129
129
  const facts = factsDocument({
130
130
  pdf: posix(relative(paperDir, pdf)),
131
131
  sha: sha256Hex(bytes),
132
- venue: o.venue ?? decl?.label ?? null,
132
+ venue: o.venue ?? decl?.id ?? null,
133
133
  kind: o.kind ?? decl?.kind ?? null,
134
134
  read: r.facts,
135
135
  geometry,
@@ -1 +1 @@
1
- {"version":3,"file":"facts-file.js","sourceRoot":"","sources":["../src/facts-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"facts-file.js","sourceRoot":"","sources":["../src/facts-file.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EACL,gBAAgB,EAChB,WAAW,GAGZ,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAiC,MAAM,gBAAgB,CAAC;AAChF,OAAO,EACL,YAAY,GAIb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,SAAS,EAAe,MAAM,oBAAoB,CAAC;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,GAAG,EAAE,EAAE,EAAe,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,SAAS,GAAG,QAAQ,CAAC;AAClC,MAAM,CAAC,MAAM,UAAU,GAAG,kBAAkB,CAAC;AAE7C,kCAAkC;AAClC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAU,EAAE,CACpD,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAUxC;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAY,EACZ,QAAgB,EAChB,YAAoB,UAAU,EAAE;IAEhC,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAChD,IAAI,OAAO,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QACvB,OAAO;YACL,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;YACf,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI;YACrB,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG;SACpB,CAAC;IACJ,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,QAAQ;QACpC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE;QAC1D,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AA6CD,MAAM,UAAU,SAAS,CAAC,CAAW;IACnC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;QACpB,yFAAyF;QACzF,0FAA0F;QAC1F,QAAQ,EAAE,CAAC,CAAC,IAAI,KAAK,cAAc;QACnC,OAAO,EAAE,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;KAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,CAAW;IACvC,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU;QACvB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QACrB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAC1C,CAAC;AAaD,mCAAmC;AACnC,MAAM,UAAU,aAAa,CAAC,CAAa;IACzC,MAAM,IAAI,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,OAAO;QACL,MAAM,EAAE,YAAY;QACpB,GAAG,EAAE,CAAC,CAAC,GAAG;QACV,UAAU,EAAE,CAAC,CAAC,GAAG;QACjB,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;QACpB,YAAY,EAAE,aAAa;QAC3B,KAAK,EACH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;QACvE,SAAS,EAAE,IAAI;QACf,iBAAiB,EAAE,IAAI,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;QACpE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;QAC5B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ;QACzB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;QACnB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;QACrC,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB;QAC/C,GAAG,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;KAC5B,CAAC;AACJ,CAAC;AAqBD,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE5D;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,GAAW,EACX,CAAiB;IAEjB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,CAAC,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,GAAG,CAAC,GAAG,GAAG,6BAA6B,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,aAAa,CAAC;QAC1B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC;QACrB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,IAAI,IAAI;QAClC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,IAAI;QAClC,IAAI,EAAE,CAAC,CAAC,KAAK;QACb,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAY,EACZ,QAAgB,EAChB,KAAoB;IAEpB,MAAM,GAAG,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,CAAC,WAAW,CACf,UAAU,CAAC,GAAG,CAAC,EACf,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAChE,CAAC;IACF,OAAO,GAAG,CAAC;AACb,CAAC;AAgCD,MAAM,QAAQ,GAAG,CAAC,CAAU,EAA0C,EAAE,CACtE,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3D,MAAM,KAAK,GAAG,CAAC,CAAU,EAAe,EAAE,CACxC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC9C,MAAM,SAAS,GAAG,CAAC,CAAU,EAAsB,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AAE7E,SAAS,MAAM,CAAC,CAAU;IACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5C,OAAO,OAAO,IAAI,KAAK,QAAQ;QAC7B,OAAO,IAAI,KAAK,QAAQ;QACxB,OAAO,QAAQ,KAAK,SAAS;QAC7B,OAAO,OAAO,KAAK,QAAQ;QAC3B,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;QACnC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,aAAa,GAAG;IACpB,WAAW;IACX,WAAW;IACX,SAAS;IACT,SAAS;IACT,QAAQ;CACA,CAAC;AACX,MAAM,OAAO,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,gBAAgB,CAAU,CAAC;AASvE,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAyC,EAAE,CACrE,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAE/C,uFAAuF;AACvF,MAAM,kBAAkB,GAAG,CACzB,CAAoC,EACsB,EAAE,CAC5D,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AAE/B,iFAAiF;AACjF,SAAS,aAAa,CAAC,CAAoC;IACzD,MAAM,GAAG,GACP,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,OAAO,GAAG;QACR,CAAC,CAAC,KAAK,GAAG,oBAAoB;QAC9B,CAAC,CAAC,iDAAiD,CAAC;AACxD,CAAC;AAED,2EAA2E;AAC3E,SAAS,UAAU,CACjB,CAAoC;IAEpC,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,IAAI;QAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,CAAC,iBAAiB,CAAC,KAAK,QAAQ;QAC1C,OAAO,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACxE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,EAAE,CAAC;QACR,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,SAAS,EAAE,CAAC,CAAC,SAAS;QACtB,cAAc,EAAE,CAAC,CAAC,cAAc;QAChC,aAAa,EAAE,CAAC,CAAC,aAAa;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,CAAU,EAAe,EAAE,CACzC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxD,MAAM,YAAY,GAAG,CAAC,CAAU,EAAsB,EAAE,CACtD,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;AAC1B,MAAM,SAAS,GAAG,CAAC,CAAU,EAA0B,EAAE,CACvD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC5D,MAAM,cAAc,GAAG,CAAC,CAAU,EAAyC,EAAE,CAC3E,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;AACtE,MAAM,OAAO,GAAG,CACd,CAAU,EACuD,EAAE,CACnE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAChB,CAAC,CAAC,KAAK,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,KAAK,CAAC,KAAK,QAAQ,CACxE,CAAC;AAEJ,gDAAgD;AAChD,SAAS,MAAM,CACb,CAAoC;IAEpC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC1C,MAAM,EAAE,eAAe,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QACxB,OAAO,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACtD,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;QAC3B,OAAO,GAAG,CAAC,wCAAwC,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAC1E,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAChC,OAAO,GAAG,CAAC,qDAAqD,CAAC,CAAC;IACpE,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC;QACrC,OAAO,GAAG,CAAC,0DAA0D,CAAC,CAAC;IACzE,OAAO,EAAE,CAAC;QACR,KAAK,EAAE,UAAU;QACjB,QAAQ;QACR,KAAK;QACL,aAAa,EAAE,eAAe;QAC9B,kBAAkB,EAAE,oBAAoB;KACzC,CAAC,CAAC;AACL,CAAC;AAED,0FAA0F;AAC1F,SAAS,SAAS,CAChB,CAAoC;IAEpC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7E,CAAC;AAED,2DAA2D;AAC3D,SAAS,UAAU,CACjB,CAAoC;IAEpC,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACrB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,GAAG,CAAC,eAAe,CAAC,CAAC;IACvE,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAU,CAAC;IACf,IAAI,CAAC;QACH,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,YAAY;QAC9B,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QACnD,OAAO,GAAG,CAAC;YACT,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,4DAA4D;SAClE,CAAC,CAAC;IACL,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC7B,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACpE,OAAO,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC"}
@@ -45,13 +45,13 @@ export function judgeFolder(folder, preset, others) {
45
45
  }));
46
46
  }
47
47
  /**
48
- * A template family (`acm-sigconf`, `ieee-conference`): a preset with no kinds, which a paper for a
49
- * venue paperlint has no preset for extends directly (`src/venue-rules.ts` reads it the same way).
50
- * Such a paper declares a format, not a venue, so a venue in its folder name may be its own: the
51
- * accepted ACSAC papers in `fixtures/accepted-papers/` extend `ieee-conference` from folders named
52
- * `…-acsac24`, and ACSAC is the parent conference `aidc` names as an alias.
48
+ * A template family (`acm-sigconf`, `ieee-conference`), as the preset declares itself (`"type":
49
+ * "family"`), which a paper for a venue paperlint has no preset for extends directly. Such a paper
50
+ * declares a format, not a venue, so a venue in its folder name may be its own: the accepted ACSAC
51
+ * papers in `fixtures/accepted-papers/` extend `ieee-conference` from folders named `…-acsac24`, and
52
+ * ACSAC is the parent conference `aidc` names as an alias.
53
53
  */
54
- const isFamily = (preset) => preset.format.kinds.size === 0;
54
+ const isFamily = (preset) => preset.identity.type === "family";
55
55
  /** The findings for the paper folder `dir`; none when it has no resolved venue, or only a family. */
56
56
  function findingsFor(dir, deps) {
57
57
  const p = paperPreset(dir, deps);
@@ -1 +1 @@
1
- {"version":3,"file":"folder-venue-rule.js","sourceRoot":"","sources":["../src/folder-venue-rule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"folder-venue-rule.js","sourceRoot":"","sources":["../src/folder-venue-rule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import type { LatexReader } from "./ports/latex.ts";
2
+ /** What the rule reads with: the LaTeX reader. */
3
+ export interface HeadingCaseDeps {
4
+ readonly latex: LatexReader;
5
+ }
6
+ type Loc = {
7
+ readonly line: number;
8
+ readonly column: number;
9
+ };
10
+ /** The slice of ESLint's rule context this rule uses. `raw` exists on the `.tex` language's. */
11
+ export interface HeadingCaseContext {
12
+ readonly options: readonly unknown[];
13
+ readonly sourceCode: {
14
+ readonly text: string;
15
+ readonly raw?: string;
16
+ getLocFromIndex(index: number): Loc;
17
+ };
18
+ report(d: {
19
+ readonly loc: {
20
+ readonly start: Loc;
21
+ readonly end: Loc;
22
+ };
23
+ readonly messageId: string;
24
+ readonly data?: Readonly<Record<string, string>>;
25
+ readonly fix?: (fixer: {
26
+ replaceTextRange(range: readonly [number, number], text: string): unknown;
27
+ }) => unknown;
28
+ }): void;
29
+ }
30
+ export interface HeadingCaseRule {
31
+ readonly meta: {
32
+ readonly type: "suggestion";
33
+ readonly fixable: "code";
34
+ readonly docs: {
35
+ readonly description: string;
36
+ readonly url: string;
37
+ };
38
+ readonly schema: readonly object[];
39
+ readonly messages: Readonly<Record<string, string>>;
40
+ };
41
+ create(context: HeadingCaseContext): {
42
+ root?: () => void;
43
+ };
44
+ }
45
+ /** The rule: its options are parsed when ESLint loads it, and a refused one stops the run. */
46
+ export declare const headingCaseRule: (deps: HeadingCaseDeps) => HeadingCaseRule;
47
+ export {};
48
+ //# sourceMappingURL=heading-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading-case.d.ts","sourceRoot":"","sources":["../src/heading-case.ts"],"names":[],"mappings":"AA2CA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,kDAAkD;AAClD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;CAC7B;AAED,KAAK,GAAG,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D,gGAAgG;AAChG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,OAAO,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC;KACrC,CAAC;IACF,MAAM,CAAC,CAAC,EAAE;QACR,QAAQ,CAAC,GAAG,EAAE;YAAE,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;SAAE,CAAC;QACzD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;QAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACjD,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE;YACrB,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;SAC3E,KAAK,OAAO,CAAC;KACf,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;QAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,IAAI,EAAE;YAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;SAAE,CAAC;QACtE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;QACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;KACrD,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,kBAAkB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;CAC5D;AA4KD,8FAA8F;AAC9F,eAAO,MAAM,eAAe,GAAI,MAAM,eAAe,KAAG,eAqBtD,CAAC"}
@@ -0,0 +1,191 @@
1
+ /**
2
+ * THE RULE THAT JUDGES THE CASE OF TITLES — `tex/heading-case`, over the paper's `\title` and the
3
+ * titles of `\section`, `\subsection`, `\subsubsection`, `\paragraph` and `\subparagraph`
4
+ * (starred or not, and each optional short title).
5
+ *
6
+ * tex/heading-case off unless turned on every word of a title is in the case its scope asks:
7
+ * { title, headings, levels? }, each a CaseStyle
8
+ *
9
+ * ── WHY IT IS AN OPTION AND NOT A DEFAULT ────────────────────────────────────────
10
+ * Which style a venue asks is the venue's, and venues name different authorities: Conference
11
+ * Publishing (AgenticDev's proceedings) quotes the Chicago Manual of Style, ACL links APA title case,
12
+ * IEEE's manual has its own list. So the rule is optional, like `pdf/last-page-balance`: a venue
13
+ * preset whose author kit was read turns it on in its `rules` — today only `presets/agenticdev.jsonc`
14
+ * — and a paper may turn it on in its own `paperlint.json`.
15
+ *
16
+ * ── THE OPTIONS ARE PARSED ONCE, WHEN ESLINT LOADS THE RULE ──────────────────────
17
+ * ESLint checks the SHAPE against `meta.schema`: `title` and `headings` required, no other key, no
18
+ * unknown level. The VALUES are judged by `parseOptions`, because ajv's enum message («should be
19
+ * equal to one of the allowed values») names none of them: a misspelt style, the retired words
20
+ * `headline` and `off`, and `any` for both scopes each throw from `create`, which ESLint reports as
21
+ * «Error while loading rule» and stops the run. The judge then gets `HeadingCaseOptions` and never
22
+ * looks at the raw object again. A bare severity (`"error"`, no options) passes ESLint's schema —
23
+ * it validates the options it is given, not their count — so it is reported once, at the top of the
24
+ * file, rather than passing as a rule that checked nothing.
25
+ *
26
+ * ── ONE FILE AT A TIME ───────────────────────────────────────────────────────────
27
+ * The rule reads the file ESLint hands it, like `paper/section-word`: it runs on `paper.tex` and on
28
+ * every file `paper.tex` includes from its body (the `**` block of `src/cli.ts`), so a heading in
29
+ * `sections/results.tex` is reported at that file and line, and `--fix` edits that file. The
30
+ * preamble is read too: that is where `\title` stands.
31
+ *
32
+ * What a word is asked is decided in `src/domain/heading-case.ts`.
33
+ */
34
+ import { CASE_STYLES, HEADING_LEVELS, judgeHeadingCase, } from "./domain/heading-case.js";
35
+ import { fieldOf, isRecord } from "./domain/record.js";
36
+ import { ruleDocsUrl } from "./tex-venue-rules.js";
37
+ const DOCS_URL = ruleDocsUrl("heading-case");
38
+ const refused = (reason) => ({
39
+ kind: "refused",
40
+ reason: `${reason} — ${DOCS_URL}`,
41
+ });
42
+ const quoted = (xs) => xs.map((x) => JSON.stringify(x)).join(", ");
43
+ /** One style value, or why it is none; `key` is how the message names where it stands. */
44
+ function styleOf(key, v) {
45
+ const style = CASE_STYLES.find((s) => s === v);
46
+ if (style !== undefined)
47
+ return style;
48
+ if (v === "headline")
49
+ return {
50
+ why: `"${key}" is "headline", which names no single style: write "chicago-headline" for the Chicago Manual of Style headline style. Other headline variants (APA title case, IEEE, Springer) are not implemented yet, and they disagree with Chicago on words such as With, Between and From`,
51
+ };
52
+ if (v === "off")
53
+ return {
54
+ why: `"${key}" is "off", which is not a style: write "any" to leave this scope unconstrained, or turn the whole rule off with "tex/heading-case": "off"`,
55
+ };
56
+ const shown = v === undefined ? "missing" : JSON.stringify(v);
57
+ return {
58
+ why: `"${key}" is ${shown}, which is not a style: one of ${quoted(CASE_STYLES)}`,
59
+ };
60
+ }
61
+ /** The `levels` object: the levels it names, each with its style, or why it is refused. */
62
+ function levelsOf(v) {
63
+ if (v === undefined)
64
+ return {};
65
+ if (!isRecord(v))
66
+ return {
67
+ why: `"levels" is ${JSON.stringify(v)}, not an object such as {"paragraph": "sentence"}`,
68
+ };
69
+ return HEADING_LEVELS.reduce((acc, level) => {
70
+ if ("why" in acc || !(level in v))
71
+ return acc;
72
+ const style = styleOf(`levels.${level}`, v[level]);
73
+ return typeof style === "string" ? { ...acc, [level]: style } : style;
74
+ }, {});
75
+ }
76
+ /** Whether every scope is `any`: the rule turned off, said in a second way. */
77
+ const asksNothing = (o) => o.title === "any" &&
78
+ o.headings === "any" &&
79
+ Object.values(o.levels).every((s) => s === "any");
80
+ /** ESLint's options for the rule → what it is asked, parsed once. */
81
+ function parseOptions(options) {
82
+ const [raw] = options;
83
+ if (raw === undefined)
84
+ return { kind: "none" };
85
+ if (!isRecord(raw))
86
+ return refused(`the options are ${JSON.stringify(raw)}, not an object such as {"title": "chicago-headline", "headings": "chicago-headline"}`);
87
+ const title = styleOf("title", fieldOf(raw, "title"));
88
+ if (typeof title !== "string")
89
+ return refused(title.why);
90
+ const headings = styleOf("headings", fieldOf(raw, "headings"));
91
+ if (typeof headings !== "string")
92
+ return refused(headings.why);
93
+ const levels = levelsOf(fieldOf(raw, "levels"));
94
+ if ("why" in levels)
95
+ return refused(levels.why);
96
+ const parsed = { title, headings, levels };
97
+ return asksNothing(parsed)
98
+ ? refused(`"title" and "headings" are both "any" and no level asks for more: that is the rule turned off — remove it from "rules", or set it to "off"`)
99
+ : { kind: "options", options: parsed };
100
+ }
101
+ const MESSAGES = {
102
+ capitalize: "{{where}}: capitalize «{{word}}» → «{{expected}}» — {{why}} (chicago-headline)",
103
+ lowercase: "{{where}}: lowercase «{{word}}» → «{{expected}}» — {{why}} (chicago-headline)",
104
+ sentenceFirst: "{{where}}: capitalize the first word, «{{word}}» → «{{expected}}» (sentence; not fixed: a product name written in lowercase looks the same)",
105
+ noOptions: `tex/heading-case is on with no options, so it judged nothing: give it the styles the venue asks, e.g. ["error", {"title": "chicago-headline", "headings": "chicago-headline"}] (styles: ${quoted(CASE_STYLES)})`,
106
+ };
107
+ /** One finding reported where its word stands, with the fix when the judge is sure of it. */
108
+ function report(context, f) {
109
+ const sc = context.sourceCode;
110
+ const { fix } = f;
111
+ context.report({
112
+ loc: {
113
+ start: sc.getLocFromIndex(f.at.start),
114
+ end: sc.getLocFromIndex(f.at.end),
115
+ },
116
+ messageId: f.messageId,
117
+ data: f.data,
118
+ ...(fix === null
119
+ ? {}
120
+ : {
121
+ fix: (fixer) => fixer.replaceTextRange([fix.span.start, fix.span.end], fix.text),
122
+ }),
123
+ });
124
+ }
125
+ /**
126
+ * A style value, as the schema checks it: a string. Which strings are styles is `parseOptions`'s to
127
+ * say, so that the refusal can name them (see the header).
128
+ */
129
+ const STYLE = { type: "string" };
130
+ const META = {
131
+ type: "suggestion",
132
+ fixable: "code",
133
+ docs: {
134
+ description: "the words of the paper's title and of its headings are in the capitalization the venue asks: chicago-headline or sentence",
135
+ url: DOCS_URL,
136
+ },
137
+ schema: [
138
+ {
139
+ type: "object",
140
+ properties: {
141
+ title: STYLE,
142
+ headings: STYLE,
143
+ levels: {
144
+ type: "object",
145
+ properties: Object.fromEntries(HEADING_LEVELS.map((level) => [level, STYLE])),
146
+ additionalProperties: false,
147
+ },
148
+ },
149
+ required: ["title", "headings"],
150
+ additionalProperties: false,
151
+ },
152
+ ],
153
+ messages: MESSAGES,
154
+ };
155
+ /** The rule turned on with no options: said once, at the top of the file. */
156
+ function reportNoOptions(context) {
157
+ const start = context.sourceCode.getLocFromIndex(0);
158
+ context.report({ loc: { start, end: start }, messageId: "noOptions" });
159
+ }
160
+ /** One file against the options the rule was given. */
161
+ function judgeFile(context, deps, options) {
162
+ const sc = context.sourceCode;
163
+ const src = sc.raw ?? sc.text;
164
+ judgeHeadingCase(deps.latex.headings(src), options, src).forEach((f) => {
165
+ report(context, f);
166
+ });
167
+ }
168
+ /** The rule: its options are parsed when ESLint loads it, and a refused one stops the run. */
169
+ export const headingCaseRule = (deps) => ({
170
+ meta: META,
171
+ create: (context) => {
172
+ const asked = parseOptions(context.options);
173
+ switch (asked.kind) {
174
+ case "refused":
175
+ throw new Error(asked.reason);
176
+ case "none":
177
+ return {
178
+ root: () => {
179
+ reportNoOptions(context);
180
+ },
181
+ };
182
+ case "options":
183
+ return {
184
+ root: () => {
185
+ judgeFile(context, deps, asked.options);
186
+ },
187
+ };
188
+ }
189
+ },
190
+ });
191
+ //# sourceMappingURL=heading-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heading-case.js","sourceRoot":"","sources":["../src/heading-case.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  import type { AbsolutePath } from "./domain/paths.ts";
2
2
  import type { ConfigBlock } from "./rules-config.ts";
3
3
  import { type PaperDeps, type Unread } from "./tex-paper.ts";
4
+ /** The files the fragment block (`buildConfig`) claims: the only body files ESLint is handed. */
5
+ export declare const FRAGMENT_FILES: readonly string[];
4
6
  /** One paper's main file and body files, and the includes that resolved nowhere. */
5
7
  export interface PaperBody {
6
8
  readonly dir: string;
7
9
  readonly main: AbsolutePath;
10
+ /** The body files ESLint lints, each as a fragment: the `.tex` ones. */
8
11
  readonly files: readonly AbsolutePath[];
9
12
  readonly missing: readonly Unread[];
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"paper-includes.d.ts","sourceRoot":"","sources":["../src/paper-includes.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExE,oFAAoF;AACpF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,SAAS,GACd,SAAS,SAAS,EAAE,CAQtB;AAED,sGAAsG;AACtG,eAAO,MAAM,aAAa,GACxB,QAAQ,SAAS,SAAS,EAAE,KAC3B,SAAS,WAAW,EAcnB,CAAC;AAEL,yFAAyF;AACzF,eAAO,MAAM,WAAW,GACtB,QAAQ,SAAS,SAAS,EAAE,EAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,KAC9B,SAAS,MAAM,EAOf,CAAC"}
1
+ {"version":3,"file":"paper-includes.d.ts","sourceRoot":"","sources":["../src/paper-includes.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAa,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExE,iGAAiG;AACjG,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAAiB,CAAC;AAK9D,oFAAoF;AACpF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,wEAAwE;IACxE,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACrC;AAED,yEAAyE;AACzE,wBAAgB,WAAW,CACzB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,EAAE,SAAS,GACd,SAAS,SAAS,EAAE,CAStB;AAED,sGAAsG;AACtG,eAAO,MAAM,aAAa,GACxB,QAAQ,SAAS,SAAS,EAAE,KAC3B,SAAS,WAAW,EAcnB,CAAC;AAEL,yFAAyF;AACzF,eAAO,MAAM,WAAW,GACtB,QAAQ,SAAS,SAAS,EAAE,EAC5B,OAAO,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,KAC9B,SAAS,MAAM,EAOf,CAAC"}
@@ -14,11 +14,25 @@
14
14
  * `paper.tex`, so only the files named here are ever enumerated;
15
15
  * 2. `settings.paperlint.paper` for `paper.tex` and its body files: the main file and the whole set,
16
16
  * for the rules whose verdict is the paper's (eslint-rules/paper-context.ts).
17
+ *
18
+ * ── ONLY `.tex` FILES ARE HANDED TO ESLint (#153) ────────────────────────────────
19
+ * An include may resolve to a file of another extension: `\input{paper.bbl}` in a paper that ships
20
+ * bibtex's output instead of a `.bib`, a plot exported as `.pgf`. Handed to ESLint, such a file got
21
+ * no language — the fragment block claims `.tex` only — and the JavaScript parser stopped at its
22
+ * first `%`. It is not given the LaTeX language either: the fragment rules judge and `--fix` the
23
+ * prose an author writes in that file, and a file of another extension is in practice a tool's
24
+ * output, whose words are someone else's (the titles of cited works) and whose fix the next run of
25
+ * the tool overwrites. TeX still reads it, and so does `readPaper`: the rules over the whole paper
26
+ * see it spliced into `paper.tex`, where TeX typesets it.
17
27
  */
18
- import { join, relative } from "node:path";
28
+ import { extname, join, relative } from "node:path";
19
29
  import { PAPERLINT_SETTINGS } from "#eslint-rules/paper-context";
20
30
  import { callerPath } from "./caller-path.js";
21
31
  import { bodyFiles } from "./tex-paper.js";
32
+ /** The files the fragment block (`buildConfig`) claims: the only body files ESLint is handed. */
33
+ export const FRAGMENT_FILES = ["**/*.tex"];
34
+ /** Whether a body file is one the fragment block claims — the extension its glob names. */
35
+ const isFragment = (file) => extname(file) === ".tex";
22
36
  /** The body of each paper directory in `dirs` that has a `paper.tex`. */
23
37
  export function paperBodies(dirs, deps) {
24
38
  return dirs.flatMap((dir) => {
@@ -27,7 +41,8 @@ export function paperBodies(dirs, deps) {
27
41
  if (bytes === null)
28
42
  return [];
29
43
  const body = bodyFiles(main, new TextDecoder().decode(bytes), deps);
30
- return [{ dir, main, files: body.files, missing: body.missing }];
44
+ const files = body.files.filter(isFragment);
45
+ return [{ dir, main, files, missing: body.missing }];
31
46
  });
32
47
  }
33
48
  /** The config blocks that hand ESLint each paper's body files, and the paper to every one of them. */
@@ -1 +1 @@
1
- {"version":3,"file":"paper-includes.js","sourceRoot":"","sources":["../src/paper-includes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,SAAS,EAA+B,MAAM,gBAAgB,CAAC;AAUxE,yEAAyE;AACzE,MAAM,UAAU,WAAW,CACzB,IAAuB,EACvB,IAAe;IAEf,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC1B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,MAA4B,EACJ,EAAE,CAC1B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;IACnB,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;IAC5D,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC;YAChB,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACzD,CAAC,CAAC,EAAE,CAAC;QACP;YACE,QAAQ,EAAE,CAAC,CAAC,GAAG;YACf,KAAK,EAAE,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC;YAC5B,QAAQ,EAAE,EAAE,CAAC,kBAAkB,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;SAC9C;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,yFAAyF;AACzF,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAA4B,EAC5B,KAA+B,EACZ,EAAE,CACrB,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACnB,CAAC,CAAC,OAAO,CAAC,GAAG,CACX,CAAC,CAAC,EAAE,EAAE,CACJ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,mBAAmB,CAAC,CAAC,IAAI,KAAK;IAC/E,6DAA6D,CAChE,CACF,CAAC"}
1
+ {"version":3,"file":"paper-includes.js","sourceRoot":"","sources":["../src/paper-includes.ts"],"names":[],"mappings":"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"}
@@ -3,12 +3,18 @@
3
3
  * parser. The one implementation is `src/adapters/latex/` (unified-latex); `src/cli.ts` wires it.
4
4
  */
5
5
  import type { Include } from "../domain/paper-source.ts";
6
- import type { ClassLine, DocumentClass, Emphasis, LayoutOverride, Outline, Passage, Span, TextRun } from "../domain/tex-document.ts";
6
+ import type { ClassLine, DocumentClass, Emphasis, LayoutOverride, Outline, Passage, Span, TextRun, TitledHeading } from "../domain/tex-document.ts";
7
7
  export interface LatexReader {
8
8
  /** The source's `\documentclass`, as one of its states. */
9
9
  readonly documentClass: (src: string) => ClassLine;
10
10
  /** Its sections, where the back matter begins, and where the document ends. */
11
11
  readonly outline: (src: string) => Outline;
12
+ /**
13
+ * Its `\title` and the titles of its `\section`, `\subsection`, `\subsubsection`, `\paragraph`
14
+ * and `\subparagraph` (starred or not, and each optional short title), each as the text the case
15
+ * judge reads: in document order.
16
+ */
17
+ readonly headings: (src: string) => readonly TitledHeading[];
12
18
  /** The text a reader sees: prose, the author block, footnotes — not comments, keys, math, code. */
13
19
  readonly renderedRuns: (src: string) => readonly TextRun[];
14
20
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"latex.d.ts","sourceRoot":"","sources":["../../src/ports/latex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,cAAc,EACd,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACR,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;IACnD,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C,mGAAmG;IACnG,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IAC3D;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IACxD;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,QAAQ,EAAE,CAAC;IAC5D,wGAAwG;IACxG,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IACvD,uFAAuF;IACvF,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC;IAC1D;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IACzE,oGAAoG;IACpG,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,cAAc,EAAE,CAAC;CACtE"}
1
+ {"version":3,"file":"latex.d.ts","sourceRoot":"","sources":["../../src/ports/latex.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,QAAQ,EACR,cAAc,EACd,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;IACnD,+EAA+E;IAC/E,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAC3C;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,aAAa,EAAE,CAAC;IAC7D,mGAAmG;IACnG,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IAC3D;;;;OAIG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IACxD;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,QAAQ,EAAE,CAAC;IAC5D,wGAAwG;IACxG,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,OAAO,EAAE,CAAC;IACvD,uFAAuF;IACvF,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACpD;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,aAAa,GAAG,IAAI,CAAC;IAC1D;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,KAAK,MAAM,CAAC;IACzE,oGAAoG;IACpG,QAAQ,CAAC,eAAe,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,SAAS,cAAc,EAAE,CAAC;CACtE"}
@@ -0,0 +1,100 @@
1
+ import type { Files } from "./ports/files.ts";
2
+ import { type Preset } from "./presets.ts";
3
+ /** The first line of the generated section. */
4
+ export declare const SECTION_START = "<!-- paperlint:preset-rules -->";
5
+ /** The last line of the generated section. */
6
+ export declare const SECTION_END = "<!-- /paperlint:preset-rules -->";
7
+ export interface PresetCardDeps {
8
+ readonly files: Files;
9
+ /** The shipped presets and their schema: where `paperlint:<name>` resolves. */
10
+ readonly venuesDir: string;
11
+ /** The repository root: the rule pages are `docs/rules/<group>/<rule>.md` under it. */
12
+ readonly docsRoot: string;
13
+ }
14
+ /** A point of a markdown node, as mdast gives it: @eslint/markdown's parser sets the offset on every node. */
15
+ interface Point {
16
+ readonly line: number;
17
+ readonly column: number;
18
+ readonly offset: number;
19
+ }
20
+ /** The slice of an mdast node the rule reads. */
21
+ export interface MdNode {
22
+ readonly type: string;
23
+ readonly value?: string;
24
+ readonly position: {
25
+ readonly start: Point;
26
+ readonly end: Point;
27
+ };
28
+ }
29
+ /** The card's root: its top-level blocks. */
30
+ export interface MdRoot extends MdNode {
31
+ readonly children: readonly MdNode[];
32
+ }
33
+ /** What `--fix` may do: replace a range of the card's text, or insert after one. */
34
+ export interface CardFixer {
35
+ replaceTextRange(range: readonly [number, number], text: string): unknown;
36
+ insertTextAfterRange(range: readonly [number, number], text: string): unknown;
37
+ }
38
+ /** The slice of ESLint's rule context this rule uses. */
39
+ export interface CardRuleContext {
40
+ readonly filename: string;
41
+ readonly sourceCode: {
42
+ readonly text: string;
43
+ };
44
+ report(d: {
45
+ readonly node: MdNode;
46
+ readonly messageId: string;
47
+ readonly data?: Readonly<Record<string, string>>;
48
+ readonly fix?: (fixer: CardFixer) => unknown;
49
+ }): void;
50
+ }
51
+ export interface CardRuleModule {
52
+ readonly meta: {
53
+ readonly type: "problem";
54
+ readonly fixable: "code";
55
+ readonly docs: {
56
+ readonly description: string;
57
+ };
58
+ readonly schema: readonly object[];
59
+ readonly messages: Readonly<Record<string, string>>;
60
+ };
61
+ create(context: CardRuleContext): {
62
+ readonly root: (node: MdRoot) => void;
63
+ };
64
+ }
65
+ /** One row of the table: a rule of the resolved preset. */
66
+ export interface RuleRow {
67
+ readonly id: string;
68
+ readonly severity: string;
69
+ /** The options after the severity, as JSON; empty when the entry has none. */
70
+ readonly options: string;
71
+ /** The file of the chain that set the entry. */
72
+ readonly origin: string;
73
+ }
74
+ /** A rule entry (`"error"`, `2`, `["error", { … }]`) → its severity and its options as JSON. Pure. */
75
+ export declare function entryParts(entry: unknown): {
76
+ readonly severity: string;
77
+ readonly options: string;
78
+ };
79
+ /** The resolved preset's rules, one row each, by rule id. Pure. */
80
+ export declare const ruleRows: (preset: Preset) => readonly RuleRow[];
81
+ /**
82
+ * The section between the markers for the preset `own`, resolved, as the card `card` shows it —
83
+ * without the markers. Wrapped in prettier-ignore, so the formatter and this rule never disagree
84
+ * about the table's spacing. Pure but for `docExists`.
85
+ */
86
+ export declare function cardSection(o: {
87
+ readonly preset: Preset;
88
+ readonly own: string;
89
+ readonly card: string;
90
+ readonly venuesDir: string;
91
+ readonly docsRoot: string;
92
+ readonly docExists: (file: string) => boolean;
93
+ readonly extendedBy: readonly string[];
94
+ }): string;
95
+ /** The rule, over `deps`. */
96
+ export declare function presetCardRule(deps: PresetCardDeps): CardRuleModule;
97
+ /** The plugin's rules: `preset/card-rules` once registered under the name `preset`. */
98
+ export declare const presetCardRules: (deps: PresetCardDeps) => Readonly<Record<string, CardRuleModule>>;
99
+ export {};
100
+ //# sourceMappingURL=preset-card-rule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preset-card-rule.d.ts","sourceRoot":"","sources":["../src/preset-card-rule.ts"],"names":[],"mappings":"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"}