{"id":26276,"library":"remark-lint-no-unneeded-full-reference-link","title":"remark-lint-no-unneeded-full-reference-link","description":"A remark-lint rule (v4.0.1, ESM-only, ships TypeScript types) that warns when full reference links like `[text][label]` can be collapsed to `[text][]` because the label matches the text. Part of the remark-lint ecosystem, it helps enforce consistent reference link syntax. No configuration options. Active development with frequent releases.","status":"active","version":"4.0.1","language":"javascript","source_language":"en","source_url":"https://github.com/remarkjs/remark-lint#main","tags":["javascript","collapsed","full","link","lint","reference","remark","remark-lint","remark-lint-rule","typescript"],"install":[{"cmd":"npm install remark-lint-no-unneeded-full-reference-link","lang":"bash","label":"npm"},{"cmd":"yarn add remark-lint-no-unneeded-full-reference-link","lang":"bash","label":"yarn"},{"cmd":"pnpm add remark-lint-no-unneeded-full-reference-link","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required as a peer for the remark ecosystem; the plugin integrates with unified's transformer pipeline.","package":"unified","optional":false}],"imports":[{"note":"This package is ESM-only since v4.0.0; CommonJS require() will fail.","wrong":"const remarkLintNoUnneededFullReferenceLink = require('remark-lint-no-unneeded-full-reference-link')","symbol":"default","correct":"import remarkLintNoUnneededFullReferenceLink from 'remark-lint-no-unneeded-full-reference-link'"}],"quickstart":{"code":"import { unified } from 'unified';\nimport remarkParse from 'remark-parse';\nimport remarkLint from 'remark-lint';\nimport remarkStringify from 'remark-stringify';\nimport remarkLintNoUnneededFullReferenceLink from 'remark-lint-no-unneeded-full-reference-link';\nimport { reporter } from 'vfile-reporter';\nimport { read } from 'to-vfile';\n\nconst file = await read('example.md');\n\nawait unified()\n  .use(remarkParse)\n  .use(remarkLint)\n  .use(remarkLintNoUnneededFullReferenceLink)\n  .use(remarkStringify)\n  .process(file);\n\nconsole.error(reporter(file));","lang":"typescript","description":"Shows how to use the rule with unified, reading a markdown file, and reporting lint messages."},"warnings":[{"fix":"Switch to ESM imports: use import syntax instead of require().","message":"ESM-only: this package dropped CommonJS support in v4.0.0.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Upgrade Node.js to version 16 or later, or use an older version (v3.x) which supports CJS.","message":"Node.js 16+ required as of v4.0.0 due to ESM-only adoption.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Do not pass options to .use().","message":"The rule has no configuration options; attempting to pass options will be silently ignored.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Convert your project to ESM (add \"type\": \"module\" in package.json) or use dynamic import().","cause":"Using CommonJS require() on an ESM-only package.","error":"Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/node_modules/remark-lint-no-unneeded-full-reference-link/index.js from /path/to/project/index.js not supported."},{"fix":"Run 'npm install remark-lint-no-unneeded-full-reference-link' and ensure your import/require path matches the package name.","cause":"Package not installed or incorrect import path.","error":"Cannot find module 'remark-lint-no-unneeded-full-reference-link'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}