Skip to content

Conversation

@dav-is
Copy link
Member

@dav-is dav-is commented Aug 12, 2025

Uses a webpack loader to take a single entrypoint parsed with the Typescript Language Service API and pass it through typescript-api-extractor. This loads only the necessary files for a given entrypoint, and caches them in memory. This decreases the initial typescript parse by 90% compared to a monolithic parse (~2 seconds to ~200ms). The larger a library becomes, the more dramatic this difference becomes. Since we cache shared libraries and dependancies, when loading another entrypoint this can further decrease hot reloading time by 100-300ms.

Base UI PR
Shaping Page (implements Option D)

Docs

Read the docs for:

Screenshots

Important

This is just an example component, and users of this library will be expected to create their own (likely more functional) table

image

Performance

Important

These benchmarks are for cold compilation. This only applies to the first type is loaded. Because the Typescript AST is kept in memory and shared across workers, navigations and parellel builds use a warmed TypeScript Language Service and any shared files won't be parsed twice.

By default, we read the types from .d.ts files, so generating the types metadata can be fairly quick and parse only the .d.ts files.

Simple Function (types)

8 Dependant Files
  • tsconfig.json
  • ../tsconfig.json
  • ../packages/docs-infra/build/esm/basic/index.js
  • ../packages/docs-infra/build/esm/basic/Component.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/global.d.ts
  • ../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/jsx-runtime.d.ts

Complex React Function (CodeHighlighter types):

12 Dependant Files
  • tsconfig.json
  • ../tsconfig.json
  • ../packages/docs-infra/build/esm/CodeHighlighter/index.js
  • ../packages/docs-infra/build/esm/CodeHighlighter/types.d.ts
  • ../packages/docs-infra/build/esm/CodeHighlighter/CodeHighlighter.d.ts
  • ../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts
  • ../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts
  • ../node_modules/.pnpm/dmsnell+diff-match-patch@1.1.0/node_modules/dmsnell/diff-match-patch/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/global.d.ts
  • ../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/jsx-runtime.d.ts

When using compilerOptions.paths in Typescript Config

If using paths in the typescript config (or when watchSourceDirectly: true), the TS compile is based on the source files instead of the d.ts files, which can add many dependent files (global types, each imported source file, etc). This is useful if importing files in a monorepo and don't have a separate build watcher to recompile the d.ts files.

Simple Function (types) using watchSourceDirectly: true

7 Dependant Files
  • tsconfig.json
  • ../tsconfig.json
  • ../packages/docs-infra/src/basic/index.ts
  • ../packages/docs-infra/src/basic/Component.tsx
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/global.d.ts
  • ../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/index.d.ts

Complex React Function (CodeHighlighter types): using compilerOptions.paths / watchSourceDirectly: true

