Socket
Socket
Sign inDemoInstall

remark-lint-no-shortcut-reference-link

Package Overview
Dependencies
15
Maintainers
3
Versions
14
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.1.2 to 4.0.0

index.d.ts.map

14

index.d.ts

@@ -1,7 +0,7 @@

export default remarkLintNoShortcutReferenceLink
export type Root = import('mdast').Root
declare const remarkLintNoShortcutReferenceLink: import('unified').Plugin<
void[] | [unknown],
import('mdast').Root,
import('mdast').Root
>
export default remarkLintNoShortcutReferenceLink;
export type Root = import('mdast').Root;
declare const remarkLintNoShortcutReferenceLink: {
(config?: unknown): ((tree: import("mdast").Root, file: import("vfile").VFile, next: import("unified").TransformCallback<import("mdast").Root>) => undefined) | undefined;
readonly name: string;
};
//# sourceMappingURL=index.d.ts.map
/**
* remark-lint rule to warn when shortcut reference links are used.
*
* ## What is this?
*
* This package checks that collapsed or full reference links are used.
*
* ## When should I use this?
*
* You can use this package to check that collapsed or full reference links
* are used.
* You can use this package to check that references are consistent.
*
* ## API
*
* ### `unified().use(remarkLintNoShortcutReferenceLink)`
*
* Warn when shortcut reference links are used.
*
* ###### Parameters
*
* There are no options.
*
* ###### Returns
*
* Transform ([`Transformer` from `unified`][github-unified-transformer]).
*
* ## Recommendation

@@ -15,30 +30,31 @@ *

* that could occur as plain text instead of syntax.
* In some cases, plain text is intended instead of a link.
* Due to this, it’s recommended to use collapsed (or full) references
* instead.
* In some cases,
* plain text is intended instead of a link.
* So it’s recommended to use collapsed or full references instead.
*
* [api-remark-lint-no-shortcut-reference-link]: #unifieduseremarklintnoshortcutreferencelink
* [github-unified-transformer]: https://github.com/unifiedjs/unified#transformer
*
* @module no-shortcut-reference-link
* @summary
* remark-lint rule to warn when shortcut reference links are used.
* @author Titus Wormer
* @copyright 2015 Titus Wormer
* @license MIT
*
* @example
* {"name": "ok.md"}
*
* [foo][]
* [Mercury][]
*
* [foo]: http://foo.bar/baz
* [mercury]: http://example.com/mercury/
*
* @example
* {"name": "not-ok.md", "label": "input"}
* {"label": "input", "name": "not-ok.md"}
*
* [foo]
* [Mercury]
*
* [foo]: http://foo.bar/baz
*
* [mercury]: http://example.com/mercury/
* @example
* {"name": "not-ok.md", "label": "output"}
* {"label": "output", "name": "not-ok.md"}
*
* 1:1-1:6: Use the trailing `[]` on reference links
* 1:1-1:10: Unexpected shortcut reference link (`[text]`), expected collapsed reference (`[text][]`)
*/

@@ -51,4 +67,3 @@

import {lintRule} from 'unified-lint-rule'
import {visit} from 'unist-util-visit'
import {generated} from 'unist-util-generated'
import {visitParents} from 'unist-util-visit-parents'

