Commit graph

770 commits

Author SHA1 Message Date
David Anson
c39a2dd516 Add test case for MD059/descriptive-link-text with MD039/no-space-in-links. 2025-02-13 22:56:13 -08:00
David Anson
571c2353ea Update new rule MD059/descriptive-link-text for project-level consistency. 2025-02-13 22:11:42 -08:00
Kate Higa
b8374ec5d2 Add rule MD059/descriptive-link-text "Link text should be descriptive" (fixes #681). 2025-02-13 22:11:42 -08:00
David Anson
44c302fe0b Allow options.markdownItFactory to be implemented asynchronously so the markdown-it parser import can be deferred. 2025-02-08 15:08:10 -08:00
David Anson
d4b981bcb3 Introduce options.markdownItFactory (and remove options.markdownItPlugins) so the markdown-it parser can be removed as a direct dependency because it is no longer used by default. 2025-02-08 15:08:06 -08:00
David Anson
3cbe1cb6c5 Refactor micromark parse code to stop using micromark's TokenizeContext.sliceSerialize (less well supported) in favor of Token.start/end.offset. 2025-02-08 14:43:38 -08:00
David Anson
b23fc96ab2 Refactor MD038/no-space-in-code to produce smaller/simpler edits and address an additional scenario. 2025-02-07 20:03:30 -08:00
David Anson
656254e64f Update test repo snapshots. 2025-02-06 05:04:04 +00:00
David Anson
c71e298d4b Add tests for MD038/no-space-in-code scenarios to capture current behavior and aid refactoring. 2025-02-05 20:51:22 -08:00
David Anson
90cf515ff0 Update MD038/no-space-in-code to allow code spans with only spaces (fixes #1481). 2025-02-02 21:36:35 -08:00
David Anson
2d2fafc58d Add test cases for lists inside blockquotes (refs #1473). 2025-01-31 22:09:40 -08:00
David Anson
feca49e4f8 Move exports/subpath imports (uses exec) and project file tests (use shared glob) into separate test files for better parallelization. 2025-01-19 16:44:20 -08:00
David Anson
53ff5c43f1 Stop using module.createRequire (problematic under webpack), incorporate and export resolveModule helper from markdownlint-cli2. 2025-01-14 23:30:09 -08:00
David Anson
4ad6628dcb Update test repo snapshots. 2025-01-10 02:36:21 +00:00
David Anson
d4352c7a44 Update test repo snapshots. 2025-01-07 04:28:31 +00:00
David Anson
df33933fe5 Update export test to avoid "ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time". 2024-12-24 00:15:19 +00:00
David Anson
baf4944f5f Add subpath imports "markdownlint-imports-browser" and "markdownlint-imports-node" for overriding "browser"/"default" behavior in bundlers like webpack. 2024-12-17 21:21:57 -08:00
David Anson
8ad4698536 Update MD032/blanks-around-lists to ignore (end-appended) undefined reference tokens when determining the last line of a list (fixes #1453). 2024-12-16 20:54:37 -08:00
David Anson
6e52643f8c Update CHANGELOG.md for breaking changes, remove outdated comments from test file. 2024-12-05 23:00:55 -08:00
David Anson
b404c8bf16 Add README documentation for getVersion, leave promise/extendConfig undocumented (unsupported). 2024-12-04 23:23:56 -08:00
David Anson
8da43dd246 Update to use named exports via / /async /promise /sync, simplify references via self-referencing, refine examples. 2024-12-03 19:58:47 -08:00
David Anson
789190962c Remove import of node:util and manually implement promisify (improves browser scenario), improve JSDoc typing. 2024-11-30 21:44:37 -08:00
David Anson
3599f694ba Move micromark-parse.mjs from helpers to library, remove all dependencies from helpers. 2024-11-30 20:42:14 -08:00
David Anson
1e71f6f44e Convert markdownlint library to an ECMAScript module, replace markdownlint-micromark with micromark, stop publishing (large) markdownlint-browser.js, see https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c for guidance. 2024-11-29 18:29:21 -08:00
David Anson
d536543344 Update test repo snapshots. 2024-11-20 04:33:58 +00:00
David Anson
886e00a8d5 Update test repo snapshots. 2024-10-31 04:49:49 +00:00
David Anson
0eedda0a6c Update MD027/no-multiple-space-blockquote to handle multiple lines of indented code inside a blockquote (fixes #1393). 2024-10-28 21:40:39 -07:00
David Anson
a7a50eaa39 Update MD054/link-image-style to handle autolinked email addresses when disallowed (fixes #1391). 2024-10-27 22:02:33 -07:00
David Anson
38b4ec0c2f Refactor use of micromark so token stream is authentic by shimming undefined link reference handling, remove no-longer-necessary parse operation in MD034. 2024-10-21 20:56:22 -07:00
David Anson
a63972a666 Update customRulesParamsAreFrozen test to cover all parser variations. 2024-10-11 20:33:29 -07:00
David Anson
04c693b00b Update MD051/link-fragments to add ignore_case parameter and improve documentation (fixes #1274). 2024-10-08 22:40:25 -07:00
David Anson
61a9c2427e Address new violations of @stylistic/no-extra-parens. 2024-10-06 21:06:16 -07:00
David Anson
4e30462216 Promote applyFix and applyFixes helpers into core library. 2024-10-06 17:24:44 -07:00
David Anson
e0219411c6 Refactor RegExps to avoid the possibility of polynomial backtracking (fixes #657). 2024-10-05 18:07:45 -07:00
David Anson
5cc40c54b7 Enable custom rules to use the micromark parser, export micromark helpers for reuse. 2024-10-01 22:53:46 -07:00
David Anson
d3819c4e75 Add markdownlint "version" property to custom rule "params" object in case it is ever necessary for a rule to specialize its behavior. 2024-09-29 18:11:41 -07:00
David Anson
ee50519e00 Add "exportMappings" test for package.json exports. 2024-09-29 17:50:40 -07:00
David Anson
33631a5984 Split micromark.cjs into separate -parse and -helpers files. 2024-09-28 16:26:38 -07:00
David Anson
5e568d0da9 Refactor to remove micromark helper getExclusionsForToken. 2024-09-27 23:58:49 -07:00
David Anson
fa24329f89 Update test repo snapshots. 2024-09-26 21:39:08 -07:00
David Anson
0dffe940b5 Update dependency: markdownlint-micromark to 0.1.11 (refs DavidAnson/markdownlint-cli2#325). 2024-09-19 21:54:38 -07:00
David Anson
98ff66209d Move markdown-it token manipulation code into a separate file which is only require()-ed if/when needed. 2024-09-14 17:33:46 -07:00
David Anson
bdd5cdcafe Add snapshot test for markdownit token params passed to custom rules. 2024-09-12 22:52:30 -07:00
David Anson
d279c4e424 Update test repo snapshots. 2024-09-12 22:49:00 -07:00
David Anson
4893b55d22 Update test repo snapshots. 2024-09-10 20:26:20 -07:00
David Anson
087be0dd8a Update test repo snapshots. 2024-09-08 20:37:17 -07:00
David Anson
164bbac651 Add @stylistic/eslint-plugin to ESLint configuration. 2024-09-01 16:16:05 -07:00
David Anson
9c8e7156e1 Create strict JSON Schema for configuration (standalone for ease of use) and corresponding strict TypeScript type (via extends for conciseness) (fixes #1248). 2024-08-27 20:47:33 -07:00
David Anson
dfcb4529f3 Cache all top-level calls to filterByTypes (~7% runtime reduction). 2024-08-24 22:05:16 -07:00
David Anson
85e704f32a Update to only invoke rules that are used at least once by the content. 2024-08-22 20:35:01 -07:00