Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions bin/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,12 @@ export const packages = (type: "build" | "dev") => {
buildScript,
dependencies: createDependencies(packagesPath, ['common']),
},

{
name: "testing",
buildScript,
dependencies: createDependencies(packagesPath, ['client', 'server']),
},

// Packages depending on client/server
{
Expand Down
8 changes: 6 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"clean": "tsx bin/clean.ts",
"release": "bumpp package.json packages/*/package.json --all",
"rpgjs:version": "tsx bin/version.ts",
"rpgjs:publish": "pnpm -r publish --publish-branch v5 --no-git-checks --access public --force"
"rpgjs:publish": "pnpm -r publish --publish-branch v5 --no-git-checks --access public --force",
"test": "vitest"
},
"author": "Samuel Ronce",
"license": "MIT",
Expand All @@ -30,6 +31,9 @@
"type": "module",
"devDependencies": {
"@changesets/cli": "^2.29.4",
"@types/node": "^24.0.1"
"@types/node": "^24.0.1",
"jsdom": "^26.1.0",
"vite": "^7.0.4",
"vitest": "^3.1.1"
}
}
1 change: 0 additions & 1 deletion packages/client/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
"pixi.js": "^8.9.2"
},
"dependencies": {
"@rpgjs/client": "*",
"@rpgjs/common": "*",
"@rpgjs/server": "*",
"@signe/di": "^2.4.0",
Expand Down
3 changes: 2 additions & 1 deletion packages/client/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,5 @@ export * from "./components/gui";
export * from "./components/animations";
export * from "./presets";
export * from "./components";
export * from "./components/gui";
export * from "./components/gui";
export * from "./services/AbstractSocket";
19 changes: 14 additions & 5 deletions packages/client/src/services/standalone.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ type ClientIo = any;
class BridgeWebsocket extends AbstractWebsocket {
private room: ServerIo;
private socket: ClientIo;
private serverInstance: any;

constructor(protected context: Context, private server: any) {
super(context);
Expand All @@ -20,10 +21,10 @@ class BridgeWebsocket extends AbstractWebsocket {
}

async connection(listeners?: (data: any) => void) {
const server = new this.server(this.room);
await server.onStart();
this.context.set('server', server)
this.socket = new ClientIo(server);
this.serverInstance = new this.server(this.room);
await this.serverInstance.onStart();
this.context.set('server', this.serverInstance)
this.socket = new ClientIo(this.serverInstance);
const url = new URL('http://localhost')
const request = new Request(url.toString(), {
method: 'GET',
Expand All @@ -32,7 +33,7 @@ class BridgeWebsocket extends AbstractWebsocket {
}
})
listeners?.(this.socket)
await server.onConnect(this.socket.conn as any, { request } as any);
await this.serverInstance.onConnect(this.socket.conn as any, { request } as any);
this.room.clients.set(this.socket.id, this.socket);
return this.socket
}
Expand Down Expand Up @@ -66,6 +67,14 @@ class BridgeWebsocket extends AbstractWebsocket {
listeners?.(socket)
})
}

getServer() {
return this.serverInstance
}

getSocket() {
return this.socket
}
}

class UpdateMapStandaloneService extends UpdateMapService {
Expand Down
6 changes: 4 additions & 2 deletions packages/client/vite.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@ export default defineConfig({
sourcemap: true,
minify: false,
lib: {
entry: 'src/index.ts',
entry: {
index: 'src/index.ts'
},
formats: ['es'],
fileName: 'index'
fileName: (format, entryName) => `${entryName}.js`
},
rollupOptions: {
external: [/@rpgjs/, 'esbuild', 'canvasengine', '@canvasengine/presets', 'rxjs', 'pixi.js'],
Expand Down
2 changes: 1 addition & 1 deletion packages/common/src/Player.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ export abstract class RpgCommonPlayer {
@sync() hpSignal = signal(0);
@sync() spSignal = signal(0);
@sync() _exp = signal(0);
@sync() _level = signal(0);
@sync() _level = signal(1);
@sync() _class = signal({});
@sync(Item) items = signal<Item[]>([]);
@sync() equipments = signal<any[]>([]);
Expand Down
4 changes: 3 additions & 1 deletion packages/server/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,16 @@
},
"scripts": {
"dev": "vite build --watch",
"build": "vite build"
"build": "vite build",
"test": "vitest"
},
"keywords": [],
"author": "",
"license": "MIT",
"description": "",
"dependencies": {
"@rpgjs/common": "workspace:*",
"@rpgjs/testing": "workspace:*",
"@rpgjs/database": "^4.3.0",
"@signe/di": "^2.4.0",
"@signe/reactive": "^2.4.0",
Expand Down
29 changes: 29 additions & 0 deletions packages/server/tests/player-param.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

import { testing } from '@rpgjs/testing'
import { beforeEach, describe, expect, test, vi } from 'vitest'
import { ATK, MAXHP, MAXHP_CURVE, MAXSP, MAXSP_CURVE, RpgPlayer } from '../src'

let player: RpgPlayer

beforeEach(async () => {
const fixture = await testing();
const client = await fixture.createClient()
player = client.player
console.log(player.level)
})

test('Test HP', () => {
expect(player.hp).toBe(MAXHP_CURVE.start)
})

test('Test SP', () => {
expect(player.sp).toBe(MAXSP_CURVE.start)
})

test('Test MaxHP', () => {
expect(player.param[MAXHP]).toBe(MAXHP_CURVE.start)
})

test('Test MaxSP', () => {
expect(player.param[MAXSP]).toBe(MAXSP_CURVE.start)
})
11 changes: 11 additions & 0 deletions packages/server/vite.config.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { defineConfig } from 'vite'
import dts from 'vite-plugin-dts'
import path from 'path'

export default defineConfig({
plugins: [
Expand All @@ -18,4 +19,14 @@ export default defineConfig({
fileName: 'index'
}
},
resolve: {
alias: {
'@rpgjs/testing': path.resolve(__dirname, '../testing/src'),
'@rpgjs/common': path.resolve(__dirname, '../common/src')
}
},
test: {
environment: 'jsdom',
setupFiles: ['@rpgjs/testing/dist/setup.js'],
}
})
Loading
Loading