diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index c194613..840097b 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -9,7 +9,7 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} permissions: # Required to checkout the code @@ -18,6 +18,7 @@ jobs: strategy: matrix: node-version: [24.x] + os: [ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v4 @@ -58,3 +59,8 @@ jobs: npm run build npm run lint working-directory: ./packages/multiplayer-template + + - name: Start dev servers and verify startup + timeout-minutes: 1 + run: npx concurrently --kill-others --success first "npm run dev" "npx wait-on http://localhost:8050/api/game/health --timeout 20000" + working-directory: ./packages/multiplayer-template diff --git a/packages/multiplayer-template/client/src/Entities/Player.ts b/packages/multiplayer-template/client/src/Entities/Player.ts index f5df611..5df98ed 100644 --- a/packages/multiplayer-template/client/src/Entities/Player.ts +++ b/packages/multiplayer-template/client/src/Entities/Player.ts @@ -3,8 +3,8 @@ import BasePlayer from '@template/server/Base/Player' import { Vector3 } from 'three' import IdleState from '../Player/IdleState' import WalkingState from '../Player/WalkingState' -import PlayerLabel from '../ui/PlayerLabel' import PlayerGraphicsComponent from './Player/PlayerGraphicsComponent' +import PlayerLabel from './Player/PlayerLabel' export default class Character extends BasePlayer { graphicalComponent: PlayerGraphicsComponent diff --git a/packages/multiplayer-template/client/src/ui/PlayerLabel.ts b/packages/multiplayer-template/client/src/Entities/Player/PlayerLabel.ts similarity index 100% rename from packages/multiplayer-template/client/src/ui/PlayerLabel.ts rename to packages/multiplayer-template/client/src/Entities/Player/PlayerLabel.ts diff --git a/packages/multiplayer-template/package-lock.json b/packages/multiplayer-template/package-lock.json index 2d307d4..8130e38 100644 --- a/packages/multiplayer-template/package-lock.json +++ b/packages/multiplayer-template/package-lock.json @@ -13,7 +13,7 @@ "server" ], "dependencies": { - "@mavonengine/core": "0.0.8" + "@mavonengine/core": "0.0.14" }, "devDependencies": { "@antfu/eslint-config": "^8.0.0", @@ -323,6 +323,13 @@ } } }, + "node_modules/@epic-web/invariant": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz", + "integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==", + "dev": true, + "license": "MIT" + }, "node_modules/@es-joy/jsdoccomment": { "version": "0.84.0", "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.84.0.tgz", @@ -1101,9 +1108,9 @@ } }, "node_modules/@mavonengine/core": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/@mavonengine/core/-/core-0.0.8.tgz", - "integrity": "sha512-JR7CrQGB0UYuly0IPEJEVuvmvtn5o3TSXcw8JzGoTzJZVBjaGBzwS0sH6/upEHHY+mIG2Hd8L8a5Ucu2pBK7jg==", + "version": "0.0.14", + "resolved": "https://registry.npmjs.org/@mavonengine/core/-/core-0.0.14.tgz", + "integrity": "sha512-hc86H9g3VNYO0EpsKHRvnkTK6pQsMdYbcOOzatFFzdsUOngnDYDRxGySnB3QsXMjReqt2ITVvumzpypzU1gKpw==", "license": "MIT", "peerDependencies": { "@dimforge/rapier3d-compat": "0.18.2", @@ -2922,6 +2929,24 @@ "url": "https://opencollective.com/core-js" } }, + "node_modules/cross-env": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz", + "integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@epic-web/invariant": "^1.0.0", + "cross-spawn": "^7.0.6" + }, + "bin": { + "cross-env": "dist/bin/cross-env.js", + "cross-env-shell": "dist/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -8765,7 +8790,8 @@ }, "devDependencies": { "@types/express": "^5.0.3", - "@types/node": "^24.0.0" + "@types/node": "^24.0.0", + "cross-env": "^10.1.0" } } } diff --git a/packages/multiplayer-template/server/package.json b/packages/multiplayer-template/server/package.json index 5b49968..07cb203 100644 --- a/packages/multiplayer-template/server/package.json +++ b/packages/multiplayer-template/server/package.json @@ -5,7 +5,7 @@ "private": true, "main": "src/index.ts", "scripts": { - "start": "LOG_LEVEL=debug node ./dist/index.js", + "start": "cross-env LOG_LEVEL=debug node ./dist/index.js", "dev": "tsup --watch --onSuccess \"npm run start\"", "build": "tsup", "typecheck": "tsc --noEmit" @@ -19,6 +19,7 @@ }, "devDependencies": { "@types/express": "^5.0.3", - "@types/node": "^24.0.0" + "@types/node": "^24.0.0", + "cross-env": "^10.1.0" } }