mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 15:20:43 +00:00
6b14d9cca1
- Add scripts/ directory to build stage for sync-assets.mjs - Add index.html to build stage for Vite entry point - Move tsx to production dependencies for server runtime - Copy src/ and tsconfig.json to production stage for tsx These changes enable the Docker build to complete successfully and allow the server to run TypeScript files directly in production.
133 lines
4.5 KiB
JSON
133 lines
4.5 KiB
JSON
{
|
|
"name": "openfront-client",
|
|
"scripts": {
|
|
"build-dev": "concurrently \"tsc --noEmit\" \"vite build --mode development\"",
|
|
"build-prod": "concurrently --kill-others-on-fail \"tsc --noEmit\" \"vite build\"",
|
|
"start:client": "vite",
|
|
"start:server": "tsx src/server/Server.ts",
|
|
"start:server-dev": "cross-env GAME_ENV=dev tsx src/server/Server.ts",
|
|
"dev": "cross-env GAME_ENV=dev concurrently \"npm run start:client\" \"npm run start:server-dev\"",
|
|
"dev:staging": "cross-env GAME_ENV=dev API_DOMAIN=api.openfront.dev concurrently \"npm run start:client\" \"npm run start:server-dev\"",
|
|
"dev:prod": "cross-env GAME_ENV=dev API_DOMAIN=api.openfront.io concurrently \"npm run start:client\" \"npm run start:server-dev\"",
|
|
"docs:map-generator": "cd map-generator && go doc -cmd -u -all",
|
|
"tunnel": "npm run build-prod && npm run start:server",
|
|
"test": "vitest run",
|
|
"perf": "npx tsx tests/perf/*.ts",
|
|
"test:coverage": "vitest run --coverage",
|
|
"format": "prettier --ignore-unknown --write .",
|
|
"format:map-generator": "cd map-generator && go fmt .",
|
|
"lint": "eslint",
|
|
"lint:fix": "eslint --fix",
|
|
"prepare": "husky",
|
|
"gen-maps": "cd map-generator && go run . && npm run format",
|
|
"inst": "npm ci --ignore-scripts",
|
|
"sync-assets": "node scripts/sync-assets.mjs",
|
|
"predev": "npm run sync-assets",
|
|
"prebuild-dev": "npm run sync-assets",
|
|
"prebuild-prod": "npm run sync-assets",
|
|
"prestart:client": "npm run sync-assets",
|
|
"pretest": "npm run sync-assets",
|
|
"pretest:coverage": "npm run sync-assets"
|
|
},
|
|
"lint-staged": {
|
|
"**/*": [
|
|
"eslint --fix",
|
|
"prettier --ignore-unknown --write"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@datastructures-js/priority-queue": "^6.3.3",
|
|
"@eslint/compat": "^1.2.7",
|
|
"@eslint/js": "^9.21.0",
|
|
"@types/benchmark": "^2.1.5",
|
|
"@types/chai": "^4.3.17",
|
|
"@types/d3": "^7.4.3",
|
|
"@types/express": "^4.17.23",
|
|
"@types/google-protobuf": "^3.15.12",
|
|
"@types/hammerjs": "^2.0.46",
|
|
"@types/howler": "^2.2.12",
|
|
"@types/jquery": "^3.5.31",
|
|
"@types/js-yaml": "^4.0.9",
|
|
"@types/msgpack5": "^3.4.6",
|
|
"@types/node": "^22.10.2",
|
|
"@types/pg": "^8.11.11",
|
|
"@types/seedrandom": "^3.0.8",
|
|
"@types/sinon": "^17.0.3",
|
|
"@types/systeminformation": "^3.23.1",
|
|
"@types/ws": "^8.5.11",
|
|
"@vitest/coverage-v8": "^4.0.16",
|
|
"@vitest/ui": "^4.0.16",
|
|
"autoprefixer": "^10.4.20",
|
|
"benchmark": "^2.1.4",
|
|
"canvas": "^3.1.0",
|
|
"chai": "^5.1.1",
|
|
"concurrently": "^8.2.2",
|
|
"cross-env": "^7.0.3",
|
|
"d3": "^7.9.0",
|
|
"eslint": "^9.21.0",
|
|
"eslint-config-prettier": "^10.1.1",
|
|
"eslint-formatter-gha": "^1.5.2",
|
|
"globals": "^16.0.0",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^27.4.0",
|
|
"lint-staged": "^16.1.2",
|
|
"lit": "^3.3.1",
|
|
"lit-markdown": "^1.3.2",
|
|
"mrmime": "^2.0.0",
|
|
"pixi-filters": "^6.1.4",
|
|
"pixi.js": "^8.11.0",
|
|
"postcss": "^8.5.1",
|
|
"prettier": "^3.5.3",
|
|
"prettier-plugin-organize-imports": "^4.1.0",
|
|
"prettier-plugin-sh": "^0.17.4",
|
|
"protobufjs": "^7.5.3",
|
|
"sinon": "^21.0.0",
|
|
"sinon-chai": "^4.0.0",
|
|
"tailwindcss": "^3.4.17",
|
|
"tsconfig-paths": "^4.2.0",
|
|
"typescript": "^5.7.2",
|
|
"typescript-eslint": "^8.26.0",
|
|
"vite": "^7.3.0",
|
|
"vite-plugin-html": "^3.2.2",
|
|
"vite-plugin-static-copy": "^3.1.4",
|
|
"vite-tsconfig-paths": "^6.0.3",
|
|
"vitest": "^4.0.16"
|
|
},
|
|
"dependencies": {
|
|
"@aws-sdk/client-s3": "^3.758.0",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/api-logs": "^0.200.0",
|
|
"@opentelemetry/exporter-logs-otlp-http": "^0.200.0",
|
|
"@opentelemetry/exporter-metrics-otlp-http": "^0.200.0",
|
|
"@opentelemetry/resources": "^2.0.0",
|
|
"@opentelemetry/sdk-logs": "^0.200.0",
|
|
"@opentelemetry/sdk-metrics": "^2.0.0",
|
|
"@opentelemetry/semantic-conventions": "^1.32.0",
|
|
"@opentelemetry/winston-transport": "^0.11.0",
|
|
"@types/compression": "^1.8.1",
|
|
"colord": "^2.9.3",
|
|
"colorjs.io": "^0.5.2",
|
|
"compression": "^1.8.1",
|
|
"dompurify": "^3.1.7",
|
|
"dotenv": "^16.5.0",
|
|
"express": "^4.21.1",
|
|
"express-rate-limit": "^7.5.0",
|
|
"fastpriorityqueue": "^0.7.5",
|
|
"howler": "^2.2.4",
|
|
"intl-messageformat": "^10.7.16",
|
|
"ip-anonymize": "^0.1.0",
|
|
"jose": "^6.0.10",
|
|
"js-yaml": "^4.1.1",
|
|
"nanoid": "^3.3.6",
|
|
"obscenity": "^0.4.3",
|
|
"seedrandom": "^3.0.5",
|
|
"ts-node": "^10.9.2",
|
|
"tsx": "^4.17.0",
|
|
"uuid": "^11.1.0",
|
|
"winston": "^3.17.0",
|
|
"ws": "^8.18.0",
|
|
"zod": "^4.0.5"
|
|
},
|
|
"type": "module"
|
|
}
|