Commit graph

35 commits

Author SHA1 Message Date
David Anson
33631a5984 Split micromark.cjs into separate -parse and -helpers files. 2024-09-28 16:26:38 -07:00
David Anson
124b7e2276 Refactor to remove helper withinAnyRange. 2024-09-28 15:41:40 -07:00
David Anson
1513e3803b Remove outdated type annotations and lint suppressions. 2024-06-21 21:03:37 -07:00
David Anson
d5994ae4de Add Rule.parser property for custom rules to specify which Markdown parser output they use, honor it strictly, and add full type support. 2024-03-13 20:55:57 -07:00
David Anson
828ae3541a Use @type to provide typing for all instances of params.parsers.micromark.tokens. 2024-02-28 21:01:47 -08:00
David Anson
12c4f79604 Add parsers object to RuleParams type, annotate every rule definition with Rule type for better type validation. 2024-02-27 20:42:09 -08:00
David Anson
24c97a54fb Refactor micromark token handling to remove optional Token.htmlFlowChildren property and make related code more efficient for a ~6% elapsed time reduction. 2023-09-02 19:32:25 -07:00
David Anson
3099a98b51 Update MD044/proper-names to return early for empty names array and use htmlFlowChildren to avoid re-parsing htmlFlow content. 2023-08-27 23:35:22 -07:00
David Anson
b1eff75034 Update MD044/proper-names to parse into micromark htmlFlow tokens for better behavior when html_elements is false (fixes #832). 2023-05-31 20:25:56 -07:00
David Anson
dc4acff067 Update MD044/proper-names to ignore the content of HTML comments when its html_elements parameter is false (fixes #832). 2023-05-26 20:58:59 -07:00
David Anson
5bff33d41b Reimplement MD044/proper-names using micromark tokens. 2023-03-14 21:03:07 -07:00
David Anson
8d6e0b5419 Replace helpers.urlRe with helpers.urlFe to address "innefficient regular expression" CodeQL alert, introduce function expressions as an alternative, test more inputs. 2022-12-18 15:46:19 -08:00
David Anson
2e2937081e Rename helpers.bareUrlRe to urlRe, improve it a little, add tests 2022-12-15 13:54:54 -08:00
David Anson
6718944b0f Replace helpers.overlapsAnyRange with .withinAnyRange, update code/tests for resulting behavior. 2022-06-02 22:17:32 -07:00
David Anson
c5ca661b96 Add MD052/reference-links-images and MD053/link-image-reference-definitions for reporting issues with link and image references (fixes #144, fixes #390, fixes #425, fixes #456). 2022-06-01 20:26:01 -07:00
David Anson
0f845e9ba1 Update MD044/proper-names to add html_elements parameter (fixes #435). 2022-04-25 21:50:33 -07:00
David Anson
8afec14376 Update MD044/proper-names to support specifying multiple casings of the same name (ex: "Abc" and "ABC") (refs #435). 2022-04-22 20:41:42 -07:00
David Anson
7a53caa7fb Replace helpers.linkRe with helpers.forEachLink to fix "Polynomial regular expression used on uncontrolled data" and to better support link syntax. 2022-02-18 21:14:14 -08:00
David Anson
1e82f76596 Reimplement inlineCodeSpanRanges as codeBlockAndSpanRanges to fix an issue with unterminated code spans (and for flexibility). 2021-11-23 04:51:20 +00:00
David Anson
7d40926367 Cache results of inlineCodeSpanRanges for use by MD011/MD044. 2021-06-17 22:01:27 -07:00
David Anson
706f48bd25 Re-implement MD011/no-reversed-links for better accuracy (range and fixInfo are now always valid) (fixes #398). 2021-06-17 21:50:03 -07:00
David Anson
72543a82e7 Update re-implementation of MD044/proper-names to exclude link destinations and references. 2021-06-13 13:07:03 -07:00
David Anson
4db40256d9 Re-implement MD044/proper-names for better accuracy (range and fixInfo are now always valid) (fixes #402, fixes #403). 2021-06-12 17:10:59 -07:00
David Anson
2605d56c62 MD044/proper-names should ignore text of automatic hyperlinks (fixes #329). 2020-09-18 20:30:46 -07:00
David Anson
e696960aab Update MD044/proper-names to handle names with non-word-character boundaries better. 2020-06-19 21:09:11 -07:00
David Anson
87aac66d68 Update MD044/proper-names to avoid providing bogus range when proper name could not be found. 2020-05-13 20:59:18 -07:00
David Anson
3238ed4249 Update all rules to better handle wrongly-typed configuration parameters. 2020-01-25 18:40:39 -08:00
David Anson
74af9f82fb Enable jsdoc/require-jsdoc rule, fix all violations (fixes #85). 2020-01-23 19:42:46 -08:00
David Anson
31ffe52f0f Fix issue with MD044/proper-names where stateful RegExp could fail to match bare URLs, remove unnecessary use of bareUrlRe by MD033/no-inline-html. 2019-10-24 20:18:16 -07:00
David Anson
00a7e765ec Update MD027/MD044 to report fixInfo for violations. 2019-09-09 22:03:59 -07:00
David Anson
7e980401b8 Expose shared.js helper code for custom rule authors (fixes #134). 2019-04-13 11:18:57 -07:00
David Anson
9b9532e163 Add includesSorted function, use for faster searches of sorted arrays. 2019-03-28 22:06:42 -07:00
David Anson
fa04d29485 Enhance MD022/blanks-around-headings with lines_above/lines_below parameters (fixes #143). 2019-03-24 21:50:56 -07:00
David Anson
213aef4564 Convert var to const/let (except in browser-only code). 2018-04-27 22:05:34 -07:00
David Anson
9ba143555d Move each rule implementation into its own file (fixes #83). 2018-01-21 21:44:25 -08:00