Compare commits

..

No commits in common. "dev" and "react-18" have entirely different histories.

9 changed files with 49 additions and 86 deletions

View File

@ -1,10 +1,10 @@
{
"name": "rage-fw-example-browser",
"name": "rage-fw-example-cef",
"version": "0.0.0",
"type": "module",
"author": "Entity Seven Group",
"license": "MIT",
"description": "Browser side of rage-fw-example",
"license": "CC BY-ND",
"description": "CEF side of rage-fw example",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
@ -12,10 +12,9 @@
"preview": "vite preview"
},
"dependencies": {
"@entityseven/rage-fw-rpc": "workspace:*",
"@entityseven/rage-fw-browser": "workspace:*",
"react": "^18.2.0",
"react-dom": "^18.2.0"
"react-dom": "^18.2.0",
"rage-fw-cef": "latest"
},
"devDependencies": {
"@types/react": "^18.2.66",
@ -26,7 +25,7 @@
"eslint": "^8.57.0",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.6",
"typescript": "^5.7.3",
"typescript": "^5.2.2",
"vite": "^5.2.0"
}
}

View File

@ -1,19 +1,13 @@
import { fw } from '@entityseven/rage-fw-browser'
import { fw } from 'rage-fw-cef'
import { useEffect, useState } from 'react'
function App() {
const [data, setData] = useState('initial')
const [data, setData] = useState('')
useEffect(() => {
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'
fw.event.register('customCefEvent', async ([test]) => {
setData(p => p + ' ' + test)
return 'from cef'
})
}, [])

View File

@ -2,13 +2,12 @@
"name": "rage-fw-example-client",
"version": "0.1.0",
"author": "Entity Seven Group",
"license": "MIT",
"description": "Client side of rage-fw-example",
"license": "CC BY-ND",
"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": {
"@entityseven/rage-fw-rpc": "workspace:*",
"@entityseven/rage-fw-client": "workspace:*"
"rage-fw-client": "latest"
}
}

View File

@ -1,14 +1,14 @@
import { fw } from '@entityseven/rage-fw-client'
import { fw } from 'rage-fw-client'
fw.player.browser = mp.browsers.new('package://cef/index.html')
fw.event.register('customClientEvent', async msg => {
fw.system.log.info(msg)
fw.event.register('cefReady', async () => {
fw.system.log.info('cefReady')
const response = await fw.player.triggerBrowser('customBrowserEvent', [
'hello from client',
const responseCef = await fw.player.triggerBrowser('customCefEvent', [
'from client',
])
fw.system.log.info(response)
fw.system.log.info(responseCef)
return 'response from client'
await fw.player.triggerServer('customServerEvent', ['from client'])
})

View File

@ -2,13 +2,12 @@
"name": "rage-fw-example-server",
"version": "0.1.0",
"author": "Entity Seven Group",
"license": "MIT",
"description": "Server side of rage-fw-example",
"license": "CC BY-ND",
"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": {
"@entityseven/rage-fw-rpc": "workspace:*",
"@entityseven/rage-fw-server": "workspace:*"
"rage-fw-server": "latest"
}
}

View File

@ -1,25 +1,18 @@
import { fw } from '@entityseven/rage-fw-server'
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',
['hello from server'],
)
fw.system.log.info(response)
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)
fw.event.register('customServerEvent', async ([player, msg]) => {
fw.system.log.info(player.socialClub + ' ' + msg)
const response = await fw.player.triggerBrowser(
const resFromCef = await fw.player.triggerBrowser(
player,
'customBrowserEvent',
['hello from server'],
'customCefEvent',
['from server'],
)
fw.system.log.info(player.socialClub, response)
fw.system.log.info(player.socialClub + ' ' + resFromCef)
return 'response from server'
return 'from server'
})

View File

@ -1,13 +1,11 @@
declare module '@entityseven/rage-fw-shared-types' {
export interface RageFW_ICustomClientEvent {
customClientEvent(greetings: string): string
}
declare module 'rage-fw-shared-types' {
export interface RageFW_ICustomClientEvent {}
export interface RageFW_ICustomServerEvent {
customServerEvent(greetings: string): string
}
export interface RageFW_ICustomBrowserEvent {
customBrowserEvent(greetings: string): string
export interface RageFW_ICustomCefEvent {
customCefEvent(greetings: string): string
}
}

View File

@ -1,44 +1,25 @@
{
"name": "framework-example",
"description": "This project is example of RAGE FW usage.",
"workspaces": [
"apps/*"
],
"workspaces": ["apps/*"],
"scripts": {
"server:update": "cd server && rage-win64.exe",
"build:client": "cd apps/client && pnpm build",
"build:server": "cd apps/server && pnpm build",
"build:browser": "cd apps/browser && pnpm build",
"build:all": "pnpm build:client && pnpm build:server && pnpm build:browser"
"build:cef": "cd apps/cef && pnpm build",
"build:all": "pnpm build:client && pnpm build:server && pnpm build:cef"
},
"devDependencies": {
"@ragempcommunity/types-cef": "^2.1.8",
"@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",
"prettier": "^3.3.2",
"typescript": "^5.7.3"
"typescript": "^5.4.5",
"prettier": "^3.3.2"
},
"author": "Entity Seven Group",
"license": "MIT",
"version": "0.1.0",
"pnpm": {
"onlyBuiltDependencies": [
"esbuild"
],
"overrides": {
"@entityseven/rage-fw-rpc": "link:..\\rage-framework\\rpc",
"@entityseven/rage-fw-browser": "link:..\\rage-framework\\browser",
"@entityseven/rage-fw-client": "link:..\\rage-framework\\client",
"@entityseven/rage-fw-server": "link:..\\rage-framework\\server",
"@entityseven/rage-fw-shared-types": "link:..\\rage-framework\\shared-types"
}
},
"dependencies": {
"@entityseven/rage-fw-browser": "link:..\\rage-framework\\browser",
"@entityseven/rage-fw-client": "link:..\\rage-framework\\client",
"@entityseven/rage-fw-rpc": "link:..\\rage-framework\\rpc",
"@entityseven/rage-fw-server": "link:..\\rage-framework\\server",
"@entityseven/rage-fw-shared-types": "link:..\\rage-framework\\shared-types"
}
"license": "CC BY-ND",
"version": "0.1.0"
}

View File

@ -2,7 +2,7 @@
"compilerOptions": {
"target": "ESNext",
"lib": ["ESNext", "ES2019"],
"moduleResolution": "bundler",
"moduleResolution": "node",
"module": "ESNext",
"resolveJsonModule": true,
"esModuleInterop": true,