remark-lint-no-duplicate-headings
Advanced tools
Comparing version 1.0.1 to 1.0.2
50
index.js
@@ -29,38 +29,38 @@ /** | ||
'use strict'; | ||
'use strict' | ||
var rule = require('unified-lint-rule'); | ||
var position = require('unist-util-position'); | ||
var generated = require('unist-util-generated'); | ||
var visit = require('unist-util-visit'); | ||
var toString = require('mdast-util-to-string'); | ||
var rule = require('unified-lint-rule') | ||
var position = require('unist-util-position') | ||
var generated = require('unist-util-generated') | ||
var visit = require('unist-util-visit') | ||
var stringify = require('unist-util-stringify-position') | ||
var toString = require('mdast-util-to-string') | ||
module.exports = rule('remark-lint:no-duplicate-headings', noDuplicateHeadings); | ||
module.exports = rule('remark-lint:no-duplicate-headings', noDuplicateHeadings) | ||
function noDuplicateHeadings(ast, file) { | ||
var map = {}; | ||
var reason = 'Do not use headings with similar content' | ||
visit(ast, 'heading', visitor); | ||
function noDuplicateHeadings(tree, file) { | ||
var map = {} | ||
visit(tree, 'heading', visitor) | ||
function visitor(node) { | ||
var value = toString(node).toUpperCase(); | ||
var duplicate = map[value]; | ||
var pos; | ||
var value | ||
var duplicate | ||
if (generated(node)) { | ||
return; | ||
} | ||
if (!generated(node)) { | ||
value = toString(node).toUpperCase() | ||
duplicate = map[value] | ||
if (duplicate && duplicate.type === 'heading') { | ||
pos = position.start(duplicate); | ||
if (duplicate && duplicate.type === 'heading') { | ||
file.message( | ||
reason + ' (' + stringify(position.start(duplicate)) + ')', | ||
node | ||
) | ||
} | ||
file.message( | ||
'Do not use headings with similar content (' + | ||
pos.line + ':' + pos.column + ')', | ||
node | ||
); | ||
map[value] = node | ||
} | ||
map[value] = node; | ||
} | ||
} |
{ | ||
"name": "remark-lint-no-duplicate-headings", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"description": "remark-lint rule to warn on duplicate headings", | ||
@@ -13,4 +13,4 @@ "license": "MIT", | ||
], | ||
"repository": "https://github.com/wooorm/remark-lint/tree/master/packages/remark-lint-no-duplicate-headings", | ||
"bugs": "https://github.com/wooorm/remark-lint/issues", | ||
"repository": "https://github.com/remarkjs/remark-lint/tree/master/packages/remark-lint-no-duplicate-headings", | ||
"bugs": "https://github.com/remarkjs/remark-lint/issues", | ||
"author": "Titus Wormer <tituswormer@gmail.com> (http://wooorm.com)", | ||
@@ -28,2 +28,3 @@ "contributors": [ | ||
"unist-util-position": "^3.0.0", | ||
"unist-util-stringify-position": "^1.1.2", | ||
"unist-util-visit": "^1.1.1" | ||
@@ -30,0 +31,0 @@ }, |
@@ -13,3 +13,3 @@ <!--This file is generated--> | ||
| ------ | ------- | | ||
| [`remark-preset-lint-markdown-style-guide`](https://github.com/wooorm/remark-lint/tree/master/packages/remark-preset-lint-markdown-style-guide) | | | ||
| [`remark-preset-lint-markdown-style-guide`](https://github.com/remarkjs/remark-lint/tree/master/packages/remark-preset-lint-markdown-style-guide) | | | ||
@@ -96,2 +96,2 @@ ## Example | ||
[MIT](https://github.com/wooorm/remark-lint/blob/master/LICENSE) © [Titus Wormer](http://wooorm.com) | ||
[MIT](https://github.com/remarkjs/remark-lint/blob/master/LICENSE) © [Titus Wormer](http://wooorm.com) |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
3839
6
+ Addedunist-util-stringify-position@1.1.2(transitive)