Home / Function/ rehypeNpmCommand() — supabase Function Reference

rehypeNpmCommand() — supabase Function Reference

Architecture documentation for the rehypeNpmCommand() function in rehype-npm-command.ts from the supabase codebase.

Entity Profile

Relationship Graph

Source Code

apps/design-system/lib/rehype-npm-command.ts lines 5–43

export function rehypeNpmCommand() {
  return (tree: UnistTree) => {
    visit(tree, (node: UnistNode) => {
      if (node.type !== 'element' || node?.tagName !== 'pre') {
        return
      }

      // npm install.
      if (node.properties?.['__rawString__']?.startsWith('npm install')) {
        const npmCommand = node.properties?.['__rawString__']
        node.properties['__npmCommand__'] = npmCommand
        node.properties['__yarnCommand__'] = npmCommand.replace('npm install', 'yarn add')
        node.properties['__pnpmCommand__'] = npmCommand.replace('npm install', 'pnpm add')
        node.properties['__bunCommand__'] = npmCommand.replace('npm install', 'bun add')
      }

      // npx create.
      if (node.properties?.['__rawString__']?.startsWith('npx create-')) {
        const npmCommand = node.properties?.['__rawString__']
        node.properties['__npmCommand__'] = npmCommand
        node.properties['__yarnCommand__'] = npmCommand.replace('npx create-', 'yarn create ')
        node.properties['__pnpmCommand__'] = npmCommand.replace('npx create-', 'pnpm create ')
        node.properties['__bunCommand__'] = npmCommand.replace('npx', 'bunx --bun')
      }

      // npx.
      if (
        node.properties?.['__rawString__']?.startsWith('npx') &&
        !node.properties?.['__rawString__']?.startsWith('npx create-')
      ) {
        const npmCommand = node.properties?.['__rawString__']
        node.properties['__npmCommand__'] = npmCommand
        node.properties['__yarnCommand__'] = npmCommand
        node.properties['__pnpmCommand__'] = npmCommand.replace('npx', 'pnpm dlx')
        node.properties['__bunCommand__'] = npmCommand.replace('npx', 'bunx --bun')
      }
    })
  }
}

Domain

Subdomains

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free