/nodejs.org

The Node.js® Website

Primary LanguageTypeScriptMIT LicenseMIT


Node.js Website built using Next.js with TypeScript, SCSS and MDXv2

MIT License Crowdin Badge Powered by Vercel
Build and Analysis Checks nodejs.org scorecard badge

What is this repo?

Nodejs.org by the OpenJS Foundation is the official website for the Node.js® JavaScript runtime. This repo is the source code for the website. It is built using Next.js, a React Framework.

npm ci
npx turbo serve

# listening at localhost:3000

Contributing

This project adopts the Node.js Code of Conduct.

Any person who wants to contribute to the Website is welcome! Please read Contribution Guidelines and see the Figma Design to understand better the structure of this repository.

Important

Please read our Translation Guidelines before contributing to Translation and Localization of the Website

Note

We recommend a read of all Relevant Links below before doing code changes; Including Dependency changes, Content changes, and Code changes.

Deployment

The Website is automatically deployed to Vercel through its GitHub App integration when new pushes happen on the main branch.

Details regarding the deployment are only accessible to the maintainers of the Website Team due to certain limitations.

The current integration is owned by the OpenJS Foundation and managed by the Website Team.

Legacy Deployment

The full setup is in https://github.com/nodejs/build/tree/master/ansible/www-standalone minus secrets and certificates.

The webhook is set up on GitHub for this project and talks to a small Node server on the host, which does the work. See the github-webhook package for this.

Node.js Binaries & API Docs

This repository does not contain the codebase or related infrastructure that serves https://nodejs.org/api/, https://nodejs.org/docs/ or https://nodejs.org/dist/.

These are maintained in different repositories and we urge users to open issues in their respective repositories, for bug reports, feature requests or any matter related to these endpoints.

  • release-cloudflare-worker: The codebase responsible for serving the Node.js Distribution Binaries, API Docs and any other assets from the links mentioned above.
    • We use Cloudflare R2 Buckets for storing our Assets and Cloudflare Workers for serving these Assets to the Web.
  • node/doc/api: The source code of our API docs, it contains all the Node.js API Documentation Markdown files
    • node/doc contains the HTML templates, CSS styles and JavaScript code that runs on the client-side of our API Docs generated pages.
    • node/tools/doc contains the tooling that validates, lints, builds and compiles our API Docs. Also responsible for generating what you see when accessing https://nodejs.org/api/.

Relevant Links

Code of Conduct

Contribution Guidelines

Collaborator Guide

Figma Design

Content vs Code

Dependency Pinning

Translation Guidelines

Thanks

  • Thanks to all contributors and collaborators that make this project possible.
  • Thanks to Chromatic for providing the visual testing platform that helps us review UI changes and catch visual regressions.
  • Thanks to Vercel for providing the infrastructure that serves and powers the Node.js Website
  • Thanks to Cloudflare for providing the infrastructure that serves Node.js's Website, Node.js's CDN and more.
    • A really warm thank you to Cloudflare as we would not be able to serve our community without their immense support.
  • Thanks to Sentry for providing an open source license for their error reporting, monitoring and diagnostic tools.
  • Thanks to Crowdin for providing a platform that allows us to localize the Node.js Website and collaborate with translators.