Install this package in your project:
# via npm
npm add neogit
# or pnpm
pnpm add neogit
# or yarn
yarn add neogit
NeoGit is a pure TS library serving as a readonly, high-performance alternative to isomorphic-git, addressing several issues (i.e. incorrect merge-base algorithm).
IsoGit caches many things, including entire Git object packs (potentially massive). In contrast,
NeoGit takes a minimal and deliberate approach to caching. While caching much less data, NeoGit
still outperforms IsoGit by a factor of 2x in many scenarios (literally
NeoGit is suitable for environments where native modules are not supported, such as VSCode extensions. It provides a lightweight yet performant alternative to NodeGit when cache invalidation is not a primary concern.
Developed for VSCode Git Branch, this library focuses on a core set of Git features and is not a full implementation of all Git capabilities (but could be done rather easily). Therefore API is not documented, plus I'm particularly lazy (it should be self-documenting).
Caching whole pack files...?