{
  "name": "magasinetkbh",
  "version": "1.0.0",
  "private": true,
  "author": {
    "name": "MagasinetHBH",
    "url": "https://www.magasinetkbh.dk"
  },
  "scripts": {
    "build": "next build",
    "dev": "next dev",
    "start": "next start",
    "lint": "next lint",
    "lint:fix": "eslint src --fix && pnpm format",
    "lint:strict": "eslint --max-warnings=0 src",
    "format": "prettier --write .",
    "format:check": "prettier -c -w .",
    "analytic:archive-events": "DATABASE_LOG=false ./src/server/commands/analytic-archive-events.command.ts",
    "analytic:calc-post-stats": "DATABASE_LOG=false ./src/server/commands/analytic-calc-post-stats.command.ts",
    "analytic:update-ga-page-views": "DATABASE_LOG=false ./src/server/commands/update-ga-page-views.command.ts",
    "db:generate": "drizzle-kit generate",
    "db:migrate": "node migrate.js",
    "db:studio": "drizzle-kit studio",
    "db:seed": "./src/server/commands/db-seed.command.ts",
    "db:seed-views": "./src/server/commands/db-seed-views.command.ts",
    "db:seed-users": "./src/server/commands/db-seed-users.command.ts",
    "db:seed-sponsor-plan": "./src/server/commands/db-seed-sponsor-plan.command.ts",
    "site-config:update-stats": "./src/server/commands/site-config-update-stats.command.ts",
    "mail:send": "tsx src/server/commands/send-mail.command.ts",
    "stripe:fetch-plans": "tsx src/server/commands/payment/stripe-fetch-plans.command.ts",
    "payment:fetch-subscriptions": "./src/server/commands/payment/payment-fetch-subscriptions.command.ts",
    "mobilepay:register-webhooks": "./src/server/commands/payment/mobilepay-register-webhooks.command.ts",
    "mobilepay:list-webhooks": "./src/server/commands/payment/mobilepay-list-webhooks.command.ts",
    "mobilepay:delete-webhook": "./src/server/commands/payment/mobilepay-delete-webhook.command.ts",
    "mobilepay:process": "./src/server/commands/payment/mobilepay-process.command.ts",
    "poll:fill": "./src/server/commands/poll-fill.command.ts",
    "post:publish-scheduled": "./src/server/commands/post-publish-scheduled.command.ts",
    "storage:test": "node scripts/test-r2-connection.js",
    "test": "vitest run",
    "test:watch": "vitest",
    "test:coverage": "vitest run --coverage"
  },
  "lint-staged": {
    "**/*.{js,jsx,tsx,ts,css,less,scss,sass}": [
      "prettier --write --no-error-on-unmatched-pattern"
    ]
  },
  "dependencies": {
    "@aws-sdk/client-s3": "^3.906.0",
    "@better-auth/stripe": "^1.6.5",
    "@dnd-kit/core": "^6.3.1",
    "@dnd-kit/modifiers": "^9.0.0",
    "@dnd-kit/sortable": "^10.0.0",
    "@dnd-kit/utilities": "^3.2.2",
    "@faker-js/faker": "^9.3.0",
    "@google-analytics/data": "^5.2.1",
    "@hookform/resolvers": "^5.1.1",
    "@mailchimp/mailchimp_marketing": "^3.0.80",
    "@next/env": "^16.0.0",
    "@radix-ui/react-accordion": "^1.2.3",
    "@radix-ui/react-alert-dialog": "^1.1.6",
    "@radix-ui/react-aspect-ratio": "^1.1.2",
    "@radix-ui/react-avatar": "^1.1.3",
    "@radix-ui/react-checkbox": "^1.1.4",
    "@radix-ui/react-collapsible": "^1.1.3",
    "@radix-ui/react-context-menu": "^2.2.6",
    "@radix-ui/react-dialog": "^1.1.6",
    "@radix-ui/react-dropdown-menu": "^2.1.6",
    "@radix-ui/react-hover-card": "^1.1.6",
    "@radix-ui/react-icons": "^1.3.2",
    "@radix-ui/react-label": "^2.1.2",
    "@radix-ui/react-menubar": "^1.1.6",
    "@radix-ui/react-navigation-menu": "^1.2.14",
    "@radix-ui/react-popover": "^1.1.6",
    "@radix-ui/react-progress": "^1.1.2",
    "@radix-ui/react-radio-group": "^1.2.3",
    "@radix-ui/react-scroll-area": "^1.2.3",
    "@radix-ui/react-select": "^2.1.6",
    "@radix-ui/react-separator": "^1.1.2",
    "@radix-ui/react-slider": "^1.2.3",
    "@radix-ui/react-slot": "^1.1.2",
    "@radix-ui/react-switch": "^1.1.3",
    "@radix-ui/react-tabs": "^1.1.3",
    "@radix-ui/react-toast": "^1.2.6",
    "@radix-ui/react-toggle": "^1.1.2",
    "@radix-ui/react-toggle-group": "^1.1.2",
    "@radix-ui/react-tooltip": "^1.1.8",
    "@react-email/components": "^0.5.3",
    "@react-email/render": "^1.2.3",
    "@sentry/nextjs": "^10.19.0",
    "@sindresorhus/slugify": "^3.0.0",
    "@t3-oss/env-nextjs": "^0.13.8",
    "@tabler/icons-react": "^3.31.0",
    "@tailwindcss/postcss": "^4.0.0",
    "@tanstack/react-query": "^5.62.3",
    "@tanstack/react-table": "^8.21.3",
    "@tiptap/extension-color": "^3.15.3",
    "@tiptap/extension-image": "^3.15.3",
    "@tiptap/extension-table": "^3.15.3",
    "@tiptap/extension-text-align": "^3.15.3",
    "@tiptap/extension-text-style": "^3.15.3",
    "@tiptap/html": "^3.15.3",
    "@tiptap/pm": "^3.15.3",
    "@tiptap/react": "^3.15.3",
    "@tiptap/starter-kit": "^3.15.3",
    "@trpc/client": "^11.5.1",
    "@trpc/next": "^11.5.1",
    "@trpc/react-query": "^11.5.1",
    "@trpc/server": "^11.5.1",
    "@trpc/tanstack-react-query": "^11.6.0",
    "@types/nodemailer": "^7.0.1",
    "@xyflow/react": "^12.8.6",
    "bcryptjs": "^3.0.2",
    "better-auth": "^1.6.5",
    "class-variance-authority": "^0.7.1",
    "clsx": "^2.1.1",
    "cmdk": "^1.1.1",
    "date-fns": "^4.1.0",
    "dotenv": "^17.2.2",
    "drizzle-kit": "^0.31.4",
    "drizzle-orm": "^0.38.4",
    "embla-carousel-react": "^8.6.0",
    "eslint": "^9",
    "eslint-config-next": "15.5.2",
    "framer-motion": "^11.13.1",
    "fumadocs-mdx": "^11.8.0",
    "happy-dom": "^18.0.1",
    "input-otp": "^1.4.2",
    "leaflet": "^1.9.4",
    "lodash.set": "^4.3.2",
    "lucide-react": "^0.476.0",
    "lucide-static": "^0.562.0",
    "match-sorter": "^8.0.0",
    "motion": "^12.23.0",
    "nanoid": "^5.1.5",
    "next": "16.1.5",
    "next-intl": "^4.8.3",
    "next-upload": "^0.0.30",
    "nextjs-toploader": "^3.7.15",
    "node-html-parser": "^7.0.1",
    "nodemailer": "^7.0.5",
    "nuqs": "^2.4.3",
    "object-to-formdata": "^4.5.1",
    "pg": "^8.11.3",
    "postcss": "8.4.49",
    "postgres": "^3.4.7",
    "prismjs": "^1.30.0",
    "react": "19.1.0",
    "react-compose-form": "0.0.5",
    "react-day-picker": "9.7.0",
    "react-dom": "19.1.0",
    "react-dropzone": "^14.3.5",
    "react-hook-form": "^7.54.1",
    "react-leaflet": "^5.0.0",
    "react-simple-star-rating": "^5.1.7",
    "reactflow": "^11.11.4",
    "recharts": "^2.15.1",
    "server-only": "^0.0.1",
    "sharp": "^0.33.5",
    "sonner": "^1.7.1",
    "sort-by": "^1.2.0",
    "stripe": "^22.0.2",
    "superjson": "^2.2.2",
    "tailwind-merge": "^3.0.2",
    "tailwindcss": "^4.0.0",
    "tailwindcss-animate": "^1.0.7",
    "tsx": "^4.20.5",
    "typescript": "5.7.2",
    "ua-parser-js": "^0.7.39",
    "uuid": "^11.0.3",
    "vaul": "^1.1.2",
    "zod": "^3.24.1",
    "zustand": "^5.0.8"
  },
  "devDependencies": {
    "@better-auth/cli": "^1.4.21",
    "@eslint/eslintrc": "^3",
    "@testing-library/jest-dom": "^6.9.1",
    "@testing-library/react": "^16.3.1",
    "@types/leaflet": "^1.9.20",
    "@types/lodash": "^4.17.23",
    "@types/lodash.set": "^4.3.9",
    "@types/mailchimp__mailchimp_marketing": "^3.0.22",
    "@types/node": "^22.10.2",
    "@types/pg": "^8.10.7",
    "@types/prismjs": "^1.26.5",
    "@types/react": "19.0.1",
    "@types/react-dom": "19.0.2",
    "@types/sort-by": "^1.2.3",
    "@types/ua-parser-js": "^0.7.39",
    "@types/uuid": "^10.0.0",
    "@typescript-eslint/eslint-plugin": "^8.41.0",
    "@vitest/coverage-v8": "^4.0.16",
    "ignore-loader": "^0.1.2",
    "jsdom": "^27.4.0",
    "lint-staged": "^15.2.11",
    "prettier": "3.4.2",
    "prettier-plugin-tailwindcss": "^0.6.11",
    "sass": "^1.92.1",
    "tw-animate-css": "^1.2.4",
    "vitest": "^4.0.16"
  }
}
