{ "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" } }