priority -50

snippet #! "shebang"
#!/usr/bin/env node
endsnippet

snippet vreq "assign a CommonJS-style module to a var"
var ${0:${1/(.+\/)*(\w+)(-|\b|$)(\..+$)?/\u$2/g}} = require('${1}');
endsnippet

snippet ex "module.exports"
module.exports = ${1};
endsnippet

snippet hcs "http.createServer"
http.createServer(${1}).listen(${2});
endsnippet

snippet ncs "net.createServer"
net.createServer(function(${1:socket}){
	${1}.on('data', function(${3:data}){
		${4}
	});
	${1}.on('end', function(){
		${5}
	});
}).listen(${6:8124});
endsnippet

snippet pipe "pipe"
pipe(${1:stream})${2}
endsnippet

# Express snippets

snippet eget "express GET"
${1:app}.get('${2}', ${3});
endsnippet

snippet epost "express POST"
${1:app}.post('${2}', ${3});
endsnippet

snippet eput "express PUT"
${1:app}.put('${2}', ${3});
endsnippet

snippet edelete "express DELETE"
${1:app}.delete('${2}', ${3});
endsnippet

# process snippets

snippet stdout "stdout"
process.stdout
endsnippet

snippet stdin "stdin"
process.stdin
endsnippet

snippet stderr "stderr"
process.stderr
endsnippet