Skip to content

GoldenMatch

vgoldenmatch-js-v0.1.0 scope: goldenmatch-js Feature

This release adds 3 notable features for engineering teams evaluating rollout.

Published 3mo Data Pipelines & ETL
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

data-cleaning data-engineering data-matching data-quality deduplication entity-resolution
+14 more
fellegi-sunter fuzzy-matching knowledge-graph llm master-data-management mcp-server polars pprl python record-linkage rust splink typescript zero-config

Summary

AI summary

Updates What's in the box, Numbers, and result.stats across a mixed release.

Full changelog

🎉 goldenmatch-js v0.1.0 — TypeScript port

First release of the TypeScript / Node.js port of GoldenMatch. Full feature parity with the Python package.

Install

npm install goldenmatch

Quick start

import { dedupe } from "goldenmatch";

const result = dedupe(rows, {
  fuzzy: { name: 0.85 },
  blocking: ["zip"],
  threshold: 0.85,
});

console.log(result.stats);

What's in the box

  • Edge-safe core — runs in browsers, Vercel Edge Runtime, Cloudflare Workers, Deno
  • Pure-TS fuzzy scorers — Jaro-Winkler, Levenshtein, token-sort (rapidfuzz-compatible Indel), soundex, dice, jaccard, ensemble
  • Probabilistic matching — Fellegi-Sunter with Splink-style EM
  • PPRL — Privacy-preserving record linkage with SHA-256 bloom filters, byte-for-byte Python interop, 3 security levels (standard/high/paranoid with HMAC-SHA256)
  • LLM scorer + cross-encoder — OpenAI/Anthropic via fetch (edge-safe) + ONNX MiniLM via @huggingface/transformers
  • ANN blocking — brute-force kNN by default, optional hnswlib-node peer dep for sub-linear
  • Parallel scoring — optional piscina worker-thread pool
  • Graph ER, streaming, memory, review queue, sensitivity, CCMS/TWI
  • 11 CLI commands + MCP, REST, A2A servers
  • Interactive TUI via Ink (6 tabs: Data, Config, Matches, Golden, Boost, Export)
  • Cloud connectors — Snowflake, BigQuery, Databricks, Salesforce, HubSpot
  • DB backends — Postgres (pg), DuckDB (@duckdb/node-api)

Numbers

  • 478 tests passing across 48 test files
  • Strict TypeScriptnoUncheckedIndexedAccess, exactOptionalPropertyTypes
  • 18,549 LOC across 65 source files
  • Dual build — ESM + CJS + .d.ts for 5 entrypoints
  • Zero-dep install works — all advanced features behind optional peer deps

Scorer parity example

$ npx goldenmatch-js score MARTHA MARHTA --scorer jaro_winkler
jaro_winkler: 0.9611

Matches Python rapidfuzz.distance.JaroWinkler.similarity to 4 decimals, locked by tests/parity/scorer-ground-truth.test.ts.

Docs

  • npm: https://www.npmjs.com/package/goldenmatch
  • Full docs: https://benzsevern.github.io/goldenmatch/typescript
  • 11 examples: https://github.com/benzsevern/goldenmatch/tree/main/packages/goldenmatch-js/examples

Acknowledgments

TypeScript port built using Claude Code with parallel sub-agents. See PORTING_GUIDE.md in the repo for the playbook.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track GoldenMatch

Get notified when new releases ship.

Sign up free

About GoldenMatch

All releases →

Related context

Related tools

Earlier breaking changes

  • v3.1.0 `GOLDENMATCH_FRAME=polars` now requires the `[polars]` extra; raises error without it.
  • vgoldencheck-v3.0.0 `inferred_type` emits neutral dtype vocabulary (str/int/uint/float/date/datetime/bool/other) instead of raw Polars dtypes.
  • vgoldencheck-v3.0.0 'inferred_type' now emits a neutral dtype vocabulary instead of raw Polars dtype strings.
  • vgoldencheck-v3.0.0 `scan_file`, `scan_dataframe`, and CLI `check` now run without Polars, using Arrow-native pyarrow.Table.
  • v3.0.0 Result frames now return pyarrow.Table instead of Polars DataFrame.

Beta — feedback welcome: [email protected]