150 Dependant Files
  • tsconfig.json
  • ../tsconfig.json
  • ../packages/docs-infra/src/CodeHighlighter/index.ts
  • ../packages/docs-infra/src/CodeHighlighter/types.ts
  • ../packages/docs-infra/src/CodeHighlighter/transformSource.ts
  • ../packages/docs-infra/src/CodeHighlighter/transformParsedSource.ts
  • ../packages/docs-infra/src/pipeline/loadPrecomputedCodeHighlighter/performanceLogger.ts
  • ../packages/docs-infra/src/CodeHighlighter/loadVariant.ts
  • ../packages/docs-infra/src/CodeHighlighter/loadFallbackCode.ts
  • ../packages/docs-infra/src/CodeProvider/CodeContext.tsx
  • ../packages/docs-infra/src/CodeControllerContext/CodeControllerContext.tsx
  • ../packages/docs-infra/src/CodeControllerContext/index.ts
  • ../packages/docs-infra/src/CodeHighlighter/CodeHighlighterContext.tsx
  • ../packages/docs-infra/src/CodeHighlighter/hasAllVariants.ts
  • ../packages/docs-infra/src/CodeHighlighter/maybeInitialData.ts
  • ../packages/docs-infra/src/CodeHighlighter/CodeHighlighterFallbackContext.tsx
  • ../packages/docs-infra/src/pipeline/hastUtils/hastUtils.tsx
  • ../packages/docs-infra/src/pipeline/hastUtils/index.ts
  • ../packages/docs-infra/src/CodeHighlighter/codeToFallbackProps.ts
  • ../packages/docs-infra/src/CodeHighlighter/pathUtils.ts
  • ../packages/docs-infra/src/CodeHighlighter/mergeMetadata.ts
  • ../packages/docs-infra/src/CodeHighlighter/errors.ts
  • ../packages/docs-infra/src/CodeHighlighter/CodeHighlighterClient.tsx
  • ../packages/docs-infra/src/CodeHighlighter/CodeHighlighter.tsx
  • ../packages/docs-infra/src/CodeHighlighter/index.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/parseImports.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/getFileNameFromUrl.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/resolveModulePath.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/rewriteImports.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/processRelativeImports.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/extractNameAndSlugFromUrl.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/externalsToPackages.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/index.ts
  • ../packages/docs-infra/src/pipeline/loaderUtils/mergeExternals.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/global.d.ts
  • ../node_modules/.pnpm/csstype@3.1.3/node_modules/csstype/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/index.d.ts
  • ../node_modules/.pnpm/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts
  • ../node_modules/.pnpm/@types+hast@3.0.4/node_modules/@types/hast/index.d.ts
  • ../node_modules/.pnpm/dmsnell+diff-match-patch@1.1.0/node_modules/@dmsnell/diff-match-patch/index.d.ts
  • ../node_modules/.pnpm/path-module@0.1.2/node_modules/path-module/path.d.ts
  • ../node_modules/.pnpm/hast-util-is-element@3.0.0/node_modules/hast-util-is-element/index.d.ts
  • ../node_modules/.pnpm/hast-util-to-text@4.0.2/node_modules/hast-util-to-text/index.d.ts
  • ../node_modules/.pnpm/@types+react@19.1.13/node_modules/@types/react/jsx-runtime.d.ts
  • ../node_modules/.pnpm/@types+estree@1.0.8/node_modules/@types/estree/index.d.ts
  • ../node_modules/.pnpm/@types+estree-jsx@1.0.5/node_modules/@types/estree-jsx/index.d.ts
  • ../node_modules/.pnpm/@types+mdast@4.0.4/node_modules/@types/mdast/index.d.ts
  • ../node_modules/.pnpm/micromark-util-types@2.0.2/node_modules/micromark-util-types/index.d.ts
  • ../node_modules/.pnpm/mdast-util-from-markdown@2.0.2/node_modules/mdast-util-from-markdown/index.d.ts
  • ../node_modules/.pnpm/mdast-util-to-markdown@2.1.2/node_modules/mdast-util-to-markdown/index.d.ts
  • ../node_modules/.pnpm/mdast-util-mdx-jsx@3.2.0/node_modules/mdast-util-mdx-jsx/index.d.ts
  • ../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/index.d.ts
  • ../node_modules/.pnpm/hast-util-to-jsx-runtime@2.3.6/node_modules/hast-util-to-jsx-runtime/index.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/compatibility/disposable.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/compatibility/indexable.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/compatibility/iterators.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/compatibility/index.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/globals.typedarray.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/buffer.buffer.d.ts
  • ../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts
  • ../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/globals.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/assert.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/assert/strict.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/async_hooks.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/buffer.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/child_process.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/cluster.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/console.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/constants.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/crypto.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/dgram.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/diagnostics_channel.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/dns.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/dns/promises.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/domain.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/dom-events.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/events.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/fs.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/fs/promises.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/http.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/http2.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/https.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/inspector.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/module.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/net.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/os.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/path.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/perf_hooks.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/process.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/punycode.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/querystring.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/readline.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/readline/promises.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/repl.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/sea.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/stream.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/stream/promises.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/stream/consumers.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/stream/web.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/string_decoder.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/test.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/timers.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/timers/promises.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/tls.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/trace_events.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/tty.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/url.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/util.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/v8.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/vm.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/wasi.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/worker_threads.d.ts
  • ../node_modules/.pnpm/@types+node@20.19.12/node_modules/@types/node/index.d.ts

