Skip to content

Commit 8267755

Browse files
committed
Drop support for Node.js 0.10 and 0.12
Not complete, but a good start. I didn't want to cause conflicts with the open active PRs or work on the new test failure output.
1 parent 8440982 commit 8267755

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+2100
-2277
lines changed

.travis.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
language: node_js
22
node_js:
3+
- '7'
34
- '6'
45
- '4'
5-
- '0.12'
6-
- '0.10'
76
cache:
87
directories:
98
- $HOME/.npm
109
- node_modules
1110
before_install:
12-
- 'node -e "process.exit(Number(process.version.match(/^v(\d+)/)[1])>=6?0:1)" || npm install -g npm@3.x-latest'
11+
- 'npm install --global npm'
1312
before_script:
14-
- npm prune
13+
- 'npm prune'
1514
after_success:
1615
- '[ -z "$COVERALLS_REPO_TOKEN" ] && tap --coverage-report=text-lcov | ./node_modules/.bin/coveralls'

appveyor.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@ environment:
22
matrix:
33
- nodejs_version: '6'
44
- nodejs_version: '4'
5-
- nodejs_version: '0.12'
65
install:
76
- ps: Install-Product node $env:nodejs_version
87
- set CI=true
98
- set AVA_APPVEYOR=true
10-
- npm install -g npm@3.x-latest
9+
- npm install --global npm
1110
- set PATH=%APPDATA%\npm;%PATH%
1211
- npm install
1312
- npm prune

bench/compare.js

