mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-05 20:56:13 -05:00
136 lines
5.1 KiB
JSON
136 lines
5.1 KiB
JSON
{
|
|
"name": "sendou.ink",
|
|
"version": "3.0.0",
|
|
"private": true,
|
|
"packageManager": "pnpm@10.33.0",
|
|
"sideEffects": false,
|
|
"type": "module",
|
|
"scripts": {
|
|
"deploy": "pnpm install --frozen-lockfile && pnpm run build",
|
|
"build": "react-router build",
|
|
"dev": "cross-env DB_PATH=db.sqlite3 pnpm run migrate up && pnpm run setup && react-router dev --host",
|
|
"dev:prod": "cross-env DB_PATH=db-prod.sqlite3 VITE_PROD_MODE=true react-router dev --host",
|
|
"start": "pnpm run migrate up && react-router-serve build/server/index.js",
|
|
"migrate": "ley",
|
|
"migrate:prod": "cross-env DB_PATH=db-prod.sqlite3 pnpm run migrate up",
|
|
"check-translation-jsons": "node --experimental-strip-types scripts/check-translation-jsons.ts",
|
|
"check-translation-jsons:no-write": "node --experimental-strip-types scripts/check-translation-jsons.ts --no-write",
|
|
"check-homemade-badges": "node --experimental-strip-types scripts/check-homemade-badges.ts",
|
|
"check-articles": "tsx scripts/check-articles.ts",
|
|
"refresh-prod-db": "node --experimental-strip-types scripts/refresh-prod-db.ts && pnpm run migrate:prod",
|
|
"biome:check": "biome check --error-on-warnings .",
|
|
"biome:fix": "biome check --error-on-warnings --write .",
|
|
"biome:fix:unsafe": "biome check --error-on-warnings --write --unsafe .",
|
|
"typecheck": "react-router typegen && tsc --noEmit",
|
|
"typecheck:scripts": "tsc --noEmit -p scripts",
|
|
"test:unit:browser": "cross-env VITE_SITE_DOMAIN=http://localhost:5173 BROWSER_HEADLESS=true vitest --silent=passed-only run",
|
|
"test:browser:ui": "cross-env VITE_SITE_DOMAIN=http://localhost:5173 vitest --silent=passed-only --project browser",
|
|
"test:unit:browser:ui": "cross-env VITE_SITE_DOMAIN=http://localhost:5173 vitest --silent=passed-only",
|
|
"test:e2e": "playwright test",
|
|
"test:e2e:flaky-detect": "playwright test --repeat-each=10 --max-failures=1",
|
|
"test:e2e:generate-seeds": "cross-env DB_PATH=db-test.sqlite3 pnpm run migrate up && cross-env DB_PATH=db-test.sqlite3 vite-node scripts/generate-e2e-seed-dbs.ts",
|
|
"check-test-db-migrations": "node --experimental-strip-types scripts/check-test-db-migrations.ts",
|
|
"checks": "pnpm run biome:fix && pnpm run test:unit:browser && pnpm run check-translation-jsons && pnpm run typecheck && pnpm run knip && pnpm run check-test-db-migrations",
|
|
"setup": "cross-env DB_PATH=db.sqlite3 vite-node ./scripts/setup.ts",
|
|
"i18n:sync": "i18next-locales-sync -e true -p en -s da de es-ES es-US fr-CA fr-EU he it ja ko nl pl pt-BR ru zh -l locales && pnpm run biome:fix",
|
|
"knip": "knip",
|
|
"sync-weapon-params": "tsx scripts/sync-weapon-params.ts"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "3.1037.0",
|
|
"@aws-sdk/lib-storage": "3.1037.0",
|
|
"@date-fns/tz": "1.4.1",
|
|
"@dnd-kit/core": "6.3.1",
|
|
"@dnd-kit/modifiers": "9.0.0",
|
|
"@dnd-kit/sortable": "10.0.0",
|
|
"@dnd-kit/utilities": "3.2.2",
|
|
"@epic-web/cachified": "5.6.2",
|
|
"@faker-js/faker": "10.4.0",
|
|
"@formatjs/intl-durationformat": "0.10.5",
|
|
"@internationalized/date": "3.12.1",
|
|
"@react-router/node": "7.14.2",
|
|
"@react-router/serve": "7.14.2",
|
|
"@remix-run/form-data-parser": "0.16.0",
|
|
"@tldraw/tldraw": "3.12.1",
|
|
"@zumer/snapdom": "2.9.0",
|
|
"aws-sdk": "2.1693.0",
|
|
"better-sqlite3": "12.9.0",
|
|
"clsx": "2.1.1",
|
|
"compressorjs": "1.3.0",
|
|
"date-fns": "4.1.0",
|
|
"edmonds-blossom-fixed": "1.0.1",
|
|
"gray-matter": "4.0.3",
|
|
"i18next": "26.0.8",
|
|
"i18next-browser-languagedetector": "8.2.1",
|
|
"i18next-http-backend": "3.0.6",
|
|
"ics": "3.12.0",
|
|
"isbot": "5.1.39",
|
|
"jsoncrush": "1.1.8",
|
|
"kysely": "0.28.16",
|
|
"lru-cache": "11.3.5",
|
|
"lucide-react": "1.11.0",
|
|
"markdown-to-jsx": "9.7.16",
|
|
"nanoid": "5.1.9",
|
|
"neverthrow": "8.2.0",
|
|
"node-cron": "4.2.1",
|
|
"nprogress": "0.2.0",
|
|
"openskill": "4.1.1",
|
|
"p-limit": "7.3.0",
|
|
"partysocket": "1.1.18",
|
|
"qrcode.react": "4.2.0",
|
|
"react": "19.2.5",
|
|
"react-aria-components": "1.17.0",
|
|
"react-charts": "3.0.0-beta.57",
|
|
"react-dom": "19.2.5",
|
|
"react-error-boundary": "6.1.1",
|
|
"react-flip-toolkit": "7.2.4",
|
|
"react-i18next": "17.0.4",
|
|
"react-router": "7.14.2",
|
|
"react-use": "17.6.0",
|
|
"react-use-draggable-scroll": "0.4.7",
|
|
"remeda": "2.33.7",
|
|
"remix-auth": "4.2.0",
|
|
"remix-auth-oauth2": "3.4.1",
|
|
"remix-i18next": "7.5.0",
|
|
"slugify": "1.6.9",
|
|
"swr": "2.4.1",
|
|
"web-haptics": "0.0.6",
|
|
"web-push": "3.6.7",
|
|
"zod": "4.3.6"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "2.4.13",
|
|
"@playwright/test": "1.59.1",
|
|
"@react-router/dev": "7.14.2",
|
|
"@types/better-sqlite3": "7.6.13",
|
|
"@types/node": "25.6.0",
|
|
"@types/node-cron": "3.0.11",
|
|
"@types/nprogress": "0.2.3",
|
|
"@types/react": "19.2.14",
|
|
"@types/react-dom": "19.2.3",
|
|
"@types/web-push": "3.6.4",
|
|
"@vitest/browser-playwright": "4.1.5",
|
|
"@vitest/ui": "4.1.5",
|
|
"babel-plugin-react-compiler": "19.1.0-rc.3",
|
|
"cross-env": "10.1.0",
|
|
"dotenv": "17.4.2",
|
|
"i18next-locales-sync": "2.1.1",
|
|
"knip": "6.7.0",
|
|
"ley": "0.8.1",
|
|
"sql-formatter": "15.7.3",
|
|
"tsx": "4.21.0",
|
|
"typescript": "6.0.3",
|
|
"vite": "8.0.10",
|
|
"vite-node": "6.0.0",
|
|
"vite-plugin-babel": "1.6.0",
|
|
"vitest": "4.1.5",
|
|
"vitest-browser-react": "2.2.0"
|
|
},
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"better-sqlite3",
|
|
"esbuild"
|
|
]
|
|
}
|
|
}
|