Closes: #421

@dav-is dav-is added the scope: docs-infra Involves the docs-infra product (https://www.notion.so/mui-org/b9f676062eb94747b6768209f7751305). label Aug 12, 2025
@dav-is dav-is linked an issue Aug 13, 2025 that may be closed by this pull request
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Aug 25, 2025
@mui-bot
Copy link

mui-bot commented Aug 25, 2025

Bundle size report

Bundle size will be reported once CircleCI build #6648 finishes.

Generated by 🚫 dangerJS against d66a1f5

@github-actions github-actions bot added PR: out-of-date The pull request has merge conflicts and can't be merged. and removed PR: out-of-date The pull request has merge conflicts and can't be merged. labels Aug 25, 2025
@mui-bot
Copy link

mui-bot commented Sep 8, 2025

Bundle size report

Bundle Parsed size Gzip size
@base-ui-components/react 0B(0.00%) 0B(0.00%)
@mui/x-charts-pro 0B(0.00%) 0B(0.00%)

Details of bundle changes


Check out the code infra dashboard for more information about this PR.

@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Sep 8, 2025
@dav-is dav-is changed the base branch from davis/add-docs-infra-docs to davis/add-docs-benchmarking September 16, 2025 00:16
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Sep 26, 2025
@dav-is dav-is removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Sep 26, 2025
@github-actions github-actions bot added PR: out-of-date The pull request has merge conflicts and can't be merged. and removed PR: out-of-date The pull request has merge conflicts and can't be merged. labels Nov 24, 2025
@github-actions github-actions bot added PR: out-of-date The pull request has merge conflicts and can't be merged. and removed PR: out-of-date The pull request has merge conflicts and can't be merged. labels Dec 12, 2025
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 16, 2025
@github-actions github-actions bot removed the PR: out-of-date The pull request has merge conflicts and can't be merged. label Dec 16, 2025
@github-actions github-actions bot added the PR: out-of-date The pull request has merge conflicts and can't be merged. label Feb 8, 2026
@dav-is dav-is marked this pull request as ready for review February 9, 2026 22:50
@dav-is dav-is requested a review from Copilot February 9, 2026 22:51
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a build-time pipeline for automatically generating and rendering TypeScript API metadata/docs, and updates the docs site to consume those generated types (plus some UI/typography refresh).

Changes:

  • Introduces loadPrecomputedTypes loader entrypoint + new exports to support precomputed type metadata.
  • Updates code-loading pipeline and HAST utilities to support safer recursion and configurable JSX runtime component mapping.
  • Adds extensive docs + demos for useTypes / abstractCreateTypes and refreshes docs UI (fonts, tables, and related styling).

Reviewed changes

Copilot reviewed 222 out of 301 changed files in this pull request and generated 12 comments.

Show a summary per file
File Description
packages/docs-infra/src/pipeline/loadPrecomputedTypes/index.ts Adds loader-friendly default export for precomputed types loader
packages/docs-infra/src/pipeline/loadCodeVariant/loadCodeVariant.ts Avoids mutating loadedFiles when recursing extra files
packages/docs-infra/src/pipeline/loadCodeVariant/loadCodeFallback.ts Documents fallback loader behavior via JSDoc
packages/docs-infra/src/pipeline/hastUtils/hastUtils.tsx Adds optional components mapping to JSX runtime conversion helpers
packages/docs-infra/src/pipeline/enhanceCodeInlineElements/index.ts Adds barrel export for pipeline enhancer
packages/docs-infra/src/pipeline/enhanceCodeExportLinks/index.ts Adds barrel export + exported options type
packages/docs-infra/src/createDemoData/index.ts Re-exports demo-data-related public types
packages/docs-infra/src/createDemoData/createDemoData.ts Ensures React types are available for demo-data typing
packages/docs-infra/src/abstractCreateTypes/index.ts Exposes abstractCreateTypes entrypoint and JSX options type
packages/docs-infra/src/abstractCreateDemoClient/abstractCreateDemoClient.tsx Exports demo client meta type publicly
packages/docs-infra/src/CodeProvider/CodeProvider.tsx Adds prop/interface documentation for client provider
packages/docs-infra/src/CodeProvider/CodeContext.tsx Documents context contract for heavy code-processing functions
packages/docs-infra/src/CodeHighlighter/types.ts Adds JSDoc docstring for ParseSource type
packages/docs-infra/src/CodeExternalsContext/CodeExternalsContext.tsx Adds richer context and hook documentation
packages/docs-infra/src/CodeControllerContext/CodeControllerContext.tsx Changes useControlledCode return shape + clarifies docs
packages/docs-infra/package.json Bumps version and adds exports/deps for types-generation pipeline
docs/mdx-components.tsx Registers custom table renderer in MDX components
docs/functions/createTypes/index.ts Exposes docs-site helper exports for types demo “dogfooding”
docs/components/index.ts Removes older components barrel export
docs/components/Tabs/Tabs.module.css Switches to unified --font-code token
docs/components/Table/index.ts Adds Table component barrel export
docs/components/Table/Table.tsx Introduces styled table wrapper component
docs/components/Table/Table.module.css Adds base styling for tables in docs
docs/components/Search/SearchInput.module.css Switches to unified --font-code token
docs/components/Search/SearchDialog.module.css Switches to unified --font-code token
docs/components/Search/SearchButton.tsx Adjusts <kbd> styling hooks for Cmd glyph
docs/components/Search/SearchButton.module.css Switches to unified --font-code token and adds Cmd override
docs/components/Pre/Pre.module.css Switches to unified --font-code token
docs/components/PagesIndex/PagesIndex.module.css Switches to unified --font-code token
docs/components/Navigation/Navigation.module.css Updates nav typography tokens/sizing
docs/app/layout.tsx Replaces fonts and defines CSS variables for typography
docs/app/layout.module.css Updates global typography + visited code styling rules
docs/app/global.css Tweaks inline code highlighting color inheritance
docs/app/docs-infra/pipeline/with-docs-infra/types.ts Adds generated types components for docs page
docs/app/docs-infra/pipeline/with-docs-infra/types.md Adds autogenerated API markdown for withDocsInfra types
docs/app/docs-infra/pipeline/with-docs-infra/page.mdx Replaces hand-written API tables with generated types rendering
docs/app/docs-infra/pipeline/transform-markdown-metadata/page.mdx Updates plugin example to new transformMarkdownMetaLinks
docs/app/docs-infra/pipeline/transform-html-code-precomputed/page.mdx Renames/clarifies doc page title + import name
docs/app/docs-infra/pipeline/transform-html-code-inline-highlighted/types.ts Adds generated types component for inline-highlighting plugin
docs/app/docs-infra/pipeline/transform-html-code-inline-highlighted/types.md Adds autogenerated API markdown for inline-highlighting plugin
docs/app/docs-infra/pipeline/sync-types/types.ts Adds generated types component for syncTypes
docs/app/docs-infra/pipeline/sync-types/types.md Adds autogenerated API markdown for syncTypes
docs/app/docs-infra/pipeline/sync-page-index/types.ts Adds generated types component for syncPageIndex
docs/app/docs-infra/pipeline/sync-page-index/types.md Adds autogenerated API markdown for syncPageIndex
docs/app/docs-infra/pipeline/sync-page-index/page.mdx Replaces hand-written API reference with generated types rendering
docs/app/docs-infra/pipeline/parse-source/types.ts Adds generated types components for parseSource module
docs/app/docs-infra/pipeline/parse-source/types.md Adds autogenerated API markdown for parseSource module
docs/app/docs-infra/pipeline/parse-source/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/pipeline/loader-utils/types.ts Adds generated types component for loader utils
docs/app/docs-infra/pipeline/loader-utils/page.mdx Replaces hand-written type definitions with generated types rendering
docs/app/docs-infra/pipeline/load-server-types/types.ts Adds generated types component for loadServerTypes
docs/app/docs-infra/pipeline/load-server-types-text/types.ts Adds generated types components for loadServerTypesText module
docs/app/docs-infra/pipeline/load-server-types-text/types.md Adds autogenerated API markdown for loadServerTypesText module
docs/app/docs-infra/pipeline/load-server-types-text/page.mdx Adds new docs page describing types markdown parsing + generated types section
docs/app/docs-infra/pipeline/load-server-types-meta/types.ts Adds generated types components for loadServerTypesMeta module
docs/app/docs-infra/pipeline/load-server-source/types.ts Adds generated types component for loadServerSource
docs/app/docs-infra/pipeline/load-server-source/types.md Adds autogenerated API markdown for loadServerSource
docs/app/docs-infra/pipeline/load-server-source/page.mdx Adds generated types section
docs/app/docs-infra/pipeline/load-server-sitemap/types.ts Adds generated types components for loadServerSitemap module
docs/app/docs-infra/pipeline/load-server-sitemap/types.md Adds autogenerated API markdown for loadServerSitemap module
docs/app/docs-infra/pipeline/load-server-sitemap/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/pipeline/load-server-page-index/types.ts Adds generated types components for loadServerPageIndex module
docs/app/docs-infra/pipeline/load-server-page-index/types.md Adds autogenerated API markdown for loadServerPageIndex module
docs/app/docs-infra/pipeline/load-server-page-index/page.mdx Replaces hand-written API content with generated types rendering
docs/app/docs-infra/pipeline/load-server-code-meta/types.ts Adds generated types component for loadServerCodeMeta
docs/app/docs-infra/pipeline/load-server-code-meta/types.md Adds autogenerated API markdown for loadServerCodeMeta
docs/app/docs-infra/pipeline/load-server-code-meta/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/pipeline/load-precomputed-types/types.ts Adds generated types component for loadPrecomputedTypes loader
docs/app/docs-infra/pipeline/load-precomputed-types/types.md Adds autogenerated API markdown for loadPrecomputedTypes loader
docs/app/docs-infra/pipeline/load-code-variant/types.ts Adds generated types components for loadCodeVariant module
docs/app/docs-infra/pipeline/hast-utils/types.ts Adds generated types components for hast utils module
docs/app/docs-infra/pipeline/hast-utils/types.md Adds autogenerated API markdown for hast utils module
docs/app/docs-infra/pipeline/hast-utils/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/pipeline/enhance-code-export-links/types.ts Adds generated types component for enhanceCodeExportLinks plugin
docs/app/docs-infra/pipeline/enhance-code-export-links/types.md Adds autogenerated API markdown for enhanceCodeExportLinks plugin
docs/app/docs-infra/pipeline/enhance-code-emphasis/types.ts Adds generated types component for enhanceCodeEmphasis enhancer
docs/app/docs-infra/pipeline/enhance-code-emphasis/types.md Adds autogenerated API markdown for enhanceCodeEmphasis enhancer
docs/app/docs-infra/pipeline/enhance-code-emphasis/page.mdx Replaces hand-written type definitions with generated types rendering
docs/app/docs-infra/patterns/page.mdx Adds HAST pattern entry to patterns index
docs/app/docs-infra/page.mdx Updates docs-infra landing page copy and structure
docs/app/docs-infra/hooks/use-url-hash-state/types.ts Adds generated types component for useUrlHashState
docs/app/docs-infra/hooks/use-url-hash-state/types.md Adds autogenerated API markdown for useUrlHashState
docs/app/docs-infra/hooks/use-url-hash-state/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/hooks/use-url-hash-state/demos/tab-navigation/TabNavigation.module.css Switches to unified --font-code token
docs/app/docs-infra/hooks/use-types/types.ts Adds generated types for useTypes docs page
docs/app/docs-infra/hooks/use-types/demos/page.mdx Adds demos index page for useTypes
docs/app/docs-infra/hooks/use-types/demos/hook/useHook.ts Adds hook demo source for useTypes
docs/app/docs-infra/hooks/use-types/demos/hook/types.ts Adds generated types component for hook demo
docs/app/docs-infra/hooks/use-types/demos/hook/types.md Adds generated API markdown for hook demo
docs/app/docs-infra/hooks/use-types/demos/hook/index.ts Wires hook demo into docs demo factory
docs/app/docs-infra/hooks/use-types/demos/data-attr/types.ts Adds generated types component for data-attr demo
docs/app/docs-infra/hooks/use-types/demos/data-attr/types.md Adds generated API markdown for data-attr demo
docs/app/docs-infra/hooks/use-types/demos/data-attr/index.ts Wires data-attr demo into docs demo factory
docs/app/docs-infra/hooks/use-types/demos/data-attr/ComponentDataAttributes.ts Adds enum for documenting data attributes
docs/app/docs-infra/hooks/use-types/demos/data-attr/Component.tsx Adds component demo source using data attributes enum
docs/app/docs-infra/hooks/use-types/demos/createTypes.tsx Adds docs-site types factory wrappers for rendering
docs/app/docs-infra/hooks/use-types/demos/class/types.ts Adds generated types component for class demo
docs/app/docs-infra/hooks/use-types/demos/class/types.md Adds generated API markdown for class demo
docs/app/docs-infra/hooks/use-types/demos/class/index.ts Wires class demo into docs demo factory
docs/app/docs-infra/hooks/use-types/demos/class/Handle.ts Adds example class for imperative handle demo
docs/app/docs-infra/hooks/use-types/demos/blocks/types.ts Adds generated types for multi-export blocks demo
docs/app/docs-infra/hooks/use-types/demos/blocks/types.md Adds generated API markdown for blocks demo
docs/app/docs-infra/hooks/use-types/demos/blocks/index.ts Wires blocks demo into docs demo factory
docs/app/docs-infra/hooks/use-types/demos/blocks/TypesComponent.tsx Renders multiple generated types components
docs/app/docs-infra/hooks/use-types/demos/blocks/Component/index.ts Adds namespace export structure for blocks demo
docs/app/docs-infra/hooks/use-types/demos/blocks/Component/index.parts.ts Defines parts exports for blocks demo
docs/app/docs-infra/hooks/use-types/demos/blocks/Component/ComponentRoot.tsx Adds blocks demo root component
docs/app/docs-infra/hooks/use-types/demos/blocks/Component/ComponentPart.tsx Adds blocks demo part component
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/types.ts Adds generated types for inherited-blocks demo
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/types.md Adds generated API markdown for inherited-blocks demo
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/index.ts Wires inherited-blocks demo into docs demo factory
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/TypesAlertDialog.tsx Renders multiple generated types components for alert dialog
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/Dialog/index.ts Adds namespace/module exports for dialog demo
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/Dialog/index.parts.ts Defines dialog parts exports
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/Dialog/DialogTrigger.tsx Adds trigger component demonstrating namespace types
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/Dialog/DialogClose.tsx Adds close component referencing trigger state type
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/AlertDialog/index.ts Adds alert dialog namespace exports + re-exports
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/AlertDialog/index.parts.ts Defines alert dialog parts exports
docs/app/docs-infra/hooks/use-types/demos/blocks-inherited/AlertDialog/AlertDialogTrigger.tsx Adds alert trigger component extending dialog state
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/types.ts Adds generated types + additional types component for demo
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/types.md Adds generated API markdown for blocks-data-attr demo
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/index.ts Wires blocks-data-attr demo into docs demo factory
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/TypesComponent.tsx Renders root/part/additional generated types components
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/InputType.ts Adds shared union type for demo cross-references
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/Component/index.ts Adds namespace export + type exports for demo
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/Component/index.parts.ts Defines parts exports for demo
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/Component/Root/ComponentRootDataAttributes.ts Adds data attributes enum for root
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/Component/Root/ComponentRoot.tsx Adds root component demonstrating state + change details
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/Component/Part/ComponentPartDataAttributes.ts Adds data attributes enum for part
docs/app/docs-infra/hooks/use-types/demos/blocks-data-attr/Component/Part/ComponentPart.tsx Adds part component referencing shared input type
docs/app/docs-infra/hooks/use-types/demos/basic/types.ts Adds generated types component for basic demo
docs/app/docs-infra/hooks/use-types/demos/basic/types.md Adds generated API markdown for basic demo
docs/app/docs-infra/hooks/use-types/demos/basic/index.ts Wires basic demo into docs demo factory
docs/app/docs-infra/hooks/use-types/demos/basic/Component.tsx Adds basic component demo source
docs/app/docs-infra/hooks/use-types/demos/TypesTable.module.css Adds styling for types table demo UI
docs/app/docs-infra/hooks/use-search/types.ts Adds generated types component for useSearch
docs/app/docs-infra/hooks/use-search/types.md Adds autogenerated API markdown for useSearch
docs/app/docs-infra/hooks/use-preference/types.ts Adds generated types components for usePreference module
docs/app/docs-infra/hooks/use-preference/types.md Adds autogenerated API markdown for usePreference module
docs/app/docs-infra/hooks/use-preference/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/hooks/use-preference/demos/variant-selector/VariantSelector.module.css Switches to unified --font-code token
docs/app/docs-infra/hooks/use-local-storage-state/types.ts Adds generated types component for useLocalStorageState
docs/app/docs-infra/hooks/use-local-storage-state/types.md Adds autogenerated API markdown for useLocalStorageState
docs/app/docs-infra/hooks/use-local-storage-state/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/hooks/use-errors/types.ts Adds generated types component for useErrors
docs/app/docs-infra/hooks/use-errors/types.md Adds autogenerated API markdown for useErrors
docs/app/docs-infra/hooks/use-errors/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/hooks/use-demo/types.ts Adds generated types components for useDemo module
docs/app/docs-infra/hooks/use-demo/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/hooks/use-copier/types.ts Adds generated types component for useCopier
docs/app/docs-infra/hooks/use-copier/types.md Adds autogenerated API markdown for useCopier
docs/app/docs-infra/hooks/use-copier/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/hooks/use-copier/demos/text-input-copy/TextInputCopy.module.css Switches to unified --font-code token
docs/app/docs-infra/hooks/use-code/types.ts Adds generated types component for useCode
docs/app/docs-infra/hooks/use-code/types.md Adds autogenerated API markdown for useCode
docs/app/docs-infra/hooks/use-code/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/factories/page.mdx Adds abstract-create-types entry and reorders factory index
docs/app/docs-infra/factories/create-sitemap/types.ts Adds generated types component for createSitemap
docs/app/docs-infra/factories/create-sitemap/types.md Adds autogenerated API markdown for createSitemap
docs/app/docs-infra/factories/create-sitemap/page.mdx Replaces hand-written API section with generated types rendering and fixes links
docs/app/docs-infra/factories/create-demo-data/types.ts Adds generated types component for createDemoData
docs/app/docs-infra/factories/create-demo-data/types.md Adds autogenerated API markdown for createDemoData
docs/app/docs-infra/factories/create-demo-data/page.mdx Adds generated types section
docs/app/docs-infra/factories/abstract-create-types/types.ts Adds generated types components for abstractCreateTypes module
docs/app/docs-infra/factories/abstract-create-types/types.md Adds autogenerated API markdown for abstractCreateTypes module
docs/app/docs-infra/factories/abstract-create-demo/types.ts Adds generated types component for abstractCreateDemo
docs/app/docs-infra/factories/abstract-create-demo/types.md Adds autogenerated API markdown for abstractCreateDemo
docs/app/docs-infra/factories/abstract-create-demo/page.mdx Fixes links and adds generated types section
docs/app/docs-infra/factories/abstract-create-demo-client/types.ts Adds generated types component for abstractCreateDemoClient
docs/app/docs-infra/factories/abstract-create-demo-client/types.md Adds autogenerated API markdown for abstractCreateDemoClient
docs/app/docs-infra/factories/abstract-create-demo-client/page.mdx Fixes links and adds generated types section
docs/app/docs-infra/components/page.mdx Updates components index outline to align with generated types sections
docs/app/docs-infra/components/code-provider/types.ts Adds generated types component for CodeProvider
docs/app/docs-infra/components/code-provider/types.md Adds autogenerated API markdown for CodeProvider
docs/app/docs-infra/components/code-provider/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/components/code-highlighter/types.ts Adds generated types components for CodeHighlighter and its types module
docs/app/docs-infra/components/code-highlighter/demos/CodeContent.module.css Switches to unified --font-code token
docs/app/docs-infra/components/code-externals-context/types.ts Adds generated types component for CodeExternalsContext
docs/app/docs-infra/components/code-externals-context/types.md Adds autogenerated API markdown for CodeExternalsContext
docs/app/docs-infra/components/code-externals-context/page.mdx Replaces hand-written API section with generated types rendering
docs/app/docs-infra/components/code-controller-context/types.ts Adds generated types component for CodeControllerContext
docs/app/docs-infra/components/code-controller-context/types.md Adds autogenerated API markdown for CodeControllerContext
docs/app/docs-infra/components/code-controller-context/page.mdx Fixes links and replaces hand-written API section with generated types rendering
docs/app/docs-infra/components/code-controller-context/demos/code-editor/CodeEditorContent.module.css Switches to unified --font-code token
docs/app/docs-infra/commands/validate/page.mdx Updates validate command docs to include types validation and new flags
docs/app/docs-infra/commands/page.mdx Updates commands index to reflect validate changes
AGENTS.md Updates internal contribution links and naming convention guidance

dav-is and others added 2 commits February 9, 2026 18:12
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Connor Davis <mail@connordav.is>
@dav-is dav-is requested a review from Copilot February 9, 2026 23:18
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 222 out of 301 changed files in this pull request and generated 3 comments.

"remark-parse": "^11.0.0",
"remark-stringify": "^11.0.0",
"remark-typography": "^0.7.0",
"typescript-api-extractor": "https://pkg.pr.new/typescript-api-extractor@8865998",
Copy link

Copilot AI Feb 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This dependency is pinned to a pkg.pr.new URL, which is usually intended for temporary preview builds and can be brittle for long-lived reproducible installs/releases. If this package is meant to be published/consumed broadly, consider pinning to a published registry version (semver) or vendoring/patching via a more stable mechanism (workspace package, patched dependency, or a git URL with commit SHA if necessary).

Suggested change
"typescript-api-extractor": "https://pkg.pr.new/typescript-api-extractor@8865998",
"typescript-api-extractor": "^0.7.0",

Copilot uses AI. Check for mistakes.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're waiting on this PR to merge: michaldudak/typescript-api-extractor#61

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

scope: docs-infra Involves the docs-infra product (https://www.notion.so/mui-org/b9f676062eb94747b6768209f7751305). type: enhancement It’s an improvement, but we can’t make up our mind whether it's a bug fix or a new feature.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[docs-infra] Automatic Type Doc generation

3 participants