mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
102 lines
3.2 KiB
JSON
102 lines
3.2 KiB
JSON
{
|
|
"name": "sendou.ink",
|
|
"version": "3.0.0",
|
|
"private": true,
|
|
"sideEffects": false,
|
|
"type": "module",
|
|
"scripts": {
|
|
"deploy": "npm ci && npm run build",
|
|
"build": "remix vite:build",
|
|
"dev": "remix vite:dev --host",
|
|
"dev:prod": "DB_PATH=db-prod.sqlite3 VITE_PROD_MODE=true npm run dev",
|
|
"dev:ci": "cp .env.example .env && npm run migrate up && npm run dev",
|
|
"start": "npm run migrate up && remix-serve ./build/server/index.js",
|
|
"migrate": "ley",
|
|
"check-translation-jsons": "tsm scripts/check-translation-jsons.ts",
|
|
"check-translation-jsons:no-write": "tsm scripts/check-translation-jsons.ts --no-write",
|
|
"refresh-prod-db": "tsm scripts/refresh-prod-db.ts && cross-env DB_PATH=db-prod.sqlite3 npm run migrate up",
|
|
"biome:check": "npx @biomejs/biome check .",
|
|
"biome:fix": "npx @biomejs/biome check --write .",
|
|
"biome:fix:unsafe": "npx @biomejs/biome check --write --unsafe .",
|
|
"typecheck": "tsc --noEmit",
|
|
"test:unit": "cross-env VITE_SITE_DOMAIN=http://localhost:5173 vitest --silent=passed-only run",
|
|
"test:e2e": "npx playwright test",
|
|
"checks": "npm run biome:fix && npm run test:unit && npm run check-translation-jsons && npm run typecheck"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.779.0",
|
|
"@aws-sdk/lib-storage": "^3.779.0",
|
|
"@dnd-kit/core": "^6.3.1",
|
|
"@dnd-kit/sortable": "^10.0.0",
|
|
"@dnd-kit/utilities": "^3.2.2",
|
|
"@epic-web/cachified": "^5.5.1",
|
|
"@faker-js/faker": "^9.6.0",
|
|
"@headlessui/react": "^1.7.19",
|
|
"@hookform/resolvers": "^4.1.3",
|
|
"@remix-run/node": "^2.16.4",
|
|
"@remix-run/react": "^2.16.4",
|
|
"@remix-run/serve": "^2.16.4",
|
|
"@tldraw/tldraw": "^3.11.0",
|
|
"aws-sdk": "^2.1692.0",
|
|
"better-sqlite3": "^11.9.1",
|
|
"clsx": "^2.1.1",
|
|
"compressorjs": "^1.2.1",
|
|
"countries-list": "^3.1.1",
|
|
"date-fns": "^4.1.0",
|
|
"fuse.js": "^7.1.0",
|
|
"gray-matter": "^4.0.3",
|
|
"i18next": "^23.16.8",
|
|
"i18next-browser-languagedetector": "^8.0.4",
|
|
"i18next-http-backend": "^2.6.2",
|
|
"isbot": "^5.1.25",
|
|
"kysely": "^0.27.6",
|
|
"lru-cache": "^11.1.0",
|
|
"markdown-to-jsx": "^7.7.4",
|
|
"nanoid": "^5.1.5",
|
|
"node-cron": "3.0.3",
|
|
"nprogress": "^0.2.0",
|
|
"openskill": "^4.1.0",
|
|
"p-limit": "^6.2.0",
|
|
"partysocket": "^1.1.3",
|
|
"react": "^18.3.1",
|
|
"react-aria-components": "^1.7.1",
|
|
"react-charts": "^3.0.0-beta.57",
|
|
"react-dom": "^18.3.1",
|
|
"react-error-boundary": "^5.0.0",
|
|
"react-flip-toolkit": "7.2.4",
|
|
"react-hook-form": "^7.55.0",
|
|
"react-i18next": "^15.4.1",
|
|
"react-use": "^17.6.0",
|
|
"react-use-draggable-scroll": "^0.4.7",
|
|
"remeda": "^2.21.2",
|
|
"remix-auth": "^4.1.0",
|
|
"remix-auth-oauth2": "^3.4.0",
|
|
"remix-i18next": "^6.4.1",
|
|
"remix-utils": "^7.7.0",
|
|
"slugify": "^1.6.6",
|
|
"swr": "^2.3.3",
|
|
"web-push": "^3.6.7",
|
|
"zod": "^3.24.2"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "1.9.4",
|
|
"@playwright/test": "^1.51.1",
|
|
"@remix-run/dev": "^2.16.4",
|
|
"@remix-run/route-config": "^2.16.4",
|
|
"@types/better-sqlite3": "^7.6.12",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/nprogress": "^0.2.3",
|
|
"@types/react": "^18.3.12",
|
|
"@types/react-dom": "^18.3.1",
|
|
"@types/web-push": "^3.6.4",
|
|
"cross-env": "^7.0.3",
|
|
"ley": "^0.8.1",
|
|
"sql-formatter": "^15.5.2",
|
|
"tsm": "^2.3.0",
|
|
"typescript": "^5.8.2",
|
|
"vite": "^5.4.16",
|
|
"vite-tsconfig-paths": "^5.1.4",
|
|
"vitest": "^3.1.1"
|
|
}
|
|
}
|