Commit Graph

1722 Commits

Author SHA1 Message Date
Jiawen Geng
910efc2d9a tools: remove redundant v8 config
PR-URL: https://github.com/nodejs/node/pull/38565
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Ujjwal Sharma <ryzokuken@disroot.org>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2021-05-18 03:12:21 +00:00
cjihrig
36bb31be5f tools: update ESLint to 7.26.0
Update ESLint to 7.26.0

PR-URL: https://github.com/nodejs/node/pull/38605
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-05-16 10:16:13 -04:00
James M Snell
41fab0d6cb tools: add Worker to type-parser
Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/38659
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2021-05-13 18:12:53 -07:00
Richard Lau
184e0f799c build: add missing torque output sources
The `torque_generated_definitions` target is missing some torque
generated files in its sources list when compared to the equivalent
target in V8's BUILD.gn.

PR-URL: https://github.com/nodejs/node/pull/38576
Fixes: https://github.com/nodejs/node/issues/38571
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-05-07 14:08:13 -04:00
Antoine du Hamel
26e318a321 doc: use HEAD instead of master for links
PR-URL: https://github.com/nodejs/node/pull/38518
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2021-05-05 10:45:30 +02:00
Luigi Pinca
63c9b5ba9b tools: use mktemp to create the workspace directory
On some platforms, the TMPDIR environment variable is not set.

PR-URL: https://github.com/nodejs/node/pull/38432
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-05-03 14:49:52 +02:00
Luigi Pinca
1226f056d1 tools: use a shallow clone of the npm/cli repository
Use a shallow clone instead of cloning the whole repository.

PR-URL: https://github.com/nodejs/node/pull/38463
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2021-05-02 09:22:58 +02:00
Jesse Chan
6ca785b951 tools: disable LTO for "v8_cppgc_shared" target
"PushAllRegistersAndIterateStack" is implemented in assembly and
called from "stack.cc" via 'extern "C"'. [1]

However, LTO does not work well with symbol usage from assembly. [2]

This change workarounds the issue by disabling LTO for the target.

With GCC 10 and "./configure --enable-lto", compilation succeeds
after this change.

[1] v8/v8@c10863153
[2] https://gcc.gnu.org/wiki/LinkTimeOptimizationFAQ#Symbol_usage_from_assembly_language

Refs: #35957
Refs: #38335
Signed-off-by: Jesse Chan <jc@linux.com>

PR-URL: https://github.com/nodejs/node/pull/38346
Refs: https://github.com/nodejs/node/issues/35957
Refs: https://github.com/nodejs/node/issues/38335
Reviewed-By: Khaidi Chu <i@2333.moe>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-04-29 11:14:36 +00:00
Rich Trott
896e5af1fd tools: remove fixer for non-ascii-character ESLint custom rule
The fixer for non-ascii-character does not typidally do the right thing.
It removes the entire node, not the offending character. I discovered
this when it removed the entire contents of a file and I wasn't sure
which auto-fix rule was doing it.

This commit adds a minimal test for the rule. The tests require that
auto-fix results be supplied, so if someone wants to re-add auto-fixing
to the rule, we'll have tests that it does the right thing.

PR-URL: https://github.com/nodejs/node/pull/38413
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-28 10:35:32 -07:00
Antoine du Hamel
3d070d0073 tools: fix doc generation when version info is not available
Fixes: https://github.com/nodejs/node/issues/38391

PR-URL: https://github.com/nodejs/node/pull/38398
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
2021-04-28 11:09:37 +02:00
DeeDeeG
6e3ce658df tools: add _depot_tools to PATH (for V8 tests)
Ensures the `_depot_tools` dir bootstrapped during this script
is added to the PATH, before `ninja` is executed,
as `_depot_tools` already has a copy of `ninja` in it.
This means one less system requirement to be able to run this script.

(It seems like this was already intended to be on the PATH?)

Note: This script is used by the `test-v8` Makefile target.

PR-URL: https://github.com/nodejs/node/pull/38299
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-27 15:02:10 -07:00
cjihrig
59db84aba1 tools: update ESLint to 7.25.0
Update ESLint to 7.25.0

PR-URL: https://github.com/nodejs/node/pull/38378
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-26 11:49:07 -07:00
Rich Trott
b2be410f53 tools: update markdown linter rules
Update remark-preset-lint-node to 2.2.0 which includes improved YAML
comment linting for our markdown files.

