chaffjs 0.15.0 → 0.16.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 (427) hide show
  1. package/README.md +27 -2
  2. package/dist/address-chain.js +1 -1
  3. package/dist/address-chain.js.map +1 -1
  4. package/dist/backends/anthropic.d.ts +2 -1
  5. package/dist/backends/anthropic.d.ts.map +1 -1
  6. package/dist/backends/anthropic.js +4 -1
  7. package/dist/backends/anthropic.js.map +1 -1
  8. package/dist/backends/openai.d.ts +2 -1
  9. package/dist/backends/openai.d.ts.map +1 -1
  10. package/dist/backends/openai.js +1 -1
  11. package/dist/backends/openai.js.map +1 -1
  12. package/dist/backends/types.d.ts +2 -1
  13. package/dist/backends/types.d.ts.map +1 -1
  14. package/dist/backends/types.js +1 -1
  15. package/dist/backends/types.js.map +1 -1
  16. package/dist/baseline.js +1 -1
  17. package/dist/baseline.js.map +1 -1
  18. package/dist/calendar-number.d.ts +26 -0
  19. package/dist/calendar-number.d.ts.map +1 -0
  20. package/dist/calendar-number.js +51 -0
  21. package/dist/calendar-number.js.map +1 -0
  22. package/dist/cli-args.d.ts +0 -5
  23. package/dist/cli-args.d.ts.map +1 -1
  24. package/dist/cli-args.js +2 -2
  25. package/dist/cli-args.js.map +1 -1
  26. package/dist/cli-text.d.ts +6 -2
  27. package/dist/cli-text.d.ts.map +1 -1
  28. package/dist/cli-text.js +19 -12
  29. package/dist/cli-text.js.map +1 -1
  30. package/dist/cli.d.ts.map +1 -1
  31. package/dist/cli.js +43 -37
  32. package/dist/cli.js.map +1 -1
  33. package/dist/commands/cite.d.ts.map +1 -1
  34. package/dist/commands/cite.js +4 -4
  35. package/dist/commands/cite.js.map +1 -1
  36. package/dist/commands/eval.js +1 -1
  37. package/dist/commands/eval.js.map +1 -1
  38. package/dist/commands/init-ask.d.ts +19 -0
  39. package/dist/commands/init-ask.d.ts.map +1 -0
  40. package/dist/commands/init-ask.js +43 -0
  41. package/dist/commands/init-ask.js.map +1 -0
  42. package/dist/commands/test.d.ts +8 -0
  43. package/dist/commands/test.d.ts.map +1 -1
  44. package/dist/commands/test.js +70 -38
  45. package/dist/commands/test.js.map +1 -1
  46. package/dist/commands/tree.d.ts +1 -8
  47. package/dist/commands/tree.d.ts.map +1 -1
  48. package/dist/commands/tree.js +7 -6
  49. package/dist/commands/tree.js.map +1 -1
  50. package/dist/config/by-path.d.ts.map +1 -1
  51. package/dist/config/by-path.js +10 -9
  52. package/dist/config/by-path.js.map +1 -1
  53. package/dist/config/load.d.ts +4 -0
  54. package/dist/config/load.d.ts.map +1 -1
  55. package/dist/config/load.js +19 -0
  56. package/dist/config/load.js.map +1 -1
  57. package/dist/config/name-problems.d.ts +5 -0
  58. package/dist/config/name-problems.d.ts.map +1 -0
  59. package/dist/config/name-problems.js +11 -0
  60. package/dist/config/name-problems.js.map +1 -0
  61. package/dist/date-stamp.js +1 -1
  62. package/dist/date-stamp.js.map +1 -1
  63. package/dist/detectors/char-shape.d.ts.map +1 -1
  64. package/dist/detectors/char-shape.js +16 -6
  65. package/dist/detectors/char-shape.js.map +1 -1
  66. package/dist/detectors/en-shape.d.ts.map +1 -1
  67. package/dist/detectors/en-shape.js +101 -7
  68. package/dist/detectors/en-shape.js.map +1 -1
  69. package/dist/detectors/enumerated-runs.d.ts.map +1 -1
  70. package/dist/detectors/enumerated-runs.js +4 -2
  71. package/dist/detectors/enumerated-runs.js.map +1 -1
  72. package/dist/detectors/gram-place.js +1 -1
  73. package/dist/detectors/gram-place.js.map +1 -1
  74. package/dist/detectors/heading-case.d.ts.map +1 -1
  75. package/dist/detectors/heading-case.js +3 -1
  76. package/dist/detectors/heading-case.js.map +1 -1
  77. package/dist/detectors/index.d.ts.map +1 -1
  78. package/dist/detectors/index.js +4 -3
  79. package/dist/detectors/index.js.map +1 -1
  80. package/dist/detectors/lettered-index.d.ts +9 -0
  81. package/dist/detectors/lettered-index.d.ts.map +1 -0
  82. package/dist/detectors/lettered-index.js +54 -0
  83. package/dist/detectors/lettered-index.js.map +1 -0
  84. package/dist/detectors/lexicon.d.ts +5 -1
  85. package/dist/detectors/lexicon.d.ts.map +1 -1
  86. package/dist/detectors/lexicon.js +46 -3
  87. package/dist/detectors/lexicon.js.map +1 -1
  88. package/dist/detectors/orthography.d.ts.map +1 -1
  89. package/dist/detectors/orthography.js +24 -6
  90. package/dist/detectors/orthography.js.map +1 -1
  91. package/dist/detectors/phrase-match.d.ts +3 -1
  92. package/dist/detectors/phrase-match.d.ts.map +1 -1
  93. package/dist/detectors/phrase-match.js +20 -15
  94. package/dist/detectors/phrase-match.js.map +1 -1
  95. package/dist/detectors/repeated-head.d.ts.map +1 -1
  96. package/dist/detectors/repeated-head.js +5 -4
  97. package/dist/detectors/repeated-head.js.map +1 -1
  98. package/dist/detectors/signals.d.ts.map +1 -1
  99. package/dist/detectors/signals.js +16 -6
  100. package/dist/detectors/signals.js.map +1 -1
  101. package/dist/detectors/stacked-hedge.d.ts +23 -0
  102. package/dist/detectors/stacked-hedge.d.ts.map +1 -0
  103. package/dist/detectors/stacked-hedge.js +64 -0
  104. package/dist/detectors/stacked-hedge.js.map +1 -0
  105. package/dist/detectors/superlative-amount.d.ts +9 -0
  106. package/dist/detectors/superlative-amount.d.ts.map +1 -0
  107. package/dist/detectors/superlative-amount.js +20 -0
  108. package/dist/detectors/superlative-amount.js.map +1 -0
  109. package/dist/detectors/superlative-clause.d.ts +18 -0
  110. package/dist/detectors/superlative-clause.d.ts.map +1 -0
  111. package/dist/detectors/superlative-clause.js +61 -0
  112. package/dist/detectors/superlative-clause.js.map +1 -0
  113. package/dist/detectors/superlative-scope.d.ts +6 -0
  114. package/dist/detectors/superlative-scope.d.ts.map +1 -1
  115. package/dist/detectors/superlative-scope.js +3 -3
  116. package/dist/detectors/superlative-scope.js.map +1 -1
  117. package/dist/detectors/team.d.ts +0 -6
  118. package/dist/detectors/team.d.ts.map +1 -1
  119. package/dist/detectors/team.js +17 -1
  120. package/dist/detectors/team.js.map +1 -1
  121. package/dist/detectors/token-shape.d.ts.map +1 -1
  122. package/dist/detectors/token-shape.js +8 -6
  123. package/dist/detectors/token-shape.js.map +1 -1
  124. package/dist/document.d.ts +3 -0
  125. package/dist/document.d.ts.map +1 -1
  126. package/dist/document.js +18 -3
  127. package/dist/document.js.map +1 -1
  128. package/dist/eval.js +1 -1
  129. package/dist/eval.js.map +1 -1
  130. package/dist/feedback/draft.js +1 -1
  131. package/dist/feedback/draft.js.map +1 -1
  132. package/dist/feedback/excerpt.d.ts +0 -1
  133. package/dist/feedback/excerpt.d.ts.map +1 -1
  134. package/dist/feedback/excerpt.js +2 -2
  135. package/dist/feedback/excerpt.js.map +1 -1
  136. package/dist/file-header.d.ts +20 -0
  137. package/dist/file-header.d.ts.map +1 -0
  138. package/dist/file-header.js +21 -0
  139. package/dist/file-header.js.map +1 -0
  140. package/dist/files.js +3 -3
  141. package/dist/files.js.map +1 -1
  142. package/dist/genre-check.js +1 -1
  143. package/dist/genre-check.js.map +1 -1
  144. package/dist/genre-load.d.ts +6 -0
  145. package/dist/genre-load.d.ts.map +1 -0
  146. package/dist/genre-load.js +22 -0
  147. package/dist/genre-load.js.map +1 -0
  148. package/dist/genre-parse.d.ts +40 -0
  149. package/dist/genre-parse.d.ts.map +1 -0
  150. package/dist/genre-parse.js +104 -0
  151. package/dist/genre-parse.js.map +1 -0
  152. package/dist/genre-suggest.d.ts +15 -0
  153. package/dist/genre-suggest.d.ts.map +1 -0
  154. package/dist/genre-suggest.js +26 -0
  155. package/dist/genre-suggest.js.map +1 -0
  156. package/dist/genre.d.ts +1 -1
  157. package/dist/genre.d.ts.map +1 -1
  158. package/dist/genre.js +3 -13
  159. package/dist/genre.js.map +1 -1
  160. package/dist/init-choice.d.ts +12 -0
  161. package/dist/init-choice.d.ts.map +1 -0
  162. package/dist/init-choice.js +41 -0
  163. package/dist/init-choice.js.map +1 -0
  164. package/dist/init.d.ts.map +1 -1
  165. package/dist/init.js +16 -5
  166. package/dist/init.js.map +1 -1
  167. package/dist/judge.d.ts +2 -1
  168. package/dist/judge.d.ts.map +1 -1
  169. package/dist/judge.js +1 -1
  170. package/dist/judge.js.map +1 -1
  171. package/dist/line-paragraphs.d.ts +4 -0
  172. package/dist/line-paragraphs.d.ts.map +1 -0
  173. package/dist/line-paragraphs.js +69 -0
  174. package/dist/line-paragraphs.js.map +1 -0
  175. package/dist/mask.d.ts.map +1 -1
  176. package/dist/mask.js +7 -6
  177. package/dist/mask.js.map +1 -1
  178. package/dist/plugin.d.ts +6 -0
  179. package/dist/plugin.d.ts.map +1 -1
  180. package/dist/profile/check.d.ts +28 -0
  181. package/dist/profile/check.d.ts.map +1 -0
  182. package/dist/profile/check.js +12 -0
  183. package/dist/profile/check.js.map +1 -0
  184. package/dist/profile/for-file.d.ts +2 -2
  185. package/dist/profile/for-file.d.ts.map +1 -1
  186. package/dist/profile/for-file.js +9 -2
  187. package/dist/profile/for-file.js.map +1 -1
  188. package/dist/profile/load.js +1 -1
  189. package/dist/profile/load.js.map +1 -1
  190. package/dist/profile/select.d.ts +4 -2
  191. package/dist/profile/select.d.ts.map +1 -1
  192. package/dist/profile/select.js +8 -3
  193. package/dist/profile/select.js.map +1 -1
  194. package/dist/quoted-span.d.ts +15 -3
  195. package/dist/quoted-span.d.ts.map +1 -1
  196. package/dist/quoted-span.js +16 -11
  197. package/dist/quoted-span.js.map +1 -1
  198. package/dist/reasons.d.ts +1 -0
  199. package/dist/reasons.d.ts.map +1 -1
  200. package/dist/reasons.js +4 -1
  201. package/dist/reasons.js.map +1 -1
  202. package/dist/render/compact.d.ts.map +1 -1
  203. package/dist/render/compact.js +1 -2
  204. package/dist/render/compact.js.map +1 -1
  205. package/dist/render/eval.d.ts.map +1 -1
  206. package/dist/render/eval.js +4 -3
  207. package/dist/render/eval.js.map +1 -1
  208. package/dist/render/friendly.d.ts +2 -1
  209. package/dist/render/friendly.d.ts.map +1 -1
  210. package/dist/render/friendly.js +14 -6
  211. package/dist/render/friendly.js.map +1 -1
  212. package/dist/render/genres.d.ts +5 -0
  213. package/dist/render/genres.d.ts.map +1 -0
  214. package/dist/render/genres.js +28 -0
  215. package/dist/render/genres.js.map +1 -0
  216. package/dist/render/plural.d.ts +3 -0
  217. package/dist/render/plural.d.ts.map +1 -0
  218. package/dist/render/plural.js +5 -0
  219. package/dist/render/plural.js.map +1 -0
  220. package/dist/render/rules-json.d.ts.map +1 -1
  221. package/dist/render/rules-json.js +9 -3
  222. package/dist/render/rules-json.js.map +1 -1
  223. package/dist/render/semantic.d.ts +3 -2
  224. package/dist/render/semantic.d.ts.map +1 -1
  225. package/dist/render/semantic.js +94 -34
  226. package/dist/render/semantic.js.map +1 -1
  227. package/dist/render/summary.d.ts.map +1 -1
  228. package/dist/render/summary.js +4 -3
  229. package/dist/render/summary.js.map +1 -1
  230. package/dist/render/suppressions.d.ts.map +1 -1
  231. package/dist/render/suppressions.js +3 -2
  232. package/dist/render/suppressions.js.map +1 -1
  233. package/dist/render/text.d.ts +2 -0
  234. package/dist/render/text.d.ts.map +1 -1
  235. package/dist/render/text.js +11 -3
  236. package/dist/render/text.js.map +1 -1
  237. package/dist/rule-load.d.ts.map +1 -1
  238. package/dist/rule-load.js +4 -1
  239. package/dist/rule-load.js.map +1 -1
  240. package/dist/run-semantic.js +1 -1
  241. package/dist/run-semantic.js.map +1 -1
  242. package/dist/run.d.ts +2 -0
  243. package/dist/run.d.ts.map +1 -1
  244. package/dist/run.js +25 -15
  245. package/dist/run.js.map +1 -1
  246. package/dist/sentence-shape.d.ts +0 -1
  247. package/dist/sentence-shape.d.ts.map +1 -1
  248. package/dist/sentence-shape.js +3 -5
  249. package/dist/sentence-shape.js.map +1 -1
  250. package/dist/setting-problems.d.ts +5 -0
  251. package/dist/setting-problems.d.ts.map +1 -0
  252. package/dist/setting-problems.js +15 -0
  253. package/dist/setting-problems.js.map +1 -0
  254. package/dist/structure/build.js +5 -5
  255. package/dist/structure/build.js.map +1 -1
  256. package/dist/structure/cite.js +1 -1
  257. package/dist/structure/cite.js.map +1 -1
  258. package/dist/structure/issues.d.ts.map +1 -1
  259. package/dist/structure/issues.js +5 -5
  260. package/dist/structure/issues.js.map +1 -1
  261. package/dist/structure/markdown-path.d.ts.map +1 -1
  262. package/dist/structure/markdown-path.js +2 -2
  263. package/dist/structure/markdown-path.js.map +1 -1
  264. package/dist/structure/numbering.d.ts.map +1 -1
  265. package/dist/structure/numbering.js +1 -1
  266. package/dist/structure/numbering.js.map +1 -1
  267. package/dist/structure/relative-find.js +1 -1
  268. package/dist/structure/relative-find.js.map +1 -1
  269. package/dist/structure/sexp.js +1 -1
  270. package/dist/structure/sexp.js.map +1 -1
  271. package/dist/structure/unnumbered.js +2 -2
  272. package/dist/structure/unnumbered.js.map +1 -1
  273. package/dist/team-names.d.ts +9 -0
  274. package/dist/team-names.d.ts.map +1 -0
  275. package/dist/team-names.js +34 -0
  276. package/dist/team-names.js.map +1 -0
  277. package/dist/ui.d.ts +2 -0
  278. package/dist/ui.d.ts.map +1 -1
  279. package/dist/ui.js +6 -0
  280. package/dist/ui.js.map +1 -1
  281. package/dist/version.js +1 -1
  282. package/dist/version.js.map +1 -1
  283. package/dist/watch.d.ts +2 -2
  284. package/dist/watch.d.ts.map +1 -1
  285. package/dist/watch.js +5 -5
  286. package/dist/watch.js.map +1 -1
  287. package/genres.yaml +363 -0
  288. package/package.json +4 -3
  289. package/rules/adverb-overuse.yaml +2 -2
  290. package/rules/agentless-passive.yaml +1 -1
  291. package/rules/ai-generated-composite.yaml +2 -2
  292. package/rules/ai-tell.yaml +2 -2
  293. package/rules/bold-density.yaml +2 -2
  294. package/rules/closing-cliche.yaml +1 -1
  295. package/rules/concrete-evidence-density.yaml +2 -2
  296. package/rules/contraction-consistency.yaml +1 -1
  297. package/rules/cushion-phrase-density.yaml +1 -1
  298. package/rules/dangling-reference.yaml +1 -1
  299. package/rules/date-order.yaml +1 -1
  300. package/rules/date-weekday-mismatch.yaml +1 -1
  301. package/rules/double-keigo.yaml +1 -1
  302. package/rules/doubled-word.yaml +1 -1
  303. package/rules/duplicate-definition.yaml +1 -1
  304. package/rules/emoji-density.yaml +1 -1
  305. package/rules/empty-conclusion.yaml +2 -1
  306. package/rules/empty-intensifier.yaml +1 -1
  307. package/rules/excessive-hedging.yaml +16 -6
  308. package/rules/expletive-construction.yaml +2 -2
  309. package/rules/heading-echo.yaml +1 -1
  310. package/rules/hiragana-fukushi.yaml +1 -1
  311. package/rules/internal-jargon.yaml +2 -2
  312. package/rules/latin-spacing.yaml +5 -4
  313. package/rules/max-kanji-continuous.yaml +4 -3
  314. package/rules/max-paragraph-length.yaml +9 -2
  315. package/rules/max-sentence-length.yaml +14 -2
  316. package/rules/ngram-repetition.yaml +4 -4
  317. package/rules/no-doubled-joshi.yaml +2 -2
  318. package/rules/no-em-dash.yaml +2 -2
  319. package/rules/no-mixed-desumasu.yaml +1 -1
  320. package/rules/no-nakaguro-parallel.yaml +2 -2
  321. package/rules/numbering-gap.yaml +1 -1
  322. package/rules/oxford-comma-consistency.yaml +2 -1
  323. package/rules/padded-intro.yaml +2 -1
  324. package/rules/paragraph-length-variance.yaml +1 -1
  325. package/rules/preamble-length.yaml +2 -2
  326. package/rules/preferred-term.yaml +1 -1
  327. package/rules/proper-noun-density.yaml +3 -2
  328. package/rules/repeated-conjunction.yaml +2 -2
  329. package/rules/repeated-sentence-head.yaml +2 -2
  330. package/rules/required-sections.yaml +1 -1
  331. package/rules/rule-of-three.yaml +2 -2
  332. package/rules/sasete-itadaku.yaml +3 -3
  333. package/rules/section-length-uniformity.yaml +1 -1
  334. package/rules/sentence-initial-conjunction-run.yaml +2 -2
  335. package/rules/sentence-rhythm.yaml +1 -1
  336. package/rules/taigen-dome-in-prose.yaml +2 -2
  337. package/rules/title-case-consistency.yaml +1 -1
  338. package/rules/total-mismatch.yaml +1 -1
  339. package/rules/undefined-acronym.yaml +4 -4
  340. package/rules/unqualified-superlative.yaml +2 -2
  341. package/skills/chaff/SKILL.md +28 -9
  342. package/src/address-chain.ts +1 -1
  343. package/src/backends/anthropic.ts +5 -1
  344. package/src/backends/openai.ts +2 -1
  345. package/src/backends/types.ts +3 -2
  346. package/src/baseline.ts +1 -1
  347. package/src/calendar-number.ts +75 -0
  348. package/src/cli-args.ts +2 -2
  349. package/src/cli-text.ts +29 -15
  350. package/src/cli.ts +42 -41
  351. package/src/commands/cite.ts +4 -4
  352. package/src/commands/eval.ts +1 -1
  353. package/src/commands/init-ask.ts +53 -0
  354. package/src/commands/test.ts +102 -45
  355. package/src/commands/tree.ts +7 -6
  356. package/src/config/by-path.ts +8 -9
  357. package/src/config/load.ts +24 -0
  358. package/src/config/name-problems.ts +15 -0
  359. package/src/date-stamp.ts +1 -1
  360. package/src/detectors/char-shape.ts +21 -9
  361. package/src/detectors/en-shape.ts +106 -8
  362. package/src/detectors/enumerated-runs.ts +3 -2
  363. package/src/detectors/gram-place.ts +1 -1
  364. package/src/detectors/heading-case.ts +4 -1
  365. package/src/detectors/index.ts +4 -3
  366. package/src/detectors/lettered-index.ts +78 -0
  367. package/src/detectors/lexicon.ts +63 -6
  368. package/src/detectors/orthography.ts +31 -7
  369. package/src/detectors/phrase-match.ts +23 -12
  370. package/src/detectors/repeated-head.ts +3 -4
  371. package/src/detectors/signals.ts +15 -6
  372. package/src/detectors/stacked-hedge.ts +93 -0
  373. package/src/detectors/superlative-amount.ts +24 -0
  374. package/src/detectors/superlative-clause.ts +82 -0
  375. package/src/detectors/superlative-scope.ts +3 -3
  376. package/src/detectors/team.ts +18 -2
  377. package/src/detectors/token-shape.ts +8 -10
  378. package/src/document.ts +29 -3
  379. package/src/eval.ts +1 -1
  380. package/src/feedback/draft.ts +1 -1
  381. package/src/feedback/excerpt.ts +2 -2
  382. package/src/file-header.ts +31 -0
  383. package/src/files.ts +3 -3
  384. package/src/genre-check.ts +1 -1
  385. package/src/genre-load.ts +24 -0
  386. package/src/genre-parse.ts +126 -0
  387. package/src/genre-suggest.ts +37 -0
  388. package/src/genre.ts +4 -13
  389. package/src/init-choice.ts +47 -0
  390. package/src/init.ts +20 -6
  391. package/src/judge.ts +3 -1
  392. package/src/line-paragraphs.ts +83 -0
  393. package/src/mask.ts +5 -6
  394. package/src/plugin.ts +6 -0
  395. package/src/profile/check.ts +34 -0
  396. package/src/profile/for-file.ts +10 -3
  397. package/src/profile/load.ts +1 -1
  398. package/src/profile/select.ts +11 -4
  399. package/src/quoted-span.ts +26 -12
  400. package/src/reasons.ts +5 -1
  401. package/src/render/compact.ts +1 -3
  402. package/src/render/eval.ts +4 -3
  403. package/src/render/friendly.ts +21 -6
  404. package/src/render/genres.ts +31 -0
  405. package/src/render/plural.ts +6 -0
  406. package/src/render/rules-json.ts +10 -3
  407. package/src/render/semantic.ts +117 -34
  408. package/src/render/summary.ts +4 -3
  409. package/src/render/suppressions.ts +3 -2
  410. package/src/render/text.ts +18 -3
  411. package/src/rule-load.ts +6 -1
  412. package/src/run-semantic.ts +1 -1
  413. package/src/run.ts +28 -15
  414. package/src/sentence-shape.ts +3 -7
  415. package/src/setting-problems.ts +24 -0
  416. package/src/structure/build.ts +5 -5
  417. package/src/structure/cite.ts +1 -1
  418. package/src/structure/issues.ts +6 -5
  419. package/src/structure/markdown-path.ts +2 -2
  420. package/src/structure/numbering.ts +1 -1
  421. package/src/structure/relative-find.ts +1 -1
  422. package/src/structure/sexp.ts +1 -1
  423. package/src/structure/unnumbered.ts +2 -2
  424. package/src/team-names.ts +39 -0
  425. package/src/ui.ts +7 -0
  426. package/src/version.ts +1 -1
  427. package/src/watch.ts +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/render/eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAA+B,MAAM,YAAY,CAAC;AAGtF,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;AAE1G,MAAM,MAAM,GAAG,eAAe,GAAG,GAAG,CAAC;AAErC,6EAA6E;AAC7E,MAAM,cAAc,GAAG,sBAAsB,CAAC;AAC9C,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,IAAI,GAcL;IACH,EAAE,EAAE;QACF,OAAO,EAAE,QAAQ;QACjB,WAAW,EAAE,QAAQ;QACrB,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACtB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACrJ,IAAI,EAAE,gBAAgB,MAAM,gBAAgB;QAC5C,WAAW,EAAE,4DAA4D;QACzE,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,eAAe,KAAK,eAAe,MAAM,eAAe;QACzE,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,KAAK,EAAE;QACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,gEAAgE,IAAI,KAAK,KAAK,EAAE;QAC3G,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,qBAAqB,KAAK,kBAAkB;QAClF,OAAO,EAAE;YACP,sCAAsC;YACtC,8CAA8C,MAAM,QAAQ;SAC7D;QACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YACtB,gBAAgB,KAAK,cAAc,MAAM,WAAW,UAAU,aAAa;YAC3E,uDAAuD;SACxD;QACD,SAAS,EAAE,2CAA2C;KACvD;IACD,EAAE,EAAE;QACF,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,iBAAiB;QAC9B,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CACtB,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;QACzP,IAAI,EAAE,iDAAiD,MAAM,KAAK;QAClE,WAAW,EAAE,0EAA0E;QACvF,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,4BAA4B,KAAK,qDAAqD,MAAM,KAAK;QAClH,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,KAAK,EAAE;QACjD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,cAAc,WAAW,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE;QACzH,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,cAAc,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,eAAe;QACtI,OAAO,EAAE;YACP,mFAAmF;YACnF,oGAAoG,MAAM,KAAK;SAChH;QACD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YACtB,+BAA+B,KAAK,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa,MAAM,oBAAoB,UAAU,GAAG;YAC1H,gHAAgH;SACjH;QACD,SAAS,EAAE,sEAAsE;KAClF;CACF,CAAC;AAIF,MAAM,IAAI,GAAG,CAAC,MAAkB,EAAE,KAAa,EAAE,IAAc,EAAU,EAAE;IACzE,IAAI,KAAK,KAAK,MAAM,CAAC,OAAO,IAAI,KAAK,KAAK,MAAM,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAC/E,IAAI,KAAK,KAAK,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC,OAAO,CAAC;IAClD,IAAI,KAAK,KAAK,MAAM,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1D,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAE,IAAc,EAAY,EAAE,CAClE,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CACjJ,CAAC;AAEJ,MAAM,OAAO,GAAG,CAAC,MAAkB,EAAE,IAAc,EAAY,EAAE;IAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC;IACzE,MAAM,IAAI,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/E,IAAI,IAAI,IAAI,eAAe;QAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACrJ,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,MAAkB,EAAE,IAAc,EAAY,EAAE,CAAC;IAC9D,EAAE;IACF,KAAK,MAAM,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,GAAG;IACrC,EAAE;IACF,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;IAC3B,EAAE;IACF,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;IACxB,EAAE;CACH,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,OAA8B,EAAE,KAAa,EAAE,KAAa,EAAE,EAAc,EAAU,EAAE;IACjH,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;IACtB,OAAO;QACL,EAAE;QACF,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC;QACpC,EAAE;QACF,GAAG,IAAI,CAAC,OAAO;QACf,GAAG,CAAC,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QACrB,EAAE;QACF,IAAI,CAAC,SAAS;QACd,EAAE;KACH;SACE,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC,CAAC"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/render/eval.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { RuleDefinition } from "../plugin.ts";
