Commit graph

134 commits

Author SHA1 Message Date
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
Bryan Mishkin
2c38ae90fc Add example for markdownlint-rule-helpers.applyFixes to documentation (fixes #663). 2022-12-04 15:17:56 -08:00
David Anson
2e63bf7dd8 Configure all rules that allow style=consistent (or similar) to require an explicit style for consistency across the project. 2022-11-13 20:53:17 -08:00
David Anson
91dd6dcb1d Enable "line-length": { "strict": true } for all user-facing Markdown files in the repository. 2022-11-12 17:53:47 -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
ebf249b6cc Update to version 0.26.2. 2022-08-08 21:05:50 -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
cba2ca0dbd Update to version 0.26.1. 2022-07-24 12:31:06 -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
1dba010ea9 Add "exports" to package.json, use it to limit what's exported, leave "main" for compatability. 2022-07-05 14:33:31 -07:00
David Anson
51cec76c2b Update to version 0.26.0. 2022-06-21 21:16:44 -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
David Anson
3792613d2d Implement markdownlint-disable-line inline comment (behaves like markdownlint-disable-next-line, but for the current line) (fixes #524). 2022-05-15 15:59:11 -07:00
David Anson
cf26cc7c92 Update helpers.codeBlockAndSpanRanges to use "Array.forEach" instead of "for of Array.entries()" to work around seeming Webpack transpilation issue affecting markdownlint-browser.js (fixes #525). 2022-05-13 21:39:22 -07:00
David Anson
a8f946e0b3 Refactor/simplify helpers.getPreferredLineEnding to use os.EOL instead of process.platform. 2022-05-06 21:04:34 -07:00
David Anson
19dfb960f1 Refactor to remove helpers.getPlatformIdentifier and simplify. 2022-05-05 23:14:18 -07:00
David Anson
295e481552 Fix null dereference in helpers.getPreferredLineEnding when running in browser (platform unknown, process object not available) and input string does not contain line endings. 2022-05-04 22:09:11 -07:00
David Anson
c4f51090ae Update MD049/emphasis-style and MD050/strong-style to correctly report and fix multiple identical violations on the same line (fixes #486). 2022-05-03 21:35:31 -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
db5d9f6dbb Update previous commit for MD051/link-fragments to rename, refactor, add support for HTML anchors, and validate against
markdown-link-check (fixes #253).
2022-04-16 14:08:56 -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
861443c740 Update MD042/no-empty-links to improve range reporting, remove helpers.emptyLinkRe. 2022-02-13 17:41:31 -08:00
David Anson
7c1550cbe9 Remove RegExp lookbehind assertions used to fix "Polynomial regular expression used on uncontrolled data" because they are not supported in Safari, add eslint-plugin-es rule no-regexp-lookbehind-assertions to prevent regressions. 2022-02-13 16:57:09 -08:00
David Anson
f46ee0732f Update helpers.inlineCommentRe to fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-02-12 22:02:08 -08:00
David Anson
1c89dd5776 Reimplement helpers.isBlankLine to fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-02-11 21:54:43 -08:00
David Anson
b9474e84a3 Add optional "platform" parameter to helpers.applyFixes (closes #496). 2022-02-09 22:44:49 -08:00
David Anson
3ba2df7386 Fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-01-23 22:45:57 -08:00
David Anson
96699459d1 Fix an instance of "Polynomial regular expression used on uncontrolled data". 2022-01-22 22:48:22 -08:00
David Anson
05b4b5fd06 Update copyright year to 2022. 2022-01-08 20:42:55 +00:00