Weekly GitHub Report for Node - 2024-07-29 12:00:01
Weekly GitHub Report for Node
Thank you for subscribing to our weekly newsletter! Each week, we deliver a comprehensive summary of your GitHub project's latest activity right to your inbox, including an overview of your project's issues, pull requests, contributors, and commit activity.
I. Issues
1.1 Open Issues
Open Issues This Week: 18
Summarized Issues:
- Regression in node-gyp with Node.js v22.5.1: This issue describes a regression in node-gyp where attempting to compile packages like better-sqlite3 on Node.js v22.5.1 results in a TypeError. The error is due to an attempt to assign to a read-only property 'cflags', which did not occur in previous Node.js versions v18 and v20. This regression affects the ability to compile certain packages successfully.
- Errors in Jest tests with Angular 17: This issue describes an error (
ERR_INTERNAL_ASSERTION
) encountered when running Jest tests with Angular 17 on a Windows platform. The error results in an "Unknown worker message type" and suggests a bug in Node.js or incorrect usage of its internals. The issue is potentially related tozone.js
.
- Experimental network imports flag error: This issue describes a bug where using the
--experimental-network-imports
flag in Node.js incorrectly throws anERR_NETWORK_IMPORT_DISALLOWED
error. The error occurs when attempting to import adata:
URL from anotherdata:
URL, despite no actual network import occurring. This bug affects the correct usage of the experimental flag.
- Feature request for auto-reloading environment variables: This issue proposes adding a feature to the Node.js command line tool to automatically reload environment variables from an
.env
file when it changes. The proposed--watch-env-file
flag would address the current limitation where--watch
and--watch-path
options do not reload updated environment variables. This feature would enhance the development workflow.
- Flaky test on Linux PPC64LE platform: This issue involves a flaky test named
parallel.test-sqlite
on the Linux PPC64LE platform. The test intermittently fails due to a timeout error, as Node.js does not exit within the allowed two minutes. Suggestions include splitting the large test file to mitigate the problem.
- CLI permission tests failing in
/tmp
directory: This issue describes a problem where certain CLI permission tests fail when the current working directory (CWD) is within the/tmp
directory. The failures result in assertion errors due to unexpected dependency on the CWD for test success. This issue affects the reliability of CLI permission tests.
- Enhancement for
parseArgs
utility: This issue proposes enhancing theparseArgs
utility to support multiple positional arguments per option key. This enhancement would allow for a more user-friendly syntax when specifying lists of files to read and write in a command-line interface. The proposal aims to improve the flexibility of the utility.
- I/O error on Windows 10 with
fs.openSync
: This issue describes a bug in Node.js v20.15.1 on Microsoft Windows 10 where attempting to open a physical drive for read/write access usingrequire('fs').openSync('\\\\.\\PhysicalDrive2', fs.constants.O_RDWR)
results in an I/O error. The error is due to an additional backslash being added to the path. This bug affects the ability to access physical drives.
- Repeated failed CI run notifications: This issue is about a user experiencing repeated failed CI run notifications on their forked repository despite not making any new commits. The user is seeking confirmation and solutions from others who might have faced the same problem. This issue affects the reliability of CI notifications.
filehandle.readableWebStream()
method bug: This issue describes a bug where thefilehandle.readableWebStream()
method in Node.js returns chunks asArrayBuffer
instead ofUint8Array
. This causes anERR_INVALID_ARG_TYPE
error when used withReadable.fromWeb()
. The bug affects the correct functioning of the method.
- ERR_INTERNAL_ASSERTION error with
yarn test:cover
: This issue describes an ERR_INTERNAL_ASSERTION error encountered when running the "yarn test:cover" command. The error is potentially due to a bug in Node.js or incorrect usage of its internals, with a discrepancy between the Node.js versions 21.7.3 and 20.10.0. This issue affects the reliability of test coverage runs.
- Build error on Windows 11 with Visual Studio 2022: This issue describes a build error encountered when attempting to compile Node.js on Windows 11 x64 using Visual Studio 2022 version 17.10. The build is explicitly blocked due to a known compiler error. This issue affects the ability to compile Node.js on the specified platform.
- Using environment variables in
index.html
on Windows: This issue is about seeking assistance on how to use environment variables within anindex.html
file on a Windows platform. The user is currently unable to access the environment variables. This issue affects the ability to utilize environment variables in web development.
- Asynchronous alternative to
import.meta.resolve()
: This issue proposes adding an asynchronous alternative toimport.meta.resolve()
in Node.js. The alternative would include additional options for specifying a referrer path and import conditions, addressing the limitations of the current synchronous and non-standard approach. This proposal aims to enhance module resolution.
- Test runner bug with
only
andrunOnly
options: This issue addresses a bug in the test runner where the comment'only' and 'runOnly' require the --test-only command-line option.
is incorrectly displayed for tests that have the{ only: false }
option set. This bug affects the clarity of test runner messages.
- Discrepancy between Node.js REPL and browser console: This issue describes a discrepancy between the Node.js REPL and the browser console in handling variable declaration and reference errors. The Node.js REPL throws a
SyntaxError
and subsequentReferenceError
when attempting to reassign a previously undeclared variable, unlike the browser console. This discrepancy affects the consistency of error handling.
- Subtest filtering bug in Node.js: This issue describes a bug where subtest filtering in Node.js only works with the
describe
function and not with thetest
function. Despite documentation suggesting it should work with both, the bug limits the functionality of subtest filtering. This issue affects the usability of test filtering.
- TypeError with
console.timeEnd
andconsole.timeLog
: This issue describes a bug whereconsole.timeEnd
andconsole.timeLog
throw a TypeError when used with the--frozen-intrinsics
flag in Node.js v22.5.1 on a Linux platform. The error is due to an attempt to write to a non-extensible object. This bug affects the correct usage of console timing methods.
1.2 Top 5 Active Issues:
We consider active issues to be issues that have generated much discussion in the issue's comments.
- enable corepack by default: This issue is about enabling Corepack by default in Node.js to ensure developers use the same version of pnpm specified in the
packageManager
field ofpackage.json
, as developers often forget to enable Corepack manually, leading to inconsistencies. The proposal aims to simplify the process and improve developer experience by automatically enabling Corepack when apackageManager
field is detected.
- The comments section includes a detailed discussion on the technical and governance aspects of enabling Corepack by default, with various stakeholders expressing concerns about security, maintenance, and the impact on npm. There are also suggestions to split the discussion into separate issues, clarify the goals and policies regarding package managers, and document the criteria for including new package managers in Node.js. The conversation highlights the need for consensus on the relationship between Node.js and package managers, and the potential implications of enabling Corepack by default.
- Number of comments: 122
- Discussion: New “ESM by default” mode: This issue discusses the proposal for a new mode in Node.js where the default module system would be ECMAScript Modules (ESM) instead of CommonJS. The proposal suggests enabling this mode via a flag, with the potential for it to become the default in a future major release, and outlines various use cases and changes needed to support this mode.
- The comments section includes a detailed discussion on the feasibility and implications of changing the default module system, concerns about ecosystem breakage, the handling of
package.json
files without atype
field, and the potential introduction of a new flag or binary to support this mode. There is also debate on how to handle URL-based entry points and the impact on existing tools and workflows.- Number of comments: 98
-
.env
file support issue tracker: This issue is a follow-up to a previous pull request to track the development and discussion around adding support for.env
files in Node.js. It includes a list of tasks and questions to be addressed, such as defining the syntax for.env
files, supporting multiple--env-file
parameters, and deciding on the behavior when an.env
file does not exist.- The comments discuss various aspects of
.env
file support, including whether to throw errors for non-existing files, the precedence of environment variables, the need for a programmatic API, and the potential for supporting multi-line values and different file formats. There are also debates on whether to follow existing dotenv behavior or introduce new features, and some users report issues with the current implementation, such as incorrect handling of comments in.env
files. - Number of comments: 55
- The comments discuss various aspects of
-
Proposal for a simple, universal module loader hooks API to replace require() monkey-patching: This issue proposes the creation of a simple, universal module loader hooks API to replace the current practice of monkey-patching the CommonJS (CJS) loader in Node.js. The goal is to provide a synchronous, in-thread API that works for both CJS and ECMAScript Module (ESM) loading customizations, simplifying the migration path for tooling and users while allowing Node.js to deprecate
require()
monkey-patching.- The comments discuss various aspects of the proposal, including its potential benefits for third-party tools, the challenges of the current off-thread hooks design, and the need for a universal API that can handle both CJS and ESM modules. There are also concerns about maintaining the off-thread hooks and ensuring that all use cases are covered before deprecating monkey-patching. Some contributors suggest implementing the synchronous hooks first and then evaluating the need for asynchronous hooks based on performance benchmarks.
- Number of comments: 47
-
Discussion: Name of the flag for the “ESM by default” mode: This issue discusses the naming of a new flag for the "ESM by default" mode in Node.js, considering various constraints and potential user confusions. The conversation includes suggestions for the flag name, debates on whether to use existing flags or create new ones, and the implications of these choices on user experience and backward compatibility.
- The comments section includes a detailed debate on the necessity of a new flag versus expanding the scope of the existing
--input-type
flag, concerns about breaking changes, and the potential confusion caused by having multiple similar flags. Participants also discuss the merits of different flag names (--experimental-type
,--default-type
,--implicit-type
), the possibility of short flag versions, and the impact of these decisions on future Node.js versions. - Number of comments: 42
- The comments section includes a detailed debate on the necessity of a new flag versus expanding the scope of the existing
1.3 Top 5 Quiet Issues:
We consider quiet issues to be issues that have been opened in this project for the longest time. The team should work together to get these issues resolved and closed as soon as possible.
-
new "extensionless files" loader error, new node 18.17.0 only: This issue pertains to a bug encountered when using Node.js version 18.17.0 on a Windows platform, which does not occur in versions 18.16.0 or 20.*. The problem consistently arises during the execution of tests in the esmock repository, causing them to fail despite having historically passed in similar environments.
- Open for 366 days, 11 hours, 27 minutes
-
node_mksnapshot.exe
fails withSyntaxError: Invalid or unexpected token
: This issue describes a problem encountered when attempting to build Node.js on a Windows system, where the process fails with aSyntaxError: Invalid or unexpected token
error in thenode_mksnapshot.exe
file. The error occurs despite thelib/internal/timers.js
file being unmodified and having the correct SHA-1 checksum.- Open for 361 days, 20 hours, 47 minutes
-
Multiple require and clear-module module files lead to memory explosion: This issue describes a memory explosion problem caused by repeatedly requiring and clearing module files in Node.js, which eventually leads to an out-of-memory (OOM) error. The user provides a test case demonstrating that requiring and clearing a module 100 times results in a significant increase in total heap size, indicating a memory leak.
- Open for 360 days, 07 hours, 13 minutes
-
Improving development experience around snapshot errors: This issue is about improving the developer experience when dealing with snapshot errors in the Node.js project, as these errors are often difficult to debug and understand. The issue includes a detailed example of a snapshot error and highlights that the current README suggestions did not provide meaningful guidance, suggesting a need for better documentation or tools to address such errors.
- Open for 357 days, 00 hours, 50 minutes
-
RequireCache manual entries not working (Documentation sample code doesn't work): This issue highlights a discrepancy between the Node.js documentation and actual behavior regarding the manual addition or replacement of entries in the
require.cache
. The user reports that following the documentation's sample code results in failed module loading and suggests a potential fix in theloader.js
file, while also questioning whether the documentation should be updated to reflect this limitation.- Open for 355 days, 18 hours, 51 minutes
1.4 Closed Issues
Closed Issues This Week: 15
Average Issue Close Time (This Week): 69.11 days
Summarized Issues:
- Child Process File Handle Inheritance: This issue discusses the need for a feature in Node.js on Windows that allows a child process created by
child_process.exec
to avoid inheriting file handles from the parent process. The feature would be similar to thelpProcessAttributes
parameter in the Windows APICreateProcess
. This would help in managing file handles more efficiently in child processes.
- Native Syscall API: This issue proposes supporting a native syscall API in Node.js to eliminate the need for architecture-specific builds. It aims to simplify the creation of "run-everywhere" JavaScript files. The proposal addresses challenges related to buffer and pointer handling, as well as garbage collection during asynchronous syscalls.
- Running JavaScript Functions in Child Processes: This issue proposes a feature to allow running JavaScript functions in separate child processes using the
child_process
module. It would be similar to how commands and files are currently executed with methods likeexec
,spawn
,fork
, andexecFile
. This would enhance the flexibility and capability of thechild_process
module.
- Test Runner Enhancements: This issue involves enhancing the test runner's dot reporter by adding color to its output. Specifically, it suggests changing the current white dots to green and the white X to red. This would improve the visual clarity of test results.
- Undici Library Update: This issue addresses the need to update the Undici library to version 6.17.0 or higher in Node.js 20.x. The update is necessary to backport a fix that resolves a bug affecting users of AWS Lambda and other services. Ensuring compatibility and stability for those environments is crucial.
- Collaborator Nomination: This issue is about nominating @jakecastelli for the role of Collaborator in the Node.js project. It highlights his contributions and positive collaboration within the community. The nomination aims to recognize and formalize his role in the project.
- Test Failures on IBM i and Windows: This issue pertains to a test failure in the Node.js project on the IBM i platform, where the
parallel/test-worker-node-options
test fails due to an assertion error. Similarly, another issue describes a test failure on Windows due to an assertion error caused by the operating system not distinguishing between uppercase and lowercase folder names.
- Global Event Handlers in Test Runner: This issue addresses the need to remove global event handlers after test runs are completed in the Node.js test runner. This is to prevent memory leaks and warnings about exceeding the maximum number of listeners. Proper cleanup of event handlers is essential for maintaining test runner performance.
fs.openAsBlob()
Method Bug: This issue describes a bug in thefs.openAsBlob()
method where theslice()
function does not return the expected portion of the blob. Specifically, when called with no arguments or chained slices, it results in incorrect blob lengths upon reading. This bug affects the reliability of blob operations.
node --run
Command Confusion: This issue addresses the confusion and potential documentation error regarding thenode --run
command. The command currently requires an argument to function, contrary to the expectation set by the documentation that it should list available scripts if no command is provided. Clarifying this behavior is necessary for user understanding.
- Flaky Test on Linux: This issue describes a flaky test,
parallel/test-assert-esm-cjs-message-verify
, which intermittently fails on various Linux platforms. The failure is due to an "EEXIST: file already exists" error, potentially linked to recent changes in thermSync
implementation. Addressing this flakiness is important for test reliability.
- Custom Versioning Schema in
package.json
: This issue proposes allowing packages to declare their own versioning schema inpackage.json
. This would accommodate projects that do not follow Semantic Versioning (SemVer), thereby reducing friction for users when updating dependencies. It aims to provide more flexibility in version management.
- Memory Consumption with
JSON.parse()
: This issue describes a problem where using a trivialreviver
function withJSON.parse()
in Node.js v20.15.0 on a Darwin platform results in significantly higher memory consumption. The issue is attributed to the V8 engine's memory management rather than Node.js itself. This highlights the need for optimization in memory handling.
--experimental-strip-types
Flag Bug: This issue describes a bug where the--experimental-strip-types
flag in Node.js does not function correctly when used with STDIN input. Despite documentation indicating that it should work, it fails to operate as expected. This discrepancy needs to be resolved for accurate functionality.
1.5 Issue Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open issues within the past week to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open issues from the past week.
II. Pull Requests
2.1 Open Pull Requests
Open Pull Requests This Week: 28
Pull Requests:
- Relocating SPKAC Methods: This pull request aims to relocate the SPKAC (Signed Public Key and Challenge) methods to the
ncrypto
module within the Node.js project. It involves incrementally transferring more implementation details of the crypto module from the src directory to the ncrypto module. This change is part of a broader effort to modularize the crypto functionalities in Node.js.
- Bug Fixes in Path Handling and Readline Module: This pull request addresses a bug in the
win32.relative()
function on Windows by ensuring that the algorithm correctly handles paths containing UTF characters, such as "İ", without altering their length when converting to lowercase. Additionally, it addresses an issue in the readline module by fixing an unresolved promise that occurs upon abortion. These fixes improve the reliability and correctness of path handling and readline operations in Node.js.
- Documentation Updates: This pull request updates the documentation to clarify the
useCodeCache
setting for cross-platform SEA generation to prevent the creation of 'broken' executables. It also corrects a typo in the method name within the single executable applications section of the documentation. These updates ensure that the documentation is accurate and helpful for developers.
- Test Runner Improvements: This pull request involves switching the test runner to use an internal readline interface and proposes a change to automatically wait for subtests to finish. It also aims to streamline the test runner bootstrap process by consolidating a Promise and a boolean flag into a single value. These changes enhance the test runner's functionality and developer experience.
- Performance and Benchmarking: This pull request introduces a naive micro-benchmark to compare the performance of
node_api_create_property_key_utf16
against normal strings in the Node.js project. It also aims to backport a specific V8 commit to enable the landing of another pull request, which involves adding ContinuationPreservedEmbedderData builtins for improved performance. These efforts are focused on enhancing the performance and benchmarking capabilities of Node.js.
- Test Reliability and Optimization: This pull request addresses the issue of occasional timeouts in the CI by splitting the large
test/parallel/test-sqlite.js
file into several smaller test files. It also aims to optimize the code by removing the redundant initialization of a Buffer for non-buffer output encodings. These changes improve test reliability and optimize the codebase.
- Code and Configuration Updates: This pull request aims to update the gcovr tool to version 7.2 and modify the codecov configuration for the Node.js project. It also disallows the use of destructuring with internal bindings and replaces the spread operator with the
ArrayPrototypeSlice
function. These updates enhance the project's code quality and configuration.
- Error Handling and Diagnostics: This pull request introduces a new diagnostics channel
http.client.request.error
to ensure that 'error' events are emitted and published to this channel. It also addresses the issue of uncaughtException errors being swallowed in exit code tests by updating the zeroExitWithUncaughtHandler values. These changes improve error handling and diagnostics in Node.js.
- Feature Enhancements: This pull request introduces a feature that allows nested data imports from other data URLs when the
--experimental-network-imports
flag is enabled. It also enables the watcher to observe environment files in--watch
mode and forward any changes to the child process. These enhancements add new capabilities to Node.js.
- Miscellaneous Improvements: This pull request aims to enhance the readability of the Chocolatey install script by breaking down a long command into multiple lines. It also addresses a crash in Electron by modifying the logic to parse the OpenSSL version and relocates the shared module
test/fixtures/process-exit-code-cases.js
to thetest/common
directory. These improvements contribute to the overall quality and maintainability of the project.
- Event and Warning Handling: This pull request updates the
test:enqueue
andtest:dequeue
events to include atype
in theirdetails
, enabling reporters to differentiate between suite and test events. It also addresses the issue of unnecessary warnings being emitted for non-existentpackage.json
files by ensuring that warnings are only shown for existingpackage.json
files without a type. These changes improve event handling and reduce unnecessary warnings.
- Backporting Features: This pull request is a manual backport of the implementation of the
min
option forReadableStreamBYOBReader.read
from a previous update to the v20.x branch of the Node.js project. This ensures that the feature is available in the older version of Node.js.
2.2 Closed Pull Requests
Closed Pull Requests This Week: 66
Summarized Pull Requests:
- Test and Documentation Enhancements: This topic includes pull requests that add tests and documentation to various parts of the Node.js project. These changes ensure that new features and bug fixes are well-documented and thoroughly tested, improving the overall reliability and maintainability of the codebase.
- Build and Configuration Fixes: These pull requests address issues related to build configurations and compilation errors. They ensure that Node.js can be built correctly across different environments and build systems, improving compatibility and reducing build-related issues.
- Performance Improvements: These pull requests focus on optimizing various functions and modules within Node.js. By improving performance through code optimizations and benchmarking, they enhance the efficiency and speed of the Node.js runtime.
- Experimental Features and Flags: This topic includes pull requests that introduce new experimental features and flags to Node.js. These additions allow developers to test and provide feedback on new capabilities before they become stable.
- Bug Fixes and Issue Resolutions: These pull requests address various bugs and issues reported by the community. By fixing these problems, they improve the stability and reliability of Node.js.
- github.com/nodejs/node/pull/53704
- github.com/nodejs/node/pull/53781
- github.com/nodejs/node/pull/53866
- github.com/nodejs/node/pull/53878
- github.com/nodejs/node/pull/53912
- github.com/nodejs/node/pull/53941
- github.com/nodejs/node/pull/53972
- github.com/nodejs/node/pull/53976
- github.com/nodejs/node/pull/53981
- github.com/nodejs/node/pull/53982
- github.com/nodejs/node/pull/53993
- github.com/nodejs/node/pull/53995
- github.com/nodejs/node/pull/54005
- github.com/nodejs/node/pull/54015
- github.com/nodejs/node/pull/54036
- Code Cleanup and Refactoring: These pull requests involve cleaning up and refactoring the codebase to improve readability, maintainability, and performance. They remove redundant code, simplify complex logic, and ensure consistency across the project.
- Documentation Updates: These pull requests update various documentation files within the Node.js project. They ensure that the documentation is accurate, up-to-date, and helpful for developers using Node.js.
- Test Runner Improvements: These pull requests focus on enhancing the test runner used in the Node.js project. They address issues such as flaky tests, improve test coverage, and add new features to the test runner.
- Security Enhancements: These pull requests aim to improve the security of Node.js by addressing vulnerabilities and ensuring safe handling of data. They include changes to cryptographic functions and integer handling to prevent potential security issues.
- Release and Version Updates: This topic includes pull requests related to the release of new Node.js versions and updates to dependencies. They ensure that the project stays current with the latest changes and improvements.
- Miscellaneous Improvements: These pull requests cover a variety of improvements and changes that do not fit into the other categories. They include updates to templates, error handling, and other miscellaneous enhancements.
- github.com/nodejs/node/pull/53776
- github.com/nodejs/node/pull/53885
- github.com/nodejs/node/pull/53951
- github.com/nodejs/node/pull/53959
- github.com/nodejs/node/pull/53966
- github.com/nodejs/node/pull/53970
- github.com/nodejs/node/pull/54004
- github.com/nodejs/node/pull/54009
- github.com/nodejs/node/pull/54029
2.3 Pull Request Discussion Insights
This section will analyze the tone and sentiment of discussions within this project's open pull requests within the past week to identify potentially heated exchanges and to maintain a constructive project environment.
Based on our analysis, there are no instances of toxic discussions in the project's open pull requests from the past week.
III. Commits
3.1 Commits
Commits This Week: 57
Summarized Commits:
- Performance Enhancements: The project has seen several performance improvements, such as the backporting of V8 changes to enhance AsyncLocalStorage and APM, optimizing the
copyError
function ininternal/assert.js
, and simplifying theAESCipherTraits::AdditionalConfig
by streamlining code.
- Test Suite Improvements: Multiple commits focus on enhancing the test suite, including adding new tests for single-argument timers, modifying the test runner to handle mocked
clearTimeout()
, marking certain tests as flaky, and skipping specific tests on IBM i systems.
- Documentation Updates: The documentation has been updated to reflect changes in TSC membership, correct information about TypeScript support for stdin, and include details about prefix-only modules. Additionally, there were updates to the Boxstarter README and corrections to typos.
- Build Process Adjustments: The build process has been refined to avoid compiling with Visual Studio version 17.10, address compatibility issues with GCC 12, and ensure the v8_pointer_compression_sandbox feature is enabled on 64-bit systems.
- Code Refactoring: Several commits involve code refactoring for better readability and efficiency, such as replacing
strcmp
withstd::string_view
inImportJWKAsymmetricKey
, removing redundantRsaPointer
, and usingObjectAssign
infs.cpSync
.
- Bug Fixes: Various bug fixes have been implemented, including resolving a regression in the
rmsync
function, fixing thenew_end
value calculation for file-backed Blobs, and addressing incomplete prototype pollution hardening in thechild_process
module.
- Feature Additions: New features have been introduced, such as the DuplexPair API in the stream module, the
hasSubscribers
getter in the tracing channel, and an experimental feature for stripping types in the module system.
- Test Robustness: Enhancements to test robustness include adding comments and renaming tests for clarity, introducing tests for promise-version
setTimeout
withNaN
, and addressing flaky tests liketest-assert-esm-cjs-message-verify
.
- Security Enhancements: Security improvements include the introduction of the
ncrypto
module for CSPRNG calls and addressing vulnerabilities in thechild_process
module.
- Project Metadata Updates: Updates to project metadata include moving a TSC member to emeritus status and adding new collaborators like Jake.
- Build Configuration Fixes: Fixes to build configurations include resolving conflicts in GYP files and ensuring build variables are defined at the configuration level.
- Error Handling Improvements: Improvements in error handling include modifying the test runner to prevent errors when
clearTimeout()
is mocked and ensuring theSLACK_TITLE
variable is correctly set in the invalid commit workflow.
- SQLite Handling: Changes to SQLite handling include returning
undefined
instead of{ key: null, value: null }
when no rows are returned and disallowing unsafe integer coercion.
- Cluster Module Enhancements: Enhancements to the cluster/primary module include code improvements and better handling of global event listeners after test runs.
- Release Updates: The project has introduced the 2024-07-24 release of Version 20.16.0 'Iron' (LTS), featuring several notable changes and enhancements across multiple modules.
- Build Tool Adjustments: Adjustments to build tools include removing the leading
/
from ther2dir
variable to prevent unintended directory creation by Cloudflare.
- Test Runner Enhancements: Enhancements to the test runner include fixing support for watch mode and explicitly passing in coverage options through configuration settings.
- JavaScript Call Optimizations: Optimizations in JavaScript calls within the
fs.cpSync
function have been implemented to improve performance.
- Event Listener Cleanup: The cleanup of global event listeners after test runs has been addressed to ensure proper test environment management.
- Experimental Warning Unification: Experimental warning messages have been unified across the project for consistency.
- Prototype Pollution Hardening: Incomplete prototype pollution hardening in the
child_process
module has been addressed to enhance security.
- TypeScript Support Documentation: Documentation has been updated to correct information regarding TypeScript support for standard input (stdin).
- Test Path Comparison: The test suite has been updated to compare file paths on Windows without considering case sensitivity.
- Invalid Commit Workflow Fixes: Fixes to the invalid commit workflow include correcting the
SLACK_TITLE
variable.
- Bug Reporting Process: The bug-reporting process has been enhanced by making additional information mandatory.
- GYP Configuration Fixes: Fixes to GYP configuration files ensure that build variables specific to Release or Debug modes are defined at the configuration level.
IV. Contributors
4.1 Contributors
Active Contributors:
We consider an active contributor in this project to be any contributor who has made at least 1 commit, opened at least 1 issue, or created at least 1 pull request in the past month.
Contributor | Commits | Pull Requests | Issues |
---|---|---|---|
GitHub | 175 | 0 | 0 |
RedYetiDev | 0 | 38 | 4 |
anonrig | 0 | 30 | 0 |
RafaelGSS | 8 | 8 | 0 |
Node.js GitHub Bot | 15 | 0 | 0 |
cjihrig | 0 | 12 | 2 |
aduh95 | 0 | 13 | 0 |
tniessen | 0 | 11 | 0 |
zcbenz | 0 | 10 | 0 |
jasnell | 0 | 8 | 0 |
targos | 0 | 7 | 1 |
joyeecheung | 0 | 3 | 4 |
jakecastelli | 0 | 6 | 0 |
legendecas | 0 | 6 | 0 |
rotu | 0 | 2 | 4 |
mhdawson | 0 | 3 | 2 |
mfdebian | 0 | 4 | 0 |
marco-ippolito | 0 | 4 | 0 |
codebytere | 0 | 4 | 0 |
MCprotein | 0 | 4 | 0 |
James M Snell | 3 | 0 | 0 |
H4ad | 0 | 3 | 0 |
GeoffreyBooth | 0 | 2 | 1 |
cloydlau | 0 | 3 | 0 |
abmusse | 0 | 2 | 1 |
lirantal | 0 | 3 | 0 |
Trott | 0 | 3 | 0 |
mcollina | 0 | 1 | 2 |
himself65 | 0 | 2 | 1 |
richardlau | 0 | 2 | 1 |
ronag | 0 | 0 | 3 |
Cheng | 2 | 0 | 0 |
daeyeon | 0 | 2 | 0 |
benjamingr | 0 | 1 | 1 |
Kay-Yuan | 0 | 2 | 0 |
mertcanaltin | 0 | 1 | 1 |
danielbayley | 0 | 2 | 0 |
corp-jones-damarcus | 0 | 2 | 0 |
JonasBa | 0 | 2 | 0 |
huseyinacacak-janea | 0 | 2 | 0 |
EddieAbbondanzio | 0 | 2 | 0 |
Rekl0w | 0 | 2 | 0 |
MattiasBuelens | 0 | 2 | 0 |
bcoe | 0 | 2 | 0 |
lpinca | 0 | 2 | 0 |
sonsurim | 0 | 2 | 0 |
jleedev | 0 | 1 | 1 |
ghost | 0 | 2 | 0 |
EarlyRiser42 | 0 | 1 | 1 |
Ceres6 | 0 | 2 | 0 |
cola119 | 0 | 1 | 1 |
Deuces9ers | 0 | 0 | 2 |
ajvincent | 0 | 0 | 2 |
bojavou | 0 | 0 | 2 |
OliverJAsh | 0 | 0 | 2 |
manoraj | 0 | 0 | 2 |
trentm | 0 | 0 | 2 |
Marco Ippolito | 1 | 0 | 0 |
Richard Lau | 1 | 0 | 0 |
Moshe Atlow | 1 | 0 | 0 |
Michael Dawson | 1 | 0 | 0 |
Michaël Zasso | 1 | 0 | 0 |
mscdex | 0 | 1 | 0 |
elliotgoodrich | 0 | 1 | 0 |
AlirezaEbrahimkhani | 0 | 1 | 0 |
afanasy | 0 | 1 | 0 |
vmoroz | 0 | 1 | 0 |
bpasero | 0 | 1 | 0 |
ShogunPanda | 0 | 1 | 0 |
panva | 0 | 1 | 0 |
anfibiacreativa | 0 | 1 | 0 |
ovflowd | 0 | 1 | 0 |
regseb | 0 | 1 | 0 |
ehsankhfr | 0 | 1 | 0 |
MylesBorins | 0 | 1 | 0 |
ljharb | 0 | 1 | 0 |
JLHwung | 0 | 1 | 0 |
YieldRay | 0 | 1 | 0 |
MOHIT51196 | 0 | 1 | 0 |
WontonSam | 0 | 1 | 0 |
gabrielschulhof | 0 | 1 | 0 |
JulianKniephoff | 0 | 1 | 0 |
syi0808 | 0 | 1 | 0 |
ibrahimskh | 0 | 1 | 0 |
guybedford | 0 | 1 | 0 |
shyam66666 | 0 | 1 | 0 |
tsabolov | 0 | 1 | 0 |
Kikobeats | 0 | 1 | 0 |
taniishkaaa | 0 | 1 | 0 |
tie | 0 | 1 | 0 |
tlhunter | 0 | 1 | 0 |
atlowChemi | 0 | 1 | 0 |
shafi-VM | 0 | 1 | 0 |
SunsetTechuila | 0 | 1 | 0 |
Marostar123 | 0 | 1 | 0 |
79faiz | 0 | 1 | 0 |
pmarchini | 0 | 1 | 0 |
deokjinkim | 0 | 1 | 0 |
ishupatil | 0 | 1 | 0 |
debbs061 | 0 | 1 | 0 |
Qard | 0 | 1 | 0 |
rutaganda-salim | 0 | 1 | 0 |
rayark1 | 0 | 1 | 0 |
Emiltayeb | 0 | 1 | 0 |
Aksinya-Bykova | 0 | 1 | 0 |
manaswinikakarla | 0 | 1 | 0 |
firecraftgaming | 0 | 1 | 0 |
DanielVenable | 0 | 1 | 0 |
HBSPS | 0 | 1 | 0 |
nektro | 0 | 1 | 0 |
Mrgaton | 0 | 0 | 1 |
x-yuri | 0 | 0 | 1 |
xav-ie | 0 | 0 | 1 |
AriPerkkio | 0 | 0 | 1 |
ericmorand | 0 | 0 | 1 |
redactedprism | 0 | 0 | 1 |
Fusl | 0 | 0 | 1 |
Jason3S | 0 | 0 | 1 |
Triskae | 0 | 0 | 1 |
PuruVJ | 0 | 0 | 1 |
jdiaz-dev | 0 | 0 | 1 |
AcePeed | 0 | 0 | 1 |
isaacs | 0 | 0 | 1 |
realriccio | 0 | 0 | 1 |
analogic | 0 | 0 | 1 |
priyanshtrivedi | 0 | 0 | 1 |
EmilianoBecerra | 0 | 0 | 1 |
kristoffer-zliide | 0 | 0 | 1 |
mbrevda | 0 | 0 | 1 |
muturgan | 0 | 0 | 1 |
Tina1L | 0 | 0 | 1 |
lucacasonato | 0 | 0 | 1 |
xicilion | 0 | 0 | 1 |
meyfa | 0 | 0 | 1 |
lights0123 | 0 | 0 | 1 |
rentalhost | 0 | 0 | 1 |
Heyitsquoracom | 0 | 0 | 1 |
Tekshan98Madhawa | 0 | 0 | 1 |
cjinhuo | 0 | 0 | 1 |
dakhnod | 0 | 0 | 1 |
ChALkeR | 0 | 0 | 1 |
DominusKelvin | 0 | 0 | 1 |
tvmoo9 | 0 | 0 | 1 |
eligrey | 0 | 0 | 1 |
CukitoYT | 0 | 0 | 1 |
dogpatch626 | 0 | 0 | 1 |
RotemDoar | 0 | 0 | 1 |
Thedoctor1989 | 0 | 0 | 1 |
timfish | 0 | 0 | 1 |
Domdiservice | 0 | 0 | 1 |
zloirock | 0 | 0 | 1 |
rbuckton | 0 | 0 | 1 |
ycq0125 | 0 | 0 | 1 |
kaduvert | 0 | 0 | 1 |
omarismail94 | 0 | 0 | 1 |
romainmenke | 0 | 0 | 1 |
pcnate | 0 | 0 | 1 |
SteveW94 | 0 | 0 | 1 |
JoMC98 | 0 | 0 | 1 |
wahur666 | 0 | 0 | 1 |
lydell | 0 | 0 | 1 |
DavidRusso | 0 | 0 | 1 |
lisn0 | 0 | 0 | 1 |
AmitGuha04 | 0 | 0 | 1 |
colinhacks | 0 | 0 | 1 |
benbucksch | 0 | 0 | 1 |
WilliamAndreu | 0 | 0 | 1 |
inca | 0 | 0 | 1 |
Nixinova | 0 | 0 | 1 |
Kosta-Github | 0 | 0 | 1 |
jellelicht | 0 | 0 | 1 |
Asaf-Federman | 0 | 0 | 1 |
kuseni | 0 | 0 | 1 |
rluvaton | 0 | 0 | 1 |
tchetwin | 0 | 0 | 1 |
karlhorky | 0 | 0 | 1 |
cfamy | 0 | 0 | 1 |
bmatusiak | 0 | 0 | 1 |
mantri-mounika | 0 | 0 | 1 |
justinfagnani | 0 | 0 | 1 |
UziTech | 0 | 0 | 1 |
UlisesGascon | 0 | 0 | 1 |
dvirtz | 0 | 0 | 1 |
jfhr | 0 | 0 | 1 |