Commit graph

131 commits

Author SHA1 Message Date
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
David Anson
ffc4d56918 Support tilde paths ("~" prefix) in readConfig/Sync APIs (for "file" parameter and "extends" keys). 2022-05-17 21:38:36 -07:00