Registry /
testing / remark-lint-directive-unique-attribute-name
Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
default
✓ import remarkLintDirectiveUniqueAttributeName from 'remark-lint-directive-unique-attribute-name'
✗ const remarkLintDirectiveUniqueAttributeName = require('remark-lint-directive-unique-attribute-name')
Package is ESM-only since v1.0.0; CommonJS require throws.
remarkLintDirectiveUniqueAttributeName
✓ import remarkLintDirectiveUniqueAttributeName from 'remark-lint-directive-unique-attribute-name'
Default export is the only export; no named exports.
Shows how to set up the rule with required plugins and check for duplicate attribute names in directives.
import { unified } from 'unified';
import remarkParse from 'remark-parse';
import remarkDirective from 'remark-directive';
import remarkLint from 'remark-lint';
import remarkLintDirectiveUniqueAttributeName from 'remark-lint-directive-unique-attribute-name';
import remarkStringify from 'remark-stringify';
import { reporter } from 'vfile-reporter';
const file = await unified()
.use(remarkParse)
.use(remarkDirective)
.use(remarkLint)
.use(remarkLintDirectiveUniqueAttributeName)
.use(remarkStringify)
.process(':planet[Venus]{aphelion=0.728213 perihelion=0.718440 symbol=♀︎}');
console.error(reporter(file)); // no warnings
const file2 = await unified()
.use(remarkParse)
.use(remarkDirective)
.use(remarkLint)
.use(remarkLintDirectiveUniqueAttributeName)
.use(remarkStringify)
.process(':planet[Venus]{aphelion=0.728213 aphelion=0.718440}');
console.error(reporter(file2)); // warns about duplicate 'aphelion'
Errors
Common errors & fixes
Error [ERR_REQUIRE_ESM]: require() of ES Module /path/to/remark-lint-directive-unique-attribute-name/index.js from /path/to/file.js not supported.
Using require() on an ESM-only package.
fixChange to import statement: import remarkLintDirectiveUniqueAttributeName from 'remark-lint-directive-unique-attribute-name'
Unexpected attribute name with equal text, expected unique attribute names
Duplicate attribute names in the same directive.
fixRemove or rename duplicate attributes so each name appears only once.
Audit
Dependencies
remark-lintrequiredCore linting plugin required to run rule checks
remark-directiverequiredParses directive syntax; this rule validates directive attributes