2
2
  import type { RunResult } from "../run.ts";
3
- export declare const renderFriendly: (header: string, result: RunResult, rules: readonly RuleDefinition[], language: string) => string;
3
+ /** notes: lines after the not-run list (the genre chaff suggests when none is set). */
4
+ export declare const renderFriendly: (header: string, result: RunResult, rules: readonly RuleDefinition[], language: string, notes?: readonly string[]) => string;
4
5
  //# sourceMappingURL=friendly.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendly.d.ts","sourceRoot":"","sources":["../../src/render/friendly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAsE3C,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,QAAQ,SAAS,EAAE,OAAO,SAAS,cAAc,EAAE,EAAE,UAAU,MAAM,KAAG,MAsBtH,CAAC"}
1
+ {"version":3,"file":"friendly.d.ts","sourceRoot":"","sources":["../../src/render/friendly.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AA0E3C,uFAAuF;AACvF,eAAO,MAAM,cAAc,GACzB,QAAQ,MAAM,EACd,QAAQ,SAAS,EACjB,OAAO,SAAS,cAAc,EAAE,EAChC,UAAU,MAAM,EAChB,QAAO,SAAS,MAAM,EAAO,KAC5B,MA0BF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { MARK, localized, messageOf } from "./text.js";
2
2
  import { tally } from "./summary.js";
3
+ import { counted } from "./plural.js";
3
4
  import { uiLanguageOf } from "../ui.js";
4
5
  const RULE = 60;
5
6
  const TEXT = {
@@ -10,6 +11,7 @@ const TEXT = {
10
11
  deterministic: " (同じ文章なら何度実行しても同じ結果になります)",
11
12
  untouched: "文章は書き換えていません。直すのは書いた人です。",
12
13
  forced: (n, ids) => `試験中の rule を ${n} 件、設定により有効にしています: ${ids}`,
14
+ presetOn: (n, ids) => `試験中の rule を ${n} 件、ジャンルの既定で有効にしています: ${ids}`,
13
15
  notRun: (n) => `${n} 件の rule は動いていません:`,
14
16
  because: (why) => `(${why})`,
15
17
  },
@@ -19,8 +21,9 @@ const TEXT = {
19
21
  machine: "All judged by machine",
20
22
  deterministic: " (the same text gives the same result every time)",
21
23
  untouched: "The text was not changed. Fixing it is the writer's job.",
22
- forced: (n, ids) => `${n} experimental rule${n === 1 ? "" : "s"} turned on in the settings: ${ids}`,
23
- notRun: (n) => `${n} rule${n === 1 ? "" : "s"} did not run:`,
24
+ forced: (n, ids) => `${counted(n, "experimental rule")} turned on in the settings: ${ids}`,
25
+ presetOn: (n, ids) => `${counted(n, "experimental rule")} turned on by the genre: ${ids}`,
26
+ notRun: (n) => `${counted(n, "rule")} did not run:`,
24
27
  because: (why) => ` (${why})`,
25
28
  },
26
29
  };
@@ -53,14 +56,15 @@ const block = (finding, rule, language) => [
53
56
  ` ${TEXT[uiLanguageOf(language)].relax}: npx chaff relax ${finding.rule}`,
54
57
  "",
55
58
  ];
56
- export const renderFriendly = (header, result, rules, language) => {
59
+ /** notes: lines after the not-run list (the genre chaff suggests when none is set). */
60
+ export const renderFriendly = (header, result, rules, language, notes = []) => {
57
61
  const byId = new Map(rules.map((rule) => [rule.id, rule]));
58
62
  const blocks = result.findings.flatMap((finding) => {
59
63
  const rule = byId.get(finding.rule);
60
64
  return rule === undefined ? [] : block(finding, rule, language);
61
65
  });
62
66
  const text = TEXT[uiLanguageOf(language)];
63
- const notes = [
67
+ const closing = [
64
68
  "",
65
69
  "─".repeat(RULE),
66
70
  "",
@@ -69,10 +73,14 @@ export const renderFriendly = (header, result, rules, language) => {
69
73
  "",
70
74
  ` ${text.untouched}`,
71
75
  ];
72
- const forced = result.forcedExperimental.length > 0 ? ["", ` ${text.forced(result.forcedExperimental.length, result.forcedExperimental.join(", "))}`] : [];
76
+ const forced = [
77
+ ...(result.forcedExperimental.length > 0 ? ["", ` ${text.forced(result.forcedExperimental.length, result.forcedExperimental.join(", "))}`] : []),
78
+ ...(result.presetExperimental.length > 0 ? ["", ` ${text.presetOn(result.presetExperimental.length, result.presetExperimental.join(", "))}`] : []),
79
+ ];
73
80
  const skipped = result.skipped.length > 0
74
81
  ? ["", ` ${text.notRun(result.skipped.length)}`, ...result.skipped.map((entry) => ` ${entry.rule}${text.because(entry.why)}`)]
75
82
  : [];
76
- return ["", header, ...blocks, ...notes, ...forced, ...skipped, ""].join("\n");
83
+ const after = notes.flatMap((note) => ["", note]);
84
+ return ["", header, ...blocks, ...closing, ...forced, ...skipped, ...after, ""].join("\n");
77
85
  };
78
86
  //# sourceMappingURL=friendly.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"friendly.js","sourceRoot":"","sources":["../../src/render/friendly.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"friendly.js","sourceRoot":"","sources":["../../src/render/friendly.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { GenreData } from "../genre-parse.ts";
2
+ import type { UiLanguage } from "../ui.ts";
3
+ /** `chaff genres`: every genre under its group, with what it is for, in the output language. */
4
+ export declare const renderGenres: (data: GenreData, ui: UiLanguage) => string;
5
+ //# sourceMappingURL=genres.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genres.d.ts","sourceRoot":"","sources":["../../src/render/genres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,UAAU,CAAC;AAmBlD,gGAAgG;AAChG,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,EAAE,IAAI,UAAU,KAAG,MAS9D,CAAC"}
@@ -0,0 +1,28 @@
1
+ const TEXT = {
2
+ ja: {
3
+ heading: " ジャンル(文書の種類)を選ぶと、その種類の書き方に合わせて見ます:",
4
+ usage: [
5
+ " この実行だけ: npx chaffjs --genre legal/contract 契約書.md",
6
+ " この場所に決める: npx chaffjs init --genre legal/contract (chaff.yaml の genre に書きます)",
7
+ ],
8
+ },
9
+ en: {
10
+ heading: " Pick the genre (the kind of document) and chaff checks it the way that kind is written:",
11
+ usage: [
12
+ " For one run: npx chaffjs --genre legal/contract contract.md",
13
+ " For this folder: npx chaffjs init --genre legal/contract (writes genre in chaff.yaml)",
14
+ ],
15
+ },
16
+ };
17
+ /** `chaff genres`: every genre under its group, with what it is for, in the output language. */
18
+ export const renderGenres = (data, ui) => {
19
+ const width = Math.max(...data.genres.map((genre) => genre.id.length)) + 2;
20
+ const groups = data.groups.flatMap((group) => {
21
+ const members = data.genres.filter((genre) => genre.id.startsWith(`${group.id}/`));
22
+ return members.length === 0
23
+ ? []
24
+ : ["", ` ${group.name[ui] ?? group.id}`, ...members.map((genre) => ` ${genre.id.padEnd(width)}${genre.summary[ui] ?? ""}`)];
25
+ });
26
+ return ["", TEXT[ui].heading, ...groups, "", ...TEXT[ui].usage, ""].join("\n");
27
+ };
28
+ //# sourceMappingURL=genres.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genres.js","sourceRoot":"","sources":["../../src/render/genres.ts"],"names":[],"mappings":"AAGA,MAAM,IAAI,GAA2E;IACnF,EAAE,EAAE;QACF,OAAO,EAAE,qCAAqC;QAC9C,KAAK,EAAE;YACL,wDAAwD;YACxD,kFAAkF;SACnF;KACF;IACD,EAAE,EAAE;QACF,OAAO,EAAE,2FAA2F;QACpG,KAAK,EAAE;YACL,qEAAqE;YACrE,6FAA6F;SAC9F;KACF;CACF,CAAC;AAEF,gGAAgG;AAChG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAe,EAAE,EAAc,EAAU,EAAE;IACtE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC;YACzB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;IACpI,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const formFor: (count: number | string, singular: string, plural: string) => string;
2
+ export declare const counted: (count: number, singular: string, plural?: string) => string;
3
+ //# sourceMappingURL=plural.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plural.d.ts","sourceRoot":"","sources":["../../src/render/plural.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,GAAG,MAAM,EAAE,UAAU,MAAM,EAAE,QAAQ,MAAM,KAAG,MAA4C,CAAC;AAEhI,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,EAAE,UAAU,MAAM,EAAE,eAAuB,KAAG,MAAgE,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** English agreement: only exactly one takes the singular ("0 findings", "1 finding", "1.5 findings"). */
2
+ const isOne = (count) => String(count) === "1";
3
+ export const formFor = (count, singular, plural) => (isOne(count) ? singular : plural);
4
+ export const counted = (count, singular, plural = `${singular}s`) => `${String(count)} ${formFor(count, singular, plural)}`;
5
+ //# sourceMappingURL=plural.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plural.js","sourceRoot":"","sources":["../../src/render/plural.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAC1G,MAAM,KAAK,GAAG,CAAC,KAAsB,EAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;AAEzE,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAsB,EAAE,QAAgB,EAAE,MAAc,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhI,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAE,QAAgB,EAAE,MAAM,GAAG,GAAG,QAAQ,GAAG,EAAU,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"rules-json.d.ts","sourceRoot":"","sources":["../../src/render/rules-json.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAwDnD,0DAA0D;AAC1D,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,cAAc,EAAE,EAAE,QAAQ,MAAM,EAAE,UAAU,MAAM,EAAE,OAAO,MAAM,KAAG,MA8B7G,CAAC"}
1
+ {"version":3,"file":"rules-json.d.ts","sourceRoot":"","sources":["../../src/render/rules-json.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA8DnD,0DAA0D;AAC1D,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,cAAc,EAAE,EAAE,QAAQ,MAAM,EAAE,UAAU,MAAM,EAAE,OAAO,MAAM,KAAG,MA+B7G,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { definedLevels, resolve } from "../levels.js";
2
2
  import { uiLanguageOf } from "../ui.js";
3
+ import { presetLevels } from "../genre-load.js";
3
4
  const TEXT = {
4
5
  ja: {
5
6
  offBySetting: "設定で止めている",
7
+ offByGenre: (genre) => `ジャンル ${genre} では見ない`,
6
8
  offExperimental: "experimental な rule は既定で動かさない",
7
9
  valuesNote: "この 4 語のかわりに数字を直接書いてもよい。4 語のほうを勧める。",
8
10
  reason: "<理由>",
@@ -10,14 +12,17 @@ const TEXT = {
10
12
  },
11
13
  en: {
12
14
  offBySetting: "turned off in the settings",
15
+ offByGenre: (genre) => `the ${genre} genre does not check it`,
13
16
  offExperimental: "experimental rules do not run by default",
14
17
  valuesNote: "A number may be written instead of these four words. The words are recommended.",
15
18
  reason: "<reason>",
16
19
  byFile: "Add <rule-id>: <level> under rules in chaff.yaml. Leave out anything at its default.",
17
20
  },
18
21
  };
19
- const now = (rule, config, genre, text) => {
20
- const explicit = config.rules[rule.id];
22
+ const now = (rule, config, genre, text, preset) => {
23
+ const explicit = config.rules[rule.id] ?? preset[rule.id];
24
+ if (explicit === "off" && config.rules[rule.id] === undefined)
25
+ return { level: "off", why_off: text.offByGenre(genre) };
21
26
  if (explicit === "off")
22
27
  return { level: "off", why_off: text.offBySetting };
23
28
  const limit = rule.layer === "L4" ? undefined : config.limits[rule.id];
@@ -48,6 +53,7 @@ const levelsOf = (rule, genre) => {
48
53
  /** AI に設定を書かせるときの入口。推測せずに書けるだけの情報を 1 つに入れる。spec §19.3。 */
49
54
  export const rulesJson = (rules, config, language, genre) => {
50
55
  const text = TEXT[uiLanguageOf(language)];
56
+ const preset = presetLevels(genre);
51
57
  return JSON.stringify({
52
58
  schema_version: 1,
53
59
  config_file: "chaff.yaml",
@@ -65,7 +71,7 @@ export const rulesJson = (rules, config, language, genre) => {
65
71
  ...levelsOf(rule, genre),
66
72
  levels_you_can_set: definedLevels(rule),
67
73
  your_setting: yourSetting(rule, config),
68
- now: now(rule, config, genre, text),
74
+ now: now(rule, config, genre, text, preset),
69
75
  })),
70
76
  how_to_change: {
71
77
  by_command: ["relax", "strict", "off"].map((command) => `npx chaff ${command} <rule-id> --why "${text.reason}"`),
@@ -1 +1 @@
1
- {"version":3,"file":"rules-json.js","sourceRoot":"","sources":["../../src/render/rules-json.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rules-json.js","sourceRoot":"","sources":["../../src/render/rules-json.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import type { RuleDefinition } from "../plugin.ts";
2
2
  import type { UserCheck } from "../checks.ts";
3
3
  import type { Job as Plan, SemanticResult } from "../run-semantic.ts";
4
- export declare const MACHINE_BANNER: string[];
4
+ /** The banner over a file's machine findings, in the file's language. */
5
+ export declare const machineBanner: (language: string) => readonly string[];
5
6
  export declare const renderSemantic: (result: SemanticResult, rules: readonly RuleDefinition[], checks: readonly UserCheck[], language: string) => string[];
6
- export declare const renderPlan: (path: string, jobs: readonly Plan[], sentences: number) => string[];
7
+ export declare const renderPlan: (path: string, jobs: readonly Plan[], sentences: number, language: string) => string[];
7
8
  //# sourceMappingURL=semantic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/render/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOtE,eAAO,MAAM,cAAc,UAAiF,CAAC;AA4D7G,eAAO,MAAM,cAAc,GAAI,QAAQ,cAAc,EAAE,OAAO,SAAS,cAAc,EAAE,EAAE,QAAQ,SAAS,SAAS,EAAE,EAAE,UAAU,MAAM,KAAG,MAAM,EAI/I,CAAC;AAiBF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,MAAM,SAAS,IAAI,EAAE,EAAE,WAAW,MAAM,KAAG,MAAM,EAMzF,CAAC"}
1
+ {"version":3,"file":"semantic.d.ts","sourceRoot":"","sources":["../../src/render/semantic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,cAAc,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,KAAK,EAAE,GAAG,IAAI,IAAI,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAgFtE,yEAAyE;AACzE,eAAO,MAAM,aAAa,GAAI,UAAU,MAAM,KAAG,SAAS,MAAM,EAAgD,CAAC;AAiEjH,eAAO,MAAM,cAAc,GAAI,QAAQ,cAAc,EAAE,OAAO,SAAS,cAAc,EAAE,EAAE,QAAQ,SAAS,SAAS,EAAE,EAAE,UAAU,MAAM,KAAG,MAAM,EAO/I,CAAC;AAgBF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,MAAM,SAAS,IAAI,EAAE,EAAE,WAAW,MAAM,EAAE,UAAU,MAAM,KAAG,MAAM,EAO3G,CAAC"}
@@ -1,26 +1,81 @@
1
+ import { uiLanguageOf } from "../ui.js";
1
2
  import { MARK, localized } from "./text.js";
3
+ import { counted, formFor } from "./plural.js";
2
4
  const RULE = 60;
5
+ const TEXT = {
6
+ ja: {
7
+ machineBanner: ["", `═══ 機械による判定 ${"═".repeat(RULE - 18)}`, " 同じ文章なら何度実行しても同じ結果になります", ""],
8
+ aiTitle: `═══ AI による判定 ${"═".repeat(RULE - 17)}`,
9
+ aiNote: [" 文章の意味を読んでいます。実行するたび結果が変わることが", " あります。おかしいと思ったら、そのまま無視して構いません。"],
10
+ read: (asked, seen) => ` ${seen} 文のうち ${asked} 箇所を読みました(残りは機械が対象外と判断)`,
11
+ wholeRead: (name) => [` ${name}: 見るところを絞れず、全文を読みました`, ` look_at に「」で語を書くと、その語を含む文だけになります`],
12
+ word: (word) => `「${word}」`,
13
+ number: "数字",
14
+ narrowedRead: (name, what, kept, total) => ` ${name}: ${what} を含む ${kept} 文だけを読みました(全 ${total} 文)`,
15
+ line: (line) => `${line} 行目`,
16
+ confidence: (value) => `確からしさ ${value}`,
17
+ disagree: [" この指摘が違うと思ったら:"],
18
+ silence: (rule) => ` この箇所だけ黙らせる <!-- stet: ${rule} — 理由 -->`,
19
+ relax: (rule) => ` ルールごとゆるめる npx chaff relax ${rule}`,
20
+ notRunChecks: (count) => ` ${count} 件の検査は、見るところが無いため動いていません。`,
21
+ byMachine: "機械で絞り込み済み",
22
+ whole: "絞り込めず全文",
23
+ containing: (parts) => `${parts} を含む文`,
24
+ planLine: (count, name, how) => ` ${String(count).padStart(3)} 箇所 ${name} (${how})`,
25
+ firstSample: " 最初の 1 件に送る文章:",
26
+ planHead: (path, sentences, asked) => `${path} 全 ${sentences} 文のうち ${asked} 箇所を送ります(API は呼んでいません)`,
27
+ },
28
+ en: {
29
+ machineBanner: ["", `═══ Judged by machine ${"═".repeat(RULE - 21)}`, " The same text gives the same result every time", ""],
30
+ aiTitle: `═══ Judged by AI ${"═".repeat(RULE - 16)}`,
31
+ aiNote: [" These read the meaning of the text. The result can change", " from run to run. If one looks wrong, feel free to ignore it."],
32
+ read: (asked, seen) => ` Read ${counted(asked, "passage")} out of ${counted(seen, "sentence")} (the machine ruled out the rest)`,
33
+ wholeRead: (name) => [
34
+ ` ${name}: could not narrow what to read, so read the whole text`,
35
+ ` Put words in quotes in look_at ("like this") to read only the sentences that contain them`,
36
+ ],
37
+ word: (word) => `"${word}"`,
38
+ number: "a number",
39
+ narrowedRead: (name, what, kept, total) => ` ${name}: read only the ${counted(kept, "sentence")} containing ${what} (of ${total})`,
40
+ line: (line) => `line ${line}`,
41
+ confidence: (value) => `confidence ${value}`,
42
+ disagree: [" If you think this finding is wrong:"],
43
+ silence: (rule) => ` Silence this spot only <!-- stet: ${rule} — reason -->`,
44
+ relax: (rule) => ` Relax the whole rule npx chaff relax ${rule}`,
45
+ notRunChecks: (count) => ` ${counted(count, "check")} did not run: there was nothing for ${formFor(count, "it", "them")} to look at.`,
46
+ byMachine: "narrowed by machine",
47
+ whole: "not narrowed: the whole text",
48
+ containing: (parts) => `sentences containing ${parts}`,
49
+ planLine: (count, name, how) => ` ${String(count).padStart(3)} to send ${name} (${how})`,
50
+ firstSample: " The text sent for the first one:",
51
+ planHead: (path, sentences, asked) => `${path} sends ${counted(asked, "passage")} out of ${counted(sentences, "sentence")} (the API was not called)`,
52
+ },
53
+ };
3
54
  const indent = (text, pad) => text.split("\n").map((line) => `${pad}${line}`);
4
- export const MACHINE_BANNER = ["", `═══ 機械による判定 ${"═".repeat(RULE - 18)}`, " 同じ文章なら何度実行しても同じ結果になります", ""];
55
+ /** The banner over a file's machine findings, in the file's language. */
56
+ export const machineBanner = (language) => TEXT[uiLanguageOf(language)].machineBanner;
57
+ /** The words a narrowing looks for, as the screen names them. */
58
+ const lookedFor = (narrowing, language) => {
59
+ const text = TEXT[language];
60
+ return [...narrowing.words.map((word) => text.word(word)), ...(narrowing.needsNumber ? [text.number] : [])];
61
+ };
5
62
  /**
6
63
  * 自分の書いた検査が、どこまで絞り込めたかを見せる。
7
64
  * 絞り込めないまま全文を読んでいることに気づけないと、遅さの原因が分からない。
8
65
  */
9
- const narrowingLines = (result) => result.narrowed.flatMap(({ name, narrowing }) => {
10
- if (narrowing.words.length === 0 && !narrowing.needsNumber) {
11
- return [` ${name}: 見るところを絞れず、全文を読みました`, ` look_at に「」で語を書くと、その語を含む文だけになります`];
12
- }
13
- const what = [...narrowing.words.map((word) => `「${word}」`), ...(narrowing.needsNumber ? ["数字"] : [])].join(" ");
14
- return [` ${name}: ${what} を含む ${narrowing.kept} 文だけを読みました(全 ${narrowing.total} 文)`];
66
+ const narrowingLines = (result, language) => result.narrowed.flatMap(({ name, narrowing }) => {
67
+ if (narrowing.words.length === 0 && !narrowing.needsNumber)
68
+ return [...TEXT[language].wholeRead(name)];
69
+ const what = lookedFor(narrowing, language).join(language === "ja" ? " " : ", ");
70
+ return [TEXT[language].narrowedRead(name, what, narrowing.kept, narrowing.total)];
15
71
  });
16
- const aiBanner = (result) => [
72
+ const aiBanner = (result, language) => [
17
73
  "",
18
- `═══ AI による判定 ${"═".repeat(RULE - 17)}`,
19
- " 文章の意味を読んでいます。実行するたび結果が変わることが",
20
- " あります。おかしいと思ったら、そのまま無視して構いません。",
74
+ TEXT[language].aiTitle,
75
+ ...TEXT[language].aiNote,
21
76
  "",
22
- ` ${result.sentencesSeen} 文のうち ${result.asked} 箇所を読みました(残りは機械が対象外と判断)`,
23
- ...narrowingLines(result),
77
+ TEXT[language].read(result.asked, result.sentencesSeen),
78
+ ...narrowingLines(result, language),
24
79
  "",
25
80
  ];
26
81
  const nameOf = (rule, rules, checks, language) => {
@@ -34,52 +89,57 @@ const nameOf = (rule, rules, checks, language) => {
34
89
  * AI の指摘にだけ確からしさを出し、納得できないときの逃げ道を 2 つ添える。
35
90
  * 揺れる判定だと読む人が知らないと、誤検知に振り回される。
36
91
  */
37
- const block = (finding, named) => {
92
+ const block = (finding, named, language) => {
93
+ const text = TEXT[language];
38
94
  const confidence = finding.values["confidence"];
39
95
  const reason = String(finding.values["reason"] ?? "");
40
- const sure = confidence === undefined ? "" : ` 確からしさ ${String(confidence)}`;
96
+ const sure = confidence === undefined ? "" : ` ${text.confidence(String(confidence))}`;
41
97
  const fix = named.howToFix.length > 0 ? ["", ...indent(`→ ${named.howToFix}`, " ")] : [];
42
98
  return [
43
99
  "",
44
- `─── ${finding.line} 行目 ${"─".repeat(Math.max(0, RULE - String(finding.line).length - 8))}`,
100
+ // "12 行目" and "line 12" take the same width on a terminal, so the rule ends in the same column in both.
101
+ `─── ${text.line(finding.line)} ${"─".repeat(Math.max(0, RULE - String(finding.line).length - 8))}`,
45
102
  "",
46
103
  ` ${MARK[finding.severity] ?? "·"} ${named.name}${sure}`,
47
104
  "",
48
105
  ...indent(reason, " "),
49
106
  ...fix,
50
107
  "",
51
- " この指摘が違うと思ったら:",
52
- ` この箇所だけ黙らせる <!-- stet: ${finding.rule} — 理由 -->`,
53
- ` ルールごとゆるめる npx chaff relax ${finding.rule}`,
108
+ ...text.disagree,
109
+ text.silence(finding.rule),
110
+ text.relax(finding.rule),
54
111
  "",
55
112
  ];
56
113
  };
57
- export const renderSemantic = (result, rules, checks, language) => [
58
- ...aiBanner(result),
59
- ...result.findings.flatMap((finding) => block(finding, nameOf(finding.rule, rules, checks, language))),
60
- ...(result.skipped.length > 0 ? [` ${result.skipped.length} 件の検査は、見るところが無いため動いていません。`, ""] : []),
61
- ];
114
+ export const renderSemantic = (result, rules, checks, language) => {
115
+ const ui = uiLanguageOf(language);
116
+ return [
117
+ ...aiBanner(result, ui),
118
+ ...result.findings.flatMap((finding) => block(finding, nameOf(finding.rule, rules, checks, language), ui)),
119
+ ...(result.skipped.length > 0 ? [TEXT[ui].notRunChecks(result.skipped.length), ""] : []),
120
+ ];
121
+ };
62
122
  /**
63
123
  * 何が送られるのかを、API を呼ばずに見せる。`chaff test --dry-run`。
64
124
  *
65
125
  * 鍵が無い環境でも二段構えの 1 段目まで確かめられる。全文が送られようとしていることに
66
126
  * 請求書で気づくのでは遅い。spec §14。
67
127
  */
68
- const howNarrowed = (job) => {
128
+ const howNarrowed = (job, language) => {
69
129
  const narrowing = job.narrowing;
70
130
  if (narrowing === undefined)
71
- return "機械で絞り込み済み";
72
- const quoted = narrowing.words.map((word) => `「${word}」`);
73
- const parts = narrowing.needsNumber ? [...quoted, "数字"] : quoted;
131
+ return TEXT[language].byMachine;
132
+ const parts = lookedFor(narrowing, language);
74
133
  if (parts.length === 0)
75
- return "絞り込めず全文";
76
- return `${parts.join(" ")} を含む文`;
134
+ return TEXT[language].whole;
135
+ return TEXT[language].containing(parts.join(language === "ja" ? " " : ", "));
77
136
  };
78
- export const renderPlan = (path, jobs, sentences) => {
137
+ export const renderPlan = (path, jobs, sentences, language) => {
138
+ const text = TEXT[uiLanguageOf(language)];
79
139
  const asked = jobs.reduce((sum, job) => sum + job.candidates.length, 0);
80
- const lines = jobs.map((job) => ` ${String(job.candidates.length).padStart(3)} 箇所 ${job.name} (${howNarrowed(job)})`);
140
+ const lines = jobs.map((job) => text.planLine(job.candidates.length, job.name, howNarrowed(job, uiLanguageOf(language))));
81
141
  const first = jobs.find((job) => job.candidates.length > 0);
82
- const sample = first === undefined ? [] : ["", " 最初の 1 件に送る文章:", "", ...indent(String(first.candidates[0]?.text ?? "").slice(0, 300), " ")];
83
- return ["", `${path} 全 ${sentences} 文のうち ${asked} 箇所を送ります(API は呼んでいません)`, "", ...lines, ...sample, ""];
142
+ const sample = first === undefined ? [] : ["", text.firstSample, "", ...indent(String(first.candidates[0]?.text ?? "").slice(0, 300), " ")];
143
+ return ["", text.planHead(path, sentences, asked), "", ...lines, ...sample, ""];
84
144
  };
85
145
  //# sourceMappingURL=semantic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/render/semantic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"semantic.js","sourceRoot":"","sources":["../../src/render/semantic.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAA+B,MAAM,UAAU,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,IAAI,GAAG,EAAE,CAAC;AAEhB,MAAM,IAAI,GAqBL;IACH,EAAE,EAAE;QACF,aAAa,EAAE,CAAC,EAAE,EAAE,eAAe,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,4BAA4B,EAAE,EAAE,CAAC;QAC7F,OAAO,EAAE,gBAAgB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QAChD,MAAM,EAAE,CAAC,kCAAkC,EAAE,mCAAmC,CAAC;QACjF,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,SAAS,KAAK,yBAAyB;QACzE,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,sBAAsB,EAAE,wCAAwC,CAAC;QAClG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG;QAC3B,MAAM,EAAE,IAAI;QACZ,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,IAAI,QAAQ,IAAI,gBAAgB,KAAK,KAAK;QACrG,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK;QAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,SAAS,KAAK,EAAE;QACvC,QAAQ,EAAE,CAAC,oBAAoB,CAAC;QAChC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,mCAAmC,IAAI,WAAW;QACrE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,yCAAyC,IAAI,EAAE;QAChE,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,2BAA2B;QAC9D,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO;QACtC,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,MAAM,GAAG,GAAG;QACxF,WAAW,EAAE,iBAAiB;QAC9B,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,SAAS,SAAS,KAAK,wBAAwB;KACrG;IACD,EAAE,EAAE;QACF,aAAa,EAAE,CAAC,EAAE,EAAE,yBAAyB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,oDAAoD,EAAE,EAAE,CAAC;QAC/H,OAAO,EAAE,oBAAoB,GAAG,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;QACpD,MAAM,EAAE,CAAC,+DAA+D,EAAE,kEAAkE,CAAC;QAC7I,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,YAAY,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,mCAAmC;QACnI,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,IAAI,yDAAyD;YACpE,iGAAiG;SAClG;QACD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG;QAC3B,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,IAAI,mBAAmB,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,eAAe,IAAI,QAAQ,KAAK,GAAG;QACrI,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,IAAI,EAAE;QAC9B,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,KAAK,EAAE;QAC5C,QAAQ,EAAE,CAAC,0CAA0C,CAAC;QACtD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,+CAA+C,IAAI,eAAe;QACrF,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,oDAAoD,IAAI,EAAE;QAC3E,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,uCAAuC,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,cAAc;QACtI,SAAS,EAAE,qBAAqB;QAChC,KAAK,EAAE,8BAA8B;QACrC,UAAU,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,wBAAwB,KAAK,EAAE;QACtD,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,IAAI,MAAM,GAAG,GAAG;QAC7F,WAAW,EAAE,oCAAoC;QACjD,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,IAAI,YAAY,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,WAAW,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,2BAA2B;KACvJ;CACF,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAW,EAAY,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC;AAExG,yEAAyE;AACzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,QAAgB,EAAqB,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;AAEjH,iEAAiE;AACjE,MAAM,SAAS,GAAG,CAAC,SAAoB,EAAE,QAAoB,EAAY,EAAE;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC9G,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,cAAc,GAAG,CAAC,MAAsB,EAAE,QAAoB,EAAY,EAAE,CAChF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9C,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW;QAAE,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACvG,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACjF,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEL,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAE,QAAoB,EAAY,EAAE,CAAC;IAC3E,EAAE;IACF,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO;IACtB,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;IACxB,EAAE;IACF,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC;IACvD,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;IACnC,EAAE;CACH,CAAC;AAIF,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,KAAgC,EAAE,MAA4B,EAAE,QAAgB,EAAS,EAAE;IACvH,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACvD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC3H,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IACvD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;AACxE,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,KAAK,GAAG,CAAC,OAAgB,EAAE,KAAY,EAAE,QAAoB,EAAY,EAAE;IAC/E,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;IAClG,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC7F,OAAO;QACL,EAAE;QACF,wGAAwG;QACxG,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE;QACnG,EAAE;QACF,KAAK,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,KAAK,CAAC,IAAI,GAAG,IAAI,EAAE;QAC1D,EAAE;QACF,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;QAC1B,GAAG,GAAG;QACN,EAAE;QACF,GAAG,IAAI,CAAC,QAAQ;QAChB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QACxB,EAAE;KACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAsB,EAAE,KAAgC,EAAE,MAA4B,EAAE,QAAgB,EAAY,EAAE;IACnJ,MAAM,EAAE,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IAClC,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC;QACvB,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1G,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACzF,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,GAAS,EAAE,QAAoB,EAAU,EAAE;IAC9D,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC;IAChC,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC;IAC7D,MAAM,KAAK,GAAG,SAAS,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;IACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,IAAqB,EAAE,SAAiB,EAAE,QAAgB,EAAY,EAAE;IAC/G,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1H,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/I,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,CAAC;AAClF,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/render/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAgCpH,eAAO,MAAM,KAAK,GAAI,UAAU,SAAS,OAAO,EAAE,EAAE,IAAI,UAAU,KAAG,MAGpE,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,aAAa,GAAI,UAAU,SAAS,WAAW,EAAE,EAAE,IAAI,UAAU,KAAG,MAAM,EAKtF,CAAC"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/render/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,UAAU,CAAC;AAGlD,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAgCpH,eAAO,MAAM,KAAK,GAAI,UAAU,SAAS,OAAO,EAAE,EAAE,IAAI,UAAU,KAAG,MAGpE,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,aAAa,GAAI,UAAU,SAAS,WAAW,EAAE,EAAE,IAAI,UAAU,KAAG,MAAM,EAKtF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { counted } from "./plural.js";
1
2
  const count = (findings, severity) => findings.filter((finding) => finding.severity === severity).length;
2
3
  const TEXT = {
3
4
  ja: {
@@ -8,9 +9,9 @@ const TEXT = {
8
9
  },
9
10
  en: {
10
11
  counts: {
11
- error: (n) => `${n} error${n === 1 ? "" : "s"}`,
12
- warning: (n) => `${n} warning${n === 1 ? "" : "s"}`,
13
- info: (n) => `${n} note${n === 1 ? "" : "s"}`,
12
+ error: (n) => counted(n, "error"),
13
+ warning: (n) => counted(n, "warning"),
14
+ info: (n) => counted(n, "note"),
14
15
  },
15
16
  join: ", ",
16
17
  none: "No findings",
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/render/summary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/render/summary.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"suppressions.d.ts","sourceRoot":"","sources":["../../src/render/suppressions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,UAAU,CAAC;AAkClD,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAAC;AAsCzI;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,OAAO,EAAE,EAAE,KAAI,UAAiB,KAAG,MAarF,CAAC"}
1
+ {"version":3,"file":"suppressions.d.ts","sourceRoot":"","sources":["../../src/render/suppressions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAS,UAAU,EAAE,MAAM,UAAU,CAAC;AAmClD,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,UAAU,EAAE,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,WAAW,EAAE,CAAA;CAAE,CAAC;AAsCzI;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,SAAS,OAAO,EAAE,EAAE,KAAI,UAAiB,KAAG,MAarF,CAAC"}
@@ -1,3 +1,4 @@
1
+ import { counted } from "./plural.js";
1
2
  const TEXT = {
2
3
  ja: {
3
4
  nudge: " ← 設定の見直しを検討してください",
@@ -11,7 +12,7 @@ const TEXT = {
11
12
  },
12
13
  en: {
13
14
  nudge: " <- consider changing the setting instead",
14
- more: (n) => ` and ${n} more file${n === 1 ? "" : "s"}`,
15
+ more: (n) => ` and ${counted(n, "more file")}`,
15
16
  count: (n) => `${String(n).padStart(3)}`,
16
17
  reasons: (list) => `reasons: ${list}`,
17
18
  relaxAll: (rule) => `relax the whole rule: npx chaff relax ${rule} --why "..."`,
@@ -35,7 +36,7 @@ const groupByRule = (files) => {
35
36
  reasons: [...new Set(mine.flatMap((row) => (row.reason === undefined ? [] : [row.reason])))],
36
37
  };
37
38
  })
38
- .sort((left, right) => right.count - left.count);
39
+ .toSorted((left, right) => right.count - left.count);
39
40
  };
40
41
  const groupLines = (group, ui) => {
41
42
  const text = TEXT[ui];
@@ -1 +1 @@
1
- {"version":3,"file":"suppressions.js","sourceRoot":"","sources":["../../src/render/suppressions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suppressions.js","sourceRoot":"","sources":["../../src/render/suppressions.ts"],"names":[],"mappings":"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"}