Socket
Socket
Sign inDemoInstall

@powercord/simple-git-wasm

Package Overview
Dependencies
Maintainers
3
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@powercord/simple-git-wasm

A (relatively) small node library to clone and pull git repositories in a standalone manner thanks to libgit2, powered by WebAssembly and Emscripten


Version published
Weekly downloads
0
decreased by-100%
Maintainers
3
Weekly downloads
 
Created
Source

simple-git-wasm

A (relatively) small node library to clone and pull git repositories in a standalone manner thanks to libgit2, powered by WebAssembly and Emscripten.

Made to be used as part of the Powercord built-in updater. Despite the set purpose, the lib can be used by anyone who wishes to if it fits their use case.

Why?

Not happy with the solutions I had. isomorphic-git is a HEAVY beast, and wasm-git is too raw for me, me like some syntax sugar. Makes my software sweeter. It also doesn't support things it cannot support because of its target (I only care about Node, so I can make different design choices).

Usage

Installation:

[pnpm | yarn | npm] i @powercord/simple-git-wasm

Clone a repository

Note: Submodules will be cloned as well.

const sgw = require('@powercord/simple-git-wasm')

try {
  await sgw.clone('https://github.com/powercord-org/simple-git-wasm', './sgw')
} catch (e) {
  console.error('An error occurred while cloning the repository!')
}

Pull a repository

Note: Submodules will be updated if necessary.

const sgw = require('@powercord/simple-git-wasm')

try {
  await sgw.pull('./sgw')
} catch (e) {
  console.error('An error occurred while pulling the repository!')
}

Check for updates (new commits)

const sgw = require('@powercord/simple-git-wasm')

try {
  const updates = await sgw.listUpdates('./sgw')
  console.log(updates)
  // ~> [
  // ~>   { id: 'abcdef.....', message: 'This is the newest commit', author: 'Cynthia' },
  // ~>   { id: 'abcdef.....', message: 'This is a new commit', author: 'Cynthia' },
  // ~>   { id: 'abcdef.....', message: 'This is the oldest new commit', author: 'Cynthia' },
  // ~> ]
} catch (e) {
  console.error('An error occurred while pulling the repository!')
}

Notes

The following PRs are required for this to work:

I (Cynthia) patched my Emscripten installation to strip things not needed but included in the final build.

FAQs

Package last updated on 27 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc