Registry / devops / stringify-entities

stringify-entities

JSON →
library4.0.4jsnpmunverified

Serialize (encode) HTML character references, converting special characters to HTML entities. Version 4.0.4 is ESM-only, ships TypeScript types, and is actively maintained. It offers full control: named references, shortest references, optional semicolons, attribute-safe mode, and subset encoding. A light version (`stringifyEntitiesLight`) omits formatting options for smaller bundles. Differentiators: spec-compliant, reliable `` ` `` encoding for IE6-8, avoids `'` unlike similar libraries.

npm install stringify-entities
INSTALL
IMPORT
SIG · STRINGIFY-ENTITIES
S
stringify-entities
devopsjavascriptv4.0.4
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.

stringifyEntities
import { stringifyEntities } from 'stringify-entities'
const stringifyEntities = require('stringify-entities')
ESM-only since v4. No default export. TypeScript types included.
stringifyEntitiesLight
import { stringifyEntitiesLight } from 'stringify-entities'
import stringifyEntitiesLight from 'stringify-entities'
Must use named import. Light version excludes formatting options for smaller bundle.
stringifyEntities (type import)
import type { stringifyEntities } from 'stringify-entities'
import { stringifyEntities as type } from 'stringify-entities'
For TypeScript type-only imports, use `import type`.

Demonstrates basic encoding, named references, light variant, subset option, and attribute mode with omitted semicolons.

import { stringifyEntities, stringifyEntitiesLight } from 'stringify-entities' // Basic usage: encodes dangerous, non-ASCII, non-printable characters const dangerous = '<script>alert("xss")</script>' console.log(stringifyEntities(dangerous)) // => '&lt;script&gt;alert(&quot;xss&quot;)&lt;/script&gt;' // With named references const named = stringifyEntities('© ≠ ', { useNamedReferences: true }) console.log(named) // => '&copy; &ne; ' // Light version (no formatting options) const light = stringifyEntitiesLight('©') console.log(light) // => '&#xA9;' // Subset: only encode specific characters const subset = stringifyEntities('a<b>c', { subset: ['<'] }) console.log(subset) // => 'a&lt;b>c' // Attribute-safe mode with omitted semicolons const attr = stringifyEntities('"', { attribute: true, omitOptionalSemicolons: true }) console.log(attr) // => '&quot'
Debug
Known issues
breakingv4 is ESM-only; dropping CommonJS (`require()`) support.
fix
Use `import` syntax or switch to v3 which supported both ESM and CJS.
affects: >=4.0.0
deprecatedv3 and earlier are deprecated; new features and fixes only on v4.
fix
Upgrade to v4.x.
affects: <4.0.0
gotcha`stringifyEntitiesLight` always outputs hexadecimal references; does not respect formatting options.
fix
Use `stringifyEntities` if you need named or shortest references.
affects: >=4.0.0
gotcha`omitOptionalSemicolons` creates parse errors; only use for minification.
fix
Avoid omitting semicolons unless you understand HTML parse error implications.
affects: >=1.0.0
gotcha`subset` only supports BMP characters (no emoji).
fix
Use `stringifyEntities` without subset for full Unicode support.
affects: >=1.0.0
Errors
Common errors & fixes
ERR_REQUIRE_ESM: Must use import to load ES Module: /path/to/node_modules/stringify-entities/index.js
v4 is ESM-only; `require()` cannot load it.
fix
Use `import { stringifyEntities } from 'stringify-entities'` or set `"type": "module"` in package.json.
TypeError: stringifyEntities is not a function
Default import used instead of named import.
fix
Use `import { stringifyEntities } from 'stringify-entities'`.
Uncaught ReferenceError: require is not defined
Trying to `require()` in an ESM environment.
fix
Switch to `import` syntax or downgrade to v3.
Upgrade
Version history
4.0.4latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
7 hits · last 30 days
node
6
Resources
stringify-entities — npm install stringify-entities · libregistry