Registry / testing / remark-lint-directive-collapsed-attribute

remark-lint-directive-collapsed-attribute

JSON →
library1.0.1jsnpmunverified

A remark-lint rule that enforces collapsed attribute notation in directives, warning when verbose attribute values are used (e.g., `{largest=""}` instead of `{largest}`). Version 1.0.1, ESM-only, requires Node.js 16+. Ships TypeScript types. Part of the unified/remark ecosystem. Does not ship with any preset.

npm install remark-lint-directive-collapsed-attribute
INSTALL
IMPORT
SIG · REMARK-LINT-DIRECT
R
remark-lint-directive-collapsed-attribute
testingjavascriptv1.0.1
harness data pending
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.

remarkLintDirectiveCollapsedAttribute
import remarkLintDirectiveCollapsedAttribute from 'remark-lint-directive-collapsed-attribute'
const remarkLintDirectiveCollapsedAttribute = require('remark-lint-directive-collapsed-attribute')
Package is ESM-only since v1; CommonJS require() will fail.
remarkLintDirectiveCollapsedAttribute (default export)
import remarkLintDirectiveCollapsedAttribute from 'remark-lint-directive-collapsed-attribute'
import { remarkLintDirectiveCollapsedAttribute } from 'remark-lint-directive-collapsed-attribute'
Default export only; named import will not work.
TypeScript types
import type { RemarkLintDirectiveCollapsedAttributeOptions } from 'remark-lint-directive-collapsed-attribute'
Types are shipped but no named type exports in current version; use inferred type from return.

Demonstrates how to use the rule with unified pipeline: parse markdown, apply linting, and check for collapsed attribute warnings.

import remarkLint from 'remark-lint'; import remarkLintDirectiveCollapsedAttribute from 'remark-lint-directive-collapsed-attribute'; import remarkParse from 'remark-parse'; import remarkStringify from 'remark-stringify'; import { unified } from 'unified'; import { read } from 'to-vfile'; const file = await read('example.md'); await unified() .use(remarkParse) .use(remarkLint) .use(remarkLintDirectiveCollapsedAttribute) .use(remarkStringify) .process(file); console.log(file.messages);
Debug
Known issues
breakingPackage is ESM-only and cannot be imported using require().
fix
Use import syntax or dynamic import(). For Node.js CJS, consider using a bundler or setting type: module.
affects: >=1.0.0
gotchaThe rule only works on directives parsed by remark-directive; without it, directives are not recognized and no warnings are emitted.
fix
Ensure you have remark-directive installed and added to the unified pipeline before this rule.
affects: >=1.0.0
deprecatedNo deprecation warnings known.
fix
N/A
affects: <1.0.0
Errors
Common errors & fixes
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'remark-lint-directive-collapsed-attribute'
CommonJS require() used on ESM-only package.
fix
Replace require() with import: import remarkLintDirectiveCollapsedAttribute from 'remark-lint-directive-collapsed-attribute'
TypeError: remarkLintDirectiveCollapsedAttribute is not a function
Importing the package incorrectly (e.g., named import instead of default).
fix
Ensure you use the default import: import remarkLintDirectiveCollapsedAttribute from 'remark-lint-directive-collapsed-attribute'
1:18-1:25: Unexpected verbose attribute value, expected collapsed attribute
Using verbose attribute notation like `{largest=""}` instead of collapsed `{largest}`.
fix
Use collapsed attribute syntax: `:planet[Jupiter]{largest}`
Upgrade
Version history
1.0.1latest on npm
Audit
Dependencies
unifiedoptionalCore dependency for processing; though bundled with remark-lint
remark-lintrequiredRequired to use this rule
remark-directiveoptionalRequired to parse directives (not a direct dependency but commonly used together)
Agent activity
4 hits · last 30 days
node
4
Resources
remark-lint-directive-collapsed-attribute — npm install remark-lint-directive-collapsed-attribute · libregistry