Lines changed: 42 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,48 @@
11
'use strict';
2-
3-
var path = require('path');
4-
var fs = require('fs');
5-
var Table = require('cli-table2');
6-
var chalk = require('chalk');
7-
8-
var files = fs.readdirSync(path.join(__dirname, '.results'))
9-
.map(function (file) {
10-
var result = JSON.parse(fs.readFileSync(path.join(__dirname, '.results', file), 'utf8'));
2+
const path = require('path');
3+
const fs = require('fs');
4+
const Table = require('cli-table2');
5+
const chalk = require('chalk');
6+
7+
let files = fs.readdirSync(path.join(__dirname, '.results'))
8+
.map(file => {
9+
const result = JSON.parse(fs.readFileSync(path.join(__dirname, '.results', file), 'utf8'));
1110
result['.file'] = path.basename(file, '.json');
1211
return result;
1312
})
1413
// find the most recent benchmark runs
15-
.sort(function (fileA, fileB) {
16-
return fileB['.time'] - fileA['.time'];
17-
});
14+
.sort((fileA, fileB) => fileB['.time'] - fileA['.time']);
1815

1916
function average(data) {
20-
var sum = data.reduce(function (sum, value) {
21-
return sum + value;
22-
}, 0);
23-
24-
var avg = sum / data.length;
17+
const sum = data.reduce((sum, value) => sum + value, 0);
18+
const avg = sum / data.length;
2519
return avg;
2620
}
2721

2822
function standardDeviation(values) {
29-
var avg = average(values);
30-
var squareDiffs = values.map(function (value) {
31-
var diff = value - avg;
32-
var sqrDiff = diff * diff;
23+
const avg = average(values);
24+
const squareDiffs = values.map(value => {
25+
const diff = value - avg;
26+
const sqrDiff = diff * diff;
3327
return sqrDiff;
3428
});
35-
var avgSquareDiff = average(squareDiffs);
36-
var stdDev = Math.sqrt(avgSquareDiff);
29+
const avgSquareDiff = average(squareDiffs);
30+
const stdDev = Math.sqrt(avgSquareDiff);
3731
return stdDev;
3832
}
3933

40-
// Only the 3 most recent runs
34+
// only the 3 most recent runs
4135
files = files.slice(0, 3);
4236

4337
function prepStats(times) {
4438
times = times
45-
.map(function (time) {
46-
return time.time;
47-
})
48-
.sort(function (timeA, timeB) {
49-
return timeA - timeB;
50-
});
39+
.map(time => time.time)
40+
.sort((timeA, timeB) => timeA - timeB);
5141

5242
// remove fastest and slowest
5343
times = times.slice(1, times.length - 1);
5444

55-
var sum = times.reduce(function (a, b) {
56-
return a + b;
57-
}, 0);
45+
const sum = times.reduce((a, b) => a + b, 0);
5846

5947
return {
6048
mean: Math.round((sum / times.length) * 1000) / 1000,
@@ -65,60 +53,59 @@ function prepStats(times) {
6553
};
6654
}
6755

68-
var results = {};
69-
var fileNames = files.map(function (file) {
70-
return file['.file'];
71-
});
72-
var stats = ['mean', 'stdDev', 'median', 'min', 'max'];
56+
const results = {};
57+
const fileNames = files.map(file => file['.file']);
58+
const stats = ['mean', 'stdDev', 'median', 'min', 'max'];
7359

74-
files.forEach(function (file) {
60+
files.forEach(file => {
7561
Object.keys(file)
76-
.filter(function (key) {
77-
return !/^\./.test(key);
78-
})
79-
.forEach(function (key) {
62+
.filter(key => !/^\./.test(key))
63+
.forEach(key => {
8064
results[key] = results[key] || {};
8165
results[key][file['.file']] = prepStats(file[key]);
8266
});
8367
});
8468

85-
var table = new Table();
69+
const table = new Table();
8670
table.push(
87-
[''].concat(stats.map(function (stat) {
71+
[''].concat(stats.map(stat => {
8872
return {
8973
content: stat,
9074
colSpan: fileNames.length,
9175
hAlign: 'center'
9276
};
9377
})),
94-
stats.reduce(function (arr) {
95-
return arr.concat(fileNames);
96-
}, ['args'])
78+
stats.reduce(arr => arr.concat(fileNames), ['args'])
9779
);
9880

9981
Object.keys(results)
100-
.forEach(function (key) {
101-
table.push(stats.reduce(function (arr, stat) {
102-
var min = Infinity;
103-
var max = -Infinity;
82+
.forEach(key => {
83+
table.push(stats.reduce((arr, stat) => {
84+
let min = Infinity;
85+
let max = -Infinity;
10486

105-
var statGroup = fileNames.map(function (fileName) {
106-
var result = results[key][fileName];
87+
const statGroup = fileNames.map(fileName => {
88+
let result = results[key][fileName];
10789
result = result && result[stat];
90+
10891
if (result) {
10992
min = Math.min(min, result);
11093
max = Math.max(max, result);
11194
return result;
11295
}
96+
11397
return '';
11498
});
115-
return arr.concat(statGroup.map(function (stat) {
99+
100+
return arr.concat(statGroup.map(stat => {
116101
if (stat === min) {
117102
return chalk.green(stat);
118103
}
104+
119105
if (stat === max) {
120106
return chalk.red(stat);
121107
}
108+
122109
return stat;
123110
}));
124111
}, [key]));
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import test from '../../';
22

3-
for (var i = 0; i < 10000; i++) {
3+
for (let i = 0; i < 10000; i++) {
44
if (i % 2) {
5-
test('test' + i, () => new Promise(resolve => setImmediate(resolve)));
5+
test(`test${i}`, () => new Promise(resolve => setImmediate(resolve)));
66
} else {
7-
test('test' + i, () => {});
7+
test(`test${i}`, () => {});
88
}
99
}

bench/concurrent/async-immediate.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import test from '../../';
22

3-
for (var i = 0; i < 10000; i++) {
4-
test('test' + i, () => new Promise(resolve => setImmediate(resolve)));
3+
for (let i = 0; i < 10000; i++) {
4+
test(`test${i}`, () => new Promise(resolve => setImmediate(resolve)));
55
}

bench/concurrent/async-timeout.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import test from '../../';
22

3-
for (var i = 0; i < 10000; i++) {
4-
test('test' + i, () => new Promise(resolve => setTimeout(resolve, 0)));
3+
for (let i = 0; i < 10000; i++) {
4+
test(`test${i}`, () => new Promise(resolve => setTimeout(resolve, 0)));
55
}

bench/concurrent/sync.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import test from '../../';
22

3-
for (var i = 0; i < 10000; i++) {
4-
test('test' + i, () => {});
3+
for (let i = 0; i < 10000; i++) {
4+
test(`test${i}`, () => {});
55
}

bench/other/failures.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import test from '../../';
22

3-
for (var i = 0; i < 1000; i++) {
4-
test.serial('test' + i, t => {
3+
for (let i = 0; i < 1000; i++) {
4+
test.serial(`test${i}`, t => {
55
t.is(Math.random(), Math.random());
66
});
77
}

bench/run.js

Lines changed: 41 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,36 +1,36 @@
11
'use strict';
2-
var childProcess = require('child_process');
3-
var path = require('path');
4-
var fs = require('fs');
5-
var arrify = require('arrify');
6-
var Promise = require('bluebird');
7-
var mkdirp = require('mkdirp');
8-
var branch = require('git-branch').sync(path.join(__dirname, '..'));
2+
const childProcess = require('child_process');
3+
const path = require('path');
4+
const fs = require('fs');
5+
const arrify = require('arrify');
6+
const Promise = require('bluebird');
7+
const mkdirp = require('mkdirp');
8+
const branch = require('git-branch').sync(path.join(__dirname, '..'));
99

10-
var cliPath = require.resolve('../cli');
10+
const cliPath = require.resolve('../cli');
1111

1212
function runTests(_args) {
13-
return new Promise(function (resolve) {
14-
var args = [cliPath]
15-
.concat(arrify(_args));
16-
var start = Date.now();
13+
return new Promise(resolve => {
14+
const args = [cliPath].concat(arrify(_args));
15+
const start = Date.now();
16+
1717
childProcess.execFile(process.execPath, args, {
1818
cwd: __dirname,
1919
maxBuffer: 100000 * 200
20-
}, function (err, stdout, stderr) {
21-
var end = Date.now();
20+
}, (err, stdout, stderr) => {
21+
const end = Date.now();
2222
resolve({
2323
args: arrify(_args),
2424
time: end - start,
25-
err: err,
26-
stdout: stdout,
27-
stderr: stderr
25+
err,
26+
stdout,
27+
stderr
2828
});
2929
});
3030
});
3131
}
3232

33-
var list;
33+
let list;
3434

3535
if (process.argv.length === 2) {
3636
list = [
@@ -47,61 +47,66 @@ if (process.argv.length === 2) {
4747
'concurrent/async-timeout.js',
4848
'concurrent/sync.js',
4949
['concurrent/*.js', 'serial/*.js']
50-
].map(function (definition) {
50+
].map(definition => {
5151
if (Array.isArray(definition) || typeof definition === 'string') {
5252
definition = {
5353
shouldFail: false,
5454
args: definition
5555
};
5656
}
57+
5758
return definition;
5859
});
5960
} else {
6061
list = [];
61-
var currentArgs = [];
62-
var shouldFail = false;
63-
process.argv.slice(2).forEach(function (arg) {
62+
let currentArgs = [];
63+
let shouldFail = false;
64+
65+
process.argv.slice(2).forEach(arg => {
6466
if (arg === '--') {
6567
list.push({
6668
args: currentArgs,
67-
shouldFail: shouldFail
69+
shouldFail
6870
});
6971
currentArgs = [];
7072
shouldFail = false;
7173
return;
7274
}
75+
7376
if (arg === '--should-fail') {
7477
shouldFail = true;
7578
return;
7679
}
80+
7781
currentArgs.push(arg);
7882
});
83+
7984
if (currentArgs.length > 0) {
8085
list.push({
8186
args: currentArgs,
82-
shouldFail: shouldFail
87+
shouldFail
8388
});
8489
}
8590
}
8691

87-
list.forEach(function (definition) {
92+
list.forEach(definition => {
8893
definition.args = ['--verbose'].concat(definition.args);
8994
});
9095

91-
var combined = [];
92-
for (var i = 0; i < 11; i++) {
96+
let combined = [];
97+
for (let i = 0; i < 11; i++) {
9398
combined = combined.concat(list);
9499
}
95100

96-
var results = {};
101+
const results = {};
97102

98-
Promise.each(combined, function (definition) {
99-
var args = definition.args;
103+
Promise.each(combined, definition => {
104+
const args = definition.args;
100105

101-
return runTests(args).then(function (result) {
102-
var key = result.args.join(' ');
103-
var passedOrFaild = result.err ? 'failed' : 'passed';
104-
var seconds = result.time / 1000;
106+
return runTests(args).then(result => {
107+
const key = result.args.join(' ');
108+
const passedOrFaild = result.err ? 'failed' : 'passed';
109+
const seconds = result.time / 1000;
105110

106111
console.log('%s %s in %d seconds', key, passedOrFaild, seconds);
107112

@@ -119,12 +124,12 @@ Promise.each(combined, function (definition) {
119124
time: seconds
120125
});
121126
});
122-
}).then(function () {
127+
}).then(() => {
123128
mkdirp.sync(path.join(__dirname, '.results'));
124129
results['.time'] = Date.now();
125130

126131
fs.writeFileSync(
127-
path.join(__dirname, '.results', branch + '.json'),
132+
path.join(__dirname, '.results', `${branch}.json`),
128133
JSON.stringify(results, null, 4)
129134
);
130135
});

0 commit comments

Comments
 (0)