Registry / storage / lexical-minifier

lexical-minifier

JSON →
library1.0.1jsnpmunverified

A minifier for compressing and decompressing JSON state from the lexical editor. Version 1.0.1 reduces output size by mapping property names to single characters, using integer codes, and removing default values. It supports built-in minifiers for all official lexical nodes and allows custom node minifiers. The package provides full reversibility and includes unit tests. Release cadence is low; it's a focused utility with no major competitors beyond manual compression.

npm install lexical-minifier
INSTALL
IMPORT
SIG · LEXICAL-MINIFIER
L
lexical-minifier
storagejavascriptv1.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.

minify
import { minify } from 'lexical-minifier'
const minify = require('lexical-minifier').minify
ESM-only package; named export. CommonJS require works but destructure is needed.
unminify
import { unminify } from 'lexical-minifier'
import unminify from 'lexical-minifier'
Named export, not default. Do not use default import.
registerMinifier
import { registerMinifier } from 'lexical-minifier'
For custom node minifiers. TypeScript types are included.

Shows how to minify and unminify lexical editor state using the lexical-minifier package inside an editor.update callback.

import { $getRoot } from 'lexical'; import { minify, unminify } from 'lexical-minifier'; // Inside an editor.update callback: editor.update(() => { const minifiedState = minify($getRoot()); console.log('Minified:', minifiedState); const serializedNodes = unminify(minifiedState); const editorState = editor.parseEditorState({ root: serializedNodes }); editor.setEditorState(editorState); });
Debug
Known issues
deprecatedThe package is no longer actively maintained; no updates since version 1.0.0 released in 2023.
fix
Consider forking or using an alternative if bug fixes are needed.
affects: >=1.0.0
gotchaMinified format is not human-readable; debugging requires unminifying first.
fix
Store both original and minified state for debugging.
affects: >=1.0.0
gotchaOnly works with lexical serialized state; cannot minify arbitrary JSON.
fix
Ensure input is produced by $getRoot() or similar lexical export.
affects: >=1.0.0
gotchaCustom nodes require writing and registering a minifier; otherwise they are not minified.
fix
Use registerMinifier to add minifier for your custom node.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: lexical_minifier_1.minify is not a function
Incorrect import: default import instead of named import.
fix
Change to import { minify } from 'lexical-minifier'
Error: No minifier registered for node type 'custom'
Custom node not supported.
fix
Write a minifier and call registerMinifier(minifier).
SyntaxError: Unexpected token '}' in JSON
Trying to parse minified output as JSON.
fix
Minified output is already JSON string; do not double-parse.
Upgrade
Version history
1.0.1latest on npm
Audit
Dependencies

No dependency data recorded yet.

Agent activity
18 hits · last 30 days
node
18
Resources
lexical-minifier — npm install lexical-minifier · libregistry