From a77fd1103687cdedc33377505fe900a69f4b8108 Mon Sep 17 00:00:00 2001 From: Bryan Mishkin <698306+bmish@users.noreply.github.com> Date: Mon, 14 Jun 2021 14:29:45 -0700 Subject: [PATCH 1/2] Chore: adopt `eslint-plugin/require-meta-docs-url` lint rule internally --- .eslintrc.js | 10 +++++++++- lib/index.js | 18 ++---------------- lib/rules/consistent-output.js | 1 + lib/rules/fixer-return.js | 1 + lib/rules/meta-property-ordering.js | 1 + lib/rules/no-deprecated-context-methods.js | 1 + lib/rules/no-deprecated-report-api.js | 1 + lib/rules/no-identical-tests.js | 1 + lib/rules/no-missing-placeholders.js | 1 + lib/rules/no-only-tests.js | 1 + lib/rules/no-unused-placeholders.js | 1 + lib/rules/no-useless-token-range.js | 1 + lib/rules/prefer-message-ids.js | 1 + lib/rules/prefer-object-rule.js | 1 + lib/rules/prefer-output-null.js | 1 + lib/rules/prefer-placeholders.js | 1 + lib/rules/prefer-replace-text.js | 1 + lib/rules/report-message-format.js | 1 + lib/rules/require-meta-docs-description.js | 1 + lib/rules/require-meta-docs-url.js | 1 + lib/rules/require-meta-fixable.js | 1 + lib/rules/require-meta-has-suggestions.js | 1 + lib/rules/require-meta-schema.js | 1 + lib/rules/require-meta-type.js | 1 + lib/rules/test-case-property-ordering.js | 1 + lib/rules/test-case-shorthand-strings.js | 1 + package.json | 3 ++- tests/lib/index.js | 2 +- 28 files changed, 38 insertions(+), 19 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index 352444a0..f1cd5674 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,5 +1,7 @@ 'use strict'; +const version = require('./package.json').version; + module.exports = { root: true, plugins: ['node'], @@ -35,7 +37,13 @@ module.exports = { extends: ['plugin:self/all'], rules: { 'self/report-message-format': ['error', '^[^a-z].*.$'], - 'self/require-meta-docs-url': 'off', + 'self/require-meta-docs-url': [ + 'error', + { + pattern: + `https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v${version}/docs/rules/{{name}}.md`, + }, + ], }, }, { diff --git a/lib/index.js b/lib/index.js index 32e427a6..4ee38c96 100644 --- a/lib/index.js +++ b/lib/index.js @@ -13,7 +13,6 @@ const fs = require('fs'); const path = require('path'); const packageMetadata = require('../package'); const PLUGIN_NAME = packageMetadata.name.replace(/^eslint-plugin-/, ''); -const PLUGIN_VERSION = packageMetadata.version; const configFilters = { all: () => true, @@ -28,26 +27,13 @@ const configFilters = { // Plugin Definition // ------------------------------------------------------------------------------ -/** - * Loads a given rule from the filesystem and generates its documentation URL - * @param {string} ruleName The name of the rule - * @returns {Rule} The ESLint rule to export - */ -function loadRule (ruleName) { - const rule = require(path.join(__dirname, 'rules', ruleName)); - - rule.meta.docs.url = - `https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v${PLUGIN_VERSION}/docs/rules/${ruleName}.md`; - - return rule; -} - // import all rules in lib/rules const allRules = Object.fromEntries(fs .readdirSync(`${__dirname}/rules`) .filter(fileName => fileName.endsWith('.js') && /^[^._]/.test(fileName)) .map(fileName => fileName.replace(/\.js$/, '')) - .map(ruleName => [ruleName, loadRule(ruleName)])); + .map(ruleName => [ruleName, require(path.join(__dirname, 'rules', ruleName))]) +); module.exports.rules = allRules; diff --git a/lib/rules/consistent-output.js b/lib/rules/consistent-output.js index bdb0b69c..75603beb 100644 --- a/lib/rules/consistent-output.js +++ b/lib/rules/consistent-output.js @@ -18,6 +18,7 @@ module.exports = { description: 'enforce consistent use of `output` assertions in rule tests', category: 'Tests', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/consistent-output.md', }, fixable: null, // or "code" or "whitespace" schema: [ diff --git a/lib/rules/fixer-return.js b/lib/rules/fixer-return.js index 787dfecb..ad2ebc3e 100644 --- a/lib/rules/fixer-return.js +++ b/lib/rules/fixer-return.js @@ -23,6 +23,7 @@ module.exports = { description: 'require fixer functions to return a fix', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/fixer-return.md', }, fixable: null, schema: [], diff --git a/lib/rules/meta-property-ordering.js b/lib/rules/meta-property-ordering.js index 40a6791a..7ba46b34 100644 --- a/lib/rules/meta-property-ordering.js +++ b/lib/rules/meta-property-ordering.js @@ -17,6 +17,7 @@ module.exports = { description: 'enforce the order of meta properties', category: 'Rules', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/meta-property-ordering.md', }, fixable: 'code', schema: [{ diff --git a/lib/rules/no-deprecated-context-methods.js b/lib/rules/no-deprecated-context-methods.js index 58fa3e4f..06565f41 100644 --- a/lib/rules/no-deprecated-context-methods.js +++ b/lib/rules/no-deprecated-context-methods.js @@ -41,6 +41,7 @@ module.exports = { description: 'disallow usage of deprecated methods on rule context objects', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-deprecated-context-methods.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/no-deprecated-report-api.js b/lib/rules/no-deprecated-report-api.js index d20fbb3c..67dba0b6 100644 --- a/lib/rules/no-deprecated-report-api.js +++ b/lib/rules/no-deprecated-report-api.js @@ -18,6 +18,7 @@ module.exports = { description: 'disallow the version of `context.report()` with multiple arguments', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-deprecated-report-api.md', }, fixable: 'code', // or "code" or "whitespace" schema: [], diff --git a/lib/rules/no-identical-tests.js b/lib/rules/no-identical-tests.js index e32f7188..4f19969a 100644 --- a/lib/rules/no-identical-tests.js +++ b/lib/rules/no-identical-tests.js @@ -18,6 +18,7 @@ module.exports = { description: 'disallow identical tests', category: 'Tests', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-identical-tests.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/no-missing-placeholders.js b/lib/rules/no-missing-placeholders.js index 1f66c2bb..f3769e0a 100644 --- a/lib/rules/no-missing-placeholders.js +++ b/lib/rules/no-missing-placeholders.js @@ -19,6 +19,7 @@ module.exports = { description: 'disallow missing placeholders in rule report messages', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-missing-placeholders.md', }, fixable: null, schema: [], diff --git a/lib/rules/no-only-tests.js b/lib/rules/no-only-tests.js index 56ca29a2..591107b4 100644 --- a/lib/rules/no-only-tests.js +++ b/lib/rules/no-only-tests.js @@ -10,6 +10,7 @@ module.exports = { description: 'disallow the test case property `only`', category: 'Tests', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-only-tests.md', }, hasSuggestions: true, schema: [], diff --git a/lib/rules/no-unused-placeholders.js b/lib/rules/no-unused-placeholders.js index 9cfc158d..6063a768 100644 --- a/lib/rules/no-unused-placeholders.js +++ b/lib/rules/no-unused-placeholders.js @@ -19,6 +19,7 @@ module.exports = { description: 'disallow unused placeholders in rule report messages', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-unused-placeholders.md', }, fixable: null, schema: [], diff --git a/lib/rules/no-useless-token-range.js b/lib/rules/no-useless-token-range.js index 0a8a35df..ce49ad01 100644 --- a/lib/rules/no-useless-token-range.js +++ b/lib/rules/no-useless-token-range.js @@ -18,6 +18,7 @@ module.exports = { description: 'disallow unnecessary calls to `sourceCode.getFirstToken()` and `sourceCode.getLastToken()`', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-useless-token-range.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/prefer-message-ids.js b/lib/rules/prefer-message-ids.js index e6a0dc50..77e810c0 100644 --- a/lib/rules/prefer-message-ids.js +++ b/lib/rules/prefer-message-ids.js @@ -14,6 +14,7 @@ module.exports = { description: 'require using `messageId` instead of `message` to report rule violations', category: 'Rules', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-message-ids.md', }, fixable: null, schema: [], diff --git a/lib/rules/prefer-object-rule.js b/lib/rules/prefer-object-rule.js index 445e1a19..5f9515f8 100644 --- a/lib/rules/prefer-object-rule.js +++ b/lib/rules/prefer-object-rule.js @@ -17,6 +17,7 @@ module.exports = { description: 'disallow rule exports where the export is a function', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-object-rule.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/prefer-output-null.js b/lib/rules/prefer-output-null.js index f622f00d..947d772b 100644 --- a/lib/rules/prefer-output-null.js +++ b/lib/rules/prefer-output-null.js @@ -18,6 +18,7 @@ module.exports = { description: 'disallow invalid RuleTester test cases where the `output` matches the `code`', category: 'Tests', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-output-null.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/prefer-placeholders.js b/lib/rules/prefer-placeholders.js index 666d23b1..c7f28bdf 100644 --- a/lib/rules/prefer-placeholders.js +++ b/lib/rules/prefer-placeholders.js @@ -19,6 +19,7 @@ module.exports = { description: 'require using placeholders for dynamic report messages', category: 'Rules', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-placeholders.md', }, fixable: null, schema: [], diff --git a/lib/rules/prefer-replace-text.js b/lib/rules/prefer-replace-text.js index a39419d0..82cf9a0d 100644 --- a/lib/rules/prefer-replace-text.js +++ b/lib/rules/prefer-replace-text.js @@ -18,6 +18,7 @@ module.exports = { description: 'require using `replaceText()` instead of `replaceTextRange()`', category: 'Rules', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-replace-text.md', }, fixable: null, schema: [], diff --git a/lib/rules/report-message-format.js b/lib/rules/report-message-format.js index c8deecfb..81b0b5fa 100644 --- a/lib/rules/report-message-format.js +++ b/lib/rules/report-message-format.js @@ -19,6 +19,7 @@ module.exports = { description: 'enforce a consistent format for rule report messages', category: 'Rules', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/report-message-format.md', }, fixable: null, schema: [ diff --git a/lib/rules/require-meta-docs-description.js b/lib/rules/require-meta-docs-description.js index 808b3627..aca4e54c 100644 --- a/lib/rules/require-meta-docs-description.js +++ b/lib/rules/require-meta-docs-description.js @@ -16,6 +16,7 @@ module.exports = { description: 'require rules to implement a `meta.docs.description` property with the correct format', category: 'Rules', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-docs-description.md', }, fixable: null, schema: [ diff --git a/lib/rules/require-meta-docs-url.js b/lib/rules/require-meta-docs-url.js index ed7d67a7..cf457e30 100644 --- a/lib/rules/require-meta-docs-url.js +++ b/lib/rules/require-meta-docs-url.js @@ -23,6 +23,7 @@ module.exports = { description: 'require rules to implement a `meta.docs.url` property', category: 'Rules', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-docs-url.md', }, fixable: 'code', schema: [{ diff --git a/lib/rules/require-meta-fixable.js b/lib/rules/require-meta-fixable.js index 3223dedd..7db86303 100644 --- a/lib/rules/require-meta-fixable.js +++ b/lib/rules/require-meta-fixable.js @@ -19,6 +19,7 @@ module.exports = { description: 'require rules to implement a `meta.fixable` property', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-fixable.md', }, schema: [ { diff --git a/lib/rules/require-meta-has-suggestions.js b/lib/rules/require-meta-has-suggestions.js index 73885b62..85f65d6e 100644 --- a/lib/rules/require-meta-has-suggestions.js +++ b/lib/rules/require-meta-has-suggestions.js @@ -14,6 +14,7 @@ module.exports = { description: 'require suggestable rules to implement a `meta.hasSuggestions` property', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-has-suggestions.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/require-meta-schema.js b/lib/rules/require-meta-schema.js index a4d2f88d..7988e272 100644 --- a/lib/rules/require-meta-schema.js +++ b/lib/rules/require-meta-schema.js @@ -14,6 +14,7 @@ module.exports = { description: 'require rules to implement a `meta.schema` property', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-schema.md', }, hasSuggestions: true, schema: [ diff --git a/lib/rules/require-meta-type.js b/lib/rules/require-meta-type.js index fb7f33e9..df5cf5f8 100644 --- a/lib/rules/require-meta-type.js +++ b/lib/rules/require-meta-type.js @@ -20,6 +20,7 @@ module.exports = { description: 'require rules to implement a `meta.type` property', category: 'Rules', recommended: true, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-type.md', }, fixable: null, schema: [], diff --git a/lib/rules/test-case-property-ordering.js b/lib/rules/test-case-property-ordering.js index 65ce61c3..aff65c6b 100644 --- a/lib/rules/test-case-property-ordering.js +++ b/lib/rules/test-case-property-ordering.js @@ -18,6 +18,7 @@ module.exports = { description: 'require the properties of a test case to be placed in a consistent order', category: 'Tests', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/test-case-property-ordering.md', }, fixable: 'code', schema: [{ diff --git a/lib/rules/test-case-shorthand-strings.js b/lib/rules/test-case-shorthand-strings.js index 540571b1..d4f0ba4f 100644 --- a/lib/rules/test-case-shorthand-strings.js +++ b/lib/rules/test-case-shorthand-strings.js @@ -18,6 +18,7 @@ module.exports = { description: 'enforce consistent usage of shorthand strings for test cases with no options', category: 'Tests', recommended: false, + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/test-case-shorthand-strings.md', }, fixable: 'code', schema: [{ enum: ['as-needed', 'never', 'consistent', 'consistent-as-needed'] }], diff --git a/package.json b/package.json index b3783e58..66d2e44a 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,8 @@ "lint:js": "eslint .", "generate-readme-table": "node build/generate-readme-table.js", "generate-release": "release-it", - "test": "nyc --all --check-coverage --include lib mocha tests --recursive" + "test": "nyc --all --check-coverage --include lib mocha tests --recursive", + "version": "eslint --fix . && git add ." }, "files": [ "lib/" diff --git a/tests/lib/index.js b/tests/lib/index.js index 986b6a10..08ba0a28 100644 --- a/tests/lib/index.js +++ b/tests/lib/index.js @@ -6,7 +6,7 @@ const plugin = require('../..'); const RULE_NAMES = Object.keys(plugin.rules); describe('exported plugin', () => { - describe('adds a meta.docs.url property to each rule', () => { + describe('has a meta.docs.url property on each rule', () => { RULE_NAMES.forEach(ruleName => { it(ruleName, () => { assert.match( From bc526bea3e95cc1b18a0229849bd45d1f046ad54 Mon Sep 17 00:00:00 2001 From: Bryan Mishkin <698306+bmish@users.noreply.github.com> Date: Sat, 16 Oct 2021 09:03:53 -0400 Subject: [PATCH 2/2] Chore: Switch rule doc URLs to use HEAD instead of a version tag --- .eslintrc.js | 4 +--- lib/rules/consistent-output.js | 2 +- lib/rules/fixer-return.js | 2 +- lib/rules/meta-property-ordering.js | 2 +- lib/rules/no-deprecated-context-methods.js | 2 +- lib/rules/no-deprecated-report-api.js | 2 +- lib/rules/no-identical-tests.js | 2 +- lib/rules/no-missing-placeholders.js | 2 +- lib/rules/no-only-tests.js | 2 +- lib/rules/no-unused-placeholders.js | 2 +- lib/rules/no-useless-token-range.js | 2 +- lib/rules/prefer-message-ids.js | 2 +- lib/rules/prefer-object-rule.js | 2 +- lib/rules/prefer-output-null.js | 2 +- lib/rules/prefer-placeholders.js | 2 +- lib/rules/prefer-replace-text.js | 2 +- lib/rules/report-message-format.js | 2 +- lib/rules/require-meta-docs-description.js | 2 +- lib/rules/require-meta-docs-url.js | 2 +- lib/rules/require-meta-fixable.js | 2 +- lib/rules/require-meta-has-suggestions.js | 2 +- lib/rules/require-meta-schema.js | 2 +- lib/rules/require-meta-type.js | 2 +- lib/rules/test-case-property-ordering.js | 2 +- lib/rules/test-case-shorthand-strings.js | 2 +- package.json | 3 +-- tests/lib/index.js | 2 +- 27 files changed, 27 insertions(+), 30 deletions(-) diff --git a/.eslintrc.js b/.eslintrc.js index f1cd5674..5c84bfcc 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,7 +1,5 @@ 'use strict'; -const version = require('./package.json').version; - module.exports = { root: true, plugins: ['node'], @@ -41,7 +39,7 @@ module.exports = { 'error', { pattern: - `https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v${version}/docs/rules/{{name}}.md`, + 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/{{name}}.md', }, ], }, diff --git a/lib/rules/consistent-output.js b/lib/rules/consistent-output.js index 75603beb..c8d6f5c0 100644 --- a/lib/rules/consistent-output.js +++ b/lib/rules/consistent-output.js @@ -18,7 +18,7 @@ module.exports = { description: 'enforce consistent use of `output` assertions in rule tests', category: 'Tests', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/consistent-output.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/consistent-output.md', }, fixable: null, // or "code" or "whitespace" schema: [ diff --git a/lib/rules/fixer-return.js b/lib/rules/fixer-return.js index ad2ebc3e..54371889 100644 --- a/lib/rules/fixer-return.js +++ b/lib/rules/fixer-return.js @@ -23,7 +23,7 @@ module.exports = { description: 'require fixer functions to return a fix', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/fixer-return.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/fixer-return.md', }, fixable: null, schema: [], diff --git a/lib/rules/meta-property-ordering.js b/lib/rules/meta-property-ordering.js index 7ba46b34..77b550e3 100644 --- a/lib/rules/meta-property-ordering.js +++ b/lib/rules/meta-property-ordering.js @@ -17,7 +17,7 @@ module.exports = { description: 'enforce the order of meta properties', category: 'Rules', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/meta-property-ordering.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/meta-property-ordering.md', }, fixable: 'code', schema: [{ diff --git a/lib/rules/no-deprecated-context-methods.js b/lib/rules/no-deprecated-context-methods.js index 06565f41..c3f96f02 100644 --- a/lib/rules/no-deprecated-context-methods.js +++ b/lib/rules/no-deprecated-context-methods.js @@ -41,7 +41,7 @@ module.exports = { description: 'disallow usage of deprecated methods on rule context objects', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-deprecated-context-methods.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-deprecated-context-methods.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/no-deprecated-report-api.js b/lib/rules/no-deprecated-report-api.js index 67dba0b6..f6532f12 100644 --- a/lib/rules/no-deprecated-report-api.js +++ b/lib/rules/no-deprecated-report-api.js @@ -18,7 +18,7 @@ module.exports = { description: 'disallow the version of `context.report()` with multiple arguments', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-deprecated-report-api.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-deprecated-report-api.md', }, fixable: 'code', // or "code" or "whitespace" schema: [], diff --git a/lib/rules/no-identical-tests.js b/lib/rules/no-identical-tests.js index 4f19969a..4b546336 100644 --- a/lib/rules/no-identical-tests.js +++ b/lib/rules/no-identical-tests.js @@ -18,7 +18,7 @@ module.exports = { description: 'disallow identical tests', category: 'Tests', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-identical-tests.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-identical-tests.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/no-missing-placeholders.js b/lib/rules/no-missing-placeholders.js index f3769e0a..d0259591 100644 --- a/lib/rules/no-missing-placeholders.js +++ b/lib/rules/no-missing-placeholders.js @@ -19,7 +19,7 @@ module.exports = { description: 'disallow missing placeholders in rule report messages', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-missing-placeholders.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-missing-placeholders.md', }, fixable: null, schema: [], diff --git a/lib/rules/no-only-tests.js b/lib/rules/no-only-tests.js index 591107b4..f680961a 100644 --- a/lib/rules/no-only-tests.js +++ b/lib/rules/no-only-tests.js @@ -10,7 +10,7 @@ module.exports = { description: 'disallow the test case property `only`', category: 'Tests', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-only-tests.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-only-tests.md', }, hasSuggestions: true, schema: [], diff --git a/lib/rules/no-unused-placeholders.js b/lib/rules/no-unused-placeholders.js index 6063a768..61c6faba 100644 --- a/lib/rules/no-unused-placeholders.js +++ b/lib/rules/no-unused-placeholders.js @@ -19,7 +19,7 @@ module.exports = { description: 'disallow unused placeholders in rule report messages', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-unused-placeholders.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-unused-placeholders.md', }, fixable: null, schema: [], diff --git a/lib/rules/no-useless-token-range.js b/lib/rules/no-useless-token-range.js index ce49ad01..cbabf1a5 100644 --- a/lib/rules/no-useless-token-range.js +++ b/lib/rules/no-useless-token-range.js @@ -18,7 +18,7 @@ module.exports = { description: 'disallow unnecessary calls to `sourceCode.getFirstToken()` and `sourceCode.getLastToken()`', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/no-useless-token-range.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/no-useless-token-range.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/prefer-message-ids.js b/lib/rules/prefer-message-ids.js index 77e810c0..832ed42a 100644 --- a/lib/rules/prefer-message-ids.js +++ b/lib/rules/prefer-message-ids.js @@ -14,7 +14,7 @@ module.exports = { description: 'require using `messageId` instead of `message` to report rule violations', category: 'Rules', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-message-ids.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/prefer-message-ids.md', }, fixable: null, schema: [], diff --git a/lib/rules/prefer-object-rule.js b/lib/rules/prefer-object-rule.js index 5f9515f8..e5f5a461 100644 --- a/lib/rules/prefer-object-rule.js +++ b/lib/rules/prefer-object-rule.js @@ -17,7 +17,7 @@ module.exports = { description: 'disallow rule exports where the export is a function', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-object-rule.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/prefer-object-rule.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/prefer-output-null.js b/lib/rules/prefer-output-null.js index 947d772b..8e34617c 100644 --- a/lib/rules/prefer-output-null.js +++ b/lib/rules/prefer-output-null.js @@ -18,7 +18,7 @@ module.exports = { description: 'disallow invalid RuleTester test cases where the `output` matches the `code`', category: 'Tests', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-output-null.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/prefer-output-null.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/prefer-placeholders.js b/lib/rules/prefer-placeholders.js index c7f28bdf..de53adb3 100644 --- a/lib/rules/prefer-placeholders.js +++ b/lib/rules/prefer-placeholders.js @@ -19,7 +19,7 @@ module.exports = { description: 'require using placeholders for dynamic report messages', category: 'Rules', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-placeholders.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/prefer-placeholders.md', }, fixable: null, schema: [], diff --git a/lib/rules/prefer-replace-text.js b/lib/rules/prefer-replace-text.js index 82cf9a0d..685f9cf1 100644 --- a/lib/rules/prefer-replace-text.js +++ b/lib/rules/prefer-replace-text.js @@ -18,7 +18,7 @@ module.exports = { description: 'require using `replaceText()` instead of `replaceTextRange()`', category: 'Rules', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/prefer-replace-text.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/prefer-replace-text.md', }, fixable: null, schema: [], diff --git a/lib/rules/report-message-format.js b/lib/rules/report-message-format.js index 81b0b5fa..cd620e54 100644 --- a/lib/rules/report-message-format.js +++ b/lib/rules/report-message-format.js @@ -19,7 +19,7 @@ module.exports = { description: 'enforce a consistent format for rule report messages', category: 'Rules', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/report-message-format.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/report-message-format.md', }, fixable: null, schema: [ diff --git a/lib/rules/require-meta-docs-description.js b/lib/rules/require-meta-docs-description.js index aca4e54c..f1c029c7 100644 --- a/lib/rules/require-meta-docs-description.js +++ b/lib/rules/require-meta-docs-description.js @@ -16,7 +16,7 @@ module.exports = { description: 'require rules to implement a `meta.docs.description` property with the correct format', category: 'Rules', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-docs-description.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-meta-docs-description.md', }, fixable: null, schema: [ diff --git a/lib/rules/require-meta-docs-url.js b/lib/rules/require-meta-docs-url.js index cf457e30..6b692d3a 100644 --- a/lib/rules/require-meta-docs-url.js +++ b/lib/rules/require-meta-docs-url.js @@ -23,7 +23,7 @@ module.exports = { description: 'require rules to implement a `meta.docs.url` property', category: 'Rules', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-docs-url.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-meta-docs-url.md', }, fixable: 'code', schema: [{ diff --git a/lib/rules/require-meta-fixable.js b/lib/rules/require-meta-fixable.js index 7db86303..0569fc53 100644 --- a/lib/rules/require-meta-fixable.js +++ b/lib/rules/require-meta-fixable.js @@ -19,7 +19,7 @@ module.exports = { description: 'require rules to implement a `meta.fixable` property', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-fixable.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-meta-fixable.md', }, schema: [ { diff --git a/lib/rules/require-meta-has-suggestions.js b/lib/rules/require-meta-has-suggestions.js index 85f65d6e..f62a9b0b 100644 --- a/lib/rules/require-meta-has-suggestions.js +++ b/lib/rules/require-meta-has-suggestions.js @@ -14,7 +14,7 @@ module.exports = { description: 'require suggestable rules to implement a `meta.hasSuggestions` property', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-has-suggestions.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-meta-has-suggestions.md', }, fixable: 'code', schema: [], diff --git a/lib/rules/require-meta-schema.js b/lib/rules/require-meta-schema.js index 7988e272..e838d85d 100644 --- a/lib/rules/require-meta-schema.js +++ b/lib/rules/require-meta-schema.js @@ -14,7 +14,7 @@ module.exports = { description: 'require rules to implement a `meta.schema` property', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-schema.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-meta-schema.md', }, hasSuggestions: true, schema: [ diff --git a/lib/rules/require-meta-type.js b/lib/rules/require-meta-type.js index df5cf5f8..88c22f98 100644 --- a/lib/rules/require-meta-type.js +++ b/lib/rules/require-meta-type.js @@ -20,7 +20,7 @@ module.exports = { description: 'require rules to implement a `meta.type` property', category: 'Rules', recommended: true, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/require-meta-type.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/require-meta-type.md', }, fixable: null, schema: [], diff --git a/lib/rules/test-case-property-ordering.js b/lib/rules/test-case-property-ordering.js index aff65c6b..f1d3c02d 100644 --- a/lib/rules/test-case-property-ordering.js +++ b/lib/rules/test-case-property-ordering.js @@ -18,7 +18,7 @@ module.exports = { description: 'require the properties of a test case to be placed in a consistent order', category: 'Tests', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/test-case-property-ordering.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/test-case-property-ordering.md', }, fixable: 'code', schema: [{ diff --git a/lib/rules/test-case-shorthand-strings.js b/lib/rules/test-case-shorthand-strings.js index d4f0ba4f..e09febe9 100644 --- a/lib/rules/test-case-shorthand-strings.js +++ b/lib/rules/test-case-shorthand-strings.js @@ -18,7 +18,7 @@ module.exports = { description: 'enforce consistent usage of shorthand strings for test cases with no options', category: 'Tests', recommended: false, - url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/v4.0.1/docs/rules/test-case-shorthand-strings.md', + url: 'https://github.com/not-an-aardvark/eslint-plugin-eslint-plugin/tree/HEAD/docs/rules/test-case-shorthand-strings.md', }, fixable: 'code', schema: [{ enum: ['as-needed', 'never', 'consistent', 'consistent-as-needed'] }], diff --git a/package.json b/package.json index 66d2e44a..b3783e58 100644 --- a/package.json +++ b/package.json @@ -11,8 +11,7 @@ "lint:js": "eslint .", "generate-readme-table": "node build/generate-readme-table.js", "generate-release": "release-it", - "test": "nyc --all --check-coverage --include lib mocha tests --recursive", - "version": "eslint --fix . && git add ." + "test": "nyc --all --check-coverage --include lib mocha tests --recursive" }, "files": [ "lib/" diff --git a/tests/lib/index.js b/tests/lib/index.js index 08ba0a28..e56c83db 100644 --- a/tests/lib/index.js +++ b/tests/lib/index.js @@ -11,7 +11,7 @@ describe('exported plugin', () => { it(ruleName, () => { assert.match( plugin.rules[ruleName].meta.docs.url, - /^https:\/\/github.com\/not-an-aardvark\/eslint-plugin-eslint-plugin\/tree\/v\d+\.\d+\.\d+(-\d+)?\/docs\/rules\/[\w-]+\.md$/ + /^https:\/\/github.com\/not-an-aardvark\/eslint-plugin-eslint-plugin\/tree\/HEAD\/docs\/rules\/[\w-]+\.md$/ ); }); });