PR-URL: https://github.com/nodejs/node/pull/38384
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Shingo Inoue <leko.noor@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-26 09:19:08 -07:00
Rich Trott
7ed39693fb tools: remove node-inspect from license
PR-URL: https://github.com/nodejs/node/pull/38161
Refs: https://github.com/nodejs/node/discussions/36481
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-04-25 01:49:57 -07:00
Richard Lau
e703ceb8b4 tools: fix type mismatch in test runner
`output.diagnostic` is a list that is appended to on SmartOS when
retrying a test due to `ECONNREFUSED`. The test runner checks if
`output.diagnostic` is truthy and, if so, assigns its value to
`self.traceback`. However `self.traceback` is supposed to be a string,
and `_printDiagnostic()` in the `TapProgressIndicator` attempts to call
`splitlines()` on it, which fails if it is a list with:
AttributeError: 'list' object has no attribute 'splitlines'

PR-URL: https://github.com/nodejs/node/pull/38289
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Christian Clauss <cclauss@me.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2021-04-21 16:43:46 -04:00
Ash Cripps
13d0de5954 tools: set arch in Distribution.xml
refs: https://github.com/nodejs/node/pull/37678#issuecomment-821179247

We overwrite the Distribution.xml file inside the pkg which means
the pkg cannot be opened on apple silicon without rosetta
as it defaults to x86_64

PR-URL: https://github.com/nodejs/node/pull/38261
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-04-19 10:23:24 +01:00
Richard Lau
049b703a28 build: sync generation of v8_build_config.json
The contents of the `v8_build_config.json` file generated when
configured with `--enable-d8` is missing entries which prevent V8's
test runner from using the built `d8` binary. Sync the keys written
into the file with those generated in V8's `deps/v8/BUILD.gn` file.

PR-URL: https://github.com/nodejs/node/pull/38263
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-04-18 16:32:12 -04:00
Michaël Zasso
ee669a0d29 deps: update ICU to 69.1
Refs: https://github.com/unicode-org/icu/releases/tag/release-69-1

PR-URL: https://github.com/nodejs/node/pull/38178
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-14 09:07:29 +00:00
luyahan
1d21a8d140 build: add riscv64 configure
v8 had been add riscv64 backend, so i open this
pr to add riscv64 configure.

Refs: https://github.com/nodejs/node/issues/37856

PR-URL: https://github.com/nodejs/node/pull/37980
Fixes: https://github.com/nodejs/node/issues/37856
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2021-04-14 07:06:29 +00:00
Bradley Farias
8d9d8236b7 bootstrap: mksnapshot should show JS error
PR-URL: https://github.com/nodejs/node/pull/38174
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-13 14:59:32 -05:00
cjihrig
28bca33f28 tools: update ESLint to 7.24.0
Update ESLint to 7.24.0

PR-URL: https://github.com/nodejs/node/pull/38179
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-04-11 23:55:09 -04:00
Rich Trott
2853b76e20 build: add pummel tests to ci runs
PR-URL: https://github.com/nodejs/node/pull/34289
Reviewed-By: Richard Lau <rlau@redhat.com>
2021-04-10 15:18:10 -07:00
Rich Trott
038608d401 tools: relax max-len lint rule for template strings
Splitting template strings across multiple lines can make them harder to
read.

PR-URL: https://github.com/nodejs/node/pull/38097
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-07 04:16:35 -07:00
Richard Lau
cbe3b27166 doc,tools: allow stability table to be updated
Keep markers for the stability table so that it can be updated on
subsequent runs of the doc tooling. Only overwrite the files if
they have been changed.

PR-URL: https://github.com/nodejs/node/pull/38048
Fixes: https://github.com/nodejs/node/issues/37886
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2021-04-06 06:14:44 +02:00
Luigi Pinca
e7e328db44 tools: update ESLint to 7.23.0
PR-URL: https://github.com/nodejs/node/pull/37979
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-04-03 07:19:54 +02:00
James M Snell
e79471deb7 net: allow net.BlockList to use net.SocketAddress objects
Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/37917
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2021-04-02 06:16:42 -07:00
Antoine du Hamel
e8b1ea4ee2 tools,doc: add "legacy" badge in the TOC
PR-URL: https://github.com/nodejs/node/pull/37949
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-04-01 12:31:25 -07:00
Rich Trott
32296fa193 tools: simplify eslint comma-dangle configuration (tools)
Remove the comma-dangle settings in tools/.eslintrc.yaml. They are
duplicated in .eslintrc.js.

