{ "private": true, "name": "sendou.ink", "version": "3.0.0", "scripts": { "deploy": "npm install && migration:apply:prod && npm run build", "build": "cross-env NODE_ENV=production remix build", "dev:remix": "remix watch", "dev:server": "cross-env NODE_ENV=development node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register server/index.ts", "dev": "concurrently \"npm run dev:remix\" \"npm run dev:server\"", "postinstall": "remix setup node", "gen": "npx prisma generate", "start": "cross-env NODE_ENV=production node ./server/build/index.js", "migration:create": "npx prisma migrate dev --create-only", "migration:apply:dev": "npx prisma migrate dev", "migration:apply:prod": "npx prisma migrate deploy", "seed": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register prisma/seed", "seed2": "TS_NODE_FILES=true TS_NODE_TRANSPILE_ONLY=true node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register app/db/seed", "seed:reset": "npx prisma migrate reset --force --skip-generate", "lint:ts": "eslint . --ext .ts,.tsx", "lint:styles": "stylelint \"app/styles/**/*.css\"", "prettier:check": "prettier --check .", "typecheck": "tsc --noEmit", "cy:open": "npx cypress open", "cy:run": "npx cypress run", "test:unit": "uvu -r tsm -r tsconfig-paths/register -i cypress" }, "dependencies": { "@dnd-kit/core": "^5.0.1", "@dnd-kit/sortable": "^6.0.0", "@dnd-kit/utilities": "^3.1.0", "@headlessui/react": "^1.4.3", "@prisma/client": "^3.9.2", "@remix-run/express": "^1.2.1", "@remix-run/react": "^1.2.1", "clsx": "^1.1.1", "compression": "^1.7.4", "cookie-parser": "^1.4.6", "cross-env": "^7.0.3", "express": "^4.17.3", "express-session": "^1.17.2", "just-clone": "^5.0.1", "just-shuffle": "^4.0.1", "morgan": "^1.10.0", "passport": "^0.5.2", "passport-discord": "^0.1.4", "react": "^17.0.2", "react-dom": "^17.0.2", "remix": "^1.2.1", "tiny-invariant": "^1.2.0", "ts-trueskill": "^3.3.0", "uuid": "^8.3.2", "zod": "^3.11.6" }, "devDependencies": { "@remix-run/dev": "^1.2.1", "@types/compression": "^1.7.2", "@types/cookie-parser": "^1.4.2", "@types/express": "^4.17.13", "@types/express-session": "^1.17.4", "@types/morgan": "^1.9.3", "@types/passport": "^1.0.7", "@types/passport-discord": "^0.1.5", "@types/react": "^17.0.39", "@types/react-dom": "^17.0.11", "@types/uuid": "^8.3.4", "@typescript-eslint/eslint-plugin": "^5.12.0", "@typescript-eslint/parser": "^5.12.0", "concurrently": "^7.0.0", "cypress": "^9.5.0", "eslint": "^8.9.0", "prettier": "2.5.1", "prisma": "^3.9.2", "stylelint": "^14.5.1", "stylelint-config-idiomatic-order": "^8.1.0", "stylelint-config-prettier": "^9.0.3", "stylelint-config-standard": "^25.0.0", "stylelint-order": "^5.0.0", "ts-node": "^10.5.0", "tsconfig-paths": "^3.12.0", "tsm": "^2.2.1", "typescript": "^4.5.5", "uvu": "^0.5.3" }, "engines": { "node": ">=16", "npm": ">=8" }, "sideEffects": false, "prisma": { "seed": "node --experimental-specifier-resolution=node --loader ts-node/esm prisma/seed" } }