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?

Questions?

Feel free to reach out!

Thank you!

Enjoy your Open Source day!