Commit Graph

803 Commits

Author SHA1 Message Date
Marco Ippolito 274c18a365
src: set default config as node.config.json
PR-URL: https://github.com/nodejs/node/pull/57171
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2025-03-11 19:38:12 +01:00
Marco Ippolito 9fd217daa9
src: add config file support
PR-URL: https://github.com/nodejs/node/pull/57016
Refs: https://github.com/nodejs/node/issues/53787
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Tierney Cyren <hello@bnb.im>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
2025-03-11 19:31:38 +01:00
1ilsang b384baa073
build: print 'Formatting Markdown...' for long task markdown formatting
PR-URL: https://github.com/nodejs/node/pull/57108
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2025-02-25 17:50:59 +01:00
RafaelGSS fec2d50308
build: add skip_apidoc_files and include QUIC
PR-URL: https://github.com/nodejs/node/pull/56941
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2025-02-25 17:50:57 +01:00
Chengzhong Wu 91a302356b
inspector: fix StringUtil::CharacterCount for unicodes
`StringUtil::CharacterCount` should return the length of underlying
representation storage of a protocol string.

`StringUtil::CharacterCount` is only used in DictionaryValue
serialization. Only `Network.Headers` is an object type, represented
with DictionaryValue.

PR-URL: https://github.com/nodejs/node/pull/56788
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Daniel Lemire <daniel@lemire.me>
Reviewed-By: Kohei Ueno <kohei.ueno119@gmail.com>
2025-02-02 17:37:00 +01:00
Colin Ihrig f7563780a6
test: update compiled sqlite tests to match other tests
This commit updates the sqlite compiled tests to be structured
like other compiled tests.

Refs: https://github.com/nodejs/node/issues/56347
PR-URL: https://github.com/nodejs/node/pull/56446
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Stewart X Addison <sxa@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2025-01-21 13:37:27 -03:00
Chengzhong Wu 8feb2737e7
test: add initial test426 coverage
Source map has been standardized as ECMA426, with a developing test
suite. Add an initial coverage of the source map tests.

PR-URL: https://github.com/nodejs/node/pull/56436
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2025-01-21 13:37:26 -03:00
吴小白 4831b87d83
build: set DESTCPU correctly for 'make binary' on loongarch64
Signed-off-by: 吴小白 <296015668@qq.com>
PR-URL: https://github.com/nodejs/node/pull/56271
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2024-12-18 22:31:06 +01:00
Alex Yang 53cc0cc744
sqlite: support `db.loadExtension`
PR-URL: https://github.com/nodejs/node/pull/53900
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2024-12-13 16:54:38 +01:00
Richard Lau 77735674eb
build: use glob for dependencies of out/Makefile
The `out/Makefile` target in `Makefile` has an incomplete list of
`.gyp` files for Node.js dependencies in `deps`, but also the ones
that are listed are unconditional. If using any of the `--shared-*`
configure options, it should be possible to still build Node.js if
the corresponding directory under `deps` is removed.

Convert the explicit list of dependency `*.gyp` files for the
`out/Makefile` target to a glob. This will pick up any toplevel
`.gyp` files for dependencies present in `deps`.

PR-URL: https://github.com/nodejs/node/pull/55789
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
2024-11-16 18:00:54 +01:00
Aviv Keller bba7323d51
build: apply cpp linting and formatting to ncrypto
PR-URL: https://github.com/nodejs/node/pull/55362
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-11-16 18:00:54 +01:00
Michaël Zasso b79e4835ab
build: use rclone instead of aws CLI
Use rclone to upload assets to Cloudflare as it is more reliable.

Refs: https://github.com/nodejs/build/issues/3508
PR-URL: https://github.com/nodejs/node/pull/55617
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
2024-11-05 15:14:02 +01:00
Aviv Keller 7ab1f46b8a
build: stop pre-compiling `lint-md`
PR-URL: https://github.com/nodejs/node/pull/55266
Reviewed-By: Claudio Wunder <cwunder@gnome.org>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2024-11-05 15:13:56 +01:00
minkyu_kim d42522eec5
build: fix make errors that occur in Makefile
fix make errors that occur in
 coverage-clean case and coverage-test in Makefile

PR-URL: https://github.com/nodejs/node/pull/55287
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-10-19 10:54:35 +02:00
Aviv Keller b2c42dbcbb
build: add more information to Makefile help
PR-URL: https://github.com/nodejs/node/pull/53381
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-09-24 20:40:34 +00:00
Aviv Keller a1cd3c8777
build: update ruff and add `lint-py-fix`
PR-URL: https://github.com/nodejs/node/pull/54410
Reviewed-By: Christian Clauss <cclauss@me.com>
2024-09-24 15:20:20 +00:00
Aviv Keller 81cc72996a
build: fix eslint makefile target
PR-URL: https://github.com/nodejs/node/pull/54999
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-09-20 21:46:54 +00:00
Aviv Keller 96e057093f
build: print `Running XYZ linter...` for py and yml
PR-URL: https://github.com/nodejs/node/pull/54386
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-09-18 12:04:38 +00:00
Aviv Keller 437e168c06
build: don't store eslint locally
PR-URL: https://github.com/nodejs/node/pull/54231
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-09-06 17:31:45 +00:00
Joyee Cheung e272cfbf05
build: don't clean obj.target directory if it doesn't exist
This can happen to ninja builds, which would then throw an
error instead of being a noop if the command is executed.

