{ "dependencies": { "@directus/sdk": "^18.0.3", "@react-email/components": "^1.0.6", "@react-pdf/renderer": "^4.3.2", "@sentry/nextjs": "^8.55.0", "@swc/helpers": "^0.5.18", "@types/cheerio": "^0.22.35", "@types/leaflet": "^1.9.21", "axios": "^1.13.2", "cheerio": "^1.1.2", "clsx": "^2.1.1", "framer-motion": "^12.27.1", "gray-matter": "^4.0.3", "i18next": "^25.7.3", "jsdom": "^27.4.0", "leaflet": "^1.9.4", "lucide-react": "^0.562.0", "next": "^14.2.35", "next-i18next": "^15.4.3", "next-intl": "^4.6.1", "next-mdx-remote": "^5.0.0", "nodemailer": "^7.0.12", "pdf-lib": "^1.17.1", "pino": "^10.3.0", "pino-pretty": "^13.1.3", "react": "^18.3.1", "react-dom": "^18.3.1", "react-email": "^5.2.5", "react-leaflet": "^4.2.1", "resend": "^3.5.0", "schema-dts": "^1.1.5", "sharp": "^0.34.5", "svg-to-pdfkit": "^0.1.8", "tailwind-merge": "^3.4.0", "xlsx": "^0.18.5", "zod": "^4.3.6" }, "devDependencies": { "@lhci/cli": "^0.15.1", "@tailwindcss/cli": "^4.1.18", "@tailwindcss/postcss": "^4.1.18", "@types/node": "^22.19.3", "@types/nodemailer": "^7.0.5", "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@types/sharp": "^0.31.1", "@vitest/ui": "^4.0.16", "autoprefixer": "^10.4.23", "eslint": "^8.57.1", "eslint-config-next": "14.2.35", "postcss": "^8.5.6", "sass": "^1.97.1", "tailwindcss": "^4.1.18", "tsx": "^4.21.0", "typescript": "^5.7.2", "vitest": "^4.0.16" }, "name": "klz-cables-nextjs", "private": true, "scripts": { "dev": "docker network create infra 2>/dev/null || true && echo '\\nšŸš€ Development Environment Starting...\\n\\nšŸ“± App: http://klz.localhost\\nšŸ—„ļø CMS: http://cms.klz.localhost/admin\\n🚦 Traefik: http://localhost:8080\\n\\n(Press Ctrl+C to stop)\\n' && docker-compose down --remove-orphans && docker-compose up", "dev:local": "next dev", "build": "next build", "start": "next start", "lint": "next lint", "typecheck": "tsc --noEmit", "test": "vitest run --passWithNoTests", "test:og": "vitest run tests/og-image.test.ts", "bootstrap:cms": "DIRECTUS_URL=http://localhost:8055 npx tsx --env-file=.env scripts/setup-directus-branding.ts", "pdf:datasheets": "tsx ./scripts/generate-pdf-datasheets.ts", "pdf:datasheets:legacy": "tsx ./scripts/generate-pdf-datasheets-pdf-lib.ts", "directus:push:staging": "./scripts/sync-directus.sh push staging", "directus:pull:staging": "./scripts/sync-directus.sh pull staging", "directus:push:testing": "./scripts/sync-directus.sh push testing", "directus:pull:testing": "./scripts/sync-directus.sh pull testing", "directus:push:prod": "./scripts/sync-directus.sh push production", "directus:pull:prod": "./scripts/sync-directus.sh pull production", "pagespeed:test": "tsx ./scripts/pagespeed-sitemap.ts", "pagespeed:urls": "tsx -e \"import sitemap from './app/sitemap'; sitemap().then(urls => console.log(urls.map(u => u.url).join('\\n')))\"" }, "version": "1.0.0" }