Date: January 6th 2018
Time: 5pm -> ?
Zendesk DK HQ
Snaregade 12, 2nd floor
1205 Copenhagen
#!/usr/bin/env bash | |
# This script is an easy way to bisect between two releases of Node.js | |
if [ $# -ne 2 ]; then | |
echo "Error: No arguments supplied!" | |
echo "Usage:" | |
echo " ./bisect.sh <git-ref> <git-ref>" | |
echo | |
echo "Example:" |
{ seq: 203248, | |
id: 'testx2', | |
changes: [ { rev: '1-53eafb13e023fc3a7a1b319a3eb17b2a' } ], | |
doc: | |
{ _id: 'testx2', | |
_rev: '1-53eafb13e023fc3a7a1b319a3eb17b2a', | |
name: 'testx2', | |
versions: | |
{ '1.0.0': | |
{ dist: { tarball: 'http://registry.npmjs.org/testx2/-/a' }, |
'use strict' | |
var ChangesStream = require('changes-stream') | |
var block = 0 | |
var biggest = 0 | |
var changes = new ChangesStream({ | |
db: 'https://replicate.npmjs.com', | |
include_docs: true, |
var util = require('util') | |
util.inherits(NotFoundError, Error) | |
throw new NotFoundError('foo') | |
function NotFoundError (message) { | |
Error.captureStackTrace(this, this.constructor) | |
this.name = this.constructor.name | |
this.message = message |
var request = require('request') | |
var JSONStream = require('JSONStream') | |
var opts = { | |
url: 'https://api.github.com/users/watson/repos', | |
headers: {'User-Agent': 'request'} | |
} | |
request(opts) | |
.pipe(JSONStream.parse('*')) |
// for more info about ReDoS, see: | |
// https://en.wikipedia.org/wiki/ReDoS | |
var r = /([a-z]+)+$/ | |
var s = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaa!' | |
console.log('Running regular expression... please wait') | |
console.time('benchmark') | |
r.test(s) |
[ | |
"๐", | |
"๐", | |
"๐", | |
"๐", | |
"๐ ", | |
"๐", | |
"๐", | |
"๐", | |
"๐", |
var assert = require('assert') | |
var callsites = require('error-callsites') | |
var MyCustomError = require('error-create')('MyCustomError') | |
var err = new MyCustomError('foo') | |
assert(err instanceof Error) | |
assert(err instanceof MyCustomError) | |
assert.doesNotThrow(function () { | |
callsites(err) |
var files = ['foo.js', 'bar.js', 'foo.js'] | |
files.forEach(function (file) { | |
// this will end up reading foo.js twice | |
fs.readFile(file, function (err, data) { | |
// ... | |
}) | |
}) |