awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
kpdecker avatar

kpdecker/jsdiff

0
View on GitHub↗
9,063 stars·528 forks·JavaScript·bsd-3-clause·14 views

Jsdiff

jsdiff is a JavaScript text diffing library and comparison engine used to compute differences between strings or arrays. It identifies additions and removals between blocks of text and provides a system for generating and applying formatted Unix-style patches.

The toolkit functions as a customizable token differ, allowing for the comparison of arbitrary token sequences using user-defined equality and tokenization rules. This enables the creation of specialized comparison tools for non-standard text or data formats.

Comparison capabilities are available at the character, word, and line levels. The library also supports multi-file patch processing to synchronize content across several files, including the handling of file renames and mode changes.

Features

  • Customizable Sequence Differs - Functions as a logic engine that compares two sequences of arbitrary tokens using user-defined rules.
  • Difference Calculations - Provides a general differencing algorithm to calculate additions and removals between strings at the character, word, or line level.
  • Text Tokenization Pipelines - Implements a customizable pipeline to transform raw text into tokens for granular comparison.
  • Diff-Based Patching - Implements mechanisms for applying granular code changes via diffs to update text blocks.
  • JavaScript Utility Libraries - Provides a comprehensive set of JavaScript utility functions for computing text differences and generating patches.
  • Patch Generators - Generates structured representations of changes in standard text-based patch formats compatible with Unix.
  • Unix Patch Implementations - Provides a system for applying and generating formatted Unix patch strings to update text files.
  • Comparison Engines - Implements the core logic layer responsible for calculating differences between blocks of text.
  • Sequence Comparison Algorithms - Provides the core logic to identify additions and deletions between two arrays of arbitrary tokens.
  • Textual Difference Analysis - Identifies specific changes between two blocks of text at the character, word, or line level.
  • Token-Based Differencing - Computes discrepancies between strings by splitting them into arrays of tokens for comparison.
  • Token Sequence Differencing - Implements a utility to compute differences between two arrays of arbitrary tokens using a customizable equality comparator.
  • Word-Level Comparison - A differencing process that identifies changes between two strings by treating words and punctuation as tokens.
  • Filesystem Patch Application - Modifies one or more files using a patch object to change content, renames, and modes.
  • Multi-File Patch Synchronization - Manages content updates across several files simultaneously, including file renames and mode changes.
  • Multi-File Patch Processing - Processes a series of changes across multiple files while managing file renames and mode changes.
  • Character-Level Diffing - Identifies changes between two strings by treating every individual Unicode code point as a token.
  • Pluggable Comparators - Allows the difference engine to use custom comparison functions to determine if two tokens are identical.
  • Diffing Rule Definitions - Provides interfaces for establishing custom identity and equality rules to control diffing behavior.
  • Line-Level Diffing - Identifies changes between two strings by treating each line as a token.
  • Text and String Utilities - Implements text difference algorithms for JavaScript.

Star history

Star history chart for kpdecker/jsdiffStar history chart for kpdecker/jsdiff

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Jsdiff

These projects share indexed features with Jsdiff. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • sebastianbergmann/diffsebastianbergmann avatar

    sebastianbergmann/diff

    7,663View on GitHub↗

    This is a sequence comparison library and text difference engine that implements the Myers diff algorithm to identify additions and deletions between two sequences of text or arrays. It functions as a tool for calculating the shortest edit script to determine exactly which elements were modified between two versions of a file. The project provides a unified diff generator to produce standard textual representations of changes for human review, as well as a unified diff parser that converts these strings into structured objects for programmatic analysis. The engine treats text inputs as array

    PHP
    View on GitHub↗7,663
  • phuocng/1locphuocng avatar

    phuocng/1loc

    6,738View on GitHub↗

    1loc is a JavaScript utility library and multifaceted toolkit providing a collection of single-line functions for common mathematical, string, date, and geometric operations. It functions as a set of functional programming helpers and data validation predicates designed to perform atomic transformations and validations. The project includes a geometry math library for calculating distances, angles, and spatial overlaps between points and rectangles, alongside a text manipulation library for casting, capitalizing, and analyzing string content. The toolkit covers broader capability areas inclu

    MDXeleventyjavascriptjavascript-utils
    View on GitHub↗6,738
  • google/diff-match-patchgoogle avatar

    google/diff-match-patch

    8,065View on GitHub↗

    This is a text diffing and patching library used for computing differences between text blocks, calculating edit distances, and applying patches to synchronize document versions. It includes a fuzzy text matching engine to locate strings by balancing accuracy with location, and a Levenshtein distance calculator to measure the number of character insertions, deletions, and substitutions between two strings. The library features a semantic diff optimizer that refines raw text differences to align with human-readable word and phrase boundaries. It provides utilities for generating and parsing se

    Pythondiffdifferencematch
    View on GitHub↗8,065
  • winmerge/winmergeWinMerge avatar

    WinMerge/winmerge

    8,510View on GitHub↗

    WinMerge is a visual file comparison and merge tool used to identify and synchronize differences between text files, folders, and images. It functions as a diff and patch generator, a visual folder synchronizer, and a hex binary comparator for non-text data. The tool provides specialized comparison modes for diverse content types, including side-by-side webpage rendering for HTML and resource trees, tabular data analysis for delimited files in a grid view, and visual image comparison using overlays and animations. It also supports comparing the contents of compressed archives without manual e

    C++c-plus-pluscompare-filescsv
    View on GitHub↗8,510
Compare all 30 related projects→

Frequently asked questions

What does kpdecker/jsdiff do?

jsdiff is a JavaScript text diffing library and comparison engine used to compute differences between strings or arrays. It identifies additions and removals between blocks of text and provides a system for generating and applying formatted Unix-style patches.

What are the main features of kpdecker/jsdiff?

The main features of kpdecker/jsdiff are: Customizable Sequence Differs, Difference Calculations, Text Tokenization Pipelines, Diff-Based Patching, JavaScript Utility Libraries, Patch Generators, Unix Patch Implementations, Comparison Engines.

Which projects share features with kpdecker/jsdiff?

Projects with overlapping indexed features include: sebastianbergmann/diff — This is a sequence comparison library and text difference engine that implements the Myers diff algorithm to identify… phuocng/1loc — 1loc is a JavaScript utility library and multifaceted toolkit providing a collection of single-line functions for… winmerge/winmerge — WinMerge is a visual file comparison and merge tool used to identify and synchronize differences between text files,… google/diff-match-patch — This is a text diffing and patching library used for computing differences between text blocks, calculating edit… ds300/patch-package — Patch-package is a utility that extends JavaScript package managers to capture and reapply local modifications made to… google/closure-library — Closure Library is a JavaScript standard library and utility toolset designed for building large-scale web…