Some checks failed
Pull Request Checks / Code Quality & Security (push) Has been cancelled
Security Audit / Security Vulnerability Audit (push) Has been cancelled
Security Audit / Dependency Review (push) Has been cancelled
Security Audit / CodeQL Security Analysis (push) Has been cancelled
Security Audit / Check Outdated Dependencies (push) Has been cancelled
- Migrate all molecule components (DataTable, PaginationBar, FilterDropdown, AlertBanner, FormField, SectionCard, SubCard, MetricCard, AnimatedCard, OtpInput) to shadcn/ui primitives with legacy backups and comparison stories - Install 24 shadcn/ui primitives (accordion, alert, badge, button, card, checkbox, collapsible, dialog, dropdown-menu, input-otp, input, label, pagination, popover, radio-group, select, separator, sheet, skeleton, table, tabs, toggle-group, toggle, tooltip) with barrel exports - Replace 69 raw HTML elements across all features with shadcn components: 35+ <button> → Button, 5 <select> → Select, 15+ <label> → Label, 6 <input type=checkbox> → Checkbox, 7 <input type=radio> → RadioGroup - Add TextRotate animation component and integrate into hero section with rotating service names (Internet, Phone Plans, VPN, IT Support, Business) - Add destructive color token aliases for error state consistency - Add CLAUDE.md rules for shadcn migration process Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
65 lines
2.1 KiB
JSON
65 lines
2.1 KiB
JSON
{
|
|
"name": "@customer-portal/portal",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"scripts": {
|
|
"predev": "node ./scripts/dev-prep.mjs",
|
|
"dev": "next dev --turbopack -p ${NEXT_PORT:-3000}",
|
|
"build": "next build",
|
|
"build:turbo": "next build",
|
|
"build:analyze": "ANALYZE=true next build",
|
|
"analyze": "pnpm run build:analyze",
|
|
"start": "next start -p ${NEXT_PORT:-3000}",
|
|
"lint": "eslint .",
|
|
"lint:fix": "eslint . --fix",
|
|
"type-check": "tsc --project tsconfig.json --noEmit",
|
|
"type-check:watch": "tsc --project tsconfig.json --noEmit --watch",
|
|
"test": "echo 'No tests yet'",
|
|
"bundle-analyze": "pnpm run build:analyze && pnpm exec @next/bundle-analyzer",
|
|
"storybook": "storybook dev -p 6006",
|
|
"storybook:build": "storybook build -o storybook-static",
|
|
"storybook:deploy": "storybook build -o storybook-static && rm -rf public/storybook && mv storybook-static public/storybook"
|
|
},
|
|
"dependencies": {
|
|
"@customer-portal/domain": "workspace:*",
|
|
"@heroicons/react": "^2.2.0",
|
|
"@hookform/resolvers": "^5.2.2",
|
|
"@tanstack/react-query": "^5.90.20",
|
|
"@xstate/react": "^6.0.0",
|
|
"class-variance-authority": "^0.7.1",
|
|
"clsx": "^2.1.1",
|
|
"framer-motion": "^12.35.0",
|
|
"geist": "^1.5.1",
|
|
"input-otp": "^1.4.2",
|
|
"lucide-react": "^0.563.0",
|
|
"next": "^16.1.6",
|
|
"radix-ui": "^1.4.3",
|
|
"react": "^19.2.4",
|
|
"react-dom": "^19.2.4",
|
|
"react-hook-form": "^7.71.2",
|
|
"tailwind-merge": "^3.4.0",
|
|
"world-countries": "^5.1.0",
|
|
"xstate": "^5.28.0",
|
|
"zod": "catalog:",
|
|
"zustand": "^5.0.11"
|
|
},
|
|
"devDependencies": {
|
|
"@next/bundle-analyzer": "^16.1.6",
|
|
"@storybook/addon-essentials": "^8.6.14",
|
|
"@storybook/blocks": "^8.6.14",
|
|
"@storybook/react": "^8.6.18",
|
|
"@storybook/react-vite": "^8.6.18",
|
|
"@storybook/test": "^8.6.15",
|
|
"@tailwindcss/postcss": "^4.1.18",
|
|
"@tailwindcss/vite": "^4.2.1",
|
|
"@tanstack/react-query-devtools": "^5.91.3",
|
|
"@types/react": "^19.2.10",
|
|
"@types/react-dom": "^19.2.3",
|
|
"storybook": "^8.6.18",
|
|
"tailwindcss": "^4.1.18",
|
|
"tailwindcss-animate": "^1.0.7",
|
|
"typescript": "catalog:",
|
|
"vite": "^6.4.1"
|
|
}
|
|
}
|