Security News
GitHub Removes Malicious Pull Requests Targeting Open Source Repositories
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
micromark-util-normalize-identifier
Advanced tools
micromark utility normalize identifiers (as found in references, definitions)
The micromark-util-normalize-identifier package is a utility for normalizing identifiers in markdown processing. It ensures that identifiers are consistent and can be compared reliably, which is particularly useful in markdown parsers and processors.
Normalize Identifiers
This feature allows you to normalize a given identifier to a consistent format. The example code demonstrates how to normalize an identifier by converting it to lowercase and replacing non-alphanumeric characters with hyphens.
const normalizeIdentifier = require('micromark-util-normalize-identifier');
const id = 'Some-Example_ID';
const normalizedId = normalizeIdentifier(id);
console.log(normalizedId); // Output: 'some-example-id'
The slugify package converts strings into URL-friendly slugs. It is similar to micromark-util-normalize-identifier in that it normalizes strings, but it is more focused on creating slugs for URLs rather than general identifier normalization.
The sanitize-filename package is used to sanitize filenames by removing or replacing invalid characters. While it also deals with string normalization, its primary focus is on ensuring filenames are safe and valid across different filesystems, unlike micromark-util-normalize-identifier which is more general-purpose.
The lodash.kebabcase package is a utility that converts strings to kebab case. It is similar to micromark-util-normalize-identifier in that it normalizes strings by converting them to a specific case format, but it is part of the larger lodash library which provides a wide range of utility functions.
micromark utility normalize identifiers.
This package exposes an algorithm to normalize identifiers found in markdown.
This package might be useful when you are making your own micromark extensions.
This package is ESM only. In Node.js (version 16+), install with npm:
npm install micromark-util-normalize-identifier
In Deno with esm.sh
:
import {normalizeIdentifier} from 'https://esm.sh/micromark-util-normalize-identifier@1'
In browsers with esm.sh
:
<script type="module">
import {normalizeIdentifier} from 'https://esm.sh/micromark-util-normalize-identifier@1?bundle'
</script>
import {normalizeIdentifier} from 'micromark-util-normalize-identifier'
normalizeIdentifier(' a ') // 'A'
normalizeIdentifier('a\t\r\nb') // 'A B'
normalizeIdentifier('ТОЛПОЙ') // 'ТОЛПОЙ'
normalizeIdentifier('Толпой') // 'ТОЛПОЙ'
This module exports the identifier
normalizeIdentifier
.
There is no default export.
normalizeIdentifier(value)
Normalize an identifier (as found in references, definitions).
Collapses markdown whitespace, trim, and then lower- and uppercase.
Some characters are considered “uppercase”, such as U+03F4 (ϴ
), but if their
lowercase counterpart (U+03B8 (θ
)) is uppercased will result in a different
uppercase character (U+0398 (Θ
)).
So, to get a canonical form, we perform both lower- and uppercase.
Using uppercase last makes sure keys will never interact with default
prototypal values (such as constructor
): nothing in the prototype of Object
is uppercase.
value
(string
)
— identifier to normalizeNormalized identifier (string
).
This package is fully typed with TypeScript. It exports no additional types.
Projects maintained by the unified collective are compatible with maintained versions of Node.js.
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,
micromark-util-normalize-identifier@2
, compatible with Node.js 16.
This package works with micromark@3
.
This package is safe.
See security.md
in micromark/.github
for how to
submit a security report.
See contributing.md
in micromark/.github
for ways
to get started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organisation, or community you agree to abide by its terms.
FAQs
micromark utility normalize identifiers (as found in references, definitions)
The npm package micromark-util-normalize-identifier receives a total of 2,291,790 weekly downloads. As such, micromark-util-normalize-identifier popularity was classified as popular.
We found that micromark-util-normalize-identifier demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.