PR-URL: https://github.com/nodejs/node/pull/54337
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-08-24 14:17:44 +00:00
Aviv Keller 123693ccbf
build: update `ruff` to `0.5.2`
PR-URL: https://github.com/nodejs/node/pull/53909
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-08-13 17:21:59 +00:00
Benjamin E. Coe 20aff2b6ff
build: update gcovr to 7.2 and codecov config
PR-URL: https://github.com/nodejs/node/pull/54019
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2024-07-27 21:52:23 +00:00
James M Snell efe5b81df9 deps: start working on ncrypto dep
Start moving src/crypto functionality out to a separate dep that
can be shared with other projects that need to emulate Node.js
crypto behavior.

PR-URL: https://github.com/nodejs/node/pull/53803
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2024-07-18 06:56:53 -07:00
Daniel Bayley cff7da7749
src,test: further cleanup references to osx
PR-URL: https://github.com/nodejs/node/pull/53820
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2024-07-15 20:32:26 +00:00
James M Snell d335487e3f src, deps: add nbytes library
Projects that seek to implement Node.js compatible APIs end up
needed to reproduce various bits of functionality internally in
order to faithfully replicate the Node.js behaviors. This is
particularly true for things like byte manipulation, base64 and
hex encoding, and other low-level operations. This change
proposes moving much of this low-level byte manipulation code
out of nodejs/src and into a new `nbytes` library. Initially this
new library will exist in the `deps` directory but the intent is
to spin out a new separate repository to be its home in the future.
Doing so will allow other projects to use the nbytes library with
exactly the same implementation as Node.js.

This commit moves only the byte swapping and legacy base64 handling
code. Additional commits will move additional byte manipulation
logic into the library.

PR-URL: https://github.com/nodejs/node/pull/53507
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-06-21 07:38:37 -07:00
Michaël Zasso 2eff28fb7a
tools: move ESLint to tools/eslint
Greatly simplify how ESLint and its plugins are installed.

PR-URL: https://github.com/nodejs/node/pull/53413
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-06-19 19:54:08 +00:00
Antoine du Hamel 937ae102e7
tools: do not run Corepack code before it's reviewed
Also enable running `make corepack-update` when `node`/`npm` is not
available globally.

PR-URL: https://github.com/nodejs/node/pull/53405
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-06-12 10:57:42 +00:00
Michaël Zasso 94c8178442
tools: move ESLint tools to tools/eslint
With ESLint flat config, we don't need a hack with `node_modules`
anymore to load ESLint plugins.
This commit moves the node-core plugin out of `tools/node_modules` and
creates a new `tools/eslint` directory to store ESLint tools.

PR-URL: https://github.com/nodejs/node/pull/53393
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-06-11 06:58:51 +00:00
jakecastelli 5a446ccf37
build: fix spacing before NINJA_ARGS
PR-URL: https://github.com/nodejs/node/pull/53181
Fixes: https://github.com/nodejs/node/issues/53176
Refs: https://github.com/nodejs/node/issues/53176
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
2024-06-08 01:08:22 +00:00
Yagiz Nizipli d953861daf
build: update ruff to v0.4.5
PR-URL: https://github.com/nodejs/node/pull/53180
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-05-30 01:18:12 +00:00
Antoine du Hamel 534c122de1
build: add `--skip-tests` to `test-ci-js` target
PR-URL: https://github.com/nodejs/node/pull/53105
Reviewed-By: Richard Lau <rlau@redhat.com>
2024-05-29 17:24:32 +00:00
Tobias Nießen 19f0bcaa62
build: fix -j propagation to ninja
The expression containing MAKEFLAGS must be evaluated in a deferred
context for the propagation to work in GNU make. Otherwise, regardless
of the -j value passed to make, ninja will spawn a potentially greater
number of parallel compilation tasks, which can quickly exhaust all
available memory.

PR-URL: https://github.com/nodejs/node/pull/53088
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-05-25 17:37:05 +00:00
Michaël Zasso 7e6d92c485
tools: update ESLint to v9 and use flat config
Closes: https://github.com/nodejs/node/issues/52567
PR-URL: https://github.com/nodejs/node/pull/52780
Fixes: https://github.com/nodejs/node/issues/52567
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2024-05-23 19:45:18 +00:00
flakey5 e5a76f16e1
build, tools: copy release assets to staging R2 bucket once built
Co-authored-by: Michaël Zasso <targos@protonmail.com>
PR-URL: https://github.com/nodejs/node/pull/51394
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
2024-05-06 07:42:32 +00:00
Michaël Zasso 468cb99ba4
tools: update Ruff to v0.3.4
- Use `check` command as suggested
- Adapt deprecated config
- Ignore cpplint.py as it's a third-party script

