Skip to content

Create api-tooling repository #866

Description

@ovflowd

As described on nodejs/node#52343 we want to create a new repository to keep the actual tooling of the API docs, and keep it separated from core, so that its development is unrelated to the core itself (which IMO makes sense)

The goal for the tooling repository is to:

  • Provide the source of a tooling system (similar to the existing one, but revamped) for building the API docs
    • The build system behind the tooling will be discussed within the new repository, but so far, the stack I'm foreseeing is:
      • Vite as the Build System for the API Tooling (Which also supports built-in DevServer and HMR, etc)
        • Works on top of ESBuild
      • A JSX Library, such as React (preferably React), which is going to be used for crafting the templates, layouts, and components of the API Docs
        • We aim to follow the same approach as the Node.js Website by converting the existing HTML/JavaScript/CSS code into React and then iterating on its design.
      • MDXv3 for parsing the Markdown sources and generating JSX
      • And other components as on the Node.js Website, such as Tailwind, Radix UI, Shiki, etc)
  • Provide a native way of generating the docs with output formats (by creating a rich "bundling system"), where the output formats can be JSON, MDX and HTML
  • Construct a solid Developer Experience and documentation for the Node.js API Docs Tooling
  • Create a foundation for the future of the API Docs, so we're able to redesign it, further add features (such as search), and other relative improvements.

cc @nodejs/tsc (and the @nodejs/web-infra and @nodejs/web-standards, since I want to consult regarding the tech stack above, and since the Web Infra would be the primary "code owners" besides Core Collaborators)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions