{ "name": "infoalloggi", "private": true, "scripts": { "build": "next build", "d": "npm run-p dev stripe-dev -cl", "dev": "next dev --turbopack", "dev-https": "cross-env NEXT_PUBLIC_BASE_URL='https://localhost:3000' INTERNAL_BASE_URL='https://localhost:3000' BASE_URL='https://localhost:3000' next dev --experimental-https --turbopack", "email": "cross-env NEXT_PUBLIC_BASE_URL='https://localhost:3000' email dev --port 3500", "idev": "cross-env NODE_OPTIONS='--inspect' next dev --turbopack", "knip": "knip --no-exit-code --no-config-hints", "lint": "biome lint", "format": "biome format --write", "pg-typegen": "npx kanel", "start": "next start", "stripe-dev": "stripe listen --forward-to https://localhost:3000/api/stripe-webhook", "test": "npm run lint && npm run types", "types": "tsc --noEmit", "analyze": "cross-env ANALYZE=true next build" }, "version": "0.1.0", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@fattureincloud/fattureincloud-ts-sdk": "^2.1.1", "@hookform/resolvers": "^5.2.1", "@next/bundle-analyzer": "^16.0.2", "@radix-ui/react-dialog": "^1.1.15", "@radix-ui/react-popover": "^1.1.14", "@radix-ui/react-scroll-area": "^1.2.10", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-toggle-group": "^1.1.10", "@radix-ui/react-tooltip": "^1.2.8", "@react-email/components": "^1.0.4", "@react-email/render": "^2.0.2", "@stripe/react-stripe-js": "^3.9.0", "@stripe/stripe-js": "^7.8.0", "@t3-oss/env-nextjs": "^0.13.8", "@tailwindcss/forms": "^0.5.10", "@tailwindcss/postcss": "^4.1.11", "@tailwindcss/typography": "^0.5.16", "@tanstack/react-query": "^5.74.4", "@tanstack/react-table": "^8.21.3", "@tanstack/react-virtual": "^3.13.12", "@tiptap/core": "^3.0.9", "@tiptap/extension-link": "^3.0.9", "@tiptap/extension-underline": "^3.0.9", "@tiptap/pm": "^3.0.9", "@tiptap/react": "^3.0.9", "@tiptap/starter-kit": "^3.0.9", "@trpc/client": "^11.1.0", "@trpc/next": "^11.4.3", "@trpc/react-query": "^11.1.0", "@trpc/server": "^11.1.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.1.1", "cookies-next": "^6.1.1", "date-fns": "^4.1.0", "embla-carousel-react": "^8.6.0", "framer-motion": "^12.8.0", "frimousse": "^0.3.0", "html2canvas-pro": "^1.5.13", "ioredis": "^5.7.0", "jose": "^6.0.12", "jspdf": "^4.0.0", "kysely": "^0.28.9", "kysely-plugin-serialize": "^0.8.2", "leaflet": "^1.9.4", "leaflet-defaulticon-compatibility": "^0.1.2", "lucide-react": "^0.562.0", "next": "15.4.10", "next-themes": "^0.4.6", "nextjs-progressbar": "^0.0.16", "nodemailer": "^7.0.12", "nodemailer-html-to-text": "^3.2.0", "nuqs": "^2.8.6", "pg": "^8.16.3", "postcss": "^8.5.6", "radix-ui": "^1.4.3", "react": "^19.1.0", "react-colorful": "^5.6.1", "react-day-picker": "^9.11.1", "react-dom": "^19.1.1", "react-email": "^5.2.3", "react-hook-form": "^7.62.0", "react-hot-toast": "^2.5.2", "react-is": "^19.1.1", "react-leaflet": "^5.0.0", "react-number-format": "^5.4.4", "react-pdf": "^10.2.0", "react-phone-number-input": "^3.4.14", "react-reverse-portal": "^2.3.0", "react-select": "^5.10.2", "react-to-print": "^3.1.1", "react-use": "^17.6.0", "recharts": "^2.15.4", "sharp": "^0.34.5", "stripe": "^20.1.2", "superjson": "2.2.2", "tailwind-merge": "3.3", "tailwind-scrollbar": "^4.0.2", "tailwindcss": "^4.1.11", "tunnel-rat": "^0.1.2", "tw-animate-css": "^1.3.6", "type-fest": "^5.4.1", "uuid": "^11.1.0", "vaul": "^1.1.2", "zod": "^4.1.12" }, "devDependencies": { "@biomejs/biome": "^2.3.1", "@hookform/devtools": "^4.4.0", "@react-email/preview-server": "^5.2.3", "@total-typescript/ts-reset": "^0.6.1", "@types/leaflet": "^1.9.20", "@types/node": "^24.2.0", "@types/nodemailer": "^7.0.5", "@types/nodemailer-html-to-text": "^3.1.3", "@types/pg": "^8.15.5", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.7", "@types/react-is": "^19.0.0", "@types/uuid": "^10.0.0", "cross-env": "^10.1.0", "jiti": "^2.6.1", "kanel": "^3.14.2", "kanel-kysely": "^0.7.1", "knip": "^5.81.0", "npm-run-all": "^4.1.5", "typescript": "^5.9.2" }, "ct3aMetadata": { "initVersion": "7.9.0" } }