micromark-util-normalize-identifier is a dedicated utility package within the `micromark` ecosystem, designed to provide a robust algorithm for normalizing identifiers encountered in markdown, such as those in references and definitions. The current stable version is `2.0.1`, which is compatible with `micromark@3` and requires Node.js 16 or later. As part of the actively developed `micromark` monorepo, it follows a release cadence tied to the broader project's updates. Its key differentiator lies in its specific approach to canonicalizing identifiers: it collapses markdown whitespace, trims, and then performs a precise lower- and uppercase transformation. This two-step case conversion addresses edge cases with certain Unicode characters (e.g., U+03F4 vs. U+03B8 vs. U+0398) to ensure a truly canonical form, while also using uppercase last to prevent collisions with `Object.prototype` properties like `constructor`. It is an ESM-only package.
npm install micromark-util-normalize-identifierVerified import paths — ran on the pinned version, not inferred.
Demonstrates how to import and use `normalizeIdentifier` with various input strings to show its whitespace collapsing, trimming, and casing behavior.
Migrate your project to use ES modules or use dynamic import() if you need to load this package in a CommonJS context.
Upgrade your Node.js environment to version 16 or newer.
Be aware of this specific two-step casing process if you have custom identifier handling logic that might conflict with this approach.
Change `const { normalizeIdentifier } = require('micromark-util-normalize-identifier')` to `import { normalizeIdentifier } from 'micromark-util-normalize-identifier'` and ensure your project is configured for ES modules.Ensure you have `import { normalizeIdentifier } from 'micromark-util-normalize-identifier';` at the top of your file and the symbol name is correct.No dependency data recorded yet.