A (relatively) small node library to clone and pull git repositories in a standalone manner thanks to libgit2, powered by WebAssembly and Emscripten
npm install @powercord/simple-git-wasmsimple-git-wasmMade 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.
[pnpm | yarn | npm] i @powercord/simple-git-wasm
`$3
Note: Submodules will be cloned as well.
`js
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!')
}
`
$3
Note: Submodules will be updated if necessary.
`js
const sgw = require('@powercord/simple-git-wasm')try {
await sgw.pull('./sgw')
} catch (e) {
console.error('An error occurred while pulling the repository!')
}
`$3
`js
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!')
}
``I (Cynthia) patched my Emscripten installation to strip things not needed but included in the final build.
- https://github.com/emscripten-core/emscripten/issues/11805 (patch in the comments)