{ "name": "rocket-rental", "private": true, "sideEffects": false, "license": "GPL-3.0-only", "author": "Kent C. Dodds <me@kentcdodds.com> (https://kentcdodds.com/)", "main": "index.js", "type": "module", "scripts": { "build": "run-s build:*", "build:remix": "remix build", "build:server": "tsx ./other/build-server.ts", "dev": "remix dev -c \"node ./server/dev-server.js\" --no-restart", "format": "prettier --write .", "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint .", "setup": "prisma generate && prisma migrate deploy && prisma db seed", "start": "cross-env NODE_ENV=production node .", "start:mocks": "cross-env NODE_ENV=production MOCKS=true tsx .", "test": "vitest", "test:e2e": "npm run test:e2e:dev --silent", "test:e2e:dev": "playwright test --ui", "pretest:e2e:run": "npm run build", "test:e2e:run": "cross-env CI=true playwright test", "test:e2e:install": "npx playwright install chromium --with-deps", "typecheck": "tsc", "validate": "run-p \"test -- --run\" lint typecheck test:e2e:run" }, "prettier": { "arrowParens": "avoid", "bracketSameLine": false, "bracketSpacing": true, "embeddedLanguageFormatting": "auto", "endOfLine": "lf", "htmlWhitespaceSensitivity": "css", "insertPragma": false, "jsxSingleQuote": false, "printWidth": 80, "proseWrap": "always", "quoteProps": "as-needed", "requirePragma": false, "semi": false, "singleAttributePerLine": false, "singleQuote": true, "tabWidth": 2, "trailingComma": "all", "useTabs": true }, "eslintIgnore": [ "/node_modules", "/build", "/public/build", "/playwright-report", "/server-build" ], "dependencies": { "@prisma/client": "^4.15.0", "@radix-ui/react-checkbox": "^1.0.4", "@radix-ui/react-dialog": "^1.0.4", "@radix-ui/react-dropdown-menu": "^2.0.5", "@radix-ui/react-popover": "^1.0.6", "@radix-ui/react-separator": "^1.0.3", "@radix-ui/react-tabs": "^1.0.4", "@reach/dialog": "^0.18.0", "@remix-run/css-bundle": "^1.16.1", "@remix-run/express": "^1.16.1", "@remix-run/node": "^1.16.1", "@remix-run/react": "^1.16.1", "@remix-run/router": "^1.6.2", "@remix-run/serve": "^1.16.1", "@remix-run/server-runtime": "^1.16.1", "address": "^1.2.2", "bcryptjs": "^2.4.3", "better-sqlite3": "^8.4.0", "chalk": "^5.2.0", "chokidar": "^3.5.3", "close-with-grace": "^1.2.0", "clsx": "^1.2.1", "compression": "^1.7.4", "cross-env": "^7.0.3", "date-fns": "^2.30.0", "dotenv": "^16.1.3", "downshift": "^7.6.0", "express": "^4.18.2", "get-port": "^6.1.2", "isbot": "^3.6.10", "litefs-js": "^1.1.2", "morgan": "^1.10.0", "react": "^18.2.0", "react-dom": "^18.2.0", "react-router-dom": "^6.11.2", "remix-auth": "^3.4.0", "remix-auth-form": "^1.3.0", "spin-delay": "^1.2.0", "tiny-invariant": "^1.3.1", "zod": "^3.21.4" }, "devDependencies": { "@faker-js/faker": "^8.0.2", "@playwright/test": "^1.34.3", "@remix-run/dev": "^1.16.1", "@remix-run/eslint-config": "^1.16.1", "@remix-run/testing": "^1.16.1", "@testing-library/dom": "^9.3.0", "@testing-library/jest-dom": "^5.16.5", "@testing-library/react": "^14.0.0", "@testing-library/user-event": "^14.4.3", "@types/all-the-cities": "^3.1.0", "@types/bcryptjs": "^2.4.2", "@types/better-sqlite3": "^7.6.4", "@types/compression": "^1.7.2", "@types/eslint": "^8.40.0", "@types/express": "^4.17.17", "@types/fs-extra": "^11.0.1", "@types/morgan": "^1.9.4", "@types/node": "^20.2.5", "@types/react": "^18.2.7", "@types/react-dom": "^18.2.4", "@vitejs/plugin-react": "^4.0.0", "@vitest/coverage-c8": "^0.31.4", "all-the-cities": "^3.1.0", "autoprefixer": "^10.4.14", "c8": "^7.14.0", "cookie": "^0.5.0", "esbuild": "^0.17.19", "eslint": "^8.41.0", "eslint-config-prettier": "^8.8.0", "execa": "^7.1.1", "fs-extra": "^11.1.1", "glob": "^10.2.6", "jsdom": "^22.1.0", "msw": "^1.2.1", "npm-run-all": "^4.1.5", "postcss": "^8.4.24", "prettier": "^2.8.8", "prettier-plugin-sql": "^0.14.0", "prettier-plugin-tailwindcss": "^0.3.0", "prisma": "^4.15.0", "remix-flat-routes": "^0.5.8", "tailwindcss": "^3.3.2", "tailwindcss-radix": "^2.8.0", "tsconfig-paths": "^4.2.0", "tsx": "^3.12.7", "typescript": "^5.1.3", "vite": "^4.3.9", "vite-tsconfig-paths": "^4.2.0", "vitest": "^0.31.4", "vitest-mock-extended": "^1.1.3" }, "engines": { "node": "18" }, "prisma": { "seed": "tsx prisma/seed.ts" } }