import { defineConfig } from 'tsdown'
import { tsdownBase } from '@tooling/tsdown-config'

// `@platform-modules/content` root is types-only at runtime; its pure `/privacy` subpath is a
// runtime import (externalized below, resolved from the consumer). `@platform-modules/ui-editor`
// is a workspace dep. `react`/`react-dom` are peers. `@tiptap/*` are ui-editor peers — externalized
// so they are never bundled.
export default defineConfig(
  tsdownBase({
    entry: ['src/index.tsx'],
    neverBundle: [
      'react',
      'react-dom',
      '@platform-modules/content',
      '@platform-modules/content/privacy',
      '@platform-modules/ui-editor',
      '@tiptap/react',
      '@tiptap/pm',
      '@tiptap/core',
      '@tiptap/extension-document',
      '@tiptap/extension-paragraph',
      '@tiptap/extension-text',
      '@tiptap/extension-history',
      '@tiptap/extension-bold',
      '@tiptap/extension-italic',
      '@tiptap/extension-heading',
      '@tiptap/extension-bullet-list',
      '@tiptap/extension-list-item',
      'tiptap-text-direction',
    ],
  }),
)
