Commit graph

132 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
28e1b23955 Improve type safety by strongly-typing the micromark token type property everywhere. 2024-02-29 23:05:27 -08:00
David Anson
3b1dfe42df Remove deprecated ESLint rules after version update. 2023-11-05 20:18:39 -08:00
David Anson
10f095c4fd Refactor new MD054/link-image-style rule, add tests, update documentation (fixes #40, fixes #399). 2023-11-02 19:48:55 -07:00
David Anson
06466905a5 Add getHtmlAttributeRe helper for creating a RegExp to match an HTML attribute name/value. 2023-10-18 23:45:39 -07:00
Kate Higa
531e58ed9a
Update MD045/no-alt-text to report instances of HTML "img" tags missing an "alt" attribute (fixes #992). 2023-10-18 23:20:19 -07:00
David Anson
0afedaebf4 Resolve new eslint-plugin-regexp violation regexp/no-contradiction-with-assertion. 2023-10-16 20:13:21 -07:00
David Anson
07f403173c Replace all instances of JSDoc generic Function with detailed @callback definition (type-only changes). 2023-09-04 21:41:31 -07:00
David Anson
ef1bd286a9 Reimplement MD051/link-fragments using micromark tokens, report reference link issues for definition and fix when possible, handle reporting multiple violations on the same line better. 2023-08-04 20:53:38 -07:00
David Anson
73b9704159 Reimplement MD037/no-space-in-emphasis using micromark tokens, report start/end separately for smaller edit spans, remove markdown-it-texmath (fixes #533, fixes #597). 2023-07-24 21:36:55 -07:00
David Anson
e86fb7699d Refactor to move reparse of micromark htmlFlow token content into core micromarkParse implementation for simplicity and sharing. 2023-07-21 22:49:08 -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
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
c06506c317 Reimplement MD026/no-trailing-punctuation using micromark tokens, ignore trailing GitHub emoji codes, improve tests (fixes #457). 2023-06-24 15:47:06 -07:00
David Anson
7005a8a438 Reimplement MD049/emphasis-style, MD050/strong-style to use micromark parser (with smaller ranges and handling of multi-line fixes). 2023-05-26 03:50:00 +00:00
David Anson
5bff33d41b Reimplement MD044/proper-names using micromark tokens. 2023-03-14 21:03:07 -07:00
David Anson
13ced64c21 Rename markdownlint-micromark Token's .tokens property to .children for consistency and clarity. 2023-02-25 15:50:58 -08:00
David Anson
b787758a48 Update to markdownlint-micromark@0.1.2, include gfmTable extension, change matchAndGetTokensByType return value, include .cjs files when linting. 2023-02-25 15:50:58 -08:00
David Anson
4b27bac79b Update all references to "params.tokens" to "params.parsers.markdownit.tokens" for clarity. 2023-02-25 15:50:57 -08:00
David Anson
b990b3ea77 Reimplement MD034/no-bare-urls using micromark tokens (fixes #707). 2023-02-25 15:50:57 -08:00
David Anson
97f99befb8 Reimplement getReferenceLinkImageData using micromark tokens. 2023-02-25 15:50:57 -08:00
David Anson
48a92d41a4 Reimplement MD033/no-inline-html using micromark tokens. 2023-02-25 15:50:56 -08:00
David Anson
86a4a7de79 Change helpers.getReferenceLinkImageData().shortcuts from Set to Map using the same schema as .references (fixes #685). 2022-12-23 00:41:11 +00:00
David Anson
868edf889e Manually fix three new ESLint warnings from the eslint-plugin-regexp plugin (refs #657). 2022-12-19 21:51:18 -08:00
David Anson
6b01a98363 Add ESLint plugin eslint-plugin-regexp, enable recommended rules, apply all automated fixes (refs #657). 2022-12-19 21:36:24 -08: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
2146bbae5f Update MD033/no-inline-html to ignore HTML in labels for reference links/images (fixes #658). 2022-12-06 22:57:45 -08:00
David Anson
cba5e8d340 Update MD034/no-bare-urls to better handle multiple similar issues on the same line (fixes https://github.com/igorshubovych/markdownlint-cli/issues/339). 2022-12-06 22:14:40 -08:00
David Anson
99a3f164a9 Update MD013/line-length to permit long link/image reference definitions in all modes because they can not be easily split. 2022-11-08 21:40:33 -08:00
David Anson
592a42b0cb Update MD053/link-image-reference-definitions to handle references within references (i.e., Pandoc-style footnotes), verify Pandoc footnote indent is not treated as comment when markdown-it-footnote plugin is used (fixes #599). 2022-10-19 21:18:56 -07:00
David Anson
f0bb4c639b Change HTML comment content sanitization to avoid breaking list item indent, respect table cell content rules (fixes #563). 2022-10-14 20:59:56 -07:00
David Anson
6974cd6012 Fix helpers.referenceLinkRe to handle full and shortcut reference image links inside normal links (fixes #571). 2022-08-31 22:46:19 -07:00
David Anson
4c00ffa2f0 Fix new violations from eslint-plugin-unicorn update. 2022-08-15 21:20:27 -07:00
David Anson
2c3e8c938b Update MD053/link-image-reference-definitions to handle multi-line references inside blockquotes (fixes #544). 2022-08-01 18:48:01 -07:00
David Anson
48f47b5214 Update MD053/link-image-reference-definitions to recognize links within square brackets (fixes #537). 2022-07-30 16:12:27 -07:00
David Anson
5b0588f378 Update helpers.expandTildePath to handle receiving an os object without homedir, address minor @ts-check confusion in same file. 2022-07-24 12:22:32 -07:00
David Anson
6e8a0737b5 Reimplement helpers.forEachInlineCodeSpan for ~11% time reduction measured via profile-fixture.mjs on GitHub Codespaces. 2022-06-19 02:14:03 +00:00
David Anson
d177ee2fc5 Update helpers.forEachInlineCodeSpan to remove backtick detection in link destinations for ~22% time reduction measured via profile-fixture.mjs on GitHub Codespaces. 2022-06-19 00:49:36 +00:00
David Anson
a14df5aa5f Remove unused parameter to helpers.getReferenceLinkImageData. 2022-06-12 18:39:28 -07:00
David Anson
fa0782d729 Use '\0' instead of ']' to allow end-of-block detection for single-line RegExp in getReferenceLinkImageData. 2022-06-12 18:00:37 -07:00
David Anson
6934d24651 Address new TypeScript warnings from VS Code. 2022-06-12 17:53:57 -07: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
15efcb4282 Convert helpers.filterTokens from Array.forEach to for..of for ~6% time reduction measured via profile-fixture.mjs on Apple Silicon M1. 2022-06-07 22:59:48 -07:00
David Anson
85d720cefc Update helpers.flattenLists to provide correct lastLineIndex for lists with an empty last item (fixes #529). 2022-06-07 22:16:34 -07:00
David Anson
bbec8c5c1e Hide the content of inline configuration HTML comments from the linting process to avoid false positives. 2022-06-04 22:59:19 -07: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
cb943a8718 Change markdownlint-browser.js TypeScript configuration to generate code for "es2015" ("es6") from the default of "es3" so that generated code for for..of will behave correctly, revert previous workaround for same. 2022-06-02 21:42:48 -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