Commit graph

259 commits

Author SHA1 Message Date
David Anson
1e71f6f44e Convert markdownlint library to an ECMAScript module, replace markdownlint-micromark with micromark, stop publishing (large) markdownlint-browser.js, see https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c for guidance. 2024-11-29 18:29:21 -08:00
David Anson
04c693b00b Update MD051/link-fragments to add ignore_case parameter and improve documentation (fixes #1274). 2024-10-08 22:40:25 -07:00
David Anson
4e30462216 Promote applyFix and applyFixes helpers into core library. 2024-10-06 17:24:44 -07:00
David Anson
e0219411c6 Refactor RegExps to avoid the possibility of polynomial backtracking (fixes #657). 2024-10-05 18:07:45 -07:00
David Anson
ee50519e00 Add "exportMappings" test for package.json exports. 2024-09-29 17:50:40 -07:00
David Anson
9c8e7156e1 Create strict JSON Schema for configuration (standalone for ease of use) and corresponding strict TypeScript type (via extends for conciseness) (fixes #1248). 2024-08-27 20:47:33 -07:00
David Anson
85e704f32a Update to only invoke rules that are used at least once by the content. 2024-08-22 20:35:01 -07:00
David Anson
ea8d596a9b Stop running the markdown-it parser unless a custom rule that requires it is present (~7% runtime reduction). 2024-08-21 21:19:52 -07:00
David Anson
3b581a7f6d Reimplement MD013/line-length using micromark tokens. 2024-08-13 20:57:00 -07:00
David Anson
daa155d5a1 Reimplement MD039/no-space-in-links using micromark tokens. 2024-08-04 12:06:12 -07:00
David Anson
26466108e9 Add new rule MD058/blanks-around-tables (fixes #132). 2024-06-03 21:16:45 -07:00
David Anson
22f1f064fd Incorporate markdownlint-rule-extended-ascii into tests, linting, and documentation. 2024-05-13 22:57:47 -07:00
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
1769f70845 Replace strip-json-comments dev dependency with jsonc-parser to handle trailing comments in JSONC test input (for mdn/content), update test repo snapshots. 2024-01-21 20:14:18 -08:00
David Anson
7c1adc589a Update schema validation test to verify version inside $id value is correct. 2024-01-11 23:08:08 -08:00
David Anson
30d62f19ac Add rule MD056/table-column-count (fixes #92). 2024-01-06 20:06:47 -08:00
David Anson
7d2248d211 Update MD055/table-pipe-style to support "consistent" and other styles, use micromark positioning, report ranges, add more tests. 2023-12-30 18:15:38 -08:00
Gabriel Kuznik
a563c082a5 Add rule MD055/table-missing-border (fixes #93, refs #1039, no generated files). 2023-12-29 17:29:06 -08:00
David Anson
9270513f14 Add instructions for "Validating Configuration" to explain how to use the JSON Schema with configuration objects/files. 2023-11-26 20:10:31 -08:00
David Anson
7df23eed2c Validate JSON configuration schema $id matches $schema.default. 2023-11-25 17:38:13 -08:00
David Anson
d2a0f74bbd Convert JSON schema validation to use Ajv. 2023-11-25 17:33:39 -08:00
David Anson
316b0989c3 Add $id to configuration schema, switch to version-specific repository links. 2023-11-24 15:23:36 -08:00
David Anson
b709a2f624 Update MD054/link-image-style to add url_inline parameter (fixes #753). 2023-11-12 22:46:30 -08:00
David Anson
063310e51a Update MD054/link-image-style to split reference parameter into full/collapsed/shortcut parameters (fixes #918). 2023-11-11 22:12:50 -08:00
David Anson
a9a77940c5 Remove rule aliases for "header" (deprecated in v0.9.0). 2023-11-09 20:05:30 -08:00
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
3db8b258dc Remove deprecated ESLint rules after version update, sort rules by name. 2023-11-07 19:11:56 -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
Tommy G
460836445c Add new MD054/link-image-style rule (in-progress PR, no generated files). 2023-11-02 19:48:55 -07:00
David Anson
da17cec722 Reimplement MD007/ul-indent using micromark tokens, reduce the length of fix edits (fixes #969). 2023-10-15 21:25:08 -07:00
David Anson
6720eadad4 Use stable URI identifiers for JSON schemas to avoid potential race conditions. 2023-09-28 20:48:50 -07:00
David Anson
dd6fe21ac7 Convert JSON schema validation to use @hyperjump/json-schema, validate against specific schema version, newly validate schema definition, add missing "$schema" property. 2023-09-27 22:48:01 -07:00
David Anson
c118c1160a Update MD052/reference-links-images to add a shortcut_syntax parameter for opting into shortcut scanning (fixes #915). 2023-09-04 16:40:48 -07:00
David Anson
24c97a54fb Refactor micromark token handling to remove optional Token.htmlFlowChildren property and make related code more efficient for a ~6% elapsed time reduction. 2023-09-02 19:32:25 -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
David Anson
d9de1dd22f Update MD022/blanks-around-headings to allow specifying a different number of blank lines for each heading level (fixes #504). 2023-08-08 22:56:59 -07:00
David Anson
809841098d Update MD022/blanks-around-headings to allow passing -1 for lines_above/lines_below to allow any number of blank lines in that direction (fixes #546). 2023-08-06 15:24:35 -07:00
David Anson
3dedc1cda1 Update tests to verify rules can be configured by identifier and by name (in response to previous commit that changed all test files to use name). 2023-07-27 21:42:14 -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
1b0e783c33 Update README.md to clarify two things. 2023-05-26 20:28:21 -07:00
David Anson
300ee36a5f Re-introduce validateJsonUsingConfigSchemaStrict for validating the content of markdownlint-configure-file in Markdown files. 2023-03-16 20:41:32 -07:00
David Anson
0ebcf248ca Simplify test directory by moving all JSON configuration for scenario tests into the Markdown file via markdownlint-configure-file. 2023-03-15 21:26:22 -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
57c612cfa4 Fix invalid link definition syntax in break-all-the-rules.md. 2023-02-25 15:50:57 -08:00
Bryan Mishkin
22db339eee
Move README.md History section to CHANGELOG.md using a format similar to what other projects use (fixes #694). 2023-01-05 19:24:04 -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
d7433af4d3 Update project file linting test to include README.md, address new issues, remove extra test. 2022-12-13 17:11:43 -08:00
David Anson
c9f7a323cc Add ReleaseProcess.md to explain the release process (fixes #562). 2022-12-13 16:42:54 -08:00