{ "name": "sendou.ink", "version": "3.0.0", "private": true, "sideEffects": false, "scripts": { "deploy": "npm ci && npm run build", "build": "remix build", "dev": "cross-env NODE_ENV=development remix dev", "dev:ci": "cp .env.example .env && npm run migrate up && npm run dev", "start": "npm run migrate up && remix-serve build", "migrate": "ley", "migrate:reset": "node scripts/delete-db-files.mjs && npm run migrate && npm run seed", "add-badge": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/add-badge.ts", "rename-badge": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/rename-badge.ts", "add-badge-winners": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/add-badge-winners.ts", "create-gear-json": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/create-gear-json.ts", "create-object-dmg-json": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/create-object-dmg-json.ts", "create-misc-json": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/create-misc-json.ts", "create-analyzer-json": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/create-analyzer-json.ts", "check-translation-jsons": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/check-translation-jsons.ts", "check-translation-jsons:no-write": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/check-translation-jsons.ts --no-write", "replace-img-names": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/replace-img-names.ts", "replace-weapon-names": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/replace-weapon-names.ts", "placements": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/placements/index.ts", "hex-to-filter": "node --experimental-specifier-resolution=node --loader ts-node/esm -r tsconfig-paths/register scripts/hex-to-filter.ts", "lint:ts": "eslint . --ext .ts,.tsx", "lint:styles": "stylelint \"app/styles/**/*.css\"", "prettier:check": "prettier --check . --loglevel warn", "prettier:write": "prettier --write . --loglevel warn", "typecheck": "tsc --noEmit", "test:unit": "uvu -r tsm -r tsconfig-paths/register -i e2e", "test:e2e": "npx playwright test", "checks": "npm run test:unit && npm run lint:styles && npm run lint:ts && npm run prettier:check && npm run typecheck", "cf": "npm run test:unit && npm run check-translation-jsons && npm run lint:styles -- --fix && npm run lint:ts -- --fix && npm run prettier:write && npm run typecheck && npm run test:e2e", "cf:noe2e": "npm run test:unit && npm run check-translation-jsons && npm run lint:styles -- --fix && npm run lint:ts -- --fix && npm run prettier:write && npm run typecheck" }, "dependencies": { "@faker-js/faker": "^7.6.0", "@headlessui/react": "1.7.10", "@popperjs/core": "^2.11.7", "@remix-run/node": "^1.15.0", "@remix-run/react": "^1.15.0", "@remix-run/serve": "^1.15.0", "@tldraw/tldraw": "^1.29.2", "aws-sdk": "^2.1353.0", "better-sqlite3": "^8.3.0", "cachified": "^3.1.0", "clsx": "^1.2.1", "compressorjs": "^1.2.1", "countries-list": "^2.6.1", "date-fns": "^2.29.3", "fuse.js": "^6.6.2", "gray-matter": "^4.0.3", "i18next": "^21.9.2", "i18next-browser-languagedetector": "^6.1.5", "i18next-fs-backend": "^1.1.5", "i18next-http-backend": "^1.4.4", "isbot": "^3.6.8", "just-capitalize": "^3.2.0", "just-clone": "^6.2.0", "just-random-integer": "^4.2.0", "just-shuffle": "^4.2.0", "lru-cache": "7.18.3", "markdown-to-jsx": "^7.2.0", "nanoid": "~3.3.4", "node-cron": "3.0.2", "react": "^18.2.0", "react-dom": "^18.2.0", "react-flip-toolkit": "^7.0.17", "react-i18next": "^11.18.6", "react-popper": "^2.3.0", "react-use": "^17.4.0", "remix-auth": "^3.4.0", "remix-auth-oauth2": "^1.6.0", "remix-i18next": "^4.1.1", "slugify": "^1.6.6", "swr": "^2.1.2", "tiny-invariant": "^1.3.1", "zod": "^3.21.4" }, "devDependencies": { "@playwright/test": "^1.32.2", "@remix-run/dev": "^1.15.0", "@remix-run/eslint-config": "^1.15.0", "@types/better-sqlite3": "7.6.3", "@types/i18next-fs-backend": "^1.1.2", "@types/node-cron": "^3.0.7", "@types/prettier": "^2.7.2", "@types/react": "^18.0.33", "@types/react-dom": "^18.0.11", "@typescript-eslint/eslint-plugin": "^5.57.1", "@typescript-eslint/parser": "^5.57.1", "cross-env": "^7.0.3", "dotenv": "^16.0.3", "eslint": "^8.38.0", "eslint-plugin-react": "^7.32.2", "eslint-plugin-react-hooks": "^4.6.0", "ley": "^0.8.1", "prettier": "2.8.7", "stylelint": "^14.16.1", "stylelint-config-idiomatic-order": "^9.0.0", "stylelint-config-prettier": "^9.0.5", "stylelint-config-standard": "^29.0.0", "stylelint-order": "^6.0.3", "ts-node": "^10.9.1", "tsconfig-paths": "^4.2.0", "tsm": "^2.3.0", "typescript": "^5.0.4", "uvu": "^0.5.6" } }