Commit graph

29 commits

Author SHA1 Message Date
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
3b1dfe42df Remove deprecated ESLint rules after version update. 2023-11-05 20:18:39 -08:00
David Anson
2a56f130c1 Refactor Token.parent() to Token.parent, add validation tests for parent, fix parent in htmlFlow scenario, improve type saftey slightly. 2023-10-19 23:01:31 -07:00
David Anson
d2faf40e6a Add rule name and file/string identifier to Error message thrown by onError validation for rules. 2023-10-07 19:34:21 -07:00
David Anson
9897863130 Harden code to snapshot rule definitions against mutation, add comments to some helper functions. 2023-07-12 21:58:48 -07:00
David Anson
14a7529ce7 Snapshot custom rule definitions to prevent them from changing dynamically. 2023-07-11 22:17:53 -07:00
David Anson
c699b8e22b Allow a custom rule's onError implementation to override that rule's information URL for each error. 2023-07-11 21:45:00 -07:00
David Anson
0cf81e4ef4
Add Node 20 to CI matrix, update test cases to handle new error strings in Node 20. 2023-04-18 19:55:56 -07:00
David Anson
c1df46f607 Convert params.parsers.name to params.parsers.name.tokens for clarity/flexibility. 2023-02-25 15:50:56 -08:00
David Anson
80235711f4 Add test to ensure params.tokens and params.parsers.markdownit are the same object. 2023-02-25 15:50:56 -08:00
David Anson
1461ad6272 Add content parsing via micromark, publish frozen micromark tokens alongside markdown-it tokens, remove assert from micromark wrapper. 2023-02-25 15:50:56 -08:00
Bryan Mishkin
22db339eee
Move README.md History section to CHANGELOG.md using a format similar to what other projects use (fixes #694). 2023-01-05 19:24:04 -08:00
David Anson
13b4340747 Update all links to rules to use md000.md instead of Rules.md#md000 (shorter, quicker, less distraction). 2022-10-30 14:58:45 -07:00
David Anson
4c00ffa2f0 Fix new violations from eslint-plugin-unicorn update. 2022-08-15 21:20:27 -07:00
David Anson
986870061d Replace all instances of test.cb(...) with test(new Promise(...)) to prepare for upgrade to AVA@4 where it is not available. 2022-06-21 04:40:38 +00:00
David Anson
936c876810 Remove helpers.deepFreeze and call Object.freeze only on things that need it for ~11% time reduction measured via profile-fixture.mjs on Apple Silicon M1. 2022-06-09 23:56:44 -07:00
David Anson
b6471fba31 Enable ESLint rule unicorn/no-array-for-each, auto-fix all violations, manually address new issues for ~4% time reduction measured via profile-fixture.mjs on Apple Silicon M1. 2022-06-08 22:10:27 -07:00
David Anson
9310713da1 Make resultVersion 3 (report multiple errors per line, include fixInfo) the default. 2022-04-21 21:30:56 -07:00
David Anson
62f5c85238 Stop sharing params object across rules because doing so is unstable for asynchronous rules (fixes #510). 2022-03-20 12:59:35 -07:00
David Anson
23d8ed7c01 Add test case for custom rule that imports an ESM module (refs #477). 2022-01-11 23:08:53 -08:00
David Anson
e298e3daa4 Include async/await function in custom rules test for asynchronous mode. 2021-12-27 18:25:18 -08:00
David Anson
2056d81682 Add support for asynchronous custom rules (ex: to read a file or make a network request). 2021-12-11 21:44:25 -08:00
David Anson
109e0d8cb6 Refactor custom rule exception tests for smaller size and better coverage. 2021-12-10 21:33:20 -08:00
David Anson
53e5e4272e Update custom rules tests to have matching coverage for sync and async scenarios, use test.cb/t.end for all async tests. 2021-11-30 22:35:19 -08:00
David Anson
11806dc5cb Tokens inside tables that lack a map should get it from the surrounding table row (which is more scoped than the table body) (fixes #463). 2021-11-26 04:26:15 +00:00
David Anson
49945d6601 Convert from tape test harness to ava, address minor declaration file issue. 2021-01-10 20:46:00 -08:00
Yash Singh
2a198a5ee4 Fix grammar issues in Rules.md. 2020-12-30 16:42:34 -08:00
David Anson
1f6a2cdc96 Split primary test cases across multiple files, address bogus @ts-ignore issues. 2020-09-12 12:42:46 -07:00
David Anson
ebc74e3d5f Duplicate markdownlint-test.js as first step of splitting it into smaller files. 2020-09-12 12:13:06 -07:00