Contributing to Node.js
Danielle Adams | @adamzdanielle
TS Open | September 28, 2023
What is Node.js?
- A JavaScript runtime for backends and scripting (including frontend builds)
-
Requires a single JavaScript entry point to execute
- Code can be modularized using either CommonJS or ECMAScript Modules (ESM)
- Uses a manifest file to reference dependencies and import them into code
~ node my_app.js
How is Node.js built?
- Built on top of V8, Google's open source project that powers Chrome's JavaScript runtime
-
The binary is written with both JavaScript and C++
- Node is built with additional libraries, such as OpenSSL and libuv, that are supplemental to core functionality
Dependency Versions
~ node Welcome to Node.js v20.7.0. > process.versions { node: '20.7.0', openssl: '3.0.10+quic', tz: '2023c', undici: '5.23.0', unicode: '15.0', uv: '1.46.0', v8: '11.3.244.8-node.15' }
How is Node.js released?
- Releasers select commits that are intended to be landed on specified Node.js release lines
-
Test suites are run across multiple architectures and platforms; additionally, tests are run to check compatibility with popular packages
- Releasers then will execute release builds that will be signed and pushed to the Node.js project's public distribution
# of Commits by Release
How did I get involved with Node.js?
How can you get involved?
-
pull requests
-
working groups
- conference and summit participation
- https://nodejs.dev/en/get-involved/
Questions?
- OpenJS Slack: @Danielle Adams
- Twitter: @adamzdanielle
- https://danielle.lol
Feel free to reach out!
Thank you!
Enjoy your Open Source day!
Contributing to Node.js
By Danielle Adams
Contributing to Node.js
Slides for presenting at TS Open 2023
- 240