Numerous Pancakes Munched

    TypeScript icon, indicating that this package has built-in type declarations

    0.1.0 • Public • Published


    build status dependency status npm version

    This is a compact high-level JavaScript API for git. No git installation is needed. It wraps the low-level js-git API to investigate working copies of repositories stored in the local filesystem, much like the git command line tool is often used.


    The main high-level operations are:

    • Get info (hash, message, time and author) for any commit (getCommit).
    • Get logs with commit info working backwards from any commit (getLog).
      • Optionally filtered to only include commits with changes to a particular file (stopping at renames).
    • Check if a particular file in the working tree has changed since the latest commit (isDirty).


    Docs generated using docts

    Interface CommitInfo

    Source code: <>


    .tree string
    .parents string[]
    .author UserTimeInfo
    .committer UserTimeInfo
    .message string
    .hash string

    Interface FileInfo

    Source code: <>


    .mode number
    .hash string

    Interface GetLogOptions

    Filtering options for retrieving logs.
    Source code: <>


    .path? string
    Only match commits where file at path was changed.
    .count? number
    Only match up to given number of commits.

    Class Git

    Source code: <>


    new( ) Git <>
     ▪ basePath string
    .getWorkingHead( ) Bluebird<HeadInfo> <>
    Get promise resolving to the hash of current working tree HEAD commit.
    .getCommit( ) Bluebird<CommitInfo> <>
    Get info for commit based on its hash.
     ▪ commitHash string
    .resolve( ) string <>
    Get absolute path to file inside working copy.
     ▪ pathName string
    .relative( ) string <>
    Get path to file inside working copy relative to its root.
     ▪ pathName string
    .findPath( ) Bluebird<FileInfo> <>
    Get info for file at pathName inside tree. Tree is a hash
    pointing to the contents of a commit, defined in the commit's info.
     ▪ treeHash string
     ▪ pathName string
    .isDirty( ) Bluebird<boolean> <>
    Get promise resolving to true if file inside working tree is dirty,
    false otherwise.
     ▪ pathName string
    .walkLog( ) Bluebird<void> <>
    Walk the commit log from given hash towards the initial commit,
    calling handler for each commit matching options.
     ▪ commitHash string
     ▪ options GetLogOptions
     ▪ handler (entry: CommitInfo) => void
    .getLog( ) Bluebird<CommitInfo[]> <>
    Get promise resolving to a list of commits matching options,
    in reverse topological / chronological order
    from given hash towards the initial commit.
     ▪ hash string
     ▫ options? GetLogOptions

    Interface HeadInfo

    Source code: <>


    .branch? string
    .hash? string

    Interface UserTimeInfo

    Source code: <>


    .name string
    .email string
    .date { seconds: number; offset: number; }

    Function getHash

    Get promise resolving to desired type of hash (eg. sha1) for contents of stream.
    Optionally prefix contents with an arbitrary header before hashing.
    Source code: <>

    getHash( ) Bluebird<string> <>
     ▪ type string
     ▪ dataStream Readable
     ▫ prefix? string


    The MIT License

    Copyright (c) 2016 BusFaster Ltd




    npm i ts-git

    DownloadsWeekly Downloads






    Last publish


    • jjrv