Skip to content

Engines & entrypoints

Optional engines live on tree-shakeable subpaths. Root keeps compatibility re-exports for core helpers.

Previous: DX / DiffView · Next: Merge

Subpath map

ImportExportsNotes
@jayoncode/object-diffdiff, compare, hasChanges, filters, patch, applyPatch, serialize, …Compatibility entry
@jayoncode/object-diff/corediff, compare, hasChanges, filtersSlim — no patch/serialize
@jayoncode/object-diff/patchpatch, applyPatch, validate, optimize, …Patch domain
@jayoncode/object-diff/formatterserialize, createSerializerFormats + plugins
@jayoncode/object-diff/mergemergeTwo-/three-way merge
@jayoncode/object-diff/queryfind, filter, exclude, query, …DiffResult helpers
@jayoncode/object-diff/statsstatisticsRich metrics
@jayoncode/object-diff/pluginscreateEngineOpt-in plugin host
@jayoncode/object-diff/viewcreateDiffView, explainFluent DX toolbox

When to use which

GoalPrefer
Dirty check only/core + hasChanges
Sync ops over the wire/patch
Collaborative drafts/merge
Filter an existing diff/query
Telemetry / dashboards/stats
Custom matchers / formatters / hooks/plugins
Review / explain a DiffResult/view + explain()
Fluent chaining/view

Root import of merge/query/stats/plugins is not supported — use the subpath.

Guides

EngineGuide
MergeMerge
QueryQuery
StatisticsStatistics
PluginsPlugins
Fluent DXDX
IntegrationsIntegrations
Performance / budgetsPerformance

An ecosystem of independent, headless TypeScript libraries engineered for modern web development. Every package includes interactive playgrounds and documentation that evolves alongside the code.