mirror of
https://github.com/hanzo-apps/waitlist.git
synced 2026-10-30 14:48:32 +00:00
Drops the Next.js + Upstash Redis stack. The viral waitlist now ships as a brand-neutral React widget against a Hanzo Base Go plugin. What changed - packages/widget/: new @hanzo/waitlist — React component, framework-free fetch client, drop-in <hanzo-waitlist> custom element. Zero brand colors, zero logos, zero brand names. Consumer brings logo via `logo` prop or `<slot name="logo">`. Theming via --hw-* CSS variables with fallback chain at usage so ancestor selectors win cleanly. - apps/web/: Next.js demo rebuilt monochrome. Five generic presets (Neutral, Preset A/B/C/D) prove brand swap works without per-brand builds. Demo's placeholder logo lives in the demo, not the package. - apps/api/: removed. Backend logic now lives in ~/work/hanzo/base/plugins/waitlist (committed separately). - packages/sdk/: removed (Preact + Vite). Replaced by packages/widget. - docs/: collapsed to architecture / api / widget. Old planning docs moved to docs/archive/. - Latest deps: Next 16, React 19.2, Vite 8, TS 5.9, vite-plugin-dts 5, @vitejs/plugin-react 6, eslint-config-next 16. Build output - ESM 6.76kB, CJS 5.22kB, IIFE 196.99kB / 62.65kB gzip - Widget styles: 3.89kB / 1.18kB gzip - Demo first-load: 106kB
59 lines
1.4 KiB
JSON
59 lines
1.4 KiB
JSON
{
|
|
"name": "@hanzo/waitlist",
|
|
"version": "0.1.0",
|
|
"description": "Monochromatic, brand-neutral viral waitlist widget. Backed by Hanzo Base.",
|
|
"license": "MIT",
|
|
"type": "module",
|
|
"sideEffects": [
|
|
"./dist/waitlist.iife.js",
|
|
"*.css"
|
|
],
|
|
"main": "./dist/waitlist.cjs",
|
|
"module": "./dist/waitlist.js",
|
|
"types": "./dist/index.d.ts",
|
|
"exports": {
|
|
".": {
|
|
"types": "./dist/index.d.ts",
|
|
"import": "./dist/waitlist.js",
|
|
"require": "./dist/waitlist.cjs"
|
|
},
|
|
"./client": {
|
|
"types": "./dist/client.d.ts",
|
|
"import": "./dist/client.js",
|
|
"require": "./dist/client.cjs"
|
|
},
|
|
"./element": "./dist/waitlist.iife.js",
|
|
"./styles.css": "./dist/waitlist.css"
|
|
},
|
|
"files": [
|
|
"dist",
|
|
"src",
|
|
"README.md"
|
|
],
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vite build && vite build -c vite.element.config.ts",
|
|
"preview": "vite preview",
|
|
"typecheck": "tsc --noEmit"
|
|
},
|
|
"peerDependencies": {
|
|
"react": ">=18",
|
|
"react-dom": ">=18"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"react": { "optional": false },
|
|
"react-dom": { "optional": false }
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^19.2.0",
|
|
"@types/react-dom": "^19.2.0",
|
|
"@vitejs/plugin-react": "^6.0.0",
|
|
"react": "^19.2.0",
|
|
"react-dom": "^19.2.0",
|
|
"terser": "^5.48.0",
|
|
"typescript": "^5.9.0",
|
|
"vite": "^8.0.0",
|
|
"vite-plugin-dts": "^5.0.0"
|
|
}
|
|
}
|