StructuredMerge TypeScript provides npm packages for editor integrations, web-hosted tools, Node services, and other JavaScript runtimes that need portable structured-merge behavior.
The workspace includes the core AST/review contracts, parser substrate support, format-specific merge packages, binary/ZIP planning helpers, provider adapters, and a TypeScript packaging recipe package.
Project links:
- Website: https://structuredmerge.org
- Implementations: https://structuredmerge.org/implementations.html
- Specification: https://github.com/structuredmerge/structuredmerge-spec
- Shared fixtures: https://github.com/structuredmerge/structuredmerge-fixtures
Install the packages your tool needs:
pnpm add @structuredmerge/ast-merge @structuredmerge/json-mergeThe packages are published under the @structuredmerge npm scope.
Core:
@structuredmerge/tree-haver- parser substrate, byte ranges, backend adapters, and binary tree contracts.@structuredmerge/ast-merge- AST merge contracts, diagnostics, planning, review, replay, and nested-merge vocabulary.@structuredmerge/ast-template- template/session transport contracts.
Format libraries:
@structuredmerge/plain-merge@structuredmerge/json-merge@structuredmerge/yaml-merge@structuredmerge/toml-merge@structuredmerge/markdown-merge@structuredmerge/ruby-merge@structuredmerge/go-merge@structuredmerge/javascript-merge@structuredmerge/c-merge@structuredmerge/cpp-merge@structuredmerge/csharp-merge@structuredmerge/java-merge@structuredmerge/python-merge@structuredmerge/rust-merge@structuredmerge/typescript-merge@structuredmerge/binary-merge@structuredmerge/zip-merge
Provider and recipe packages:
@structuredmerge/js-yaml-merge@structuredmerge/peggy-toml-merge@structuredmerge/markdown-it-merge@structuredmerge/typescript-compiler-merge@structuredmerge/kettle-nodule
The TypeScript packages are developed against the shared StructuredMerge fixtures. Those fixtures define the cross-language behavior expected from the Go, TypeScript, Rust, and Ruby implementations. Conformance checks live in package tests and in the shared spec/fixture tooling rather than in a static launch-status document.
Common checks:
mise run checkpnpm run checkpnpm test