From 46e55f66679c23fe314cd706160049e763356a34 Mon Sep 17 00:00:00 2001 From: Danya H Date: Mon, 30 Sep 2024 19:40:58 +0100 Subject: [PATCH 1/4] upd | clearance --- apps/cef/src/App.tsx | 10 ++++----- apps/client/src/index.ts | 14 +++++++------ apps/server/src/index.ts | 21 ++++++++++++------- .../rage-fw-shared-types/index.d.ts | 4 +--- server/conf.json | 3 ++- 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/apps/cef/src/App.tsx b/apps/cef/src/App.tsx index f6b0b54..8d962b7 100644 --- a/apps/cef/src/App.tsx +++ b/apps/cef/src/App.tsx @@ -5,17 +5,17 @@ function App() { const [data, setData] = useState('') useEffect(() => { - fw.event.register('customCefEvent', ([test]) => { - setData(test) - return 'response from cef' + fw.event.register('customCefEvent', async ([test]) => { + setData(p => p + ' ' + test) + return 'from cef' }) }, []) return ( - <> +

Hello World!

{data}

- +
) } diff --git a/apps/client/src/index.ts b/apps/client/src/index.ts index 8c65fc2..fb0ac70 100644 --- a/apps/client/src/index.ts +++ b/apps/client/src/index.ts @@ -1,12 +1,14 @@ import { fw } from 'rage-fw-client' -fw.browser.registerBrowser(mp.browsers.new('package://cef/index.html')) +fw.player.registerBrowser(mp.browsers.new('package://cef/index.html')) -fw.event.register('customClientEvent', async ([greetings]) => { - fw.system.log.info(greetings) +fw.event.register('cefReady', async () => { + fw.system.log.info('cefReady') - const data = await fw.player.triggerBrowser('customCefEvent', ['str']) - fw.system.log.info(`CEF RESPONSE: ${data}`) + const responseCef = await fw.player.triggerBrowser('customCefEvent', [ + 'from client', + ]) + fw.system.log.info(responseCef) - return 'Hola from client!' + await fw.player.triggerServer('customServerEvent', ['from client']) }) diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index ef79917..63e964c 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -2,12 +2,17 @@ import { fw } from 'rage-fw-server' fw.event.register('playerJoin', async ([player]) => { fw.system.log.info(`Connected: ${player.socialClub}`) - - const response = await fw.player.triggerClient( - player, - 'customClientEvent', - ['Hi from server!'], - ) - - fw.system.log.info(`Response from client: ${response}`) +}) + +fw.event.register('customServerEvent', async ([player, msg]) => { + fw.system.log.info(player.socialClub + ' ' + msg) + + const resFromCef = await fw.player.triggerBrowser( + player, + 'customCefEvent', + ['from server'], + ) + fw.system.log.info(player.socialClub + ' ' + resFromCef) + + return 'from server' }) diff --git a/apps/shared/declarations/rage-fw-shared-types/index.d.ts b/apps/shared/declarations/rage-fw-shared-types/index.d.ts index 09030d4..5156884 100644 --- a/apps/shared/declarations/rage-fw-shared-types/index.d.ts +++ b/apps/shared/declarations/rage-fw-shared-types/index.d.ts @@ -1,7 +1,5 @@ declare module 'rage-fw-shared-types' { - export interface RageFW_ICustomClientEvent { - customClientEvent(greetings: string): Promise - } + export interface RageFW_ICustomClientEvent {} export interface RageFW_ICustomServerEvent { customServerEvent(greetings: string): string diff --git a/server/conf.json b/server/conf.json index 5ced364..1cf5028 100644 --- a/server/conf.json +++ b/server/conf.json @@ -1,9 +1,10 @@ { "maxplayers" : 100, - "name" : "RAGE FW Server powered by Entity Seven Group", + "name" : "RageFW Example Server. Powered by Entity Seven Group", "gamemode" : "freeroam", "stream-distance" : 300.0, "announce" : false, "csharp" : "disabled", + "allow-cef-debugging": true, "port": 22005 } \ No newline at end of file From 30373960e5c68e5e01509ad9cd8ae58f6c4ad4b9 Mon Sep 17 00:00:00 2001 From: Danya H Date: Mon, 30 Sep 2024 20:34:38 +0100 Subject: [PATCH 2/4] upd | clearance --- apps/client/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/client/src/index.ts b/apps/client/src/index.ts index fb0ac70..bc23c27 100644 --- a/apps/client/src/index.ts +++ b/apps/client/src/index.ts @@ -1,6 +1,6 @@ import { fw } from 'rage-fw-client' -fw.player.registerBrowser(mp.browsers.new('package://cef/index.html')) +fw.player.browser = mp.browsers.new('package://cef/index.html') fw.event.register('cefReady', async () => { fw.system.log.info('cefReady') From 81639386e5710edbd69d14ba6304ead22ad02b06 Mon Sep 17 00:00:00 2001 From: Danya H Date: Mon, 28 Oct 2024 11:58:57 +0000 Subject: [PATCH 3/4] upd cef -> browser --- apps/{cef => browser}/.eslintrc.cjs | 0 apps/{cef => browser}/index.html | 0 apps/{cef => browser}/package.json | 0 apps/{cef => browser}/public/vite.svg | 0 apps/{cef => browser}/src/App.tsx | 0 apps/{cef => browser}/src/assets/react.svg | 0 apps/{cef => browser}/src/index.css | 0 apps/{cef => browser}/src/main.tsx | 0 apps/{cef => browser}/src/vite-env.d.ts | 0 apps/{cef => browser}/tsconfig.json | 0 apps/{cef => browser}/tsconfig.node.json | 0 apps/{cef => browser}/vite.config.ts | 0 package.json | 9 +++++---- pnpm-workspace.yaml | 2 +- 14 files changed, 6 insertions(+), 5 deletions(-) rename apps/{cef => browser}/.eslintrc.cjs (100%) rename apps/{cef => browser}/index.html (100%) rename apps/{cef => browser}/package.json (100%) rename apps/{cef => browser}/public/vite.svg (100%) rename apps/{cef => browser}/src/App.tsx (100%) rename apps/{cef => browser}/src/assets/react.svg (100%) rename apps/{cef => browser}/src/index.css (100%) rename apps/{cef => browser}/src/main.tsx (100%) rename apps/{cef => browser}/src/vite-env.d.ts (100%) rename apps/{cef => browser}/tsconfig.json (100%) rename apps/{cef => browser}/tsconfig.node.json (100%) rename apps/{cef => browser}/vite.config.ts (100%) diff --git a/apps/cef/.eslintrc.cjs b/apps/browser/.eslintrc.cjs similarity index 100% rename from apps/cef/.eslintrc.cjs rename to apps/browser/.eslintrc.cjs diff --git a/apps/cef/index.html b/apps/browser/index.html similarity index 100% rename from apps/cef/index.html rename to apps/browser/index.html diff --git a/apps/cef/package.json b/apps/browser/package.json similarity index 100% rename from apps/cef/package.json rename to apps/browser/package.json diff --git a/apps/cef/public/vite.svg b/apps/browser/public/vite.svg similarity index 100% rename from apps/cef/public/vite.svg rename to apps/browser/public/vite.svg diff --git a/apps/cef/src/App.tsx b/apps/browser/src/App.tsx similarity index 100% rename from apps/cef/src/App.tsx rename to apps/browser/src/App.tsx diff --git a/apps/cef/src/assets/react.svg b/apps/browser/src/assets/react.svg similarity index 100% rename from apps/cef/src/assets/react.svg rename to apps/browser/src/assets/react.svg diff --git a/apps/cef/src/index.css b/apps/browser/src/index.css similarity index 100% rename from apps/cef/src/index.css rename to apps/browser/src/index.css diff --git a/apps/cef/src/main.tsx b/apps/browser/src/main.tsx similarity index 100% rename from apps/cef/src/main.tsx rename to apps/browser/src/main.tsx diff --git a/apps/cef/src/vite-env.d.ts b/apps/browser/src/vite-env.d.ts similarity index 100% rename from apps/cef/src/vite-env.d.ts rename to apps/browser/src/vite-env.d.ts diff --git a/apps/cef/tsconfig.json b/apps/browser/tsconfig.json similarity index 100% rename from apps/cef/tsconfig.json rename to apps/browser/tsconfig.json diff --git a/apps/cef/tsconfig.node.json b/apps/browser/tsconfig.node.json similarity index 100% rename from apps/cef/tsconfig.node.json rename to apps/browser/tsconfig.node.json diff --git a/apps/cef/vite.config.ts b/apps/browser/vite.config.ts similarity index 100% rename from apps/cef/vite.config.ts rename to apps/browser/vite.config.ts diff --git a/package.json b/package.json index 129698b..137f10c 100644 --- a/package.json +++ b/package.json @@ -1,9 +1,7 @@ { "name": "framework-example", - "version": "0.1.0", - "author": "Entity Seven Group", - "license": "CC BY-ND", "description": "This project is example of RAGE FW usage.", + "workspaces": ["apps/*"], "scripts": { "server:update": "cd server && rage-win64.exe", @@ -20,5 +18,8 @@ "esbuild": "^0.21.5", "typescript": "^5.4.5", "prettier": "^3.3.2" - } + }, + "author": "Entity Seven Group", + "license": "CC BY-ND", + "version": "0.1.0" } diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 1aaea1b..6e78735 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,5 @@ packages: - - "apps/cef" + - "apps/browser" - "apps/client" - "apps/server" - "apps/shared" \ No newline at end of file From fcb83f66367e23f9f66f66c96de72a80f4d8621f Mon Sep 17 00:00:00 2001 From: Danya H Date: Wed, 30 Oct 2024 20:17:26 +0000 Subject: [PATCH 4/4] upd deps --- apps/browser/package.json | 10 +++--- apps/browser/src/App.tsx | 16 ++++++--- apps/client/package.json | 6 ++-- apps/client/src/index.ts | 14 ++++---- apps/server/package.json | 6 ++-- apps/server/src/index.ts | 33 +++++++++++-------- .../rage-fw-shared-types/index.d.ts | 10 +++--- package.json | 4 +-- 8 files changed, 57 insertions(+), 42 deletions(-) diff --git a/apps/browser/package.json b/apps/browser/package.json index e16d3d4..63b2b89 100644 --- a/apps/browser/package.json +++ b/apps/browser/package.json @@ -1,10 +1,10 @@ { - "name": "rage-fw-example-cef", + "name": "rage-fw-example-browser", "version": "0.0.0", "type": "module", "author": "Entity Seven Group", - "license": "CC BY-ND", - "description": "CEF side of rage-fw example", + "license": "MIT", + "description": "Browser side of rage-fw-example", "scripts": { "dev": "vite", "build": "tsc && vite build", @@ -12,9 +12,9 @@ "preview": "vite preview" }, "dependencies": { + "@entityseven/rage-fw-browser": "0.2.0", "react": "^18.2.0", - "react-dom": "^18.2.0", - "rage-fw-cef": "latest" + "react-dom": "^18.2.0" }, "devDependencies": { "@types/react": "^18.2.66", diff --git a/apps/browser/src/App.tsx b/apps/browser/src/App.tsx index 8d962b7..0d9e5de 100644 --- a/apps/browser/src/App.tsx +++ b/apps/browser/src/App.tsx @@ -1,13 +1,19 @@ -import { fw } from 'rage-fw-cef' +import { fw } from '@entityseven/rage-fw-browser' import { useEffect, useState } from 'react' function App() { - const [data, setData] = useState('') + const [data, setData] = useState('initial') useEffect(() => { - fw.event.register('customCefEvent', async ([test]) => { - setData(p => p + ' ' + test) - return 'from cef' + fw.event.register('customBrowserEvent', async message => { + setData(p => p + ' | ' + message) + + const response = await fw.event.triggerServer('customServerEvent', [ + 'hello from browser', + ]) + setData(p => p + ' | ' + response) + + return 'response from browser' }) }, []) diff --git a/apps/client/package.json b/apps/client/package.json index 0dada23..ccbc27f 100644 --- a/apps/client/package.json +++ b/apps/client/package.json @@ -2,12 +2,12 @@ "name": "rage-fw-example-client", "version": "0.1.0", "author": "Entity Seven Group", - "license": "CC BY-ND", - "description": "Client side of rage-fw example", + "license": "MIT", + "description": "Client side of rage-fw-example", "scripts": { "build": "esbuild src/index.ts --bundle --platform=node --outfile=../../server/client_packages/index.js --format=esm" }, "dependencies": { - "rage-fw-client": "latest" + "@entityseven/rage-fw-client": "0.2.0" } } diff --git a/apps/client/src/index.ts b/apps/client/src/index.ts index bc23c27..652815c 100644 --- a/apps/client/src/index.ts +++ b/apps/client/src/index.ts @@ -1,14 +1,14 @@ -import { fw } from 'rage-fw-client' +import { fw } from '@entityseven/rage-fw-client' fw.player.browser = mp.browsers.new('package://cef/index.html') -fw.event.register('cefReady', async () => { - fw.system.log.info('cefReady') +fw.event.register('customClientEvent', async msg => { + fw.system.log.info(msg) - const responseCef = await fw.player.triggerBrowser('customCefEvent', [ - 'from client', + const response = await fw.player.triggerBrowser('customBrowserEvent', [ + 'hello from client', ]) - fw.system.log.info(responseCef) + fw.system.log.info(response) - await fw.player.triggerServer('customServerEvent', ['from client']) + return 'response from client' }) diff --git a/apps/server/package.json b/apps/server/package.json index 5c2b8b6..e966619 100644 --- a/apps/server/package.json +++ b/apps/server/package.json @@ -2,12 +2,12 @@ "name": "rage-fw-example-server", "version": "0.1.0", "author": "Entity Seven Group", - "license": "CC BY-ND", - "description": "Server side of rage-fw example", + "license": "MIT", + "description": "Server side of rage-fw-example", "scripts": { "build": "esbuild src/index.ts --bundle --platform=node --target=node10.4 --outfile=../../server/packages/server/index.js" }, "dependencies": { - "rage-fw-server": "latest" + "@entityseven/rage-fw-server": "0.2.0" } } diff --git a/apps/server/src/index.ts b/apps/server/src/index.ts index 63e964c..a14cefa 100644 --- a/apps/server/src/index.ts +++ b/apps/server/src/index.ts @@ -1,18 +1,25 @@ -import { fw } from 'rage-fw-server' +import { fw } from '@entityseven/rage-fw-server' -fw.event.register('playerJoin', async ([player]) => { - fw.system.log.info(`Connected: ${player.socialClub}`) -}) +fw.event.register('playerJoin', async player => { + fw.system.log.info('Connected:', player.socialClub) -fw.event.register('customServerEvent', async ([player, msg]) => { - fw.system.log.info(player.socialClub + ' ' + msg) - - const resFromCef = await fw.player.triggerBrowser( + const response = await fw.player.triggerClient( player, - 'customCefEvent', - ['from server'], + 'customClientEvent', + ['hello from server'], ) - fw.system.log.info(player.socialClub + ' ' + resFromCef) - - return 'from server' + fw.system.log.info(response) +}) + +fw.event.register('customServerEvent', async (player, msg) => { + fw.system.log.info(player.socialClub, msg) + + const response = await fw.player.triggerBrowser( + player, + 'customBrowserEvent', + ['hello from server'], + ) + fw.system.log.info(player.socialClub, response) + + return 'response from server' }) diff --git a/apps/shared/declarations/rage-fw-shared-types/index.d.ts b/apps/shared/declarations/rage-fw-shared-types/index.d.ts index 5156884..71c52e1 100644 --- a/apps/shared/declarations/rage-fw-shared-types/index.d.ts +++ b/apps/shared/declarations/rage-fw-shared-types/index.d.ts @@ -1,11 +1,13 @@ -declare module 'rage-fw-shared-types' { - export interface RageFW_ICustomClientEvent {} +declare module '@entityseven/rage-fw-shared-types' { + export interface RageFW_ICustomClientEvent { + customClientEvent(greetings: string): string + } export interface RageFW_ICustomServerEvent { customServerEvent(greetings: string): string } - export interface RageFW_ICustomCefEvent { - customCefEvent(greetings: string): string + export interface RageFW_ICustomBrowserEvent { + customBrowserEvent(greetings: string): string } } diff --git a/package.json b/package.json index 137f10c..9f4a955 100644 --- a/package.json +++ b/package.json @@ -11,15 +11,15 @@ "build:all": "pnpm build:client && pnpm build:server && pnpm build:cef" }, "devDependencies": { + "@entityseven/rage-fw-shared-types": "0.2.0", "@ragempcommunity/types-client": "^2.1.8", "@ragempcommunity/types-server": "^2.1.8", "@ragempcommunity/types-cef": "^2.1.8", - "rage-fw-shared-types": "latest", "esbuild": "^0.21.5", "typescript": "^5.4.5", "prettier": "^3.3.2" }, "author": "Entity Seven Group", - "license": "CC BY-ND", + "license": "MIT", "version": "0.1.0" }