PR-URL: https://github.com/nodejs/node/pull/52302
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
2024-04-08 07:42:09 +00:00
Antoine du Hamel 2a33e95093
build: respect the `NODE` env variable in `Makefile`
PR-URL: https://github.com/nodejs/node/pull/51743
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-03-03 20:06:53 +00:00
Cheng Zhao b1468d21ee build,tools: make addons tests work with GN
PR-URL: https://github.com/nodejs/node/pull/50737
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
2024-02-23 16:14:42 +09:00
Joyee Cheung 1995eca29b
build: run embedtest using node executable
We should use the node executable to run this test, instead of
counting on embedtest, the binary being tested, as the test runner.
Otherwise bugs can go unnoticed if the embedtest binary itself
does not work correctly.

PR-URL: https://github.com/nodejs/node/pull/49506
Fixes: https://github.com/nodejs/node/issues/49501
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-09-18 00:06:20 +02:00
legendecas 178dff255f test: avoid copying test source files
Converting the helper functions to be inlined and making the helper file
header only.

PR-URL: https://github.com/nodejs/node/pull/49515
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
2023-09-10 06:11:36 +00:00
Rich Trott 198affc639
tools: pin ruff version number
New versions have new rules and end up breaking builds unexpectedly.

PR-URL: https://github.com/nodejs/node/pull/48505
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Ruy Adorno <ruyadorno@google.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-06-21 08:34:46 +02:00
Gabriel Schulhof 3c35cd4a74 node-api: provide napi_define_properties fast path
Implement defining properties via V8's
`v8::Object::CreateDataProperty()`, which is faster for data-valued,
writable, configurable, and enumerable properties.

Re: https://github.com/nodejs/node/issues/45905
Signed-off-by: Gabriel Schulhof <gabrielschulhof@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/48440
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-06-15 18:07:30 -07:00
Joyee Cheung 7fba2c223d
tools: port js2c.py to C++
This makes it easier to use third-party dependencies in this tool
(e.g. adding compression using algorithms not available in Python).
It is also much faster - locally js2c.py takes ~1.5s to generate the
output whereas this version takes ~0.1s - and consumes less memory
(~110MB v.s. 66MB).

This also modifies the js2c.py a bit to simplify the output, making
it easier to compare with one generated by the C++ version. Locally
the output from the two are identical. We'll remove js2c.py in a
subsequent commit when the C++ version is used by default.

PR-URL: https://github.com/nodejs/node/pull/46997
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-05-24 13:32:58 +02:00
Filip Skokan a5ce18f9e0
test: refactor WPTRunner and enable parallel WPT execution
PR-URL: https://github.com/nodejs/node/pull/47635
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2023-04-25 11:45:54 +00:00
Filip Skokan 607715e52a Revert "test: run WPT files in parallel again"
This reverts commit c05689ea6b.

PR-URL: https://github.com/nodejs/node/pull/47627
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
2023-04-20 10:25:08 +02:00
Filip Skokan a49e93e127 Revert "tools: ensure failed daily wpt run still generates a report"
This reverts commit b17227b6e2.

PR-URL: https://github.com/nodejs/node/pull/47627
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Matthew Aitken <maitken033380023@gmail.com>
2023-04-20 10:25:07 +02:00
Christian Clauss 4c2241400a
build: replace Python linter flake8 with ruff
PR-URL: https://github.com/nodejs/node/pull/47519
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
2023-04-14 16:49:01 +00:00
Filip Skokan b17227b6e2 tools: ensure failed daily wpt run still generates a report
PR-URL: https://github.com/nodejs/node/pull/47376
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-04-03 13:06:27 +02:00
Christian Clauss cce5a8c9ae
build: remove Python pip `--no-user` option
Python pip no longer has a `--no-user` option.

Refs: https://github.com/nodejs/build/issues/3273
Refs: https://github.com/pypa/pip/pull/5116/files
PR-URL: https://github.com/nodejs/node/pull/47372
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
2023-04-02 19:58:57 +02:00
Filip Skokan c05689ea6b
test: run WPT files in parallel again
PR-URL: https://github.com/nodejs/node/pull/47283
Refs: https://github.com/nodejs/node/issues/47146
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-03-31 17:56:40 +00:00
Antoine du Hamel 553b052648
tools: remove targets for individual test suites in `Makefile`
PR-URL: https://github.com/nodejs/node/pull/46892
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2023-03-31 13:48:59 +00:00