messenzy-widget/package.json
Serge RAKOTO HARRY-NAIVO 9676bbf09f feat(widget): SP6 PR S6-1+2 - messenzy-widget repo scaffolding (Preact + Vite)
- package.json with Preact 10 + Vite 6 + TypeScript 5
- vite.config: IIFE + ESM lib outputs, preact/compat alias, CSS inlined via
  ?inline import (no separate .css file emitted - single-file IIFE)
- tsconfig.json (src/) + tsconfig.node.json (vite.config.ts)
- src/index.ts: entry, injects <style>, mounts <Widget /> on script load
- src/config.ts: parses data-bot-id + data-api-key + data-server-url
- src/vite-env.d.ts: ?inline CSS type declaration
- src/storage/visitor.ts: localStorage UUID v4 with in-memory fallback
- src/transport/ws-client.ts: WebSocket primary, exponential reconnect
  (max 5 retries ~30s cap), HTTP polling fallback at /webchat/history every 5s
- src/ui/widget.tsx: root Preact component, transport lifecycle, send handler
- src/ui/bubble.tsx: floating FAB with chat/close SVG icons, position aware
- src/ui/panel.tsx: header + scrollable message list + typing indicator + input
- src/ui/message.tsx: single message bubble (user right/bot left), timestamp
- src/ui/theme.css: CSS variables (--messenzy-primary/accent overridable)
- Build output: dist/messenzy-widget.iife.js 25.3 kB (9.7 kB gz), zero errors
- typecheck: clean (strict + exactOptionalPropertyTypes)
- .gitignore: node_modules/ dist/ .vite/ .env* .DS_Store
- README: integration snippet, script attributes table, theme, build instructions
2026-04-26 00:10:12 +02:00

21 lines
419 B
JSON

{
"name": "messenzy-widget",
"version": "0.1.0",
"description": "Embeddable JS chat widget for Messenzy",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"typecheck": "tsc --noEmit"
},
"dependencies": {
"preact": "^10.19.0"
},
"devDependencies": {
"vite": "^6.0.0",
"typescript": "^5.6.0",
"@types/node": "^22.0.0"
}
}