@@ -60,7 +75,15 @@ const remarkLintNoShortcutReferenceLink = lintRule(

},
/** @type {import('unified-lint-rule').Rule<Root, void>} */
(tree, file) => {
visit(tree, 'linkReference', (node) => {
if (!generated(node) && node.referenceType === 'shortcut') {
file.message('Use the trailing `[]` on reference links', node)
/**
* @param {Root} tree
* Tree.
* @returns {undefined}
* Nothing.
*/
function (tree, file) {
visitParents(tree, 'linkReference', function (node, parents) {
if (node.position && node.referenceType === 'shortcut') {
file.message(
'Unexpected shortcut reference link (`[text]`), expected collapsed reference (`[text][]`)',
{ancestors: [...parents, node], place: node.position}
)
}

@@ -67,0 +90,0 @@ })

{
"name": "remark-lint-no-shortcut-reference-link",
"version": "3.1.2",
"version": "4.0.0",
"description": "remark-lint rule to warn when shortcut reference links are used",
"license": "MIT",
"keywords": [
"link",
"lint",
"reference",
"remark",
"lint",
"remark-lint",
"remark-lint-rule",
"rule",
"remark-lint-rule",
"shortcut",
"reference",
"link"
"shortcut"
],
"repository": {
"type": "git",
"url": "https://github.com/remarkjs/remark-lint",
"directory": "packages/remark-lint-no-shortcut-reference-link"
},
"repository": "https://github.com/remarkjs/remark-lint/tree/main/packages/remark-lint-no-shortcut-reference-link",
"bugs": "https://github.com/remarkjs/remark-lint/issues",

@@ -27,27 +24,30 @@ "funding": {

"contributors": [
"Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)"
"Titus Wormer <tituswormer@gmail.com>"
],
"sideEffects": false,
"type": "module",
"main": "index.js",
"types": "index.d.ts",
"exports": "./index.js",
"files": [
"index.d.ts",
"index.d.ts.map",
"index.js"
],
"dependencies": {
"@types/mdast": "^3.0.0",
"unified": "^10.0.0",
"unified-lint-rule": "^2.0.0",
"unist-util-generated": "^2.0.0",
"unist-util-visit": "^4.0.0"
"@types/mdast": "^4.0.0",
"unified-lint-rule": "^3.0.0",
"unist-util-visit-parents": "^6.0.0"
},
"scripts": {},
"xo": false,
"typeCoverage": {
"atLeast": 100,
"detail": true,
"strict": true,
"ignoreCatch": true
"ignoreCatch": true,
"strict": true
},
"xo": {
"prettier": true,
"rules": {
"capitalized-comments": "off"
}
}
}

@@ -5,43 +5,40 @@ <!--This file is generated-->

[![Build][build-badge]][build]
[![Coverage][coverage-badge]][coverage]
[![Downloads][downloads-badge]][downloads]
[![Size][size-badge]][size]
[![Sponsors][sponsors-badge]][collective]
[![Backers][backers-badge]][collective]
[![Chat][chat-badge]][chat]
[![Build][badge-build-image]][badge-build-url]
[![Coverage][badge-coverage-image]][badge-coverage-url]
[![Downloads][badge-downloads-image]][badge-downloads-url]
[![Size][badge-size-image]][badge-size-url]
[![Sponsors][badge-funding-sponsors-image]][badge-funding-url]
[![Backers][badge-funding-backers-image]][badge-funding-url]
[![Chat][badge-chat-image]][badge-chat-url]
[`remark-lint`][mono] rule to warn when shortcut reference links are used.
[`remark-lint`][github-remark-lint] rule to warn when shortcut reference links are used.
## Contents
* [What is this?](#what-is-this)
* [When should I use this?](#when-should-i-use-this)
* [Presets](#presets)
* [Install](#install)
* [Use](#use)
* [API](#api)
* [`unified().use(remarkLintNoShortcutReferenceLink[, config])`](#unifieduseremarklintnoshortcutreferencelink-config)
* [Recommendation](#recommendation)
* [Examples](#examples)
* [Compatibility](#compatibility)
* [Contribute](#contribute)
* [License](#license)
* [What is this?](#what-is-this)
* [When should I use this?](#when-should-i-use-this)
* [Presets](#presets)
* [Install](#install)
* [Use](#use)
* [API](#api)
* [`unified().use(remarkLintNoShortcutReferenceLink)`](#unifieduseremarklintnoshortcutreferencelink)
* [Recommendation](#recommendation)
* [Examples](#examples)
* [Compatibility](#compatibility)
* [Contribute](#contribute)
* [License](#license)
## What is this?
This package is a [unified][] ([remark][]) plugin, specifically a `remark-lint`
rule.
Lint rules check markdown code style.
This package checks that collapsed or full reference links are used.
## When should I use this?
You can use this package to check that collapsed or full reference links
are used.
You can use this package to check that references are consistent.
## Presets
This rule is included in the following presets:
This plugin is included in the following presets:
| Preset | Setting |
| Preset | Options |
| - | - |

@@ -53,4 +50,5 @@ | [`remark-preset-lint-markdown-style-guide`](https://github.com/remarkjs/remark-lint/tree/main/packages/remark-preset-lint-markdown-style-guide) | |

This package is [ESM only][esm].
In Node.js (version 12.20+, 14.14+, or 16.0+), install with [npm][]:
This package is [ESM only][github-gist-esm].
In Node.js (version 16+),
install with [npm][npm-install]:

@@ -61,13 +59,13 @@ ```sh

In Deno with [`esm.sh`][esmsh]:
In Deno with [`esm.sh`][esm-sh]:
```js
import remarkLintNoShortcutReferenceLink from 'https://esm.sh/remark-lint-no-shortcut-reference-link@3'
import remarkLintNoShortcutReferenceLink from 'https://esm.sh/remark-lint-no-shortcut-reference-link@4'
```
In browsers with [`esm.sh`][esmsh]:
In browsers with [`esm.sh`][esm-sh]:
```html
<script type="module">
import remarkLintNoShortcutReferenceLink from 'https://esm.sh/remark-lint-no-shortcut-reference-link@3?bundle'
import remarkLintNoShortcutReferenceLink from 'https://esm.sh/remark-lint-no-shortcut-reference-link@4?bundle'
</script>

@@ -81,18 +79,20 @@ ```

```js
import remarkLint from 'remark-lint'
import remarkLintNoShortcutReferenceLink from 'remark-lint-no-shortcut-reference-link'
import remarkParse from 'remark-parse'
import remarkStringify from 'remark-stringify'
import {read} from 'to-vfile'
import {unified} from 'unified'
import {reporter} from 'vfile-reporter'
import {remark} from 'remark'
import remarkLint from 'remark-lint'
import remarkLintNoShortcutReferenceLink from 'remark-lint-no-shortcut-reference-link'
main()
const file = await read('example.md')
async function main() {
const file = await remark()
.use(remarkLint)
.use(remarkLintNoShortcutReferenceLink)
.process(await read('example.md'))
await unified()
.use(remarkParse)
.use(remarkLint)
.use(remarkLintNoShortcutReferenceLink)
.use(remarkStringify)
.process(file)
console.error(reporter(file))
}
console.error(reporter(file))
```

@@ -103,3 +103,3 @@

```sh
remark --use remark-lint --use remark-lint-no-shortcut-reference-link example.md
remark --frail --use remark-lint --use remark-lint-no-shortcut-reference-link .
```

@@ -125,11 +125,18 @@

This package exports no identifiers.
The default export is `remarkLintNoShortcutReferenceLink`.
It exports no additional [TypeScript][typescript] types.
The default export is
[`remarkLintNoShortcutReferenceLink`][api-remark-lint-no-shortcut-reference-link].
### `unified().use(remarkLintNoShortcutReferenceLink[, config])`
### `unified().use(remarkLintNoShortcutReferenceLink)`
This rule supports standard configuration that all remark lint rules accept
(such as `false` to turn it off or `[1, options]` to configure it).
Warn when shortcut reference links are used.
###### Parameters
There are no options.
###### Returns
Transform ([`Transformer` from `unified`][github-unified-transformer]).
## Recommendation

@@ -139,5 +146,5 @@

that could occur as plain text instead of syntax.
In some cases, plain text is intended instead of a link.
Due to this, it’s recommended to use collapsed (or full) references
instead.
In some cases,
plain text is intended instead of a link.
So it’s recommended to use collapsed or full references instead.

@@ -151,5 +158,5 @@ ## Examples

```markdown
[foo][]
[Mercury][]
[foo]: http://foo.bar/baz
[mercury]: http://example.com/mercury/
```

@@ -166,5 +173,5 @@

```markdown
[foo]
[Mercury]
[foo]: http://foo.bar/baz
[mercury]: http://example.com/mercury/
```

@@ -175,3 +182,3 @@

```text
1:1-1:6: Use the trailing `[]` on reference links
1:1-1:10: Unexpected shortcut reference link (`[text]`), expected collapsed reference (`[text][]`)
```

@@ -181,14 +188,18 @@

Projects maintained by the unified collective are compatible with all maintained
Projects maintained by the unified collective are compatible with maintained
versions of Node.js.
As of now, that is Node.js 12.20+, 14.14+, and 16.0+.
Our projects sometimes work with older versions, but this is not guaranteed.
When we cut a new major release, we drop support for unmaintained versions of
Node.
This means we try to keep the current release line,
`remark-lint-no-shortcut-reference-link@4`,
compatible with Node.js 16.
## Contribute
See [`contributing.md`][contributing] in [`remarkjs/.github`][health] for ways
See [`contributing.md`][github-dotfiles-contributing] in [`remarkjs/.github`][github-dotfiles-health] for ways
to get started.
See [`support.md`][support] for ways to get help.
See [`support.md`][github-dotfiles-support] for ways to get help.
This project has a [code of conduct][coc].
This project has a [code of conduct][github-dotfiles-coc].
By interacting with this repository, organization, or community you agree to

@@ -199,52 +210,54 @@ abide by its terms.

[MIT][license] © [Titus Wormer][author]
[MIT][file-license] © [Titus Wormer][author]
[build-badge]: https://github.com/remarkjs/remark-lint/workflows/main/badge.svg
[api-remark-lint-no-shortcut-reference-link]: #unifieduseremarklintnoshortcutreferencelink
[build]: https://github.com/remarkjs/remark-lint/actions
[author]: https://wooorm.com
[coverage-badge]: https://img.shields.io/codecov/c/github/remarkjs/remark-lint.svg
[badge-build-image]: https://github.com/remarkjs/remark-lint/workflows/main/badge.svg
[coverage]: https://codecov.io/github/remarkjs/remark-lint
[badge-build-url]: https://github.com/remarkjs/remark-lint/actions
[downloads-badge]: https://img.shields.io/npm/dm/remark-lint-no-shortcut-reference-link.svg
[badge-chat-image]: https://img.shields.io/badge/chat-discussions-success.svg
[downloads]: https://www.npmjs.com/package/remark-lint-no-shortcut-reference-link
[badge-chat-url]: https://github.com/remarkjs/remark/discussions
[size-badge]: https://img.shields.io/bundlephobia/minzip/remark-lint-no-shortcut-reference-link.svg
[badge-coverage-image]: https://img.shields.io/codecov/c/github/remarkjs/remark-lint.svg
[size]: https://bundlephobia.com/result?p=remark-lint-no-shortcut-reference-link
[badge-coverage-url]: https://codecov.io/github/remarkjs/remark-lint
[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg
[badge-downloads-image]: https://img.shields.io/npm/dm/remark-lint-no-shortcut-reference-link.svg
[backers-badge]: https://opencollective.com/unified/backers/badge.svg
[badge-downloads-url]: https://www.npmjs.com/package/remark-lint-no-shortcut-reference-link
[collective]: https://opencollective.com/unified
[badge-funding-backers-image]: https://opencollective.com/unified/backers/badge.svg
[chat-badge]: https://img.shields.io/badge/chat-discussions-success.svg
[badge-funding-sponsors-image]: https://opencollective.com/unified/sponsors/badge.svg
[chat]: https://github.com/remarkjs/remark/discussions
[badge-funding-url]: https://opencollective.com/unified
[unified]: https://github.com/unifiedjs/unified
[badge-size-image]: https://img.shields.io/bundlejs/size/remark-lint-no-shortcut-reference-link
[remark]: https://github.com/remarkjs/remark
[badge-size-url]: https://bundlejs.com/?q=remark-lint-no-shortcut-reference-link
[mono]: https://github.com/remarkjs/remark-lint
[esm-sh]: https://esm.sh
[esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[file-license]: https://github.com/remarkjs/remark-lint/blob/main/license
[esmsh]: https://esm.sh
[github-dotfiles-coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md
[npm]: https://docs.npmjs.com/cli/install
[github-dotfiles-contributing]: https://github.com/remarkjs/.github/blob/main/contributing.md
[health]: https://github.com/remarkjs/.github
[github-dotfiles-health]: https://github.com/remarkjs/.github
[contributing]: https://github.com/remarkjs/.github/blob/main/contributing.md
[github-dotfiles-support]: https://github.com/remarkjs/.github/blob/main/support.md
[support]: https://github.com/remarkjs/.github/blob/main/support.md
[github-gist-esm]: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
[coc]: https://github.com/remarkjs/.github/blob/main/code-of-conduct.md
[github-remark-lint]: https://github.com/remarkjs/remark-lint
[license]: https://github.com/remarkjs/remark-lint/blob/main/license
[github-unified-transformer]: https://github.com/unifiedjs/unified#transformer
[author]: https://wooorm.com
[npm-install]: https://docs.npmjs.com/cli/install
[typescript]: https://www.typescriptlang.org
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc