0.0.6 • Published 2 months ago

git-filesystem v0.0.6

Weekly downloads
-
License
ISC
Repository
github
Last release
2 months ago

git-filesystem

A shared abstraction for cloud Git providers exposing a file-system-like API. Use this to read & write to repositories like they're file systems.

Supports:

  • GitHub 🚧
  • GitLab 🚧
  • BitBucket 🚧

Exposes methods for:

  • Creating a repository
  • Deleting a repository
  • Searching for repositories

  • Creating a file

  • Overwriting a file
  • Deleting a file

  • Creating tags

  • Reading files from tags

Installation

npm install git-filesystem

Example Usage

import { ClientFactory } from "git-filesystem";

const gitHubClient = new ClientFactory().getClientForProvider(
  "github",
  "github-username",
  "access-token",
  "user-agent-name"
);
// or
const gitLabClient = new ClientFactory().getClientForProvider(
  "gitlab",
  "gitlab-username",
  "access-token",
  "user-agent-name"
);
// or
const bitBucketClient = new ClientFactory().getClientForProvider(
  "bitbucket",
  "bitbucket-username",
  "access-token",
  "user-agent-name"
);

// and then

const gitHubRepository = gitHubClient.getRepository("repository-name");

let fileContent = await gitHubRepository.readFile("file/path.txt");
fileContent += "\n\nNewData";

await gitHubRepository.updateFile("file/path.txt", fileContent);

License

git-filesystem is licensed under the ISC License.