{ "name": "klz-cables-nextjs", "type": "module", "private": true, "packageManager": "pnpm@10.18.3", "dependencies": { "@mintel/mail": "^1.8.21", "@mintel/next-config": "^1.8.21", "@mintel/next-feedback": "^1.8.21", "@mintel/next-utils": "^1.8.21", "@payloadcms/db-postgres": "^3.77.0", "@payloadcms/email-nodemailer": "^3.77.0", "@payloadcms/next": "^3.77.0", "@payloadcms/richtext-lexical": "^3.77.0", "@payloadcms/ui": "^3.77.0", "@react-email/components": "^1.0.7", "@react-pdf/renderer": "^4.3.2", "@sentry/nextjs": "^10.39.0", "@types/recharts": "^2.0.1", "axios": "^1.13.5", "clsx": "^2.1.1", "framer-motion": "^12.34.0", "graphql": "^16.12.0", "gray-matter": "^4.0.3", "i18next": "^25.7.3", "import-in-the-middle": "^1.11.0", "jsdom": "^27.4.0", "leaflet": "^1.9.4", "next": "16.1.6", "next-i18next": "^15.4.3", "next-intl": "^4.8.2", "nodemailer": "^7.0.12", "payload": "^3.77.0", "pdf-lib": "^1.17.1", "pino": "^10.3.0", "pino-pretty": "^13.1.3", "react": "^19.2.4", "react-dom": "^19.2.4", "react-email": "^5.2.5", "react-leaflet": "^4.2.1", "recharts": "^3.7.0", "require-in-the-middle": "^8.0.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": "npm:@e965/xlsx@^0.20.3", "zod": "3.25.76" }, "devDependencies": { "@commitlint/cli": "^20.4.0", "@commitlint/config-conventional": "^20.4.0", "@cspell/dict-de-de": "^4.1.2", "@lhci/cli": "^0.15.1", "@mintel/eslint-config": "1.8.21", "@mintel/tsconfig": "^1.8.21", "@next/bundle-analyzer": "^16.1.6", "@tailwindcss/cli": "^4.1.18", "@tailwindcss/postcss": "^4.1.18", "@types/geojson": "^7946.0.16", "@types/leaflet": "^1.9.21", "@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", "@types/three": "^0.183.1", "@vitejs/plugin-react": "^5.1.4", "@vitest/ui": "^4.0.16", "autoprefixer": "^10.4.23", "cheerio": "^1.2.0", "critters": "^0.0.25", "cspell": "^9.6.4", "dotenv": "^17.3.1", "eslint": "^9.18.0", "happy-dom": "^20.6.1", "html-validate": "^10.8.0", "husky": "^9.1.7", "lint-staged": "^16.2.7", "lucide-react": "^0.563.0", "pa11y-ci": "^4.0.1", "postcss": "^8.5.6", "prettier": "^3.8.1", "puppeteer": "^24.37.3", "sass": "^1.97.1", "start-server-and-test": "^2.1.3", "tailwindcss": "^4.1.18", "tsx": "^4.21.0", "turbo": "^2.8.10", "typescript": "^5.7.2", "vitest": "^4.0.16" }, "scripts": { "dev": "bash -c 'trap \"COMPOSE_PROJECT_NAME=klz-2026 docker-compose -f docker-compose.dev.yml down\" EXIT INT TERM; docker network create infra 2>/dev/null || true && COMPOSE_PROJECT_NAME=klz-2026 docker-compose -f docker-compose.dev.yml down && COMPOSE_PROJECT_NAME=klz-2026 docker-compose -f docker-compose.dev.yml up klz-app klz-db --remove-orphans'", "dev:local": "bash -c 'trap \"COMPOSE_PROJECT_NAME=klz-2026 docker-compose -f docker-compose.dev.yml down\" EXIT INT TERM; COMPOSE_PROJECT_NAME=klz-2026 docker-compose -f docker-compose.dev.yml up -d klz-db klz-proxy && POSTGRES_URI=NODE_ENV=development next dev --webpack --port 3100 --hostname 0.0.0.0'", "dev:infra": "COMPOSE_PROJECT_NAME=klz-2026 docker-compose -f docker-compose.dev.yml up -d klz-db klz-proxy", "build": "next build", "start": "next start", "lint": "eslint .", "typecheck": "tsc --noEmit", "test": "vitest run --passWithNoTests", "test:og": "vitest run tests/og-image.test.ts", "check:og": "tsx scripts/check-og-images.ts", "check:a11y": "pa11y-ci", "check:wcag": "tsx ./scripts/wcag-sitemap.ts", "check:html": "tsx ./scripts/check-html.ts", "check:http": "tsx ./scripts/check-http.ts", "check:locale": "tsx ./scripts/check-locale.ts", "check:spell": "cspell \"content/**/*.{md,mdx}\" \"app/**/*.tsx\" \"components/**/*.tsx\"", "check:security": "tsx ./scripts/check-security.ts", "check:links": "bash ./scripts/check-links.sh", "check:assets": "tsx ./scripts/check-broken-assets.ts", "check:forms": "tsx ./scripts/check-forms.ts", "check:apis": "tsx ./scripts/check-apis.ts", "pdf:datasheets": "tsx ./scripts/generate-pdf-datasheets.ts", "pdf:datasheets:legacy": "tsx ./scripts/generate-pdf-datasheets-pdf-lib.ts", "cms:migrate": "payload migrate", "cms:seed": "tsx ./scripts/seed-payload.ts", "assets:push:testing": "bash ./scripts/assets-sync.sh local testing", "assets:push:staging": "bash ./scripts/assets-sync.sh local staging", "assets:push:prod": "bash ./scripts/assets-sync.sh local prod", "assets:pull:testing": "bash ./scripts/assets-sync.sh testing local", "assets:pull:staging": "bash ./scripts/assets-sync.sh staging local", "assets:pull:prod": "bash ./scripts/assets-sync.sh prod local", "assets:sync:testing-to-staging": "bash ./scripts/assets-sync.sh testing staging", "assets:sync:staging-to-prod": "bash ./scripts/assets-sync.sh staging prod", "pagespeed:test": "tsx ./scripts/pagespeed-sitemap.ts", "pagespeed:audit": "./scripts/audit-local.sh", "pagespeed:urls": "tsx -e \"import sitemap from './app/sitemap'; sitemap().then(urls => console.log(urls.map(u => u.url).join('\\n')))\"", "backup:db": "bash ./scripts/backup-db.sh", "restore:db": "bash ./scripts/restore-db.sh", "cms:push:testing": "bash ./scripts/cms-sync.sh push testing", "cms:push:staging": "bash ./scripts/cms-sync.sh push staging", "cms:push:prod": "bash ./scripts/cms-sync.sh push prod", "cms:pull:testing": "bash ./scripts/cms-sync.sh pull testing", "cms:pull:staging": "bash ./scripts/cms-sync.sh pull staging", "cms:pull:prod": "bash ./scripts/cms-sync.sh pull prod", "prepare": "husky", "preinstall": "npx only-allow pnpm" }, "version": "2.0.2", "pnpm": { "onlyBuiltDependencies": [ "@parcel/watcher", "@swc/core", "sharp", "esbuild", "unrs-resolver" ], "overrides": { "next": "16.1.6", "minimatch": ">=10.2.2" } }, "browserslist": [ "last 3 versions", "not dead", "not ie 11" ], "peerDependencies": { "lucide-react": "^0.563.0" } }