-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v13.1.0 release proposal #30262
v13.1.0 release proposal #30262
Conversation
Make it possible to clone the internal state of a Hash object into a new Hash object, i.e., to fork the state of the object. Fixes: #29903 PR-URL: #29910 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This adds RFC 4607 support for IPv4 and IPv6. Co-Authored-By: Nicolas Thumann <46975855+n-thumann@users.noreply.github.com> Co-Authored-By: Rich Trott <rtrott@gmail.com> PR-URL: #15735 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
This fixes YAML that gets incorrectly processed by our tooling. Refs: #29910 (comment) PR-URL: #30016 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Add a flag that makes Node.js print the stack trace at the time of *throwing* uncaught exceptions, rather than at the creation of the `Error` object, if there is any. This is disabled by default because it affects GC behavior. PR-URL: #30025 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Turn tasks scheduled on the `v8::Isolate` or on the given platform into no-ops if the underlying `MainThreadInterface` has gone away before the task could be run (which would happen when the `Environment` instance and with it the `inspector::Agent` instance are destroyed). This addresses an issue that Electron has been having with inspector support, and generally just seems like the right thing to do, as we may not fully be in control of the relative timing of Environment teardown, platform tasksexecution, and the execution of `RequestInterrupt()` callbacks (although the former two always happen in the same order in our own code). PR-URL: #30031 Reviewed-By: Eugene Ostroukhov <eostroukhov@google.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
PR-URL: #30047 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: Sam Roberts <vieuxtech@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: David Carlier <devnexen@gmail.com>
PR-URL: #30050 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Original commit message: [regexp] Fix the order of named captures on the groups object Named capture properties on the groups object should be ordered by the capture index (and not alpha-sorted). This was accidentally broken in https://crrev.com/c/1687413. Bug: v8:9822,v8:9423 Change-Id: Iac6f866f077a1b7ce557ba47e8ba5d7e7014b3ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1864829 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Peter Marshall <petermarshall@chromium.org> Commit-Queue: Peter Marshall <petermarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#64306} Refs: v8/v8@ed40ab1 Fixes: #29878 PR-URL: #30064 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Adds the ability to `import` or `require` a package from within its own source code. This allows tests and examples to be written using the package name, making them easier to reuse by consumers of the package. Assuming the `name` field in `package.json` is set to `my-pkg`, its test could use `require('my-pkg')` or `import 'my-pkg'` even if there's no `node_modules/my-pkg` while testing the package itself. An important difference between this and relative specifiers like `require('../')` is that self-references use the public interface of the package as defined in the `exports` field while relative specifiers don't. This behavior is guarded by a new experimental flag (`--experimental-resolve-self`). PR-URL: #29327 Reviewed-By: Guy Bedford <guybedford@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
Original commit message: Add missing null condition in Proxy GetPrototypeof Bug: v8:9781 Change-Id: I1f82a828f103cc2aa3f9553214f6b4867ffc3b17 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1829897 Commit-Queue: Z Nguyen-Huu <duongn@microsoft.com> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#64049} Refs: v8/v8@c721203 Fixes: #29730 PR-URL: #30065 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
This adds a test that makes sure than running `npm` from a release does not print warnings to the console. PR-URL: #30082 Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Embedders sometimes want to take control of V8 platform initialization themselves, so we wouldn't want to experience an error if NODE_USE_V8_PLATFORM was false necessarily. Instead, we can also gate it with HAVE_INSPECTOR to allow embedders to define that themselves and use Inspector without NODE_USE_V8_PLATFORM. PR-URL: #30049 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
Change python search order to python3*, then python, then python2*. PR-URL: #30091 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
vcbuild now searches for the first python.exe found, and uses it, where it used to look for Python 2 first. PR-URL: #30091 Reviewed-By: Christian Clauss <cclauss@me.com> Reviewed-By: João Reis <reis@janeasystems.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Use arrow functions for callbacks in test/addons/make-callback-recurse/test.js. PR-URL: #30069 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Adds information about tools available for building N-API addons. Fixes: nodejs/abi-stable-node#384 PR-URL: #30032 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gabriel Schulhof <gabriel.schulhof@intel.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
We clear the async id stack inside the uncaught exception handler and emit `after` events in the process, so we should not emit `after` a second time from the `runInAsyncScope()` code. This should match the behaviour we have in C++. Fixes: #30080 PR-URL: #30087 Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
The use of dashes -- in general, but especially in our docs -- can be problematic. It is used inconsistently and there is always another form of punctuation that is as good or better for the situation. In an effort to reduce the number of variations we use to display the same types of information, remove the various uses of dashes from the documentation. PR-URL: #30101 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Delete "a number of" phrases in the docs. See what I did there? Ha ha. Ha ha. Ha. ...heh.. <clears throat/> PR-URL: #30103 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Use `tail -n 102 doc/api/n-api.md | LC_ALL=C sort -u` to establish a systematic order for the references. PR-URL: #30124 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: legendecas <legendecas@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Revise os.md, mostly making it more concise. In one case, process.md was revised as well to be consistent with a revision in os.md. PR-URL: #30102 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Original commit message: Make SetSyntheticModuleExport throw instead of crash for nonexistent export name Per spec, Module::SetSyntheticModuleExport should throw a ReferenceError when called with an export name that was not supplied when constructing that SyntheticModule. Instead, the current implementation crashes with a failed CHECK(). Add a new Module::SyntheticModuleSetExport that throws (without an ensuing crash) for this case, and deprecate the old Module::SetSyntheticModuleExport. Bug: v8:9828 Change-Id: I3b3d353064c3851882781818099bd8f6ee74c809 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860996 Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64438} Refs: v8/v8@777fa98 PR-URL: #30062 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Use the new non-deprecated V8 API for that. PR-URL: #30062 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Instead of telling someone "It is important to do X", just tell them to "Do X." PR-URL: #30108 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Use fs.promises for read and write file Use unified().process wich is async instead processSync html and json are write in parallel errors are logged and exit process with `1` code Fixes: #30090 PR-URL: #30106 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Gus Caplan <me@gus.host> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
PR-URL: #30052 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: #29983 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
PR-URL: #30138 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
/cc @nodejs/collaborators @nodejs/tsc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
The only test failure is https://ci.nodejs.org/job/node-test-commit-linux-containered/15622/nodes=ubuntu1804_sharedlibs_withoutssl_x64/testReport/junit/(root)/test/parallel_test_release_npm/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we squeeze #30220 in? Should Travis CI pass? Travis CI does pass.
LGTM
Travis CI is not a requirement, but I restarted the job. |
Release build: https://ci-release.nodejs.org/job/iojs+release/4825/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Wouldn't already adding cedad02406 here not break the from source build on macOS for people with Python 3.x in their PATH, because I mean this shouldn't affect us at homebrew directly, because of the env-filtering we do and because of the node formula still depending on Python 2.7 for the moment. But someone who is trying to build the official source tarball and who is having a Python 3.[5-7] in their PATH should run into said issue (#30129). |
Notable changes: * cli: * Added a new flag (`--trace-uncaught`) that makes Node.js print the stack trace at the time of throwing uncaught exceptions, rather than at the creation of the `Error` object, if there is any. This is disabled by default because it affects GC behavior. #30025 * crypto * Added `Hash.prototype.copy()` method. It returns a new `Hash` object with its internal state cloned from the original one. #29910 * dgram * Added source-specific multicast support. This adds methods to Datagram sockets to support RFC 4607 (https://tools.ietf.org/html/rfc4607) for IPv4 and IPv6. #15735 * fs * Added a `bufferSize` option to `fs.opendir()`. It allows to control the number of entries that are buffered internally when reading from the directory. #30114 * meta * Added Chengzhong Wu (https://github.com/legendecas) to collaborators. #30115 PR-URL: #30262
Promotion of the release is blocked by a permission issue on the server. |
fixed now, sorry for the hiccup |
2019-11-05, Version 13.1.0 (Current), @targos
Notable Changes
--trace-uncaught
) that makes Node.js print the stacktrace at the time of throwing uncaught exceptions, rather than at the
creation of the
Error
object, if there is any. This is disabled by defaultbecause it affects GC behavior (Anna Henningsen) #30025.
Hash.prototype.copy()
method. It returns a newHash
object withits internal state cloned from the original one (Ben Noordhuis) #29910.
sockets to support RFC 4607 for IPv4
and IPv6 (Lucas Pardue) #15735.
bufferSize
option tofs.opendir()
. It allows to control thenumber of entries that are buffered internally when reading from the
directory (Anna Henningsen) #30114.
Commits
445837851b
] - async_hooks: only emitafter
for AsyncResource if stack not empty (Anna Henningsen) #300878860bd68b6
] - buffer: improve performance caused by primordials (Jizu Sun) #302351bded9841c
] - build: fix detection of Visual Studio 2017 (Richard Lau) #3011949e7f042f9
] - build: add workaround for WSL (gengjiawen) #3022103827ddf38
] - build: allow Python 3.8 (Michaël Zasso) #3019454698113c0
] - build: find Python syntax errors in dependencies (Christian Clauss) #30143b255688d5f
] - build: fix pkg-config search for libnghttp2 (Ben Noordhuis) #301458980d8c25f
] - build: vcbuild uses default Python, not Py2 (João Reis) #30091cedad02406
] - build: prefer python 3 over 2 for configure (Sam Roberts) #300915ba842b8f9
] - build: python3 support for configure (Rod Vagg) #30047d05f67caef
] - cli: whitelist new V8 flag in NODE_OPTIONS (Shelley Vohr) #300945ca58646c1
] - (SEMVER-MINOR) cli: add --trace-uncaught flag (Anna Henningsen) #300258b75aabee9
] - crypto: guard with OPENSSL_NO_GOST (Shelley Vohr) #300501d03df4c5e
] - (SEMVER-MINOR) crypto: add Hash.prototype.copy() method (Ben Noordhuis) #2991046c9194ec8
] - deps: V8: cherry-pick a7dffcd767be (Christian Clauss) #30218104bfb9a38
] - deps: V8: cherry-pick e5dbc95 (Gabriel Schulhof) #30130e3124481c2
] - deps: update npm to 6.12.1 (Michael Perrotte) #30164f3d00c594d
] - deps: V8: backport 777fa98 (Michaël Zasso) #300621cfa98c23e
] - deps: V8: cherry-pick c721203 (Michaël Zasso) #300650d9ae1b8f6
] - deps: V8: cherry-pick ed40ab1 (Michaël Zasso) #30064a63f7e73c4
] - (SEMVER-MINOR) dgram: add source-specific multicast support (Lucas Pardue) #15735fc407bb555
] - doc: add missing hash for header link (Nick Schonning) #30188201a60e6ba
] - doc: linkify.setupMaster()
in cluster doc (Trivikram Kamat) #30204b7070f315f
] - doc: explain http2 aborted event callback (dev-313) #30179f8fb2c06c5
] - doc: linkify.fork()
in cluster documentation (Anna Henningsen) #30163ae81360214
] - doc: update AUTHORS list (Michaël Zasso) #301421499a72a1f
] - doc: improve doc Http2Session:Timeout (dev-313) #301613709b5cc7e
] - doc: move inactive Collaborators to emeriti (Rich Trott) #30177a48d17900b
] - doc: add options description for send APIs (dev-313) #29868dfb4a24695
] - doc: fix an error in resolution algorithm steps (Alex Zherdev) #29940403a648a16
] - doc: fix numbering in require algorithm (Jan Krems) #30117e4ab6fced1
] - doc: remove incorrect and outdated example (Tobias Nießen) #301383c23224a76
] - doc: adjust code sample for stream.finished (Cotton Hou) #29983d91d270416
] - doc: claim NODE_MODULE_VERSION=80 for Electron 9 (Samuel Attard) #30052621eaf9ed5
] - doc: remove "it is important to" phrasing (Rich Trott) #301089a71091098
] - doc: revise os.md (Rich Trott) #30102381c6cd0d2
] - doc: delete "a number of" things in the docs (Rich Trott) #3010345c70a9793
] - doc: remove dashes (Rich Trott) #30101ea9d125536
] - doc: add legendecas to collaborators (legendecas) #3011539070bbed0
] - doc: make YAML matter consistent in crypto.md (Rich Trott) #30016978946e38b
] - doc,meta: prefer aliases and stubs over Runtime Deprecations (Rich Trott) #3015332a538901f
] - doc,n-api: sort bottom-of-the-page references (Gabriel Schulhof) #3012407b5584a3f
] - (SEMVER-MINOR) fs: addbufferSize
option tofs.opendir()
(Anna Henningsen) #301142505f678ef
] - http: support readable hwm in IncomingMessage (Colin Ihrig) #30135f01c5c51b0
] - inspector: turn platform tasks that outlive Agent into no-ops (Anna Henningsen) #30031050efebf24
] - meta: use contact_links instead of issue templates (Michaël Zasso) #30172edfbee3727
] - module: resolve self-references (Jan Krems) #2932793b1bb8cb5
] - n-api,doc: add info about building n-api addons (Jim Schlight) #30032cc1cd2b3c5
] - src: isolate->Dispose() order consistency (Shelley Vohr) #30181a0df91cce1
] - (SEMVER-MINOR) src: expose granular SetIsolateUpForNode (Shelley Vohr) #30150ec7b69ff05
] - src: change env.h includes for forward declarations (Alexandre Ferrando) #3013398c8f76dd1
] - src: split up InitializeContext (Shelley Vohr) #30067d78e3176dd
] - src: fix crash with SyntheticModule#setExport (Michaël Zasso) #30062fd0aded233
] - src: allow inspector without v8 platform (Shelley Vohr) #3004987f14e13b3
] - stream: extract Readable.from in its own file (Matteo Collina) #301401d9f4278dd
] - test: use arrow functions for callbacks (Minuk Park) #30069a03809d7dd
] - test: verify npm compatibility with releases (Michaël Zasso) #3008268e4b5a1fc
] - tools: fix Python 3 deprecation warning in test.py (Loris Zinsou) #30208348ec693ac
] - tools: fix Python 3 syntax error in mac_tool.py (Christian Clauss) #30146e2fb353df3
] - tools: use print() function in buildbot_run.py (Christian Clauss) #30148bcbcce5983
] - tools: undefined name opts -> args in gyptest.py (Christian Clauss) #3014414981f5bba
] - tools: git rm -r tools/v8_gypfiles/broken (Christian Clauss) #30149d549a34597
] - tools: update ESLint to 6.6.0 (Colin Ihrig) #30123a3757546e8
] - tools: doc: improve async workflow of generate.js (Theotime Poisseau) #30106