JSPM

git-spawned-stream

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 35964
  • Score
    100M100P100Q154488F
  • License MIT

Create a readable stream from a spawned git process.

Package Exports

  • git-spawned-stream

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (git-spawned-stream) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

git-spawned-stream

Create a readable stream from a spawned git process.

Usage

gitSpawnedStream(repoPath, spawnArguments, limitInBytes, gitBinary)

Arguments:

  • repoPath - the path to the repo, ex: /home/alex/node/.git (or the path to the git bare repo)
  • spawnArguments - the arguments that will be passed to the child_process.spawn function
  • limitInBytes - kill the process if it exceeds the imposed limit (sends more data than allowed)
  • gitBinary - path to the git binary to use (use the one in PATH by default)

Example:

var gitSpawnedStream = require('git-spawned-stream');
var path = require('path');
var repoPath = process.env.REPO || path.join(__dirname, '.git');
repoPath = path.resolve(repoPath);
var byteLimit = 5 * 1024 * 1024; // 5 Mb

// sort of a git log -n 2
var stream = gitSpawnedStream(repoPath, [
  'rev-list',
  '--max-count=2',
  '--header',
  'HEAD'
], byteLimit);

stream.on('data', function(data) {
  console.log('DATA', data.toString('utf8'));
}).on('error', function(err) {
  console.error('An error occurred:');
  console.error('-----------------\n');
  console.error(err.message);
  process.exit(1);
}).on('end', function(killed) {
  // when the stream is cut, killed === true
  console.log("\n±±±±±±±±±±±±±±±±±\nThat's all folks!");
});

License

MIT