Skip to content
This repository has been archived by the owner on Oct 15, 2020. It is now read-only.

Commit

Permalink
Merge tag 'v8.2.0' into v8.x
Browse files Browse the repository at this point in the history
2017-07-19 Node.js Version 8.2.0 (Current) Release
Git-EVTag-v0-SHA512: e2083a0620180f81ac225471151aadb710d73c6289de0503123ebfc7c5fc0f454d62255ca1590c931bae11184bf3120353f0dc0837dbeeac21d0bfb9f4d184fa
  • Loading branch information
kfarnung committed Jul 20, 2017
2 parents 6c4e305 + eb66efd commit 980cf6f
Show file tree
Hide file tree
Showing 2,528 changed files with 112,149 additions and 86,738 deletions.
190 changes: 96 additions & 94 deletions .eslintrc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,39 +13,39 @@ parserOptions:
rules:
# Possible Errors
# http://eslint.org/docs/rules/#possible-errors
no-control-regex: 2
no-debugger: 2
no-dupe-args: 2
no-dupe-keys: 2
no-duplicate-case: 2
no-empty-character-class: 2
no-ex-assign: 2
no-extra-boolean-cast: 2
no-extra-parens: [2, functions]
no-extra-semi: 2
no-func-assign: 2
no-invalid-regexp: 2
no-irregular-whitespace: 2
no-obj-calls: 2
no-template-curly-in-string: 2
no-unexpected-multiline: 2
no-unreachable: 2
no-unsafe-negation: 2
use-isnan: 2
valid-typeof: 2
no-control-regex: error
no-debugger: error
no-dupe-args: error
no-dupe-keys: error
no-duplicate-case: error
no-empty-character-class: error
no-ex-assign: error
no-extra-boolean-cast: error
no-extra-parens: [error, functions]
no-extra-semi: error
no-func-assign: error
no-invalid-regexp: error
no-irregular-whitespace: error
no-obj-calls: error
no-template-curly-in-string: error
no-unexpected-multiline: error
no-unreachable: error
no-unsafe-negation: error
use-isnan: error
valid-typeof: error

# Best Practices
# http://eslint.org/docs/rules/#best-practices
dot-location: [2, property]
eqeqeq: [2, smart]
no-fallthrough: 2
no-global-assign: 2
no-multi-spaces: [2, {ignoreEOLComments: true}]
no-octal: 2
no-proto: 2
no-redeclare: 2
dot-location: [error, property]
eqeqeq: [error, smart]
no-fallthrough: error
no-global-assign: error
no-multi-spaces: [error, {ignoreEOLComments: true}]
no-octal: error
no-proto: error
no-redeclare: error
no-restricted-properties:
- 2
- error
- object: assert
property: deepEqual
message: Use assert.deepStrictEqual().
Expand All @@ -59,68 +59,71 @@ rules:
message: __defineGetter__ is deprecated.
- property: __defineSetter__
message: __defineSetter__ is deprecated.
no-self-assign: 2
no-throw-literal: 2
no-unused-labels: 2
no-useless-call: 2
no-useless-concat: 2
no-useless-escape: 2
no-useless-return: 2
no-void: 2
no-with: 2
no-self-assign: error
no-throw-literal: error
no-unused-labels: error
no-useless-call: error
no-useless-concat: error
no-useless-escape: error
no-useless-return: error
no-void: error
no-with: error

# Strict Mode
# http://eslint.org/docs/rules/#strict-mode
strict: [2, global]
strict: [error, global]

# Variables
# http://eslint.org/docs/rules/#variables
no-delete-var: 2
no-undef: 2
no-unused-vars: [2, {args: none}]
no-delete-var: error
no-undef: error
no-unused-vars: [error, {args: none}]
no-use-before-define: [error, {classes: true,
functions: false,
variables: false}]

# Node.js and CommonJS
# http://eslint.org/docs/rules/#nodejs-and-commonjs
no-mixed-requires: 2
no-new-require: 2
no-path-concat: 2
no-restricted-modules: [2, sys]
no-mixed-requires: error
no-new-require: error
no-path-concat: error
no-restricted-modules: [error, sys]

