Skip to content

Commit

Permalink
Docs: Use link to tagged version for rule docs (#104)
Browse files Browse the repository at this point in the history
  • Loading branch information
sudo-suhas authored and mysticatea committed Jan 28, 2018
1 parent 27ac4a8 commit dc32ab5
Show file tree
Hide file tree
Showing 14 changed files with 65 additions and 13 deletions.
8 changes: 7 additions & 1 deletion lib/rules/exports-style.js
Expand Up @@ -5,6 +5,12 @@
*/
"use strict"

//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------

const getDocsUrl = require("../util/get-docs-url")

//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------
Expand Down Expand Up @@ -293,7 +299,7 @@ module.exports = {
description: "enforce either `module.exports` or `exports`",
category: "Stylistic Issues",
recommended: false,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/exports-style.md",
url: getDocsUrl("exports-style.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-deprecated-api.js
Expand Up @@ -11,6 +11,7 @@
//------------------------------------------------------------------------------

const deprecatedApis = require("../util/deprecated-apis")
const getDocsUrl = require("../util/get-docs-url")
const getValueIfString = require("../util/get-value-if-string")

//------------------------------------------------------------------------------
Expand Down Expand Up @@ -566,7 +567,7 @@ module.exports = {
description: "disallow deprecated APIs",
category: "Best Practices",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-deprecated-api.md",
url: getDocsUrl("no-deprecated-api.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-extraneous-import.js
Expand Up @@ -12,6 +12,7 @@
const checkExtraneous = require("../util/check-extraneous")
const getAllowModules = require("../util/get-allow-modules")
const getConvertPath = require("../util/get-convert-path")
const getDocsUrl = require("../util/get-docs-url")
const getImportTargets = require("../util/get-import-export-targets")
const getResolvePaths = require("../util/get-resolve-paths")

Expand Down Expand Up @@ -53,7 +54,7 @@ module.exports = {
description: "disallow `import` declarations of extraneous packages",
category: "Possible Errors",
recommended: false,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-extraneous-import.md",
url: getDocsUrl("no-extraneous-import.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-extraneous-require.js
Expand Up @@ -12,6 +12,7 @@
const checkExtraneous = require("../util/check-extraneous")
const getAllowModules = require("../util/get-allow-modules")
const getConvertPath = require("../util/get-convert-path")
const getDocsUrl = require("../util/get-docs-url")
const getRequireTargets = require("../util/get-require-targets")
const getResolvePaths = require("../util/get-resolve-paths")

Expand Down Expand Up @@ -53,7 +54,7 @@ module.exports = {
description: "disallow `require()` expressions of extraneous packages",
category: "Possible Errors",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-extraneous-require.md",
url: getDocsUrl("no-extraneous-require.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-hide-core-modules.js
Expand Up @@ -15,6 +15,7 @@

const path = require("path")
const resolve = require("resolve")
const getDocsUrl = require("../util/get-docs-url")
const getPackageJson = require("../util/get-package-json")
const getRequireTargets = require("../util/get-require-targets")
const getImportExportTargets = require("../util/get-import-export-targets")
Expand Down Expand Up @@ -106,7 +107,7 @@ module.exports = {
description: "disallow third-party modules which are hiding core modules",
category: "Possible Errors",
recommended: false,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-hide-core-modules.md",
url: getDocsUrl("no-hide-core-modules.md"),
},
deprecated: true,
fixable: false,
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-missing-import.js
Expand Up @@ -11,6 +11,7 @@

const checkExistence = require("../util/check-existence")
const getAllowModules = require("../util/get-allow-modules")
const getDocsUrl = require("../util/get-docs-url")
const getImportExportTargets = require("../util/get-import-export-targets")
const getResolvePaths = require("../util/get-resolve-paths")
const getTryExtensions = require("../util/get-try-extensions")
Expand Down Expand Up @@ -52,7 +53,7 @@ module.exports = {
description: "disallow `import` declarations of missing files",
category: "Possible Errors",
recommended: false,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-missing-import.md",
url: getDocsUrl("no-missing-import.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-missing-require.js
Expand Up @@ -11,6 +11,7 @@

const checkExistence = require("../util/check-existence")
const getAllowModules = require("../util/get-allow-modules")
const getDocsUrl = require("../util/get-docs-url")
const getRequireTargets = require("../util/get-require-targets")
const getResolvePaths = require("../util/get-resolve-paths")
const getTryExtensions = require("../util/get-try-extensions")
Expand Down Expand Up @@ -52,7 +53,7 @@ module.exports = {
description: "disallow `require()` expressions of missing files",
category: "Possible Errors",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-missing-require.md",
url: getDocsUrl("no-missing-require.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-unpublished-bin.js
Expand Up @@ -11,6 +11,7 @@

const path = require("path")
const getConvertPath = require("../util/get-convert-path")
const getDocsUrl = require("../util/get-docs-url")
const getNpmignore = require("../util/get-npmignore")
const getPackageJson = require("../util/get-package-json")

Expand Down Expand Up @@ -99,7 +100,7 @@ module.exports = {
description: "disallow 'bin' files which are ignored by npm",
category: "Possible Errors",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-unpublished-bin.md",
url: getDocsUrl("no-unpublished-bin.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-unpublished-import.js
Expand Up @@ -12,6 +12,7 @@
const checkPublish = require("../util/check-publish")
const getAllowModules = require("../util/get-allow-modules")
const getConvertPath = require("../util/get-convert-path")
const getDocsUrl = require("../util/get-docs-url")
const getImportExportTargets = require("../util/get-import-export-targets")
const getResolvePaths = require("../util/get-resolve-paths")
const getTryExtensions = require("../util/get-try-extensions")
Expand Down Expand Up @@ -54,7 +55,7 @@ module.exports = {
description: "disallow `import` declarations of private things",
category: "Possible Errors",
recommended: false,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-unpublished-import.md",
url: getDocsUrl("no-unpublished-import.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-unpublished-require.js
Expand Up @@ -12,6 +12,7 @@
const checkPublish = require("../util/check-publish")
const getAllowModules = require("../util/get-allow-modules")
const getConvertPath = require("../util/get-convert-path")
const getDocsUrl = require("../util/get-docs-url")
const getRequireTargets = require("../util/get-require-targets")
const getResolvePaths = require("../util/get-resolve-paths")
const getTryExtensions = require("../util/get-try-extensions")
Expand Down Expand Up @@ -54,7 +55,7 @@ module.exports = {
description: "disallow `require()` expressions of private things",
category: "Possible Errors",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-unpublished-require.md",
url: getDocsUrl("no-unpublished-require.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/no-unsupported-features.js
Expand Up @@ -11,6 +11,7 @@

const semver = require("semver")
const features = require("../util/features")
const getDocsUrl = require("../util/get-docs-url")
const getPackageJson = require("../util/get-package-json")
const getValueIfString = require("../util/get-value-if-string")

Expand Down Expand Up @@ -673,7 +674,7 @@ module.exports = {
description: "disallow unsupported ECMAScript features on the specified version",
category: "Possible Errors",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/no-unsupported-features.md",
url: getDocsUrl("no-unsupported-features.md"),
},
fixable: false,
schema: [
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/process-exit-as-throw.js
Expand Up @@ -12,6 +12,7 @@
const CodePathAnalyzer = safeRequire("eslint/lib/code-path-analysis/code-path-analyzer")
const CodePath = safeRequire("eslint/lib/code-path-analysis/code-path")
const CodePathSegment = safeRequire("eslint/lib/code-path-analysis/code-path-segment")
const getDocsUrl = require("../util/get-docs-url")

//------------------------------------------------------------------------------
// Helpers
Expand Down Expand Up @@ -147,7 +148,7 @@ module.exports = {
description: "make `process.exit()` expressions the same code path as `throw`",
category: "Possible Errors",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/process-exit-as-throw.md",
url: getDocsUrl("process-exit-as-throw.md"),
},
fixable: false,
schema: [],
Expand Down
3 changes: 2 additions & 1 deletion lib/rules/shebang.js
Expand Up @@ -11,6 +11,7 @@

const path = require("path")
const getConvertPath = require("../util/get-convert-path")
const getDocsUrl = require("../util/get-docs-url")
const getPackageJson = require("../util/get-package-json")

//------------------------------------------------------------------------------
Expand Down Expand Up @@ -146,7 +147,7 @@ module.exports = {
description: "enforce the correct usage of shebang",
category: "Possible Errors",
recommended: true,
url: "https://github.com/mysticatea/eslint-plugin-node/tree/master/docs/rules/shebang.md",
url: getDocsUrl("shebang.md"),
},
fixable: "code",
schema: [
Expand Down
34 changes: 34 additions & 0 deletions lib/util/get-docs-url.js
@@ -0,0 +1,34 @@
/**
* @author Suhas Karanth
* @copyright 2018 Toru Nagashima. All rights reserved.
* See LICENSE file in root directory for full license.
*/
"use strict"

//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------

const pkg = require("../../package")

//------------------------------------------------------------------------------
// Helpers
//------------------------------------------------------------------------------

const REPO_URL = "https://github.com/mysticatea/eslint-plugin-node"

//------------------------------------------------------------------------------
// Public Interface
//------------------------------------------------------------------------------

/**
* Generates the URL to documentation for the given rule name. It uses the
* package version to build the link to a tagged version of the
* documentation file.
*
* @param {string} ruleName - Name of the eslint rule
* @returns {string} URL to the documentation for the given rule
*/
module.exports = function getDocsUrl(ruleName) {
return `${REPO_URL}/blob/v${pkg.version}/docs/rules/${ruleName}.md`
}

0 comments on commit dc32ab5

Please sign in to comment.