diff --git a/packages/remark-lint-blockquote-indentation/index.js b/packages/remark-lint-blockquote-indentation/index.js index e78955d4..acc8656a 100644 --- a/packages/remark-lint-blockquote-indentation/index.js +++ b/packages/remark-lint-blockquote-indentation/index.js @@ -61,7 +61,10 @@ import {pointStart} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintBlockquoteIndentation = lintRule( - 'remark-lint:blockquote-indentation', + { + origin: 'remark-lint:blockquote-indentation', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-blockquote-indentation#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { visit(tree, 'blockquote', (node) => { diff --git a/packages/remark-lint-checkbox-character-style/index.js b/packages/remark-lint-checkbox-character-style/index.js index b134dcdd..5f685aef 100644 --- a/packages/remark-lint-checkbox-character-style/index.js +++ b/packages/remark-lint-checkbox-character-style/index.js @@ -92,7 +92,10 @@ import {visit} from 'unist-util-visit' import {pointStart} from 'unist-util-position' const remarkLintCheckboxCharacterStyle = lintRule( - 'remark-lint:checkbox-character-style', + { + origin: 'remark-lint:checkbox-character-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-checkbox-character-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-checkbox-content-indent/index.js b/packages/remark-lint-checkbox-content-indent/index.js index 996d0bf5..a61f7a0a 100644 --- a/packages/remark-lint-checkbox-content-indent/index.js +++ b/packages/remark-lint-checkbox-content-indent/index.js @@ -40,7 +40,10 @@ import {visit} from 'unist-util-visit' import {pointStart} from 'unist-util-position' const remarkLintCheckboxContentIndent = lintRule( - 'remark-lint:checkbox-content-indent', + { + origin: 'remark-lint:checkbox-content-indent', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-checkbox-content-indent#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-code-block-style/index.js b/packages/remark-lint-code-block-style/index.js index 31b6ff7f..c757c167 100644 --- a/packages/remark-lint-code-block-style/index.js +++ b/packages/remark-lint-code-block-style/index.js @@ -113,7 +113,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintCodeBlockStyle = lintRule( - 'remark-lint:code-block-style', + { + origin: 'remark-lint:code-block-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-code-block-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-definition-case/index.js b/packages/remark-lint-definition-case/index.js index 9b41aa54..093ac120 100644 --- a/packages/remark-lint-definition-case/index.js +++ b/packages/remark-lint-definition-case/index.js @@ -33,7 +33,10 @@ import {pointStart, pointEnd} from 'unist-util-position' const label = /^\s*\[((?:\\[\s\S]|[^[\]])+)]/ const remarkLintDefinitionCase = lintRule( - 'remark-lint:definition-case', + { + origin: 'remark-lint:definition-case', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-definition-case#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-definition-spacing/index.js b/packages/remark-lint-definition-spacing/index.js index 252f8f9f..e54e10f9 100644 --- a/packages/remark-lint-definition-spacing/index.js +++ b/packages/remark-lint-definition-spacing/index.js @@ -33,7 +33,10 @@ import {pointStart, pointEnd} from 'unist-util-position' const label = /^\s*\[((?:\\[\s\S]|[^[\]])+)]/ const remarkLintDefinitionSpacing = lintRule( - 'remark-lint:definition-spacing', + { + origin: 'remark-lint:definition-spacing', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-definition-spacing#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-emphasis-marker/index.js b/packages/remark-lint-emphasis-marker/index.js index 13eef19a..ca324555 100644 --- a/packages/remark-lint-emphasis-marker/index.js +++ b/packages/remark-lint-emphasis-marker/index.js @@ -80,7 +80,10 @@ import {visit} from 'unist-util-visit' import {pointStart} from 'unist-util-position' const remarkLintEmphasisMarker = lintRule( - 'remark-lint:emphasis-marker', + { + origin: 'remark-lint:emphasis-marker', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-emphasis-marker#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-fenced-code-flag/index.js b/packages/remark-lint-fenced-code-flag/index.js index 204be7c2..246a9fe8 100644 --- a/packages/remark-lint-fenced-code-flag/index.js +++ b/packages/remark-lint-fenced-code-flag/index.js @@ -100,7 +100,10 @@ import {generated} from 'unist-util-generated' const fence = /^ {0,3}([~`])\1{2,}/ const remarkLintFencedCodeFlag = lintRule( - 'remark-lint:fenced-code-flag', + { + origin: 'remark-lint:fenced-code-flag', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-fenced-code-flag#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option) => { const value = String(file) diff --git a/packages/remark-lint-fenced-code-marker/index.js b/packages/remark-lint-fenced-code-marker/index.js index 0b6ad6ea..01c5eaec 100644 --- a/packages/remark-lint-fenced-code-marker/index.js +++ b/packages/remark-lint-fenced-code-marker/index.js @@ -100,7 +100,10 @@ import {visit} from 'unist-util-visit' import {pointStart} from 'unist-util-position' const remarkLintFencedCodeMarker = lintRule( - 'remark-lint:fenced-code-marker', + { + origin: 'remark-lint:fenced-code-marker', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-fenced-code-marker#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const contents = String(file) diff --git a/packages/remark-lint-file-extension/index.js b/packages/remark-lint-file-extension/index.js index 701efb5b..2b8499d1 100644 --- a/packages/remark-lint-file-extension/index.js +++ b/packages/remark-lint-file-extension/index.js @@ -34,7 +34,10 @@ import {lintRule} from 'unified-lint-rule' const remarkLintFileExtension = lintRule( - 'remark-lint:file-extension', + { + origin: 'remark-lint:file-extension', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-file-extension#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file, option = 'md') => { const ext = file.extname diff --git a/packages/remark-lint-final-definition/index.js b/packages/remark-lint-final-definition/index.js index 833292c3..ddb9b6cc 100644 --- a/packages/remark-lint-final-definition/index.js +++ b/packages/remark-lint-final-definition/index.js @@ -50,7 +50,10 @@ import {pointStart} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintFinalDefinition = lintRule( - 'remark-lint:final-definition', + { + origin: 'remark-lint:final-definition', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-final-definition#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { let last = 0 diff --git a/packages/remark-lint-final-newline/index.js b/packages/remark-lint-final-newline/index.js index b6039903..d663333f 100644 --- a/packages/remark-lint-final-newline/index.js +++ b/packages/remark-lint-final-newline/index.js @@ -57,7 +57,10 @@ import {lintRule} from 'unified-lint-rule' const remarkLintFinalNewline = lintRule( - 'remark-lint:final-newline', + { + origin: 'remark-lint:final-newline', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-final-newline#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file) => { const value = String(file) diff --git a/packages/remark-lint-first-heading-level/index.js b/packages/remark-lint-first-heading-level/index.js index 0d93a1bd..7e862882 100644 --- a/packages/remark-lint-first-heading-level/index.js +++ b/packages/remark-lint-first-heading-level/index.js @@ -104,7 +104,10 @@ import {generated} from 'unist-util-generated' const re = /} */ (tree, file, option = 1) => { visit(tree, (node) => { diff --git a/packages/remark-lint-hard-break-spaces/index.js b/packages/remark-lint-hard-break-spaces/index.js index 3b8cf438..7892a33a 100644 --- a/packages/remark-lint-hard-break-spaces/index.js +++ b/packages/remark-lint-hard-break-spaces/index.js @@ -34,7 +34,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintHardBreakSpaces = lintRule( - 'remark-lint:hard-break-spaces', + { + origin: 'remark-lint:hard-break-spaces', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-hard-break-spaces#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-heading-increment/index.js b/packages/remark-lint-heading-increment/index.js index 963a36df..5fd2e20f 100644 --- a/packages/remark-lint-heading-increment/index.js +++ b/packages/remark-lint-heading-increment/index.js @@ -36,7 +36,10 @@ import {visit} from 'unist-util-visit' import {generated} from 'unist-util-generated' const remarkLintHeadingIncrement = lintRule( - 'remark-lint:heading-increment', + { + origin: 'remark-lint:heading-increment', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-heading-increment#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { /** @type {Depth} */ diff --git a/packages/remark-lint-heading-style/index.js b/packages/remark-lint-heading-style/index.js index 246c9a16..429d84f0 100644 --- a/packages/remark-lint-heading-style/index.js +++ b/packages/remark-lint-heading-style/index.js @@ -88,7 +88,10 @@ import {headingStyle} from 'mdast-util-heading-style' import {generated} from 'unist-util-generated' const remarkLintHeadingStyle = lintRule( - 'remark-lint:heading-style', + { + origin: 'remark-lint:heading-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-heading-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { if ( diff --git a/packages/remark-lint-linebreak-style/index.js b/packages/remark-lint-linebreak-style/index.js index 1c678a27..6a4144e6 100644 --- a/packages/remark-lint-linebreak-style/index.js +++ b/packages/remark-lint-linebreak-style/index.js @@ -63,7 +63,10 @@ import {location} from 'vfile-location' const escaped = {unix: '\\n', windows: '\\r\\n'} const remarkLintLinebreakStyle = lintRule( - 'remark-lint:linebreak-style', + { + origin: 'remark-lint:linebreak-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-linebreak-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-link-title-style/index.js b/packages/remark-lint-link-title-style/index.js index d421de8c..07e60ec1 100644 --- a/packages/remark-lint-link-title-style/index.js +++ b/packages/remark-lint-link-title-style/index.js @@ -118,7 +118,10 @@ const markers = { } const remarkLintLinkTitleStyle = lintRule( - 'remark-lint:link-title-style', + { + origin: 'remark-lint:link-title-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-link-title-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-list-item-bullet-indent/index.js b/packages/remark-lint-list-item-bullet-indent/index.js index 7f4188db..5e8f8f06 100644 --- a/packages/remark-lint-list-item-bullet-indent/index.js +++ b/packages/remark-lint-list-item-bullet-indent/index.js @@ -46,7 +46,10 @@ import plural from 'pluralize' import {visit} from 'unist-util-visit' const remarkLintListItemBulletIndent = lintRule( - 'remark-lint:list-item-bullet-indent', + { + origin: 'remark-lint:list-item-bullet-indent', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-list-item-bullet-indent#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'list', (list, _, grandparent) => { diff --git a/packages/remark-lint-list-item-content-indent/index.js b/packages/remark-lint-list-item-content-indent/index.js index d35ffc71..265e9f1a 100644 --- a/packages/remark-lint-list-item-content-indent/index.js +++ b/packages/remark-lint-list-item-content-indent/index.js @@ -34,7 +34,10 @@ import {visit} from 'unist-util-visit' import {pointStart} from 'unist-util-position' const remarkLintListItemContentIndent = lintRule( - 'remark-lint:list-item-content-indent', + { + origin: 'remark-lint:list-item-content-indent', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-list-item-content-indent#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-list-item-indent/index.js b/packages/remark-lint-list-item-indent/index.js index 5406bddd..44e7c78a 100644 --- a/packages/remark-lint-list-item-indent/index.js +++ b/packages/remark-lint-list-item-indent/index.js @@ -125,7 +125,10 @@ import {pointStart} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintListItemIndent = lintRule( - 'remark-lint:list-item-indent', + { + origin: 'remark-lint:list-item-indent', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-list-item-indent#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'tab-size') => { const value = String(file) diff --git a/packages/remark-lint-list-item-spacing/index.js b/packages/remark-lint-list-item-spacing/index.js index 3bac1c3a..26e534d8 100644 --- a/packages/remark-lint-list-item-spacing/index.js +++ b/packages/remark-lint-list-item-spacing/index.js @@ -127,7 +127,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintListItemSpacing = lintRule( - 'remark-lint:list-item-spacing', + { + origin: 'remark-lint:list-item-spacing', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-list-item-spacing#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = {}) => { const {checkBlanks} = option diff --git a/packages/remark-lint-maximum-heading-length/index.js b/packages/remark-lint-maximum-heading-length/index.js index 87018273..84dcc703 100644 --- a/packages/remark-lint-maximum-heading-length/index.js +++ b/packages/remark-lint-maximum-heading-length/index.js @@ -39,7 +39,10 @@ import {generated} from 'unist-util-generated' import {toString} from 'mdast-util-to-string' const remarkLintMaximumHeadingLength = lintRule( - 'remark-lint:maximum-heading-length', + { + origin: 'remark-lint:maximum-heading-length', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-maximum-heading-length#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 60) => { visit(tree, 'heading', (node) => { diff --git a/packages/remark-lint-maximum-line-length/index.js b/packages/remark-lint-maximum-line-length/index.js index 57621b43..56cae863 100644 --- a/packages/remark-lint-maximum-line-length/index.js +++ b/packages/remark-lint-maximum-line-length/index.js @@ -108,7 +108,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintMaximumLineLength = lintRule( - 'remark-lint:maximum-line-length', + { + origin: 'remark-lint:maximum-line-length', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-maximum-line-length#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 80) => { const value = String(file) diff --git a/packages/remark-lint-no-auto-link-without-protocol/index.js b/packages/remark-lint-no-auto-link-without-protocol/index.js index a3150cef..1dd43bd4 100644 --- a/packages/remark-lint-no-auto-link-without-protocol/index.js +++ b/packages/remark-lint-no-auto-link-without-protocol/index.js @@ -51,7 +51,10 @@ import {toString} from 'mdast-util-to-string' const protocol = /^[a-z][a-z+.-]+:\/?/i const remarkLintNoAutoLinkWithoutProtocol = lintRule( - 'remark-lint:no-auto-link-without-protocol', + { + origin: 'remark-lint:no-auto-link-without-protocol', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-auto-link-without-protocol#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'link', (node) => { diff --git a/packages/remark-lint-no-blockquote-without-marker/index.js b/packages/remark-lint-no-blockquote-without-marker/index.js index 05600b5e..122080a3 100644 --- a/packages/remark-lint-no-blockquote-without-marker/index.js +++ b/packages/remark-lint-no-blockquote-without-marker/index.js @@ -66,7 +66,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintNoBlockquoteWithoutMarker = lintRule( - 'remark-lint:no-blockquote-without-marker', + { + origin: 'remark-lint:no-blockquote-without-marker', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-blockquote-without-marker#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-no-consecutive-blank-lines/index.js b/packages/remark-lint-no-consecutive-blank-lines/index.js index 6cd97186..6a9a9ca9 100644 --- a/packages/remark-lint-no-consecutive-blank-lines/index.js +++ b/packages/remark-lint-no-consecutive-blank-lines/index.js @@ -56,7 +56,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintNoConsecutiveBlankLines = lintRule( - 'remark-lint:no-consecutive-blank-lines', + { + origin: 'remark-lint:no-consecutive-blank-lines', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-consecutive-blank-lines#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, (node) => { diff --git a/packages/remark-lint-no-duplicate-defined-urls/index.js b/packages/remark-lint-no-duplicate-defined-urls/index.js index ca9fcde0..e074377a 100644 --- a/packages/remark-lint-no-duplicate-defined-urls/index.js +++ b/packages/remark-lint-no-duplicate-defined-urls/index.js @@ -35,7 +35,10 @@ import {stringifyPosition} from 'unist-util-stringify-position' import {visit} from 'unist-util-visit' const remarkLintNoDuplicateDefinedUrls = lintRule( - 'remark-lint:no-duplicate-defined-urls', + { + origin: 'remark-lint:no-duplicate-defined-urls', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-duplicate-defined-urls#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { /** @type {Record} */ diff --git a/packages/remark-lint-no-duplicate-definitions/index.js b/packages/remark-lint-no-duplicate-definitions/index.js index 68ff27a7..a9e79965 100644 --- a/packages/remark-lint-no-duplicate-definitions/index.js +++ b/packages/remark-lint-no-duplicate-definitions/index.js @@ -35,7 +35,10 @@ import {stringifyPosition} from 'unist-util-stringify-position' import {visit} from 'unist-util-visit' const remarkLintNoDuplicateDefinitions = lintRule( - 'remark-lint:no-duplicate-definitions', + { + origin: 'remark-lint:no-duplicate-definitions', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-duplicate-definitions#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { /** @type {Record} */ diff --git a/packages/remark-lint-no-duplicate-headings-in-section/index.js b/packages/remark-lint-no-duplicate-headings-in-section/index.js index 46b0da3d..d1b481ce 100644 --- a/packages/remark-lint-no-duplicate-headings-in-section/index.js +++ b/packages/remark-lint-no-duplicate-headings-in-section/index.js @@ -72,7 +72,10 @@ import {stringifyPosition} from 'unist-util-stringify-position' import {toString} from 'mdast-util-to-string' const remarkLintNoDuplicateHeadingsInSection = lintRule( - 'remark-lint:no-duplicate-headings-in-section', + { + origin: 'remark-lint:no-duplicate-headings-in-section', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-duplicate-headings-in-section#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { /** @type {Array.>} */ diff --git a/packages/remark-lint-no-duplicate-headings/index.js b/packages/remark-lint-no-duplicate-headings/index.js index c02fbd25..e246a148 100644 --- a/packages/remark-lint-no-duplicate-headings/index.js +++ b/packages/remark-lint-no-duplicate-headings/index.js @@ -41,7 +41,10 @@ import {stringifyPosition} from 'unist-util-stringify-position' import {toString} from 'mdast-util-to-string' const remarkLintNoDuplicateHeadings = lintRule( - 'remark-lint:no-duplicate-headings', + { + origin: 'remark-lint:no-duplicate-headings', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-duplicate-headings#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { /** @type {Record} */ diff --git a/packages/remark-lint-no-emphasis-as-heading/index.js b/packages/remark-lint-no-emphasis-as-heading/index.js index 92756a23..a8f36473 100644 --- a/packages/remark-lint-no-emphasis-as-heading/index.js +++ b/packages/remark-lint-no-emphasis-as-heading/index.js @@ -41,7 +41,10 @@ import {visit} from 'unist-util-visit' import {generated} from 'unist-util-generated' const remarkLintNoEmphasisAsHeading = lintRule( - 'remark-lint:no-emphasis-as-heading', + { + origin: 'remark-lint:no-emphasis-as-heading', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-emphasis-as-heading#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'paragraph', (node, index, parent) => { diff --git a/packages/remark-lint-no-empty-url/index.js b/packages/remark-lint-no-empty-url/index.js index 59d1ffce..b3ca3119 100644 --- a/packages/remark-lint-no-empty-url/index.js +++ b/packages/remark-lint-no-empty-url/index.js @@ -36,7 +36,10 @@ import {visit} from 'unist-util-visit' import {generated} from 'unist-util-generated' const remarkLintNoEmptyUrl = lintRule( - 'remark-lint:no-empty-url', + { + origin: 'remark-lint:no-empty-url', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-empty-url#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, (node) => { diff --git a/packages/remark-lint-no-file-name-articles/index.js b/packages/remark-lint-no-file-name-articles/index.js index c53b692f..0eea8b0a 100644 --- a/packages/remark-lint-no-file-name-articles/index.js +++ b/packages/remark-lint-no-file-name-articles/index.js @@ -37,7 +37,10 @@ import {lintRule} from 'unified-lint-rule' const remarkLintNoFileNameArticles = lintRule( - 'remark-lint:no-file-name-articles', + { + origin: 'remark-lint:no-file-name-articles', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-file-name-articles#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file) => { const match = file.stem && file.stem.match(/^(the|teh|an?)\b/i) diff --git a/packages/remark-lint-no-file-name-consecutive-dashes/index.js b/packages/remark-lint-no-file-name-consecutive-dashes/index.js index 8bf292fb..7756a500 100644 --- a/packages/remark-lint-no-file-name-consecutive-dashes/index.js +++ b/packages/remark-lint-no-file-name-consecutive-dashes/index.js @@ -22,7 +22,10 @@ import {lintRule} from 'unified-lint-rule' const remarkLintNoFileNameConsecutiveDashes = lintRule( - 'remark-lint:no-file-name-consecutive-dashes', + { + origin: 'remark-lint:no-file-name-consecutive-dashes', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-file-name-consecutive-dashes#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file) => { if (file.stem && /-{2,}/.test(file.stem)) { diff --git a/packages/remark-lint-no-file-name-irregular-characters/index.js b/packages/remark-lint-no-file-name-irregular-characters/index.js index 8e697a78..f7d34f96 100644 --- a/packages/remark-lint-no-file-name-irregular-characters/index.js +++ b/packages/remark-lint-no-file-name-irregular-characters/index.js @@ -48,7 +48,10 @@ import {lintRule} from 'unified-lint-rule' const expression = /[^\\.a-zA-Z\d-]/ const remarkLintNoFileNameIrregularCharacters = lintRule( - 'remark-lint:no-file-name-irregular-characters', + { + origin: 'remark-lint:no-file-name-irregular-characters', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-file-name-irregular-characters#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file, option) => { let preferred = option || expression diff --git a/packages/remark-lint-no-file-name-mixed-case/index.js b/packages/remark-lint-no-file-name-mixed-case/index.js index ab687561..4b589015 100644 --- a/packages/remark-lint-no-file-name-mixed-case/index.js +++ b/packages/remark-lint-no-file-name-mixed-case/index.js @@ -25,7 +25,10 @@ import {lintRule} from 'unified-lint-rule' const remarkLintNofileNameMixedCase = lintRule( - 'remark-lint:no-file-name-mixed-case', + { + origin: 'remark-lint:no-file-name-mixed-case', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-file-name-mixed-case#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file) => { const name = file.stem diff --git a/packages/remark-lint-no-file-name-outer-dashes/index.js b/packages/remark-lint-no-file-name-outer-dashes/index.js index 9558b1b5..a6de9de7 100644 --- a/packages/remark-lint-no-file-name-outer-dashes/index.js +++ b/packages/remark-lint-no-file-name-outer-dashes/index.js @@ -27,7 +27,10 @@ import {lintRule} from 'unified-lint-rule' const remarkLintNofileNameOuterDashes = lintRule( - 'remark-lint:no-file-name-outer-dashes', + { + origin: 'remark-lint:no-file-name-outer-dashes', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-file-name-outer-dashes#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file) => { if (file.stem && /^-|-$/.test(file.stem)) { diff --git a/packages/remark-lint-no-heading-content-indent/index.js b/packages/remark-lint-no-heading-content-indent/index.js index 362f79c4..361209f1 100644 --- a/packages/remark-lint-no-heading-content-indent/index.js +++ b/packages/remark-lint-no-heading-content-indent/index.js @@ -62,7 +62,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintNoHeadingContentIndent = lintRule( - 'remark-lint:no-heading-content-indent', + { + origin: 'remark-lint:no-heading-content-indent', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-heading-content-indent#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'heading', (node) => { diff --git a/packages/remark-lint-no-heading-indent/index.js b/packages/remark-lint-no-heading-indent/index.js index 0a106b94..1a5b9ebd 100644 --- a/packages/remark-lint-no-heading-indent/index.js +++ b/packages/remark-lint-no-heading-indent/index.js @@ -60,7 +60,10 @@ import {pointStart} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintNoHeadingIndent = lintRule( - 'remark-lint:no-heading-indent', + { + origin: 'remark-lint:no-heading-indent', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-heading-indent#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'heading', (node, _, parent) => { diff --git a/packages/remark-lint-no-heading-like-paragraph/index.js b/packages/remark-lint-no-heading-like-paragraph/index.js index 8f4b917e..067e66f7 100644 --- a/packages/remark-lint-no-heading-like-paragraph/index.js +++ b/packages/remark-lint-no-heading-like-paragraph/index.js @@ -37,7 +37,10 @@ import {generated} from 'unist-util-generated' const fence = '#######' const remarkLintNoHeadingLikeParagraph = lintRule( - 'remark-lint:no-heading-like-paragraph', + { + origin: 'remark-lint:no-heading-like-paragraph', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-heading-like-paragraph#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'paragraph', (node) => { diff --git a/packages/remark-lint-no-heading-punctuation/index.js b/packages/remark-lint-no-heading-punctuation/index.js index aa012f30..9232fe4d 100644 --- a/packages/remark-lint-no-heading-punctuation/index.js +++ b/packages/remark-lint-no-heading-punctuation/index.js @@ -55,7 +55,10 @@ import {generated} from 'unist-util-generated' import {toString} from 'mdast-util-to-string' const remarkLintNoHeadingPunctuation = lintRule( - 'remark-lint:no-heading-punctuation', + { + origin: 'remark-lint:no-heading-punctuation', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-heading-punctuation#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = '\\.,;:!?') => { const expression = new RegExp('[' + option + ']') diff --git a/packages/remark-lint-no-html/index.js b/packages/remark-lint-no-html/index.js index 6af0dec8..e8364b55 100644 --- a/packages/remark-lint-no-html/index.js +++ b/packages/remark-lint-no-html/index.js @@ -36,7 +36,10 @@ import {visit} from 'unist-util-visit' import {generated} from 'unist-util-generated' const remarkLintNoHtml = lintRule( - 'remark-lint:no-html', + { + origin: 'remark-lint:no-html', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-html#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'html', (node) => { diff --git a/packages/remark-lint-no-inline-padding/index.js b/packages/remark-lint-no-inline-padding/index.js index 174ef2ac..9a29351e 100644 --- a/packages/remark-lint-no-inline-padding/index.js +++ b/packages/remark-lint-no-inline-padding/index.js @@ -35,7 +35,10 @@ import {generated} from 'unist-util-generated' import {toString} from 'mdast-util-to-string' const remarkLintNoInlinePadding = lintRule( - 'remark-lint:no-inline-padding', + { + origin: 'remark-lint:no-inline-padding', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-inline-padding#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { // Note: `emphasis`, `strong`, `delete` (GFM) can’t have padding anymore diff --git a/packages/remark-lint-no-literal-urls/index.js b/packages/remark-lint-no-literal-urls/index.js index 440a8d9b..40efb7dd 100644 --- a/packages/remark-lint-no-literal-urls/index.js +++ b/packages/remark-lint-no-literal-urls/index.js @@ -45,7 +45,10 @@ import {generated} from 'unist-util-generated' import {toString} from 'mdast-util-to-string' const remarkLintNoLiteralUrls = lintRule( - 'remark-lint:no-literal-urls', + { + origin: 'remark-lint:no-literal-urls', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-literal-urls#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'link', (node) => { diff --git a/packages/remark-lint-no-missing-blank-lines/index.js b/packages/remark-lint-no-missing-blank-lines/index.js index e27cfb97..4634dbd5 100644 --- a/packages/remark-lint-no-missing-blank-lines/index.js +++ b/packages/remark-lint-no-missing-blank-lines/index.js @@ -93,7 +93,10 @@ const types = new Set([ ]) const remarkLintNoMissingBlankLines = lintRule( - 'remark-lint:no-missing-blank-lines', + { + origin: 'remark-lint:no-missing-blank-lines', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-missing-blank-lines#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = {}) => { const {exceptTightLists} = option diff --git a/packages/remark-lint-no-multiple-toplevel-headings/index.js b/packages/remark-lint-no-multiple-toplevel-headings/index.js index 7c16856c..65e805cf 100644 --- a/packages/remark-lint-no-multiple-toplevel-headings/index.js +++ b/packages/remark-lint-no-multiple-toplevel-headings/index.js @@ -41,7 +41,10 @@ import {generated} from 'unist-util-generated' import {stringifyPosition} from 'unist-util-stringify-position' const remarkLintNoMultipleToplevelHeadings = lintRule( - 'remark-lint:no-multiple-toplevel-headings', + { + origin: 'remark-lint:no-multiple-toplevel-headings', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-multiple-toplevel-headings#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 1) => { /** @type {string|undefined} */ diff --git a/packages/remark-lint-no-paragraph-content-indent/index.js b/packages/remark-lint-no-paragraph-content-indent/index.js index 90443e5d..3ae28e54 100644 --- a/packages/remark-lint-no-paragraph-content-indent/index.js +++ b/packages/remark-lint-no-paragraph-content-indent/index.js @@ -84,7 +84,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {location} from 'vfile-location' const remarkLintNoParagraphContentIndent = lintRule( - 'remark-lint:no-paragraph-content-indent', + { + origin: 'remark-lint:no-paragraph-content-indent', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-paragraph-content-indent#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-no-reference-like-url/index.js b/packages/remark-lint-no-reference-like-url/index.js index 2fed8843..9fa8d5ba 100644 --- a/packages/remark-lint-no-reference-like-url/index.js +++ b/packages/remark-lint-no-reference-like-url/index.js @@ -35,7 +35,10 @@ import {generated} from 'unist-util-generated' import {visit} from 'unist-util-visit' const remarkLintNoReferenceLikeUrl = lintRule( - 'remark-lint:no-reference-like-url', + { + origin: 'remark-lint:no-reference-like-url', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-reference-like-url#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { /** @type {string[]} */ diff --git a/packages/remark-lint-no-shell-dollars/index.js b/packages/remark-lint-no-shell-dollars/index.js index df6bd1db..bd73cf72 100644 --- a/packages/remark-lint-no-shell-dollars/index.js +++ b/packages/remark-lint-no-shell-dollars/index.js @@ -81,7 +81,10 @@ const flags = new Set([ ]) const remarkLintNoShellDollars = lintRule( - 'remark-lint:no-shell-dollars', + { + origin: 'remark-lint:no-shell-dollars', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-shell-dollars#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'code', (node) => { diff --git a/packages/remark-lint-no-shortcut-reference-image/index.js b/packages/remark-lint-no-shortcut-reference-image/index.js index 696d1c22..b9633a67 100644 --- a/packages/remark-lint-no-shortcut-reference-image/index.js +++ b/packages/remark-lint-no-shortcut-reference-image/index.js @@ -41,7 +41,10 @@ import {visit} from 'unist-util-visit' import {generated} from 'unist-util-generated' const remarkLintNoShortcutReferenceImage = lintRule( - 'remark-lint:no-shortcut-reference-image', + { + origin: 'remark-lint:no-shortcut-reference-image', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-shortcut-reference-image#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'imageReference', (node) => { diff --git a/packages/remark-lint-no-shortcut-reference-link/index.js b/packages/remark-lint-no-shortcut-reference-link/index.js index eadef1d3..f9d58c8d 100644 --- a/packages/remark-lint-no-shortcut-reference-link/index.js +++ b/packages/remark-lint-no-shortcut-reference-link/index.js @@ -41,7 +41,10 @@ import {visit} from 'unist-util-visit' import {generated} from 'unist-util-generated' const remarkLintNoShortcutReferenceLink = lintRule( - 'remark-lint:no-shortcut-reference-link', + { + origin: 'remark-lint:no-shortcut-reference-link', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-shortcut-reference-link#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'linkReference', (node) => { diff --git a/packages/remark-lint-no-table-indentation/index.js b/packages/remark-lint-no-table-indentation/index.js index 28fce7d1..e417eb34 100644 --- a/packages/remark-lint-no-table-indentation/index.js +++ b/packages/remark-lint-no-table-indentation/index.js @@ -74,7 +74,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {location} from 'vfile-location' const remarkLintNoTableIndentation = lintRule( - 'remark-lint:no-table-indentation', + { + origin: 'remark-lint:no-table-indentation', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-table-indentation#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-no-tabs/index.js b/packages/remark-lint-no-tabs/index.js index 6af57d25..e87f7e8d 100644 --- a/packages/remark-lint-no-tabs/index.js +++ b/packages/remark-lint-no-tabs/index.js @@ -61,7 +61,10 @@ import {lintRule} from 'unified-lint-rule' import {location} from 'vfile-location' const remarkLintNoTabs = lintRule( - 'remark-lint:no-tabs', + { + origin: 'remark-lint:no-tabs', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-tabs#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (_, file) => { const value = String(file) diff --git a/packages/remark-lint-no-undefined-references/index.js b/packages/remark-lint-no-undefined-references/index.js index d95fdff6..b037478f 100644 --- a/packages/remark-lint-no-undefined-references/index.js +++ b/packages/remark-lint-no-undefined-references/index.js @@ -85,7 +85,10 @@ import {pointStart, pointEnd} from 'unist-util-position' import {visit, SKIP, EXIT} from 'unist-util-visit' const remarkLintNoUndefinedReferences = lintRule( - 'remark-lint:no-undefined-references', + { + origin: 'remark-lint:no-undefined-references', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-undefined-references#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = {}) => { const contents = String(file) diff --git a/packages/remark-lint-no-unneeded-full-reference-image/index.js b/packages/remark-lint-no-unneeded-full-reference-image/index.js index 74488b1f..832105c9 100644 --- a/packages/remark-lint-no-unneeded-full-reference-image/index.js +++ b/packages/remark-lint-no-unneeded-full-reference-image/index.js @@ -51,7 +51,10 @@ import {generated} from 'unist-util-generated' import {normalizeIdentifier} from 'micromark-util-normalize-identifier' const remarkLintNoUnneededFullReferenceImage = lintRule( - 'remark-lint:no-unneeded-full-reference-image', + { + origin: 'remark-lint:no-unneeded-full-reference-image', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-unneeded-full-reference-image#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'imageReference', (node) => { diff --git a/packages/remark-lint-no-unneeded-full-reference-link/index.js b/packages/remark-lint-no-unneeded-full-reference-link/index.js index 2320cf44..6743e767 100644 --- a/packages/remark-lint-no-unneeded-full-reference-link/index.js +++ b/packages/remark-lint-no-unneeded-full-reference-link/index.js @@ -56,7 +56,10 @@ import {generated} from 'unist-util-generated' import {normalizeIdentifier} from 'micromark-util-normalize-identifier' const remarkLintNoUnneededFullReferenceLink = lintRule( - 'remark-lint:no-unneeded-full-reference-link', + { + origin: 'remark-lint:no-unneeded-full-reference-link', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-unneeded-full-reference-link#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { visit(tree, 'linkReference', (node) => { diff --git a/packages/remark-lint-no-unused-definitions/index.js b/packages/remark-lint-no-unused-definitions/index.js index 15a4178b..8c3133a4 100644 --- a/packages/remark-lint-no-unused-definitions/index.js +++ b/packages/remark-lint-no-unused-definitions/index.js @@ -36,7 +36,10 @@ import {visit} from 'unist-util-visit' const own = {}.hasOwnProperty const remarkLintNoUnusedDefinitions = lintRule( - 'remark-lint:no-unused-definitions', + { + origin: 'remark-lint:no-unused-definitions', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-unused-definitions#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { /** @type {Record} */ diff --git a/packages/remark-lint-ordered-list-marker-style/index.js b/packages/remark-lint-ordered-list-marker-style/index.js index a212f1e1..b026f554 100644 --- a/packages/remark-lint-ordered-list-marker-style/index.js +++ b/packages/remark-lint-ordered-list-marker-style/index.js @@ -67,7 +67,10 @@ import {pointStart} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintOrderedListMarkerStyle = lintRule( - 'remark-lint:ordered-list-marker-style', + { + origin: 'remark-lint:ordered-list-marker-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-ordered-list-marker-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-ordered-list-marker-value/index.js b/packages/remark-lint-ordered-list-marker-value/index.js index 999e5a4f..e83ea34a 100644 --- a/packages/remark-lint-ordered-list-marker-value/index.js +++ b/packages/remark-lint-ordered-list-marker-value/index.js @@ -148,7 +148,10 @@ import {pointStart} from 'unist-util-position' import {generated} from 'unist-util-generated' const remarkLintOrderedListMarkerValue = lintRule( - 'remark-lint:ordered-list-marker-value', + { + origin: 'remark-lint:ordered-list-marker-value', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-ordered-list-marker-value#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'ordered') => { const value = String(file) diff --git a/packages/remark-lint-rule-style/index.js b/packages/remark-lint-rule-style/index.js index e7894a6c..1e185982 100644 --- a/packages/remark-lint-rule-style/index.js +++ b/packages/remark-lint-rule-style/index.js @@ -70,7 +70,10 @@ import {visit} from 'unist-util-visit' import {pointStart, pointEnd} from 'unist-util-position' const remarkLintRuleStyle = lintRule( - 'remark-lint:rule-style', + { + origin: 'remark-lint:rule-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-rule-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-strikethrough-marker/index.js b/packages/remark-lint-strikethrough-marker/index.js index 35d8093e..b744b056 100644 --- a/packages/remark-lint-strikethrough-marker/index.js +++ b/packages/remark-lint-strikethrough-marker/index.js @@ -74,7 +74,10 @@ import {visit} from 'unist-util-visit' import {pointStart} from 'unist-util-position' const remarkLintStrikethroughMarker = lintRule( - 'remark-lint:strikethrough-marker', + { + origin: 'remark-lint:strikethrough-marker', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-strikethrough-marker#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-strong-marker/index.js b/packages/remark-lint-strong-marker/index.js index 1a574e38..18b000ea 100644 --- a/packages/remark-lint-strong-marker/index.js +++ b/packages/remark-lint-strong-marker/index.js @@ -69,7 +69,10 @@ import {visit} from 'unist-util-visit' import {pointStart} from 'unist-util-position' const remarkLintStrongMarker = lintRule( - 'remark-lint:strong-marker', + { + origin: 'remark-lint:strong-marker', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-strong-marker#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/remark-lint-table-cell-padding/index.js b/packages/remark-lint-table-cell-padding/index.js index 871939fa..02e625ab 100644 --- a/packages/remark-lint-table-cell-padding/index.js +++ b/packages/remark-lint-table-cell-padding/index.js @@ -189,7 +189,10 @@ import {visit, SKIP} from 'unist-util-visit' import {pointStart, pointEnd} from 'unist-util-position' const remarkLintTableCellPadding = lintRule( - 'remark-lint:table-cell-padding', + { + origin: 'remark-lint:table-cell-padding', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-table-cell-padding#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { if ( diff --git a/packages/remark-lint-table-pipe-alignment/index.js b/packages/remark-lint-table-pipe-alignment/index.js index 73dee33c..b61d4f75 100644 --- a/packages/remark-lint-table-pipe-alignment/index.js +++ b/packages/remark-lint-table-pipe-alignment/index.js @@ -57,7 +57,10 @@ import {visit} from 'unist-util-visit' import {pointStart, pointEnd} from 'unist-util-position' const remarkLintTablePipeAlignment = lintRule( - 'remark-lint:table-pipe-alignment', + { + origin: 'remark-lint:table-pipe-alignment', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-table-pipe-alignment#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-table-pipes/index.js b/packages/remark-lint-table-pipes/index.js index dc6011ef..cb11121c 100644 --- a/packages/remark-lint-table-pipes/index.js +++ b/packages/remark-lint-table-pipes/index.js @@ -49,7 +49,10 @@ const reasonStart = 'Missing initial pipe in table fence' const reasonEnd = 'Missing final pipe in table fence' const remarkLintTablePipes = lintRule( - 'remark-lint:table-pipes', + { + origin: 'remark-lint:table-pipes', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-table-pipes#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file) => { const value = String(file) diff --git a/packages/remark-lint-unordered-list-marker-style/index.js b/packages/remark-lint-unordered-list-marker-style/index.js index 710a5ae1..f94cfe29 100644 --- a/packages/remark-lint-unordered-list-marker-style/index.js +++ b/packages/remark-lint-unordered-list-marker-style/index.js @@ -87,7 +87,10 @@ import {generated} from 'unist-util-generated' const markers = new Set(['-', '*', '+']) const remarkLintUnorderedListMarkerStyle = lintRule( - 'remark-lint:unordered-list-marker-style', + { + origin: 'remark-lint:unordered-list-marker-style', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-unordered-list-marker-style#readme' + }, /** @type {import('unified-lint-rule').Rule} */ (tree, file, option = 'consistent') => { const value = String(file) diff --git a/packages/unified-lint-rule/index.d.ts b/packages/unified-lint-rule/index.d.ts index 450d01cf..35ddebbf 100644 --- a/packages/unified-lint-rule/index.d.ts +++ b/packages/unified-lint-rule/index.d.ts @@ -3,8 +3,20 @@ import type {VFile} from 'vfile' import type {Plugin} from 'unified' import type {Label, Severity} from './lib/index.js' +export interface RuleMeta { + /** + * Name of the lint rule + */ + origin: string + + /** + * Link to documentation + */ + url?: string | undefined +} + export function lintRule( - name: string, + name: string | RuleMeta, rule: Rule ): Plugin< | void[] diff --git a/packages/unified-lint-rule/lib/index.js b/packages/unified-lint-rule/lib/index.js index e06c26fb..c9fc11cc 100644 --- a/packages/unified-lint-rule/lib/index.js +++ b/packages/unified-lint-rule/lib/index.js @@ -6,6 +6,10 @@ * @typedef {'warn'|'on'|'off'|'error'} Label * @typedef {[Severity, ...unknown[]]} SeverityTuple * + * @typedef RuleMeta + * @property {string} origin name of the lint rule + * @property {string} [url] link to documentation + * * @callback Rule * @param {Node} tree * @param {VFile} file @@ -18,10 +22,12 @@ import {wrap} from 'trough' const primitives = new Set(['string', 'number', 'boolean']) /** - * @param {string} id + * @param {string|RuleMeta} meta * @param {Rule} rule */ -export function lintRule(id, rule) { +export function lintRule(meta, rule) { + const id = typeof meta === 'string' ? meta : meta.origin + const url = typeof meta === 'string' ? undefined : meta.url const parts = id.split(':') // Possibly useful if externalised later. /* c8 ignore next */ @@ -57,7 +63,7 @@ export function lintRule(id, rule) { } while (++index < messages.length) { - Object.assign(messages[index], {ruleId, source, fatal}) + Object.assign(messages[index], {ruleId, source, fatal, url}) } next() diff --git a/script/util/rule.js b/script/util/rule.js index 7352ee2d..9c961bfc 100755 --- a/script/util/rule.js +++ b/script/util/rule.js @@ -81,10 +81,11 @@ export function rule(filePath) { try { info = JSON.parse(lines[0]) lines.splice(0, 1) - /* c8 ignore next 5 */ + /* c8 ignore next 6 */ } catch (error) { + const exception = /** @type Error */ (error) throw new Error( - 'Could not parse example in ' + ruleId + ':\n' + error.stack + 'Could not parse example in ' + ruleId + ':\n' + exception.stack ) } diff --git a/test.js b/test.js index 5a9e796f..454cb2ec 100644 --- a/test.js +++ b/test.js @@ -14,6 +14,7 @@ import {toVFile} from 'to-vfile' import {removePosition} from 'unist-util-remove-position' import {remark} from 'remark' import remarkGfm from 'remark-gfm' +import {lintRule} from 'unified-lint-rule' import {rules} from './script/util/rules.js' import {rule} from './script/util/rule.js' import {characters} from './script/characters.js' @@ -94,6 +95,7 @@ test('core', async (t) => { column: null, source: 'remark-lint', ruleId: 'final-newline', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-final-newline#readme', position: { start: {line: null, column: null}, end: {line: null, column: null} @@ -143,6 +145,7 @@ test('core', async (t) => { column: null, source: 'remark-lint', ruleId: 'final-newline', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-final-newline#readme', position: { start: {line: null, column: null}, end: {line: null, column: null} @@ -166,6 +169,7 @@ test('core', async (t) => { column: null, source: 'remark-lint', ruleId: 'final-newline', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-final-newline#readme', position: { start: {line: null, column: null}, end: {line: null, column: null} @@ -189,6 +193,7 @@ test('core', async (t) => { column: null, source: 'remark-lint', ruleId: 'final-newline', + url: 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-final-newline#readme', position: { start: {line: null, column: null}, end: {line: null, column: null} @@ -222,6 +227,36 @@ test('core', async (t) => { /^Error: Incorrect severity `-1` for `final-newline`, expected 0, 1, or 2$/, 'should fail on incorrect severities (too low)' ) + + t.deepEqual( + ( + await remark() + .use( + lintRule('test:rule', (tree, file) => { + file.message('Test message') + }), + ['warn'] + ) + .process('.') + ).messages.map((d) => JSON.parse(JSON.stringify(d))), + [ + { + name: '1:1', + message: 'Test message', + reason: 'Test message', + line: null, + column: null, + source: 'test', + ruleId: 'rule', + position: { + start: {line: null, column: null}, + end: {line: null, column: null} + }, + fatal: false + } + ], + 'should support string meta' + ) }) test('rules', async (t) => { @@ -315,8 +350,9 @@ function assertFixture(t, rule, info, fixture, basename, settings) { try { proc.runSync(proc.parse(file), file) } catch (error) { - if (error && error.source !== 'remark-lint') { - throw error + const exception = /** @type VFileMessage */ (error) + if (exception && exception.source !== 'remark-lint') { + throw exception } } @@ -333,6 +369,21 @@ function assertFixture(t, rule, info, fixture, basename, settings) { message ) } + + const expectedUrl = + 'https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-' + + ruleId + + '#readme' + if (message.url !== expectedUrl) { + throw new Error( + 'Expected `' + + expectedUrl + + '`, not `' + + message.url + + '` as `ruleId` for ' + + message + ) + } } t.deepEqual(normalize(file.messages), expected, 'should equal with position')