# Stylistic Issues
# http://eslint.org/docs/rules/#stylistic-issues
block-spacing: 2
brace-style: [2, 1tbs, {allowSingleLine: true}]
comma-dangle: [2, only-multiline]
comma-spacing: 2
comma-style: 2
computed-property-spacing: 2
eol-last: 2
func-call-spacing: 2
func-name-matching: 2
func-style: [2, declaration, {allowArrowFunctions: true}]
# indent: [2, 2, {ArrayExpression: first,
block-spacing: error
brace-style: [error, 1tbs, {allowSingleLine: true}]
comma-dangle: [error, only-multiline]
comma-spacing: error
comma-style: error
computed-property-spacing: error
eol-last: error
func-call-spacing: error
func-name-matching: error
func-style: [error, declaration, {allowArrowFunctions: true}]
# indent: [error, 2, {ArrayExpression: first,
# CallExpression: {arguments: first},
# FunctionDeclaration: {parameters: first},
# FunctionExpression: {parameters: first},
# MemberExpression: off,
# ObjectExpression: first,
# SwitchCase: 1}]
indent-legacy: [2, 2, {ArrayExpression: first,
indent-legacy: [error, 2, {ArrayExpression: first,
CallExpression: {arguments: first},
MemberExpression: 1,
ObjectExpression: first,
SwitchCase: 1}]
key-spacing: [2, {mode: minimum}]
keyword-spacing: 2
linebreak-style: [2, unix]
max-len: [2, {code: 80,
key-spacing: [error, {mode: minimum}]
keyword-spacing: error
linebreak-style: [error, unix]
max-len: [error, {code: 80,
ignoreRegExpLiterals: true,
ignoreUrls: true,
tabWidth: 2}]
new-parens: 2
no-mixed-spaces-and-tabs: 2
no-multiple-empty-lines: [2, {max: 2, maxEOF: 0, maxBOF: 0}]
no-restricted-syntax: [2, {
new-parens: error
no-mixed-spaces-and-tabs: error
no-multiple-empty-lines: [error, {max: 2, maxEOF: 0, maxBOF: 0}]
no-restricted-syntax: [error, {
selector: "CallExpression[callee.name='setTimeout'][arguments.length<2]",
message: "setTimeout() must be invoked with at least two arguments."
}, {
Expand All @@ -130,43 +133,42 @@ rules:
selector: "ThrowStatement > CallExpression[callee.name=/Error$/]",
message: "Use new keyword when throwing an Error."
}]
no-tabs: 2
no-trailing-spaces: 2
one-var-declaration-per-line: 2
operator-linebreak: [2, after]
quotes: [2, single, avoid-escape]
semi: 2
semi-spacing: 2
space-before-blocks: [2, always]
space-before-function-paren: [2, {
no-tabs: error
no-trailing-spaces: error
one-var-declaration-per-line: error
operator-linebreak: [error, after]
quotes: [error, single, avoid-escape]
semi: error
semi-spacing: error
space-before-blocks: [error, always]
space-before-function-paren: [error, {
"anonymous": "never",
"named": "never",
"asyncArrow": "always"
}]
space-in-parens: [2, never]
space-infix-ops: 2
space-unary-ops: 2
unicode-bom: 2
space-in-parens: [error, never]
space-infix-ops: error
space-unary-ops: error
unicode-bom: error

# ECMAScript 6
# http://eslint.org/docs/rules/#ecmascript-6
arrow-parens: [2, always]
arrow-spacing: [2, {before: true, after: true}]
constructor-super: 2
no-class-assign: 2
no-confusing-arrow: 2
no-const-assign: 2
no-dupe-class-members: 2
no-new-symbol: 2
no-this-before-super: 2
prefer-const: [2, {ignoreReadBeforeAssign: true}]
rest-spread-spacing: 2
template-curly-spacing: 2
arrow-parens: [error, always]
arrow-spacing: [error, {before: true, after: true}]
constructor-super: error
no-class-assign: error
no-confusing-arrow: error
no-const-assign: error
no-dupe-class-members: error
no-new-symbol: error
no-this-before-super: error
prefer-const: [error, {ignoreReadBeforeAssign: true}]
rest-spread-spacing: error
template-curly-spacing: error

# Custom rules in tools/eslint-rules
align-multiline-assignment: 2
assert-throws-arguments: [2, { requireTwo: true }]
no-unescaped-regexp-dot: 2
assert-throws-arguments: [error, { requireTwo: true }]
no-unescaped-regexp-dot: error

# Global scoped method and vars
globals:
Expand Down
6 changes: 3 additions & 3 deletions BUILDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Depending on host platform, the selection of toolchains may vary.

#### Unix

* GCC 4.8.5 or newer
* GCC 4.9.4 or newer
* Clang 3.4.2 or newer

#### Windows
Expand All @@ -80,8 +80,8 @@ Depending on host platform, the selection of toolchains may vary.

Prerequisites:

* `gcc` and `g++` 4.8.5 or newer, or
* `clang` and `clang++` 3.4.2 or newer
* `gcc` and `g++` 4.9.4 or newer, or
* `clang` and `clang++` 3.4.2 or newer (macOS: latest Xcode Command Line Tools)
* Python 2.6 or 2.7
* GNU Make 3.81 or newer

Expand Down
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,8 @@ release.
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.1.4">8.1.4</a></b><br/>
<b><a href="doc/changelogs/CHANGELOG_V8.md#8.2.0">8.2.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.1.4">8.1.4</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.1.3">8.1.3</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.1.2">8.1.2</a><br/>
<a href="doc/changelogs/CHANGELOG_V8.md#8.1.1">8.1.1</a><br/>
Expand Down
4 changes: 3 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -433,13 +433,15 @@ test-async-hooks:


ifneq ("","$(wildcard deps/v8/tools/run-tests.py)")
test-v8: v8 test-hash-seed
test-v8: v8
# note: performs full test unless QUICKCHECK is specified
deps/v8/tools/run-tests.py --arch=$(V8_ARCH) \
--mode=$(BUILDTYPE_LOWER) $(V8_TEST_OPTIONS) $(QUICKCHECK_ARG) \
--no-presubmit \
--shell-dir=$(PWD)/deps/v8/out/$(V8_ARCH).$(BUILDTYPE_LOWER) \
$(TAP_V8)
@echo Testing hash seed
$(MAKE) test-hash-seed

test-v8-intl: v8
# note: performs full test unless QUICKCHECK is specified
Expand Down
13 changes: 13 additions & 0 deletions benchmark/.eslintrc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Benchmarks-specific linter rules

rules:
# Stylistic Issues
# http://eslint.org/docs/rules/#stylistic-issues
indent: [error, 2, {ArrayExpression: first,
CallExpression: {arguments: first},
FunctionDeclaration: {parameters: first},
FunctionExpression: {parameters: first},
MemberExpression: off,
ObjectExpression: first,
SwitchCase: 1}]
indent-legacy: off
15 changes: 7 additions & 8 deletions benchmark/_benchmark_progress.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,8 +87,8 @@ class BenchmarkProgress {
const runsPerFile = this.runsPerFile;
const completedFiles = Math.floor(completedRuns / runsPerFile);
const scheduledFiles = this.benchmarks.length;
const completedRunsForFile = finished ? runsPerFile :
completedRuns % runsPerFile;
const completedRunsForFile =
finished ? runsPerFile : completedRuns % runsPerFile;
const completedConfig = this.completedConfig;
const scheduledConfig = this.scheduledConfig;

Expand All @@ -101,12 +101,11 @@ class BenchmarkProgress {
const percent = pad(Math.floor(completedRate * 100), 3, ' ');

const caption = finished ? 'Done\n' : this.currentFile;
return `[${getTime(diff)}|% ${
percent}| ${
fraction(completedFiles, scheduledFiles)} files | ${
fraction(completedRunsForFile, runsPerFile)} runs | ${
fraction(completedConfig, scheduledConfig)} configs]: ${
caption} `;
return `[${getTime(diff)}|% ${percent}| ` +
`${fraction(completedFiles, scheduledFiles)} files | ` +
`${fraction(completedRunsForFile, runsPerFile)} runs | ` +
`${fraction(completedConfig, scheduledConfig)} configs]: ` +
`${caption} `;
}

updateProgress(finished) {
Expand Down
17 changes: 8 additions & 9 deletions benchmark/_http-benchmarkers.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,8 @@ exports.PORT = process.env.PORT || 12346;
class AutocannonBenchmarker {
constructor() {
this.name = 'autocannon';
this.executable = process.platform === 'win32' ?
'autocannon.cmd' :
'autocannon';
this.executable =
process.platform === 'win32' ? 'autocannon.cmd' : 'autocannon';
const result = child_process.spawnSync(this.executable, ['-h']);
this.present = !(result.error && result.error.code === 'ENOENT');
}
Expand Down Expand Up @@ -136,19 +135,19 @@ exports.run = function(options, callback) {
benchmarker: exports.default_http_benchmarker
}, options);
if (!options.benchmarker) {
callback(new Error(`Could not locate required http benchmarker. See ${
requirementsURL} for further instructions.`));
callback(new Error('Could not locate required http benchmarker. See ' +
`${requirementsURL} for further instructions.`));
return;
}
const benchmarker = benchmarkers[options.benchmarker];
if (!benchmarker) {
callback(new Error(`Requested benchmarker '${
options.benchmarker}' is not supported`));
callback(new Error(`Requested benchmarker '${options.benchmarker}' ` +
'is not supported'));
return;
}
if (!benchmarker.present) {
callback(new Error(`Requested benchmarker '${
options.benchmarker}' is not installed`));
callback(new Error(`Requested benchmarker '${options.benchmarker}' ` +
'is not installed'));
return;
}

Expand Down
4 changes: 2 additions & 2 deletions benchmark/buffers/buffer-compare-offset.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ function compareUsingOffset(b0, b1, len, iter) {
function main(conf) {
const iter = (conf.millions >>> 0) * 1e6;
const size = (conf.size >>> 0);
const method = conf.method === 'slice' ?
compareUsingSlice : compareUsingOffset;
const method =
conf.method === 'slice' ? compareUsingSlice : compareUsingOffset;
method(Buffer.alloc(size, 'a'),
Buffer.alloc(size, 'b'),
size >> 1,
Expand Down
Loading

0 comments on commit 980cf6f

Please sign in to comment.