node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Read git smart protocol packet lines.

var recv = require('git-write-pkt-line')()
recv.on('data', function(d) {
send.write('0032want 0000000000000000000000000000000000000000\n')


this module presents a through stream; when written to it removes the length header; but it leaves the newline ending. if an empty string or buffer is written, it will emit a git "flush packet", which is just a size-0 packet.

after each line received, it checks to see if the next line starts with PACK; and if so will enter recv-pack mode.

data event

{ type: 'packfile' | 'pkt-line' | 'pkt-flush' | 'progress' | 'error'
, data: null | Buffer()
, caps: ['list', 'of', 'capabilities'] }


This module simply passes pack data through. If the source is set to emit side-band or side-band-64k type data, you'll have to use another module to separate that multiplexed data out.