PR-URL: https://github.com/nodejs/node/pull/37883
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2021-03-25 21:57:42 -07:00
Rich Trott
3700ba0be3 doc,tools: use only one level 1 header per page
Increment the header levels from markdown files when producing HTML
documents. This is both better semantically (as the two h1 headers in
current docs are not actually equivalent level semantically--the second
belongs below/inside the first) and better for accessibility. (It is
valid HTML to have multiple h1 headers in a document, but it can be bad
for screen reader experience.)

PR-URL: https://github.com/nodejs/node/pull/37839
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Pooja D P <Pooja.D.P@ibm.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2021-03-25 11:23:58 -07:00
Rich Trott
f2090877f1 tools: improve macos-firewall.sh output
The output of tools/macos-firewall.sh can cause people to think it
didn't work. Update things slightly to make the output mildly more
informative.

Refs: https://github.com/nodejs/node/issues/37233#issuecomment-802201046

PR-URL: https://github.com/nodejs/node/pull/37846
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-03-23 16:12:39 -07:00
Michaël Zasso
af03f4425e tools: make genv8constants.py Python3-compatible
PR-URL: https://github.com/nodejs/node/pull/37835
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-03-22 08:21:01 -07:00
James M Snell
43f599b534 deps: add ngtcp2 and nghttp3
Reintroduces the ngtcp2 and nghttp3 dependencies, building those by
default if the vendored-in openssl (with QUIC support) is used or the
shared openssl defines `OPENSSL_INFO_QUIC`.

Upates the version metadata to reflect whether ngtcp2 and nghttp3 are
present.

ngtcp2 as of
2381f7f7b6
nghttp3 as of
66ad30f0a8

Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/37682
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2021-03-19 08:18:37 -07:00
James M Snell
2b710c1413 tools: partially detect quic support in shared_openssl
If the shared openssl does not have the `OPENSSL_INFO_QUIC` define,
then it definitely does not have the QUIC apis. This is only a partially
accurate check because it does not detect if the shared openssl was
actually *built* without the OPENSSL_NO_QUIC define set.

Signed-off-by: James M Snell <jasnell@gmail.com>

PR-URL: https://github.com/nodejs/node/pull/37682
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2021-03-19 08:18:35 -07:00
Antoine du Hamel
104dac79cc lib: aggregate errors to avoid error swallowing
Uses `AggregateError` if there are more than one error with the message
of the outer error to preserve the current behaviour, or returns the
logical OR comparison of the two parameters.

PR-URL: https://github.com/nodejs/node/pull/37460
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
2021-03-19 12:43:03 +01:00
cjihrig
da4b23354f tools: update ESLint to 7.22.0
Update ESLint to 7.22.0

PR-URL: https://github.com/nodejs/node/pull/37734
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2021-03-16 20:56:37 -04:00
Ruy Adorno
6527e041f7 tools: use bundled npm in update scripts
The scripts `./tools/update-babel-eslint.sh` and
`./tools/update-eslint.sh` are relying on the version of `npm` found in
the local-defined `$PATH` env.

This changeset proposes to modify these scripts to run the version of
npm bundled in the current branch (found at `./deps/npm`) - in order to:

a) Standardize the version of npm that should be use to install these
deps, avoids the pitfall of having an inadverted user run these
scripts with an unsupported/incompatible npm version.
b) Given that npm7 has a different install algorithm than npm6 that
takes into account and install peer dependencies, it might be a safer
choice to ensure what version of npm should be use during this
transitional period in which users might still have npm6 by default in
their local system.
c) Avoids the possible extra churn of having different resulting files
being shuffled around between installs due to usage of a disparate
version of the npm cli.

PR-URL: https://github.com/nodejs/node/pull/37613
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2021-03-15 18:13:01 -04:00
Michaël Zasso
9843361c07 tools: update V8 gypfiles for 9.0
PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:56:16 +01:00
Michaël Zasso
8d78d9ef27 lib: load v8_prof_processor dependencies as ESM
The script versions are no longer available.

PR-URL: https://github.com/nodejs/node/pull/37587
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Myles Borins <myles.borins@gmail.com>
2021-03-15 15:56:14 +01:00
Rich Trott
f32f3c5a7f tools: update glob-parent to 5.1.2
In the markdown linting rollup script, update glob-parent to 5.1.2.

Refs: https://app.snyk.io/vuln/SNYK-JS-GLOBPARENT-1016905

