{
  "name": "pfr-main-website",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "prebuild": "npm run test:ghost && npm run test:participant-list-utils && npm run test:portal-actions-session-visibility && npm run test:questionnaire-compatibility",
    "start": "next start",
    "lint": "next lint",
    "test:download-article": "ts-node -r tsconfig-paths/register --project tsconfig.download-article-test.json app/api/download-article/download-article.test.ts",
    "test:portal-proxy-signature": "ts-node -r tsconfig-paths/register --project tsconfig.portal-proxy-test.json services/client/participant-list/portal-proxy-signature.test.ts",
    "test:participant-list-utils": "ts-node -r tsconfig-paths/register --project tsconfig.participant-list-utils-test.json components/pages/client/participant-list/common/utils.test.ts",
    "test:portal-actions-session-visibility": "ts-node -r tsconfig-paths/register --project tsconfig.portal-actions-session-visibility-test.json services/client/participant-list/portal-actions.session-visibility.test.ts",
    "test:questionnaire-compatibility": "ts-node -r tsconfig-paths/register --project tsconfig.questionnaire-compatibility-test.json components/pages/participant/opportunities/survey-utils.test.ts",
    "test:homepage-ghost": "ts-node -r tsconfig-paths/register --project tsconfig.homepage-ghost-test.json lib/homepage-ghost-content.test.ts",
    "test:our-community-ghost": "ts-node -r tsconfig-paths/register --project tsconfig.our-community-ghost-test.json lib/our-community-ghost-content.test.ts",
    "test:user-viewing-ghost": "ts-node -r tsconfig-paths/register --project tsconfig.user-viewing-ghost-test.json lib/user-viewing-ghost-content.test.ts",
    "test:services-ghost": "ts-node -r tsconfig-paths/register --project tsconfig.services-ghost-test.json lib/services-ghost-content.test.ts",
    "test:contact-us-ghost": "ts-node -r tsconfig-paths/register --project tsconfig.contact-us-ghost-test.json lib/contact-us-ghost-content.test.ts",
    "test:participant-home-ghost": "ts-node -r tsconfig-paths/register --project tsconfig.participant-home-ghost-test.json lib/participant-home-ghost-content.test.ts",
    "test:participant-signup-ghost": "ts-node -r tsconfig-paths/register --project tsconfig.participant-signup-ghost-test.json lib/participant-signup-ghost-content.test.ts",
    "test:sitemap": "ts-node -r tsconfig-paths/register --project tsconfig.sitemap-test.json lib/sitemap-routes.test.ts",
    "test:json-for-script": "ts-node -r tsconfig-paths/register --project tsconfig.json-for-script-test.json utils/json-for-script.test.ts",
    "test:privacy-policy": "ts-node -r tsconfig-paths/register --project tsconfig.privacy-policy-test.json lib/privacy-policy-content.test.ts",
    "test:ghost": "npm run test:download-article && npm run test:homepage-ghost && npm run test:our-community-ghost && npm run test:user-viewing-ghost && npm run test:services-ghost && npm run test:contact-us-ghost && npm run test:participant-home-ghost && npm run test:participant-signup-ghost && npm run test:sitemap && npm run test:json-for-script && npm run test:privacy-policy",
    "format": "prettier --write .",
    "format:check": "prettier --check .",
    "verify:client-preview-exchange": "node scripts/verify-client-preview-exchange.mjs"
  },
  "dependencies": {
    "@hookform/resolvers": "^3.3.1",
    "@marsidev/react-turnstile": "^1.1.0",
    "@next/third-parties": "^14.2.5",
    "@nextui-org/react": "^2.4.8",
    "@sentry/nextjs": "^10.53.1",
    "@tanstack/react-table": "^8.21.3",
    "@typeform/embed-react": "^5.0.0",
    "@types/node": "^20.16.5",
    "@types/react": "^18.2.48",
    "@types/react-dom": "^18.2.13",
    "@types/react-query": "^1.2.9",
    "@vercel/firewall": "^1.2.3",
    "@vercel/functions": "^2.0.0",
    "awesome-phonenumber": "^6.1.0",
    "cheerio": "^1.0.0",
    "countries-list": "^3.1.1",
    "crypto-js": "^4.1.1",
    "date-fns": "^3.6.0",
    "date-fns-tz": "^3.2.0",
    "framer-motion": "^11.11.17",
    "html-react-parser": "^5.1.10",
    "isomorphic-dompurify": "2.26.0",
    "js-cookie": "^3.0.5",
    "jwt-decode": "^4.0.0",
    "keen-slider": "^6.8.6",
    "next": "^14.2.35",
    "next-themes": "^0.3.0",
    "nextjs-toploader": "^1.6.12",
    "pdf-lib": "^1.17.1",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-ga4": "^2.1.0",
    "react-hook-form": "^7.76.0",
    "react-hot-toast": "^2.4.1",
    "react-icons": "^5.0.1",
    "react-international-phone": "^4.2.6",
    "react-leaflet": "^4.2.1",
    "react-otp-input-hook": "^1.0.10",
    "react-rough-notation": "^1.0.5",
    "react-top-loading-bar": "^2.3.1",
    "schema-dts": "^1.1.2",
    "sharp": "^0.33.2",
    "survey-react-ui": "^2.3.10",
    "swr": "^2.2.5",
    "zod": "^3.23.4"
  },
  "devDependencies": {
    "@next/eslint-plugin-next": "^16.0.10",
    "@tailwindcss/forms": "^0.5.4",
    "@types/crypto-js": "^4.2.2",
    "@types/dompurify": "^3.0.5",
    "@types/js-cookie": "^3.0.3",
    "@types/leaflet": "^1.9.8",
    "@types/node": "^20.16.5",
    "@types/react": "^18.2.48",
    "@types/react-dom": "^18.2.13",
    "autoprefixer": "^10.4.17",
    "eslint": "^8.0.0",
    "eslint-config-next": "^14.2.35",
    "eslint-plugin-import": "^2.28.1",
    "eslint-plugin-jsx-a11y": "^6.7.1",
    "eslint-plugin-react": "^7.33.2",
    "postcss": "^8.4.27",
    "prettier": "^3.8.3",
    "tailwindcss": "^3.3.4",
    "ts-node": "^10.9.1",
    "typescript": "^5.2.2"
  }
}
