Commit graph

863 commits

Author SHA1 Message Date
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
604ff5df39 Add simple scaffolding for profiling and timing execution. 2022-06-07 22:51:12 -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
4560ccc1cd Change demo web page to use SVG favicon (leave previous ICO around). 2022-06-06 22:11:29 -07:00
David Anson
00082ee8a5 Add "configParsers" option so custom parsers can be used to handle the content of markdownlint-configure-file inline comments (fixes #528). 2022-06-05 22:32:22 -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
535aa1a2ee Reorder README.md options.* properties into alphabetical order. 2022-06-04 15:06:07 -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
36c689388f Refactor cache.js to simplify use. 2022-06-02 21:33:31 -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
2c947abf7b Update dependency: markdown-it to 13.0.1 (fixes #526). 2022-05-18 21:55:03 -07:00
David Anson
b6ea481c23 Update lint-test-repos scenarios to restore an exclusion that is still needed. 2022-05-18 21:55:03 -07:00
David Anson
c7d74cf6c0 Update lint-test-repos scenarios for recent changes to test repositories. 2022-05-18 21:49:08 -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
5505deb1c9 Update lint-test-repos scenarios to ignore three newly-introduced external issues, run on Windows. 2022-05-17 21:29:49 -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
5f5f44e8e0 Update MD031/blanks-around-fences to avoid duplicating list item markers when adding blank lines (fixes #485). 2022-05-14 19:18:13 -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
877ede7735 Remove outdated "detailed-results-" prefix from test scenario files. 2022-05-11 06:26:30 +00:00
David Anson
3be22e0620 Remove unnecessary promise from markdownlint-test-scenarios.js. 2022-05-11 06:07:43 +00:00
David Anson
820f2699ca Reimplement markdownlint-test-scenarios.js to be simpler, more efficient, and use AVA test snapshots for all file-based test scenarios. 2022-05-10 06:11:46 +00:00
David Anson
7bb80d19b1 Update MD039/no-space-in-links to not remove code/emphasis markers when fixing issues (fixes #482). 2022-05-06 21:42:31 -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
580b7ed020 Unify near-identical implementations of MD049/emphasis-style and MD050/strong-style. 2022-05-03 21:59:49 -07:00
David Anson
76bc976d3b Rename md049.js in preparation for merging with md050.js. 2022-05-03 21:37:30 -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
54369a00e6 Add test file for GitHub footnote syntax (closes #370). 2022-04-30 19:50:43 -07:00
David Anson
02afeb5bc0 Remove support for end-of-life Node.js version 12. 2022-04-30 19:19:42 -07:00
David Anson
7a5886b976 Update MD035/hr-style to preserve embedded spaces in thematic break markup (fixes #498). 2022-04-28 21:53:51 -07:00
David Anson
b447c809bd Update MD010/no-hard-tabs to add ignore_code_languages parameter (fixes #383). 2022-04-28 21:09:06 -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
8afec14376 Update MD044/proper-names to support specifying multiple casings of the same name (ex: "Abc" and "ABC") (refs #435). 2022-04-22 20:41:42 -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
9b3fd3d16b Add "type" property of "commonjs" to package.json to be explicit. 2022-04-21 21:09:07 -07:00
David Anson
c8bd6053c7 Update project configuration for no-duplicate-heading to use siblings_only. 2022-04-21 21:05:30 -07:00
David Anson
152720f00e Update MD051/link-fragments to support indexing of repated headings. 2022-04-21 21:02:46 -07:00
David Anson
8c5f28c2f0 Refactor MD051/link-fragments slightly to reduce dependencies. 2022-04-20 21:27:21 -07:00
David Anson
bd92ec3fea
Add Node.js 18.x to CI test matrix. 2022-04-19 12:58:58 -07:00
David Anson
9a5e7e42ef Update MD051/link-fragments to use the same character classes as GitHub, encode unprintable characters from emojii. 2022-04-18 20:59:01 -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
Divlo
33ee1cd85e Initial implementation of MD051/valid-link-fragments (refs #253, closes #495). 2022-04-16 14:08: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
4affefc68d Add proper-names rule to .markdownlint.json, update tests to use that file, fix resulting issues. 2022-03-10 06:11:38 +00:00
David Anson
062585e281 Update to actions/checkout@v3, actions/setup-node@v3. 2022-03-10 05:33:57 +00:00
Ashish Gupta
e4a42155d3
Update "markdown" to "Markdown" in Rules.md (fixes #507). 2022-03-07 21:12:14 -08: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