{"_id":"@alvl/nodegit","_rev":"2-51da21aeb46fcdc3ca22d7d6dec1c106","name":"@alvl/nodegit","dist-tags":{"latest":"0.28.0-alvl.4"},"versions":{"0.28.0-alvl.3":{"name":"@alvl/nodegit","version":"0.28.0-alvl.3","keywords":["libgit2","git2","git","native"],"author":{"url":"@tbranyen","name":"Tim Branyen"},"license":"MIT","_id":"@alvl/nodegit@0.28.0-alvl.3","maintainers":[{"name":"alvl","email":"antoine.lavail@icloud.com"}],"contributors":[{"name":"John Haley","email":"john@haley.io"},{"name":"Max Korp","email":"maxkorp@8bytealchemy.com"},{"name":"Tyler Ang-Wanek","email":"tylerw@axosoft.com"}],"homepage":"http://nodegit.org","bugs":{"url":"https://github.com/nodegit/nodegit/issues"},"dist":{"shasum":"9178d2376e3aab9825715be903ff1e75f4168e8c","tarball":"https://registry.npmjs.org/@alvl/nodegit/-/nodegit-0.28.0-alvl.3.tgz","fileCount":85,"integrity":"sha512-vr43dFQYtXkiOpdC1heWz58mbAKqdtJktPhy/nvJ3Kq3rXHwoW6gICe9zi+AfbYndCxCklC9Z/ZyV1x6DeD0lw==","signatures":[{"sig":"MEUCIQCICAK/R3XziMUuw3JYcxIcuEcnX5BxMufSVg6JsEwTCAIgQ9GJE2cIHAAUwMGRpUG/aqvGvz7fjhoNoNxPWyYJpSY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":241821},"main":"lib/nodegit.js","binary":{"host":"https://github.com/antoinelavail/nodegit/releases/download/","module_name":"nodegit","module_path":"./build/Release/","remote_path":"v{version}"},"engines":{"node":">= 16"},"gitHead":"06fbb50bd3fc18fffbc85f85b4bdf84638b4e5eb","scripts":{"cov":"npm run cppcov && npm run filtercov && npm run mergecov","lint":"jshint lib test/tests test/utils lifecycleScripts","test":"npm run lint && node --expose-gc test","mocha":"mocha --expose-gc test/runner test/tests --timeout 15000","cppcov":"mkdir -p test/coverage/cpp && ./lcov-1.10/bin/lcov --gcov-tool /usr/bin/gcov-4.9 --capture --directory build/Release/obj.target/nodegit/src --output-file test/coverage/cpp/lcov_full.info","install":"node lifecycleScripts/preinstall && node lifecycleScripts/install","rebuild":"node generate && node-gyp configure build","mergecov":"lcov-result-merger 'test/**/*.info' 'test/coverage/merged.lcov' && ./lcov-1.10/bin/genhtml test/coverage/merged.lcov --output-directory test/coverage/report","coveralls":"cat ./test/coverage/merged.lcov | coveralls","filtercov":"./lcov-1.10/bin/lcov --extract test/coverage/cpp/lcov_full.info $(pwd)/src/* $(pwd)/src/**/* $(pwd)/include/* $(pwd)/include/**/* --output-file test/coverage/cpp/lcov.info && rm test/coverage/cpp/lcov_full.info","recompile":"node-gyp configure build","mochaDebug":"mocha --expose-gc --inspect-brk test/runner test/tests --timeout 15000","xcodeDebug":"node-gyp configure -- -f xcode","postinstall":"node lifecycleScripts/postinstall","generateJson":"node generate/scripts/generateJson","installDebug":"BUILD_DEBUG=true npm install","rebuildDebug":"node generate && node-gyp configure --debug build","recompileDebug":"node-gyp configure --debug build","generateNativeCode":"node generate/scripts/generateNativeCode","generateMissingTests":"node generate/scripts/generateMissingTests"},"_npmUser":{"name":"alvl","email":"antoine.lavail@icloud.com"},"repository":{"url":"git://github.com/nodegit/nodegit.git","type":"git"},"_npmVersion":"10.9.2","description":"Node.js libgit2 asynchronous native bindings for Node 22","directories":{"lib":"./lib","build":"./build"},"_nodeVersion":"22.14.0","dependencies":{"got":"^11.8.6","json5":"^2.1.0","ramda":"^0.25.0","lodash":"^4.17.14","tar-fs":"^2.1.1","fs-extra":"^7.0.0","node-gyp":"^11.0.0","@axosoft/nan":"^2.20.0-gk.1","@mapbox/node-pre-gyp":"^1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"walk":"^2.3.9","mocha":"^5.2.0","jshint":"^2.10.0","aws-sdk":"^2.1095.0","cheerio":"^1.0.0-rc.2","combyne":"~0.8.1","istanbul":"^0.4.5","coveralls":"^3.0.2","js-beautify":"~1.5.10","clean-for-publish":"~1.0.2","lcov-result-merger":"^3.1.0"},"_npmOperationalInternal":{"tmp":"tmp/nodegit_0.28.0-alvl.3_1741086971168_0.45780442879078054","host":"s3://npm-registry-packages-npm-production"}},"0.28.0-alvl.4":{"name":"@alvl/nodegit","description":"Node.js libgit2 asynchronous native bindings for Node 22","version":"0.28.0-alvl.4","homepage":"http://nodegit.org","keywords":["libgit2","git2","git","native"],"license":"MIT","author":{"name":"Tim Branyen","url":"@tbranyen"},"contributors":[{"name":"John Haley","email":"john@haley.io"},{"name":"Max Korp","email":"maxkorp@8bytealchemy.com"},{"name":"Tyler Ang-Wanek","email":"tylerw@axosoft.com"}],"main":"lib/nodegit.js","repository":{"type":"git","url":"git://github.com/nodegit/nodegit.git"},"directories":{"build":"./build","lib":"./lib"},"engines":{"node":">= 16"},"dependencies":{"@axosoft/nan":"^2.20.0-gk.1","@mapbox/node-pre-gyp":"^1.0.8","fs-extra":"^7.0.0","got":"^11.8.6","json5":"^2.1.0","lodash":"^4.17.14","node-gyp":"^11.0.0","ramda":"^0.25.0","tar-fs":"^2.1.1"},"devDependencies":{"aws-sdk":"^2.1095.0","cheerio":"^1.0.0-rc.2","clean-for-publish":"~1.0.2","combyne":"~0.8.1","coveralls":"^3.0.2","istanbul":"^0.4.5","js-beautify":"~1.5.10","jshint":"^2.10.0","lcov-result-merger":"^3.1.0","mocha":"^5.2.0","walk":"^2.3.9"},"binary":{"module_name":"nodegit","module_path":"./build/Release/","host":"https://github.com/antoinelavail/nodegit/releases/download/","remote_path":"v{version}"},"scripts":{"cov":"npm run cppcov && npm run filtercov && npm run mergecov","coveralls":"cat ./test/coverage/merged.lcov | coveralls","cppcov":"mkdir -p test/coverage/cpp && ./lcov-1.10/bin/lcov --gcov-tool /usr/bin/gcov-4.9 --capture --directory build/Release/obj.target/nodegit/src --output-file test/coverage/cpp/lcov_full.info","filtercov":"./lcov-1.10/bin/lcov --extract test/coverage/cpp/lcov_full.info $(pwd)/src/* $(pwd)/src/**/* $(pwd)/include/* $(pwd)/include/**/* --output-file test/coverage/cpp/lcov.info && rm test/coverage/cpp/lcov_full.info","generateJson":"node generate/scripts/generateJson","generateMissingTests":"node generate/scripts/generateMissingTests","generateNativeCode":"node generate/scripts/generateNativeCode","install":"node lifecycleScripts/preinstall && node lifecycleScripts/install","installDebug":"BUILD_DEBUG=true npm install","lint":"jshint lib test/tests test/utils lifecycleScripts","mergecov":"lcov-result-merger 'test/**/*.info' 'test/coverage/merged.lcov' && ./lcov-1.10/bin/genhtml test/coverage/merged.lcov --output-directory test/coverage/report","mocha":"mocha --expose-gc test/runner test/tests --timeout 15000","mochaDebug":"mocha --expose-gc --inspect-brk test/runner test/tests --timeout 15000","postinstall":"node lifecycleScripts/postinstall","rebuild":"node generate && node-gyp configure build","rebuildDebug":"node generate && node-gyp configure --debug build","recompile":"node-gyp configure build","recompileDebug":"node-gyp configure --debug build","test":"npm run lint && node --expose-gc test","xcodeDebug":"node-gyp configure -- -f xcode"},"_id":"@alvl/nodegit@0.28.0-alvl.4","gitHead":"370a75c113cf95d9ef90a17ac24755e48459de20","bugs":{"url":"https://github.com/nodegit/nodegit/issues"},"_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-aOtZy5RG0wWcTUkKmmBEIK6L83ncDD9iZhWzgXlgYpFc4HDEQxr+UWDcY0j12FXBV4hOuA0elXHBxTLsLV0lJA==","shasum":"f8c6ca894e562e16d96d86b37b82b12d8aa906ba","tarball":"https://registry.npmjs.org/@alvl/nodegit/-/nodegit-0.28.0-alvl.4.tgz","fileCount":85,"unpackedSize":242594,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCICi4xdhtRWy+dmFwirQ29DP299Qi4HTwzyggXvBYJha9AiEAyvL96Hxvsc0QjoXB8EBhgXyNxT1CUV8mtwj7FIo7EE8="}]},"_npmUser":{"name":"alvl","email":"antoine.lavail@icloud.com"},"maintainers":[{"name":"alvl","email":"antoine.lavail@icloud.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nodegit_0.28.0-alvl.4_1741104570764_0.09455244986491951"},"_hasShrinkwrap":false}},"time":{"created":"2025-03-04T11:16:11.024Z","modified":"2025-03-04T16:09:31.089Z","0.28.0-alvl.3":"2025-03-04T11:16:11.348Z","0.28.0-alvl.4":"2025-03-04T16:09:30.940Z"},"bugs":{"url":"https://github.com/nodegit/nodegit/issues"},"author":{"name":"Tim Branyen","url":"@tbranyen"},"license":"MIT","homepage":"http://nodegit.org","keywords":["libgit2","git2","git","native"],"repository":{"type":"git","url":"git://github.com/nodegit/nodegit.git"},"description":"Node.js libgit2 asynchronous native bindings for Node 22","contributors":[{"name":"John Haley","email":"john@haley.io"},{"name":"Max Korp","email":"maxkorp@8bytealchemy.com"},{"name":"Tyler Ang-Wanek","email":"tylerw@axosoft.com"}],"maintainers":[{"name":"alvl","email":"antoine.lavail@icloud.com"}],"readme":"# NodeGit\n\n> Node bindings to the [libgit2](http://libgit2.github.com/) project.\n\n[![Actions Status](https://github.com/nodegit/nodegit/workflows/Testing/badge.svg)](https://github.com/nodegit/nodegit/actions)\n\n**Stable (libgit2@v0.28.3): 0.28.3**\n\n## Have a problem? Come chat with us! ##\n\nVisit [slack.libgit2.org](http://slack.libgit2.org/) to sign up, then join us in #nodegit.\n\n## Maintained by ##\nTyler Ang-Wanek [@twwanek](http://twitter.com/twwanek) with help from tons of\n[awesome contributors](https://github.com/nodegit/nodegit/contributors)!\n\n### Alumni Maintainers ###\nTim Branyen [@tbranyen](http://twitter.com/tbranyen),\nJohn Haley [@johnhaley81](http://twitter.com/johnhaley81),\nMax Korp [@maxkorp](http://twitter.com/MaximilianoKorp),\nSteve Smith [@orderedlist](https://twitter.com/orderedlist),\nMichael Robinson [@codeofinterest](http://twitter.com/codeofinterest), and\nNick Kallen [@nk](http://twitter.com/nk)\n\n## API Documentation. ##\n\n[http://www.nodegit.org/](http://www.nodegit.org/)\n\n## Getting started. ##\n\nNodeGit will work on most systems out-of-the-box without any native\ndependencies.\n\n``` bash\nnpm install nodegit\n```\n\nIf you receive errors about libstdc++, which are commonly experienced when\nbuilding on Travis-CI, you can fix this by upgrading to the latest\nlibstdc++-4.9.\n\nIn Ubuntu:\n\n``` sh\nsudo add-apt-repository ppa:ubuntu-toolchain-r/test\nsudo apt-get update\nsudo apt-get install libstdc++-4.9-dev\n```\n\nIn Travis:\n\n``` yaml\naddons:\n  apt:\n    sources:\n      - ubuntu-toolchain-r-test\n    packages:\n      - libstdc++-4.9-dev\n```\n\nIn CircleCI:\n\n``` yaml\n  dependencies:\n    pre:\n      - sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test\n      - sudo apt-get update\n      - sudo apt-get install -y libstdc++-4.9-dev\n```\n\nIf you receive errors about *lifecycleScripts* preinstall/install you probably miss *libssl-dev*\nIn Ubuntu:\n```\nsudo apt-get install libssl-dev\n```\n\nYou will need the following libraries installed on your linux machine:\n  - libpcre\n  - libpcreposix\n  - libkrb5\n  - libk5crypto\n  - libcom_err\n\nWhen building locally, you will also need development packages for kerberos and pcre, so both of these utilities must be present on your machine:\n  - pcre-config\n  - krb5-config\n\n\nIf you are still encountering problems while installing, you should try the\n[Building from source](http://www.nodegit.org/guides/install/from-source/)\ninstructions.\n\n## API examples. ##\n\n### Cloning a repository and reading a file: ###\n\n``` javascript\nvar Git = require(\"nodegit\");\n\n// Clone a given repository into the `./tmp` folder.\nGit.Clone(\"https://github.com/nodegit/nodegit\", \"./tmp\")\n  // Look up this known commit.\n  .then(function(repo) {\n    // Use a known commit sha from this repository.\n    return repo.getCommit(\"59b20b8d5c6ff8d09518454d4dd8b7b30f095ab5\");\n  })\n  // Look up a specific file within that commit.\n  .then(function(commit) {\n    return commit.getEntry(\"README.md\");\n  })\n  // Get the blob contents from the file.\n  .then(function(entry) {\n    // Patch the blob to contain a reference to the entry.\n    return entry.getBlob().then(function(blob) {\n      blob.entry = entry;\n      return blob;\n    });\n  })\n  // Display information about the blob.\n  .then(function(blob) {\n    // Show the path, sha, and filesize in bytes.\n    console.log(blob.entry.path() + blob.entry.sha() + blob.rawsize() + \"b\");\n\n    // Show a spacer.\n    console.log(Array(72).join(\"=\") + \"\\n\\n\");\n\n    // Show the entire file.\n    console.log(String(blob));\n  })\n  .catch(function(err) { console.log(err); });\n\n```\n\n### Emulating git log: ###\n\n``` javascript\nvar Git = require(\"nodegit\");\n\n// Open the repository directory.\nGit.Repository.open(\"tmp\")\n  // Open the master branch.\n  .then(function(repo) {\n    return repo.getMasterCommit();\n  })\n  // Display information about commits on master.\n  .then(function(firstCommitOnMaster) {\n    // Create a new history event emitter.\n    var history = firstCommitOnMaster.history();\n\n    // Create a counter to only show up to 9 entries.\n    var count = 0;\n\n    // Listen for commit events from the history.\n    history.on(\"commit\", function(commit) {\n      // Disregard commits past 9.\n      if (++count >= 9) {\n        return;\n      }\n\n      // Show the commit sha.\n      console.log(\"commit \" + commit.sha());\n\n      // Store the author object.\n      var author = commit.author();\n\n      // Display author information.\n      console.log(\"Author:\\t\" + author.name() + \" <\" + author.email() + \">\");\n\n      // Show the commit date.\n      console.log(\"Date:\\t\" + commit.date());\n\n      // Give some space and show the message.\n      console.log(\"\\n    \" + commit.message());\n    });\n\n    // Start emitting events.\n    history.start();\n  });\n```\n\nFor more examples, check the `examples/` folder.\n\n## Unit tests. ##\n\nYou will need to build locally before running the tests.  See above.\n\n``` bash\nnpm test\n```\n","readmeFilename":"README.md"}