Commit graph

168 commits

Author SHA1 Message Date
David Anson
20a552b4b7 Remove MD002 (deprecated in v0.13.0) and MD006 (deprecated in v0.19.0). 2023-11-09 19:47:24 -08:00
David Anson
d4bfb633bb Generate TypeScript declaration for Configuration object from JSON schema (refs #1004, refs #1014). 2023-11-08 19:49:02 -08:00
David Anson
3b1dfe42df Remove deprecated ESLint rules after version update. 2023-11-05 20:18:39 -08:00
David Anson
d2faf40e6a Add rule name and file/string identifier to Error message thrown by onError validation for rules. 2023-10-07 19:34: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
523eeee3bb Update code for new behavior of ESLint rule n/prefer-promises/fs. 2023-08-22 22:00:43 -07:00
Tommy G
07b851b3c7
Always refer to rules by name (not number) in test configuration. 2023-07-27 21:33:03 -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
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
14a7529ce7 Snapshot custom rule definitions to prevent them from changing dynamically. 2023-07-11 22:17:53 -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
2ab546bec0 Implement (undocumented, promise-only) extendConfig API for readConfig-like behavior when the Configuration object is already available (i.e., to implement "extends" consistently). 2023-04-03 22:59:06 -07:00
David Anson
e8a85c91f2 Move call to mapAliasToRuleNames higher in the stack to avoid re-computing multiple times for the same input. 2023-03-12 20:50:17 -07: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
64159fa456 Address new @ts-check warnings in markdownlint-test.js. 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
c1df46f607 Convert params.parsers.name to params.parsers.name.tokens for clarity/flexibility. 2023-02-25 15:50:56 -08:00
David Anson
08b31da0aa Move micromark.cjs helpers from lib to helpers so it can be used by code in both locations. 2023-02-25 15:50:56 -08:00
David Anson
1461ad6272 Add content parsing via micromark, publish frozen micromark tokens alongside markdown-it tokens, remove assert from micromark wrapper. 2023-02-25 15:50:56 -08:00
David Anson
4c00ffa2f0 Fix new violations from eslint-plugin-unicorn update. 2022-08-15 21:20:27 -07:00
David Anson
5544ea54d7 Remove workaround for markdown-it-texmath issue fixed in @1.0.0. 2022-08-01 18:29:18 -07:00
David Anson
e8cdb5619c Update token annotation to call helpers.forEachInlineCodeSpan only when necessary for ~11% time reduction measured via profile-fixture.mjs on GitHub Codespaces. 2022-06-17 05:29:12 +00:00
David Anson
a14df5aa5f Remove unused parameter to helpers.getReferenceLinkImageData. 2022-06-12 18:39:28 -07:00
David Anson
312f4b8c6d Address new TypeScript warnings from VS Code. 2022-06-11 22:40:45 -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
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
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
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
0f845e9ba1 Update MD044/proper-names to add html_elements parameter (fixes #435). 2022-04-25 21:50:33 -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
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
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
5f0040679d Deep freeze name/tokens/lines/frontMatterLines properties of params object before passing to (custom) rules for shared access. 2021-12-23 04:34:25 +00:00
Adithya Balaji
5253669495 Fix array indexing for markdownlint-disable-next-line when front matter is present. 2021-12-22 19:27:19 -08:00
David Anson
ff8f4ea9fc Reduce execution time by ~50% by updating getEnabledRulesPerLineNumber to make enabledRules immutable and copy only when changed (also, simplify handleInlineConfig slightly). 2021-12-21 21:31:47 -08:00
David Anson
13e375b281 Disable ESLint rule func-style. 2021-12-11 21:48:00 -08:00
David Anson
2056d81682 Add support for asynchronous custom rules (ex: to read a file or make a network request). 2021-12-11 21:44:25 -08:00
David Anson
109e0d8cb6 Refactor custom rule exception tests for smaller size and better coverage. 2021-12-10 21:33:20 -08:00
David Anson
e7662b11b5 Simplify lintContent by removing errors array and processing errors in onError so nothing needs to be done after invoking a rule. 2021-12-04 22:09:20 -08:00
David Anson
d3c56d3ab8 Refactor lintContent to do less processing of errors for each rule and instead handle all errors at the end. 2021-12-04 17:02:11 -08:00
David Anson
e531bd6359 Refactor lintInput to share code between sync/async, support an async path for strings, and process files first for better concurrency. 2021-12-03 22:43:58 -08:00
David Anson
7330ea4946 Add information about parser/index to error messages when parsing configuration file content. 2021-11-30 21:28:59 -08:00
David Anson
11806dc5cb Tokens inside tables that lack a map should get it from the surrounding table row (which is more scoped than the table body) (fixes #463). 2021-11-26 04:26:15 +00:00
David Anson
1e82f76596 Reimplement inlineCodeSpanRanges as codeBlockAndSpanRanges to fix an issue with unterminated code spans (and for flexibility). 2021-11-23 04:51:20 +00:00
David Anson
573ebe7462 Move two instances of deprecatedRuleNames into constants.js. 2021-11-11 22:37:16 -08:00
David Anson
c5345f45eb Replace require("package.json") with constants.js to simplify and remove that file from markdownlint-browser.js. 2021-11-10 21:48:15 -08:00