diff --git a/.eslintrc.yaml b/.eslintrc.yaml index 0139d63a78a04f..2b0e4875670101 100644 --- a/.eslintrc.yaml +++ b/.eslintrc.yaml @@ -62,6 +62,9 @@ rules: no-delete-var: 2 no-undef: 2 no-unused-vars: [2, {args: none}] + no-use-before-define: [2, {classes: true, + functions: false, + variables: false}] # Node.js and CommonJS # http://eslint.org/docs/rules/#nodejs-and-commonjs diff --git a/README.md b/README.md index 25e54f17dc89b9..aa5dd351bbfe75 100644 --- a/README.md +++ b/README.md @@ -240,6 +240,8 @@ more information about the governance of the Node.js project, see * [abouthiroppy](https://github.com/abouthiroppy) - **Yuta Hiroto** <hello@about-hiroppy.com> (he/him) +* [addaleax](https://github.com/addaleax) - +**Anna Henningsen** <anna@addaleax.net> (she/her) * [ak239](https://github.com/ak239) - **Aleksei Koziatinskii** <ak239spb@gmail.com> * [andrasq](https://github.com/andrasq) - @@ -256,12 +258,20 @@ more information about the governance of the Node.js project, see **Benjamin Gruenbaum** <benjamingr@gmail.com> * [bmeck](https://github.com/bmeck) - **Bradley Farias** <bradley.meck@gmail.com> +* [bnoordhuis](https://github.com/bnoordhuis) - +**Ben Noordhuis** <info@bnoordhuis.nl> * [brendanashworth](https://github.com/brendanashworth) - **Brendan Ashworth** <brendan.ashworth@me.com> * [bzoz](https://github.com/bzoz) - **Bartosz Sosnowski** <bartosz@janeasystems.com> * [calvinmetcalf](https://github.com/calvinmetcalf) - **Calvin Metcalf** <calvin.metcalf@gmail.com> +* [ChALkeR](https://github.com/ChALkeR) - +**Сковорода Никита Андреевич** <chalkerx@gmail.com> (he/him) +* [chrisdickinson](https://github.com/chrisdickinson) - +**Chris Dickinson** <christopher.s.dickinson@gmail.com> +* [cjihrig](https://github.com/cjihrig) - +**Colin Ihrig** <cjihrig@gmail.com> * [claudiorodriguez](https://github.com/claudiorodriguez) - **Claudio Rodriguez** <cjrodr@yahoo.com> * [danbev](https://github.com/danbev) - @@ -276,22 +286,36 @@ more information about the governance of the Node.js project, see **Alexander Makarenko** <estliberitas@gmail.com> * [eugeneo](https://github.com/eugeneo) - **Eugene Ostroukhov** <eostroukhov@google.com> +* [evanlucas](https://github.com/evanlucas) - +**Evan Lucas** <evanlucas@me.com> (he/him) +* [fhinkel](https://github.com/fhinkel) - +**Franziska Hinkelmann** <franziska.hinkelmann@gmail.com> * [firedfox](https://github.com/firedfox) - **Daniel Wang** <wangyang0123@gmail.com> +* [Fishrock123](https://github.com/Fishrock123) - +**Jeremiah Senkpiel** <fishrock123@rocketmail.com> * [geek](https://github.com/geek) - **Wyatt Preul** <wpreul@gmail.com> * [gibfahn](https://github.com/gibfahn) - **Gibson Fahnestock** <gibfahn@gmail.com> (he/him) +* [gireeshpunathil](https://github.com/gireeshpunathil) - +**Gireesh Punathil** <gpunathi@in.ibm.com> (he/him) * [iarna](https://github.com/iarna) - **Rebecca Turner** <me@re-becca.org> * [imran-iq](https://github.com/imran-iq) - **Imran Iqbal** <imran@imraniqbal.org> * [imyller](https://github.com/imyller) - **Ilkka Myller** <ilkka.myller@nodefield.com> +* [indutny](https://github.com/indutny) - +**Fedor Indutny** <fedor.indutny@gmail.com> +* [isaacs](https://github.com/isaacs) - +**Isaac Z. Schlueter** <i@izs.me> * [italoacasas](https://github.com/italoacasas) - **Italo A. Casas** <me@italoacasas.com> (he/him) * [JacksonTian](https://github.com/JacksonTian) - **Jackson Tian** <shyvo1987@gmail.com> +* [jasnell](https://github.com/jasnell) - +**James M Snell** <jasnell@gmail.com> (he/him) * [jasongin](https://github.com/jasongin) - **Jason Ginchereau** <jasongin@microsoft.com> * [jbergstroem](https://github.com/jbergstroem) - @@ -304,6 +328,8 @@ more information about the governance of the Node.js project, see **João Reis** <reis@janeasystems.com> * [joshgav](https://github.com/joshgav) - **Josh Gavant** <josh.gavant@outlook.com> +* [joyeecheung](https://github.com/joyeecheung) - +**Joyee Cheung** <joyeec9h3@gmail.com> (she/her) * [julianduque](https://github.com/julianduque) - **Julian Duque** <julianduquej@gmail.com> (he/him) * [JungMinu](https://github.com/JungMinu) - @@ -322,22 +348,38 @@ more information about the governance of the Node.js project, see **Aleksey Smolenchuk** <lxe@lxe.co> * [matthewloring](https://github.com/matthewloring) - **Matthew Loring** <mattloring@google.com> +* [mcollina](https://github.com/mcollina) - +**Matteo Collina** <matteo.collina@gmail.com> (he/him) +* [mhdawson](https://github.com/mhdawson) - +**Michael Dawson** <michael_dawson@ca.ibm.com> (he/him) * [micnic](https://github.com/micnic) - **Nicu Micleușanu** <micnic90@gmail.com> (he/him) * [mikeal](https://github.com/mikeal) - **Mikeal Rogers** <mikeal.rogers@gmail.com> +* [misterdjules](https://github.com/misterdjules) - +**Julien Gilli** <jgilli@nodejs.org> * [monsanto](https://github.com/monsanto) - **Christopher Monsanto** <chris@monsan.to> +* [mscdex](https://github.com/mscdex) - +**Brian White** <mscdex@mscdex.net> +* [MylesBorins](https://github.com/MylesBorins) - +**Myles Borins** <myles.borins@gmail.com> (he/him) * [not-an-aardvark](https://github.com/not-an-aardvark) - **Teddy Katz** <teddy.katz@gmail.com> +* [ofrobots](https://github.com/ofrobots) - +**Ali Ijaz Sheikh** <ofrobots@google.com> * [Olegas](https://github.com/Olegas) - **Oleg Elifantiev** <oleg@elifantiev.ru> +* [orangemocha](https://github.com/orangemocha) - +**Alexis Campailla** <orangemocha@nodejs.org> * [othiym23](https://github.com/othiym23) - **Forrest L Norvell** <ogd@aoaioxxysz.net> (he/him) * [petkaantonov](https://github.com/petkaantonov) - **Petka Antonov** <petka_antonov@hotmail.com> * [phillipj](https://github.com/phillipj) - **Phillip Johnsen** <johphi@gmail.com> +* [piscisaureus](https://github.com/piscisaureus) - +**Bert Belder** <bertbelder@gmail.com> * [pmq20](https://github.com/pmq20) - **Minqi Pan** <pmq2001@gmail.com> * [princejwesley](https://github.com/princejwesley) - @@ -360,6 +402,8 @@ more information about the governance of the Node.js project, see **Ron Korving** <ron@ronkorving.nl> * [RReverser](https://github.com/RReverser) - **Ingvar Stepanyan** <me@rreverser.com> +* [rvagg](https://github.com/rvagg) - +**Rod Vagg** <rod@vagg.org> * [saghul](https://github.com/saghul) - **Saúl Ibarra Corretgé** <saghul@gmail.com> * [sam-github](https://github.com/sam-github) - @@ -368,14 +412,20 @@ more information about the governance of the Node.js project, see **Santiago Gimeno** <santiago.gimeno@gmail.com> * [seishun](https://github.com/seishun) - **Nikolai Vavilov** <vvnicholas@gmail.com> +* [shigeki](https://github.com/shigeki) - +**Shigeki Ohtsu** <ohtsu@ohtsu.org> (he/him) * [silverwind](https://github.com/silverwind) - **Roman Reiss** <me@silverwind.io> * [srl295](https://github.com/srl295) - **Steven R Loomis** <srloomis@us.ibm.com> * [stefanmb](https://github.com/stefanmb) - **Stefan Budeanu** <stefan@budeanu.com> +* [targos](https://github.com/targos) - +**Michaël Zasso** <targos@protonmail.com> (he/him) * [tellnes](https://github.com/tellnes) - **Christian Tellnes** <christian@tellnes.no> +* [thefourtheye](https://github.com/thefourtheye) - +**Sakthipriyan Vairamani** <thechargingvolcano@gmail.com> (he/him) * [thekemkid](https://github.com/thekemkid) - **Glen Keane** <glenkeane.94@gmail.com> (he/him) * [thlorenz](https://github.com/thlorenz) - @@ -384,6 +434,10 @@ more information about the governance of the Node.js project, see **Timothy Gu** <timothygu99@gmail.com> (he/him) * [tniessen](https://github.com/tniessen) - **Tobias Nießen** <tniessen@tnie.de> +* [trevnorris](https://github.com/trevnorris) - +**Trevor Norris** <trev.norris@gmail.com> +* [Trott](https://github.com/Trott) - +**Rich Trott** <rtrott@gmail.com> (he/him) * [tunniclm](https://github.com/tunniclm) - **Mike Tunnicliffe** <m.j.tunnicliffe@gmail.com> * [vkurchatkin](https://github.com/vkurchatkin) - @@ -399,9 +453,8 @@ more information about the governance of the Node.js project, see * [yosuke-furukawa](https://github.com/yosuke-furukawa) - **Yosuke Furukawa** <yosuke.furukawa@gmail.com> -Collaborators (which includes CTC members) follow the -[COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in maintaining the Node.js -project. +Collaborators follow the [COLLABORATOR_GUIDE.md](./COLLABORATOR_GUIDE.md) in +maintaining the Node.js project. ### Release Team diff --git a/configure b/configure index 3948f18bcac7f4..7074021cf5bfee 100755 --- a/configure +++ b/configure @@ -40,6 +40,7 @@ import nodedownload # imports in tools/ sys.path.insert(0, os.path.join(root_dir, 'tools')) import getmoduleversion +from gyp_node import run_gyp # parse our options parser = optparse.OptionParser() @@ -972,7 +973,10 @@ def configure_openssl(o): ] else: o['variables']['openssl_fips'] = '' - + try: + os.remove('config_fips.gypi') + except OSError: + pass if options.without_ssl: def without_ssl_error(option): @@ -1370,7 +1374,7 @@ config = '\n'.join(map('='.join, config.iteritems())) + '\n' write('config.mk', do_not_edit + config) -gyp_args = [sys.executable, 'tools/gyp_node.py', '--no-parallel'] +gyp_args = ['--no-parallel'] if options.use_xcode: gyp_args += ['-f', 'xcode'] @@ -1389,4 +1393,4 @@ gyp_args += args if warn.warned: warn('warnings were emitted in the configure phase') -sys.exit(subprocess.call(gyp_args)) +run_gyp(gyp_args) diff --git a/deps/v8/include/v8-version.h b/deps/v8/include/v8-version.h index e2c861431c1091..955fcd5646cef5 100644 --- a/deps/v8/include/v8-version.h +++ b/deps/v8/include/v8-version.h @@ -11,7 +11,7 @@ #define V8_MAJOR_VERSION 5 #define V8_MINOR_VERSION 1 #define V8_BUILD_NUMBER 281 -#define V8_PATCH_LEVEL 104 +#define V8_PATCH_LEVEL 107 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index ec45c91d77e728..2184b4a4b9cb07 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -6869,6 +6869,11 @@ class V8_EXPORT TryCatch { */ void SetVerbose(bool value); + /** + * Returns true if verbosity is enabled. + */ + bool IsVerbose() const; + /** * Set whether or not this TryCatch should capture a Message object * which holds source information about where the exception diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc index 50848c780dff0c..3fbf688b5fcf6b 100644 --- a/deps/v8/src/api.cc +++ b/deps/v8/src/api.cc @@ -2395,6 +2395,10 @@ void v8::TryCatch::SetVerbose(bool value) { is_verbose_ = value; } +bool v8::TryCatch::IsVerbose() const { + return is_verbose_; +} + void v8::TryCatch::SetCaptureMessage(bool value) { capture_message_ = value; diff --git a/deps/v8/src/debug/debug.js b/deps/v8/src/debug/debug.js index 6849bf534506b7..7029da11175eee 100644 --- a/deps/v8/src/debug/debug.js +++ b/deps/v8/src/debug/debug.js @@ -864,6 +864,7 @@ Debug.debuggerFlags = function() { }; Debug.MakeMirror = MakeMirror; +Debug.MakeMirrorSerializer = MakeMirrorSerializer; function MakeExecutionState(break_id) { return new ExecutionState(break_id); diff --git a/deps/v8/src/debug/mirrors.js b/deps/v8/src/debug/mirrors.js index 0696ec988e4125..dbe8c384cc8cd1 100644 --- a/deps/v8/src/debug/mirrors.js +++ b/deps/v8/src/debug/mirrors.js @@ -60,6 +60,7 @@ utils.Import(function(from) { // - FrameMirror // - ScriptMirror // - ScopeMirror +// - ProxyMirror // Type names of the different mirrors. var MirrorType = { @@ -84,6 +85,7 @@ var MirrorType = { SET_TYPE : 'set', ITERATOR_TYPE : 'iterator', GENERATOR_TYPE : 'generator', + PROXY_TYPE : 'proxy', } @@ -157,6 +159,8 @@ function MakeMirror(value, opt_transient) { mirror = new StringMirror(value); } else if (IS_SYMBOL(value)) { mirror = new SymbolMirror(value); + } else if (IS_PROXY(value)) { + mirror = new ProxyMirror(value); } else if (IS_ARRAY(value)) { mirror = new ArrayMirror(value); } else if (IS_DATE(value)) { @@ -342,6 +346,15 @@ Mirror.prototype.isSymbol = function() { }; +/** + * Check whether the mirror reflects a proxy object. + * @returns {boolean} True if the mirror reflects a proxy object. + */ +Mirror.prototype.isProxy = function() { + return this instanceof ProxyMirror; +}; + + /** * Check whether the mirror reflects an object. * @returns {boolean} True if the mirror reflects an object @@ -2439,6 +2452,29 @@ ContextMirror.prototype.data = function() { }; +/** + * Mirror object for proxies. + * @param {value} value The value reflected by this mirror. + * @constructor + * @extends Mirror + */ +function ProxyMirror(value) { + %_Call(Mirror, this, MirrorType.PROXY_TYPE); + this.value_ = value; +} +inherits(ProxyMirror, Mirror); + + +ProxyMirror.prototype.value = function() { + return this.value_; +}; + + +ProxyMirror.prototype.toText = function() { + return '#'; +}; + + /** * Returns a mirror serializer * diff --git a/doc/api/child_process.md b/doc/api/child_process.md index 25ee478ad104d2..6aab69b7ceb681 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -408,7 +408,7 @@ grep.on('close', (code) => { ``` -Example of checking for failed exec: +Example of checking for failed `spawn`: ```js const spawn = require('child_process').spawn; diff --git a/doc/api/cli.md b/doc/api/cli.md index 16fabfacf663e1..92b5b6a5fae1b6 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -359,7 +359,7 @@ added: v6.11.0 Load an OpenSSL configuration file on startup. Among other uses, this can be used to enable FIPS-compliant crypto if Node.js is built with `./configure -\-\-openssl\-fips`. +--openssl-fips`. If the [`--openssl-config`][] command line option is used, the environment variable is ignored. diff --git a/doc/api/console.md b/doc/api/console.md index 5b687140253d26..f3652a56561316 100644 --- a/doc/api/console.md +++ b/doc/api/console.md @@ -227,9 +227,7 @@ console.log('count:', count); // Prints: count: 5, to stdout ``` -If formatting elements (e.g. `%d`) are not found in the first string then -[`util.inspect()`][] is called on each argument and the resulting string -values are concatenated. See [`util.format()`][] for more information. +See [`util.format()`][] for more information. ### console.time(label)