3f1f89dfbe
Turns the SDK from hooks-only into a real UI SDK: <Messenger> (conversation list + open thread + composer), plus <ConversationList> and <Thread>, all driven by the existing useConversations/useMessages hooks over the injected adapter — zero transport imports (boundary intact). - themeable via --miu-* CSS variables; default theme ships as ./styles.css - optimistic send, typing indicator, seen ticks, reactions display, unread badges - render smoke tests (jsdom + MockAdapter): mounts, auto-selects first thread, sends a message, switches threads (3 tests) — 48 total green - tsup: css bundled to dist/styles.css; dts scoped to TS entries Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
873 B
TypeScript
16 lines
873 B
TypeScript
import { defineConfig } from 'tsup';
|
|
|
|
export default defineConfig({
|
|
// `src/adapters/mock.ts` and `src/conformance.ts` are added as separate entries
|
|
// in later tasks (they don't exist yet). `conformance` in particular is its own
|
|
// entry, never reachable from `index`, because it imports vitest, and bundling
|
|
// that into the main barrel would drag a test runner into every consumer's
|
|
// production build.
|
|
entry: ['src/index.ts', 'src/adapters/mock.ts', 'src/adapters/kernel-client.ts', 'src/conformance.ts', 'src/styles.css'],
|
|
format: ['esm'],
|
|
// Types only for the TS entries — styles.css has no .d.ts (and tsc chokes on a .css root file).
|
|
dts: { entry: ['src/index.ts', 'src/adapters/mock.ts', 'src/adapters/kernel-client.ts', 'src/conformance.ts'] },
|
|
clean: true,
|
|
external: ['react', 'react-dom', 'vitest', '@insignia/iios-kernel-client'],
|
|
});
|