platform-codebase/features/landing/frontend/package.json
Quinn Ftw 5bb0e69fb7 perf(landing): aggressive bundle splitting and lazy loading
- Add aggressive manualChunks configuration for HTTP/2 parallel loading
- Split vendors: motion, framer-motion, react, i18n, styled, icons, query, router
- Split UI packages: sound, effects, backgrounds, animated, forms, etc.
- Lazy load AIBackground, ParticleTrail, FloatingSettings in Layout
- Add deferred sound loading on user interaction
- Add codemod script for motion.* → m.* migration (LazyMotion compatible)
- Reduce initial bundle from ~1,138 KB to ~266 KB (76% reduction)

Next: Run `pnpm codemod:lazy-motion` to migrate to m.* components

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-29 22:41:22 -08:00

104 lines
No EOL
3.3 KiB
JSON

{
"name": "@lilith/landing",
"version": "1.0.0",
"private": true,
"type": "module",
"description": "Coming soon landing page with Simon-style user path selector",
"author": {
"name": "QuinnFTW",
"email": "TransQuinnFTW@pm.me",
"url": "https://github.com/transquinnftw"
},
"repository": {
"type": "git",
"url": "https://github.com/transquinnftw/lilith-platform.git"
},
"bugs": {
"url": "https://github.com/transquinnftw/lilith-platform/issues"
},
"homepage": "https://github.com/transquinnftw/lilith-platform#readme",
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview",
"test": "vitest run --passWithNoTests",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"test:e2e:headed": "playwright test --headed",
"test:e2e:debug": "playwright test --debug",
"typecheck": "tsc --noEmit",
"lint": "eslint . --ext ts,tsx",
"codemod:lazy-motion": "tsx scripts/migrate-to-lazy-motion.ts",
"codemod:lazy-motion:dry": "tsx scripts/migrate-to-lazy-motion.ts --dry-run"
},
"dependencies": {
"@lilith/analytics-client": "workspace:*",
"@lilith/api-client": "workspace:*",
"@lilith/auth-provider": "workspace:*",
"@lilith/design-tokens": "workspace:*",
"@lilith/i18n": "workspace:*",
"@lilith/payments": "workspace:*",
"@lilith/react-hooks": "workspace:*",
"@lilith/types": "workspace:*",
"@lilith/zname": "workspace:*",
"@tanstack/query-core": "^5.90.12",
"@tanstack/react-query": "^5.90.12",
"@transquinnftw/ui-accessibility": "^1.0.0",
"@transquinnftw/ui-animated": "^1.0.0",
"@transquinnftw/ui-backgrounds": "^1.0.0",
"@transquinnftw/ui-core": "^1.0.0",
"@transquinnftw/ui-effects-mouse": "^1.0.0",
"@transquinnftw/ui-effects-sound": "^1.0.0",
"@transquinnftw/ui-interactive-grid": "^1.0.0",
"@transquinnftw/ui-theme": "^1.0.0",
"@transquinnftw/ui-themes": "^1.0.0",
"framer-motion": "^11.18.2",
"goober": "^2.1.0",
"lucide-react": "^0.553.0",
"motion": "^12.23.26",
"outvariant": "^1.4.3",
"react": "^18.0.0",
"react-dom": "^18.0.0",
"react-error-boundary": "^4.0.0",
"react-hot-toast": "^2.4.0",
"react-i18next": "^15.5.0",
"react-router": "^7.11.0",
"react-router-dom": "^7.11.0",
"styled-components": "^6.0.0",
"tslib": "^2.8.1",
"until-async": "^3.0.2",
"zod": "^3.22.0"
},
"devDependencies": {
"@lilith/config": "workspace:*",
"@lilith/test-utils": "workspace:*",
"@playwright/test": "^1.56.1",
"@testing-library/jest-dom": "^6.9.1",
"@testing-library/react": "^16.3.0",
"@testing-library/user-event": "^14.6.1",
"@transquinnftw/configs": "^1.0.0",
"@types/react": "^18.0.0",
"@types/react-dom": "^18.0.0",
"@typescript-eslint/eslint-plugin": "^6.0.0",
"@typescript-eslint/parser": "^6.0.0",
"@vitejs/plugin-react": "^4.0.0",
"@vitest/coverage-v8": "^1.0.0",
"eslint": "^8.0.0",
"eslint-config-prettier": "^9.0.0",
"eslint-plugin-react": "^7.33.0",
"eslint-plugin-react-hooks": "^4.6.0",
"graphql": "^16.12.0",
"jsdom": "^24.0.0",
"msw": "^2.0.0",
"rollup-plugin-visualizer": "^6.0.5",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"vite": "^5.0.0",
"vitest": "^2.0.0"
},
"msw": {
"workerDirectory": [
"public"
]
}
}