PR-URL: https://github.com/nodejs/node/pull/37646
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2021-03-10 08:23:06 -08:00
Michaël Zasso
38f32386c1 build: include minimal V8 headers in distribution
Because Node.js currently distributes all V8 headers, it is not clear
which ones are part of our API and ABI compatibility contract. V8 may
add, remove, or change headers at any time, preventing us sometimes
from updating because the change could affect addons which may depend
on them. Moreover, the `cppgc` library, included in V8, is exposed
even though it is still in active development and doesn't have a
stable API.
Node.js should choose exactly which headers are exposed and part of
our native API, so that it's easier to reason about changes during V8
updates and to prevent us from automatically increasing the API
surface when new headers are added by V8.
Instead of specifically excluding v8-inspector, only include `v8.h`,
`v8-platform.h` (used in `node.h`) and `v8-profiler.h`.

PR-URL: https://github.com/nodejs/node/pull/37570
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Reviewed-By: Mary Marchini <oss@mmarchini.me>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
2021-03-10 13:59:48 +01:00
Antoine du Hamel
8de1e19cab tools: check version number in YAML comments from changelogs
PR-URL: https://github.com/nodejs/node/pull/37599
Refs: https://github.com/nodejs/remark-preset-lint-node/pull/172
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-03-06 18:47:05 +01:00
Antoine du Hamel
2e1e74e9f8 tools,doc: add support for several flavors of JS code snippets
Enable code example using both modern ESM syntax and legacy CJS syntax.
It adds a toggle on the web interface to let users switch from one
JavaScript flavor to the other.

PR-URL: https://github.com/nodejs/node/pull/37162
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2021-03-06 16:13:57 +01:00
Tobias Nießen
54bb7e3bff tools: fix object name in prefer-assert-methods.js
PR-URL: https://github.com/nodejs/node/pull/37544
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-03-05 10:17:34 -08:00
Rich Trott
49342fe6f2 tools: update remark-preset-lint-node to 2.1.1
PR-URL: https://github.com/nodejs/node/pull/37604
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-03-04 13:49:53 -08:00
Darshan Sen
ffb34b6d5d tools: fix compiler warning in inspector_protocol
error: comparison of integer expressions of different signedness:
‘int’ and ‘uint64_t’ {aka ‘long unsigned int’} [-Werror=sign-compare]
 2562 |           if (!success || std::numeric_limits<int32_t>::max() <
      |                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
 2563 |                               token_start_internal_value_) {
      |                               ~~~~~~~~~~~~~~~~~~~~~~~~~~~

PR-URL: https://github.com/nodejs/node/pull/37573
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2021-03-04 22:27:31 +01:00
Luigi Pinca
aee3ef523a tools: make update-eslint.sh work with npm@7
Install `eslint-plugin-markdown` at the same level of `eslint` without
cd'ing into `eslint` directory, otherwise the following error is raised:

```
npm ERR! code ERESOLVE
npm ERR! Cannot destructure property 'name' of 'node' as it is null.
```

PR-URL: https://github.com/nodejs/node/pull/37566
Fixes: https://github.com/nodejs/node/issues/37560
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Ruy Adorno <ruyadorno@github.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2021-03-04 18:46:45 +01:00
Antoine du Hamel
26288ff25e tools: add ESLint rule no-array-destructuring
Iterating over arrays should be avoided because it relies on
user-mutable global methods (`Array.prototype[Symbol.iterator]`
and `%ArrayIteratorPrototype%.next`), we should instead use
other alternatives. This commit adds a rule that disallow
array destructuring syntax in favor of object destructuring syntax.
Note that you can ignore this rule if you are using
the array destructuring syntax over a safe iterable, or
actually want to iterate over a user-provided object.

PR-URL: https://github.com/nodejs/node/pull/36818
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-03-03 19:53:28 +01:00
cjihrig
934d3f05a3 tools: update eslint-plugin-markdown configuration
This commit updates the linting setup to work with
eslint-plugin-markdown@2.0.0. This also allows the update-eslint
script to continue to function properly without changes.

PR-URL: https://github.com/nodejs/node/pull/37549
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-03-03 12:42:26 -05:00
Luigi Pinca
20def25f25 tools: update ESLint to 7.21.0
PR-URL: https://github.com/nodejs/node/pull/37546
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2021-03-02 20:39:26 +01:00
Michaël Zasso
43cc8e4b2e deps: bump minimum ICU version to 68
Refs: 1e69cdd95b

PR-URL: https://github.com/nodejs/node/pull/37330
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2021-02-25 00:16:30 +01:00