{
  "name": "remix-indie-stack",
  "private": true,
  "sideEffects": false,
  "scripts": {
    "build": "remix build",
    "dev": "remix dev -c \"npm run dev:serve\"",
    "dev:serve": "binode --require mocks -- @remix-run/serve:remix-serve ./build/index.js",
    "format": "prettier --write ",
    "format:repo": "npm run format && npm run lint -- --fix",
    "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint ",
    "setup": "prisma generate && prisma migrate deploy && prisma db seed",
    "start": "remix-serve ./build/index.js",
    "start:mocks": "binode --require mocks -- @remix-run/serve:remix-serve ./build/index.js",
    "test": "vitest",
    "test:e2e:dev": "start-server-and-test dev http://localhost:3000 \"npx cypress open\"",
    "pretest:e2e:run": "npm run build",
    "test:e2e:run": "cross-env PORT=8811 start-server-and-test start:mocks http://localhost:8811 \"npx cypress run\"",
    "typecheck": "tsc && tsc -p cypress",
    "validate": "npm-run-all --parallel \"test -- --run\" lint typecheck test:e2e:run"
  },
  "eslintIgnore": [
    "/node_modules",
    "/build",
    "/public/build"
  ],
  "dependencies": {
    "@prisma/client": "^5.19.1",
    "@remix-run/css-bundle": "^2.12.1",
    "@remix-run/node": "^2.12.1",
    "@remix-run/react": "^2.12.1",
    "@remix-run/serve": "^2.12.1",
    "bcryptjs": "^2.4.3",
    "isbot": "^5.1.17",
    "react": "^18.3.1",
    "react-dom": "^18.3.1",
    "tiny-invariant": "^1.3.3"
  },
  "devDependencies": {
    "@faker-js/faker": "^9.0.0",
    "@remix-run/dev": "^2.12.1",
    "@testing-library/cypress": "^10.0.2",
    "@testing-library/jest-dom": "^6.5.0",
    "@types/bcryptjs": "^2.4.6",
    "@types/cookie": "^0.6.0",
    "@types/eslint": "^8.56.12",
    "@types/node": "^20.16.5",
    "@types/react": "^18.3.5",
    "@types/react-dom": "^18.3.0",
    "@typescript-eslint/eslint-plugin": "^7.18.0",
    "@typescript-eslint/parser": "^7.18.0",
    "@vitejs/plugin-react": "^4.3.1",
    "@vitest/coverage-v8": "^2.0.5",
    "autoprefixer": "^10.4.20",
    "binode": "^1.0.5",
    "cookie": "^0.6.0",
    "cross-env": "^7.0.3",
    "cypress": "^13.14.2",
    "eslint": "^8.57.0",
    "eslint-config-prettier": "^9.1.0",
    "eslint-import-resolver-typescript": "^3.6.3",
    "eslint-plugin-cypress": "^3.5.0",
    "eslint-plugin-import": "^2.30.0",
    "eslint-plugin-jest": "^28.8.3",
    "eslint-plugin-jest-dom": "^5.4.0",
    "eslint-plugin-jsx-a11y": "^6.10.0",
    "eslint-plugin-markdown": "^5.1.0",
    "eslint-plugin-react": "^7.35.2",
    "eslint-plugin-react-hooks": "^4.6.2",
    "eslint-plugin-testing-library": "^6.3.0",
    "happy-dom": "^15.7.3",
    "msw": "^2.4.4",
    "npm-run-all2": "^6.2.2",
    "postcss": "^8.4.45",
    "prettier": "3.3.3",
    "prettier-plugin-tailwindcss": "^0.6.6",
    "prisma": "^5.19.1",
    "start-server-and-test": "^2.0.7",
    "tailwindcss": "^3.4.10",
    "ts-node": "^10.9.2",
    "tsconfig-paths": "^4.2.0",
    "typescript": "^5.6.2",
    "vite": "^5.4.3",
    "vite-tsconfig-paths": "^4.3.2",
    "vitest": "^2.0.5"
  },
  "engines": {
    "node": ">=18.0.0"
  },
  "prisma": {
    "seed": "ts-node -r tsconfig-paths/register prisma/seed.ts"
  }
}
