From 4ddfb259438cfa28fc6117d2283675b00dbfa341 Mon Sep 17 00:00:00 2001 From: David Anson Date: Sat, 6 Sep 2025 18:18:47 -0700 Subject: [PATCH] wip --- helpers/helpers.cjs | 4 +++- .../markdownlint-test-repos-small.mjs.md | 12 ++++++------ .../markdownlint-test-repos-small.mjs.snap | Bin 8239 -> 8243 bytes 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/helpers/helpers.cjs b/helpers/helpers.cjs index 66a5e71b..20875652 100644 --- a/helpers/helpers.cjs +++ b/helpers/helpers.cjs @@ -656,7 +656,9 @@ module.exports.convertToResultVersion2 = function convertToResultVersion2(result */ module.exports.formatLintResults = function formatLintResults(lintResults) { const results = []; - for (const [ source, lintErrors ] of Object.entries(lintResults || {})) { + const entries = Object.entries(lintResults || {}); + entries.sort((a, b) => a[0].localeCompare(b[0])); + for (const [ source, lintErrors ] of entries) { for (const lintError of lintErrors) { results.push( source + ": " + diff --git a/test/snapshots/markdownlint-test-repos-small.mjs.md b/test/snapshots/markdownlint-test-repos-small.mjs.md index a9bd13be..6c922cfb 100644 --- a/test/snapshots/markdownlint-test-repos-small.mjs.md +++ b/test/snapshots/markdownlint-test-repos-small.mjs.md @@ -320,9 +320,6 @@ Generated by [AVA](https://avajs.dev). `test-repos/mochajs-mocha/.github/CODE_OF_CONDUCT.md: 63: MD034/no-bare-urls Bare URL used [Context: "report@lists.openjsf.org"]␊ test-repos/mochajs-mocha/.github/CONTRIBUTING.md: 42: MD051/link-fragments Link fragments should be valid [Context: "[⚽️ About Project Goals](#⚽️-about-project-goals)"]␊ - test-repos/mochajs-mocha/PROJECT_CHARTER.md: 51: MD051/link-fragments Link fragments should be valid [Context: "[§2: Scope](#%c2%a72-scope)"]␊ - test-repos/mochajs-mocha/PROJECT_CHARTER.md: 56: MD051/link-fragments Link fragments should be valid [Context: "[§2: Scope](#%c2%a72-scope)"]␊ - test-repos/mochajs-mocha/README.md: 39: MD045/no-alt-text Images should have alternate text (alt text)␊ test-repos/mochajs-mocha/docs/changelogs/CHANGELOG_V3_older.md: 207: MD059/descriptive-link-text Link text should be descriptive [Context: "[more]"]␊ test-repos/mochajs-mocha/docs/index.md: 34: MD051/link-fragments Link fragments should be valid [Context: "[global variable leak detection](#-check-leaks)"]␊ test-repos/mochajs-mocha/docs/index.md: 35: MD051/link-fragments Link fragments should be valid [Context: "[optionally run tests that match a regexp](#-grep-regexp-g-regexp)"]␊ @@ -350,7 +347,10 @@ Generated by [AVA](https://avajs.dev). test-repos/mochajs-mocha/docs/index.md: 2432: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "caniuse-promises"] [Context: "[caniuse-promises]: https://ca..."]␊ test-repos/mochajs-mocha/docs/index.md: 2463: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "mocha-website"] [Context: "[mocha-website]: https://mocha..."]␊ test-repos/mochajs-mocha/docs/index.md: 2230: MD059/descriptive-link-text Link text should be descriptive [Context: "[here]"]␊ - test-repos/mochajs-mocha/docs/index.md: 2302: MD059/descriptive-link-text Link text should be descriptive [Context: "[here]"]` + test-repos/mochajs-mocha/docs/index.md: 2302: MD059/descriptive-link-text Link text should be descriptive [Context: "[here]"]␊ + test-repos/mochajs-mocha/PROJECT_CHARTER.md: 51: MD051/link-fragments Link fragments should be valid [Context: "[§2: Scope](#%c2%a72-scope)"]␊ + test-repos/mochajs-mocha/PROJECT_CHARTER.md: 56: MD051/link-fragments Link fragments should be valid [Context: "[§2: Scope](#%c2%a72-scope)"]␊ + test-repos/mochajs-mocha/README.md: 39: MD045/no-alt-text Images should have alternate text (alt text)` ## https://github.com/pi-hole/docs @@ -738,12 +738,12 @@ Generated by [AVA](https://avajs.dev). `test-repos/webhintio-hint/packages/hint-apple-touch-icons/README.md: 198: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "icon scaling"] [Context: "[icon scaling]: https://realfa..."]␊ test-repos/webhintio-hint/packages/hint-apple-touch-icons/README.md: 202: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "web app manifest spec"] [Context: "[web app manifest spec]: https..."]␊ test-repos/webhintio-hint/packages/hint-axe/README.md: 170: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "axe rules"] [Context: "[axe rules]: https://github.co..."]␊ - test-repos/webhintio-hint/packages/hint-compat-api/README.md: 48: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "npm docs"] [Context: "[npm docs]: https://docs.npmjs..."]␊ test-repos/webhintio-hint/packages/hint-compat-api/docs/html.md: 153: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "global-attr"] [Context: "[global-attr]: https://develop..."]␊ - test-repos/webhintio-hint/packages/hint-detect-css-reflows/README.md: 96: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "understanding-critical-path"] [Context: "[understanding-critical-path]:..."]␊ + test-repos/webhintio-hint/packages/hint-compat-api/README.md: 48: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "npm docs"] [Context: "[npm docs]: https://docs.npmjs..."]␊ test-repos/webhintio-hint/packages/hint-detect-css-reflows/docs/composite.md: 73: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "understanding-critical-path"] [Context: "[understanding-critical-path]:..."]␊ test-repos/webhintio-hint/packages/hint-detect-css-reflows/docs/layout.md: 73: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "understanding-critical-path"] [Context: "[understanding-critical-path]:..."]␊ test-repos/webhintio-hint/packages/hint-detect-css-reflows/docs/paint.md: 73: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "understanding-critical-path"] [Context: "[understanding-critical-path]:..."]␊ + test-repos/webhintio-hint/packages/hint-detect-css-reflows/README.md: 96: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "understanding-critical-path"] [Context: "[understanding-critical-path]:..."]␊ test-repos/webhintio-hint/packages/hint-doctype/README.md: 130: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "npm docs"] [Context: "[npm docs]: https://docs.npmjs..."]␊ test-repos/webhintio-hint/packages/hint-highest-available-document-mode/README.md: 420: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "mod_mime"] [Context: "[mod_mime]: https://httpd.apac..."]␊ test-repos/webhintio-hint/packages/hint-http-compression/README.md: 1087: MD053/link-image-reference-definitions Link and image reference definitions should be needed [Unused link or image reference definition: "gzip is not enough"] [Context: "[gzip is not enough]: https://..."]␊ diff --git a/test/snapshots/markdownlint-test-repos-small.mjs.snap b/test/snapshots/markdownlint-test-repos-small.mjs.snap index 8938e35313bd5632a041a057e18f70e9a33f7c73..366a45c66f6e52c487c6c95fb77978ea92f11c24 100644 GIT binary patch delta 7524 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