{"repo":"petersalomonsen/wasm-git","free":true,"listed":false,"github":"https://github.com/petersalomonsen/wasm-git","clone":"git clone https://github.com/petersalomonsen/wasm-git.git","description":"GIT for nodejs and the browser using https://libgit2.org compiled to WebAssembly with https://emscripten.org","language":"JavaScript","stars":839,"topics":["git","webassembly","emscripten","libgit2","nodejs","wasm","javascript"],"license":null,"category":"dev-tools","readme_excerpt":"Wasm-git ======== (Wasm should be pronounced like awesome starting with a W — as stated in the WebAssembly Music talk at WebAssembly Summit 2020). Git for Node.js and the browser, using libgit2 compiled to WebAssembly with Emscripten. Imagine that every app you use kept a complete journal of your data: every change recorded, a backup on your own computer that is truly yours, and synchronization between your devices whenever you want it. Software developers have had exactly this for decades — the tool is called Git. Wasm-git brings that same engine to web applications: store user data locally in the browser with full change history, and push/pull to a remote when — and only when — the user chooses. The application doesn't need to expose any Git terminology: a single \"synchronize data\" button can do all of it behind the scenes. Quick start The package ships prebuilt WebAssembly binaries in several variants (see Choosing a variant below). The easiest one to start with is the async variant, which runs on the browser main thread or in Node.js with plain async / await : Cloning and pushing over HTTP works the same way: When cloning from the browser, the git server must allow cross-origin requests (CORS) — or be served from the same origin. githttpserver is a ready-made reference server, and its live instance at https://wasm-git.petersalomonsen.com/ is an open playground where you can try cloning, editing, committing and pushing directly in the browser (please don't abuse it — it's ","default_branch":null,"files":null,"tree":[],"storefront":"/r/petersalomonsen","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/petersalomonsen/wasm-git/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}