0.5.1 • Published 25 days ago

@fetsorn/isogit-lfs v0.5.1

Weekly downloads
-
License
MIT
Repository
-
Last release
25 days ago

A set of helpers to simplify working with Git LFS through Isomorphic Git.

== Installation

Peer dependencies:

  • Isomorphic Git ^1.21.0

== Usage

As of 0.5.0, API offers the following functions:

  • downloadBlobFromPointer({ http, headers, url, auth }, lfsPointer) => Buffer

+ where http is an HttpClient as supported by Isomorphic Git, URL is repository URL and lfsPointer is an object returned by readPointer(). + Uses cache, if the object had been previously retrieved.

  • uploadBlobs({ http, headers, url, auth }, buffers) => LFSPointerInfo

+ where first argument is the same as for the download function, and returned pointer info can be used to write a pointer file in place of actual object in Git repository (pass it through formatPointerInfo()).

  • readPointer({ dir, gitdir, content }) => LFSPointer

+ where dir, gitdir behavior mimics that of Isomorphic Git, and content is a Buffer.

  • buildPointerInfo(content) => LFSPointerInfo

+ converts file to a pointer.

  • readPointerInfo(buffer) => LFSPointerInfo

+ reads a properly formatted LFS pointer within a Git repository.

  • formatPointerInfo(lfsPointerInfo) => Buffer

+ converts pointer info to appropriately formatted blob suitable to be stored in Git repository in place of actual object data.

  • populateCache(workDir, ref?)

+ where workDir is a path to working directory, and ref should probably be left at the default "HEAD". +

  • pointsToLFS(content) => boolean

+ tells if file is an LFS pointer.

  • downloadUrlFromPointer({ http, headers, url, auth, info }) => Buffer

+ where http is an HttpClient as supported by Isomorphic Git, URL is repository URL and info is an object returned by buildPointerInfo().

  • addLFS({ fs, dir, filepath })

+ where fs is an FsClient as supported by Isomorphic Git, dir is the working tree directory path and filepath is the path to the original file

== Considered within scope

  • Implement batch uploads and downloads (parallelise requests? use native batch API?)
  • Find a way to generalize UA header handling
0.5.1

25 days ago

0.4.1

12 months ago

0.4.0

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.3

1 year ago

0.3.0

2 years ago

0.2.8

2 years ago