feat(docs): add initial VitePress documentation setup#7588
Draft
JessicaSachs wants to merge 11 commits intoReactiveX:masterfrom
Draft
feat(docs): add initial VitePress documentation setup#7588JessicaSachs wants to merge 11 commits intoReactiveX:masterfrom
JessicaSachs wants to merge 11 commits intoReactiveX:masterfrom
Conversation
- Add VitePress app structure in apps/rxjs.dev-next - Configure VitePress with basic theme settings - Add package.json with VitePress dev dependencies - Include initial homepage content and logo asset
- Convert HTML homepage to VitePress Markdown format - Add hero section with logo and CTA buttons - Include Version 7 release information - Add description and Code of Conduct sections - Remove empty .gitignore file
- Add custom theme with RxJS brand colors - Create home page with hero section - Restructure to use root directory instead of docs subdirectory - Move logo to public directory
- Copy all guide, deprecation, and reference markdown files to docs/ - Convert relative and JSDoc links to VitePress absolute paths - Move public assets to docs/public/ directory structure - Configure VitePress navigation and sidebar from original site structure - Update image references to use /images/ paths
…neration - Move API explorer page to new site with Vue components for search and filtering - Replace custom markdown generation scripts with TypeDoc plugin system - Add typedoc-plugin-rxjs for custom markdown processing and formatting - Simplify generation pipeline to use TypeDoc directly with plugin hooks - Remove legacy generation utilities (markdown-generator, typedoc-to-markdown) - Update marble diagram generation to use SVG format - Generate comprehensive API documentation for all RxJS modules
- Preserve all function overloads in generated documentation - Convert standalone Param sections to labeled Parameters section - Add Returns section from @returns JSDoc tags - Improve description section formatting with proper structure - Fix table formatting consistency across generated docs
|
| Command | Status | Duration | Result |
|---|---|---|---|
nx compile rxjs |
❌ Failed | 28s | View ↗ |
☁️ Nx Cloud last updated this comment at 2026-01-05 17:14:29 UTC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Currently targeting master. Will backport to 7.x and 6.x manually once settled.
PR Summary: VitePress Documentation Migration
Overview
This PR introduces a partial migration of the RxJS documentation site from Angular to VitePress.
The new documentation site is located in
apps/rxjs.dev-next/and includes automated API documentation generation, marble diagram generation, and a fully redesigned user interface.Context for Rewrite
Degeni is no longer maintained and there is no alternative provided by the ecosystem.
Scope
Key Features
Automated API Documentation Generation
typedoc-plugin-rxjs.mjs) for enhanced formatting:Marble Diagram Generation
@swirlyUI Components
ApiSection.vue: Categorized API explorer with icon-based navigationSearch.vue: Local search functionalityVitePress Configuration
Tooling & Build System
Core Technologies
typedoc-plugin-markdown: Markdown outputtypedoc-vitepress-theme: VitePress theme integration (Sidebar generation)typedoc-plugin-rxjs.mjs: RxJS-specific formattingBuild Scripts
{ "marbles:generate": "tsx tools/marbles/generate-diagrams.ts", "preapi:generate": "npm run marbles:generate", "api:generate": "typedoc && tsx tools/api-generator/index.ts", "dev": "npm run api:generate && vitepress dev", "build": "npm run api:generate && vitepress build", "preview": "vitepress preview" }Build Pipeline
Marble Diagram Generation (
tools/marbles/generate-diagrams.ts).txtspecifications fromtools/marbles/diagrams/@swirly/parser@swirly/renderer-nodedocs/public/images/marble-diagrams/API Documentation Generation (
tools/api-generator/index.ts)packages/rxjs/src/packages/observable/src/docs/api/TypeDoc Plugin (
tools/api-generator/typedoc-plugin-rxjs.mjs)Entry Points
TypeDoc processes the following entry points:
packages/rxjs/src/index.ts(main RxJS API)packages/observable/src/index.ts(Observable utilities)packages/rxjs/src/operators/index.ts(operators)packages/rxjs/src/ajax/index.ts(Ajax module)packages/rxjs/src/fetch/index.ts(Fetch module)packages/rxjs/src/webSocket/index.ts(WebSocket module)packages/rxjs/src/testing/index.ts(testing utilities)File Structure
Key Improvements
Developer Experience
Maintainability
User Experience
Documentation Quality
Dependencies
Major Additions
vitepress: ^1.6.4typedoc: ^0.28.15typedoc-vitepress-theme: ^1.1.2typedoc-plugin-markdown: ^4.9.0@swirly/*: ^0.18.x (marble diagram generation)@nuxt/ui: ^4.3.0 (UI components)shiki: ^1.0.0 (syntax highlighting)svgo: ^3.0.0 (SVG optimization)tsx: ^4.7.0 (TypeScript execution)Migration Notes
Screenshots
Home
Guide Pages
Deprecations Section (with dedicated Sidebar nav, defined in VitePress Config)
API Explorer
With filter + search
Generated API Docs (
fromFetch)Handling overloads was a pain (TypeDoc kinda sucks at this)
Local Search
Team Page
Marble Diagrams
Old pngs work
SVGs (generated, dark + light)