init
This commit is contained in:
		
							parent
							
								
									037a7af2da
								
							
						
					
					
						commit
						5419805b68
					
				@ -5,10 +5,13 @@ jsxSingleQuote: false
 | 
			
		||||
semi: false
 | 
			
		||||
arrowParens: avoid
 | 
			
		||||
endOfLine: auto
 | 
			
		||||
plugins:
 | 
			
		||||
    - prettier-plugin-svelte
 | 
			
		||||
overrides:
 | 
			
		||||
  - files: "*.{css,sass,scss}"
 | 
			
		||||
    - files: '*.{css,sass,scss}'
 | 
			
		||||
      options:
 | 
			
		||||
          tabWidth: 2
 | 
			
		||||
plugins:
 | 
			
		||||
  - prettier-plugin-tailwindcss
 | 
			
		||||
parser: typescript
 | 
			
		||||
          parser: scss
 | 
			
		||||
    - files: '*.svelte'
 | 
			
		||||
      options:
 | 
			
		||||
          parser: 'svelte'
 | 
			
		||||
 | 
			
		||||
@ -7,8 +7,8 @@
 | 
			
		||||
        "check": "svelte-check --tsconfig ./tsconfig.json && tsc -p tsconfig.node.json"
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
    "@rage-fw/shared": "workspace:^",
 | 
			
		||||
    "@entityseven/rage-fw-rpc": "0.2.5"
 | 
			
		||||
        "@entityseven/rage-fw-browser": "0.2.0",
 | 
			
		||||
        "@rage-fw/shared": "workspace:^"
 | 
			
		||||
    },
 | 
			
		||||
    "devDependencies": {
 | 
			
		||||
        "@sveltejs/vite-plugin-svelte": "^4.0.0-next.6",
 | 
			
		||||
@ -22,7 +22,7 @@
 | 
			
		||||
        "eslint-plugin-prettier": "^5.2.1",
 | 
			
		||||
        "globals": "^15.9.0",
 | 
			
		||||
        "prettier": "^3.3.3",
 | 
			
		||||
    "prettier-plugin-svelte": "^3.2.6",
 | 
			
		||||
        "prettier-plugin-svelte": "^3.3.3",
 | 
			
		||||
        "svelte": "5.1.3",
 | 
			
		||||
        "svelte-check": "^3.8.5",
 | 
			
		||||
        "tslib": "^2.6.3",
 | 
			
		||||
 | 
			
		||||
@ -1,16 +1,20 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
    import { fw } from '@entityseven/rage-fw-browser'
 | 
			
		||||
    import type { RageFW_ICustomBrowserEvent } from '@entityseven/rage-fw-shared-types'
 | 
			
		||||
    import { onMount } from 'svelte'
 | 
			
		||||
    import { events } from '@rage-fw/shared'
 | 
			
		||||
    import { rpc } from '@/lib'
 | 
			
		||||
 | 
			
		||||
    let data = $state<string>('')
 | 
			
		||||
    let data =
 | 
			
		||||
        $state<ReturnType<RageFW_ICustomBrowserEvent['customBrowserEvent']>>()
 | 
			
		||||
 | 
			
		||||
    onMount(() => {
 | 
			
		||||
        rpc.register(events.browser.customBrowserEvent, (args: string) => {
 | 
			
		||||
            data = data + ' | ' + args
 | 
			
		||||
            return 'response from cef'
 | 
			
		||||
        try {
 | 
			
		||||
            fw.event.register('customBrowserEvent', async greeting => {
 | 
			
		||||
                data += greeting
 | 
			
		||||
                return 'from cef'
 | 
			
		||||
            })
 | 
			
		||||
        rpc.callClient(events.client.cefReady, ['hello from cef'])
 | 
			
		||||
        } catch (e) {
 | 
			
		||||
            console.error(e)
 | 
			
		||||
        }
 | 
			
		||||
    })
 | 
			
		||||
</script>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,5 +0,0 @@
 | 
			
		||||
import { Rpc } from '@entityseven/rage-fw-rpc'
 | 
			
		||||
 | 
			
		||||
export const rpc = new Rpc({
 | 
			
		||||
    debugLogs: true,
 | 
			
		||||
})
 | 
			
		||||
@ -21,10 +21,11 @@
 | 
			
		||||
        "noFallthroughCasesInSwitch": true,
 | 
			
		||||
        "types": [
 | 
			
		||||
            "../../node_modules/@ragempcommunity/types-cef",
 | 
			
		||||
            "../shared/declarations/rage-fw-shared-types/"
 | 
			
		||||
        ],
 | 
			
		||||
        "paths": {
 | 
			
		||||
            "@": ["./src"],
 | 
			
		||||
      "@/*": ["./src/*"],
 | 
			
		||||
            "@/*": ["./src/*"]
 | 
			
		||||
        }
 | 
			
		||||
    },
 | 
			
		||||
    "include": ["src"],
 | 
			
		||||
 | 
			
		||||
@ -3,7 +3,6 @@
 | 
			
		||||
        "composite": true,
 | 
			
		||||
        "skipLibCheck": true,
 | 
			
		||||
        "strict": true,
 | 
			
		||||
//    "noEmit": true,
 | 
			
		||||
        "module": "ESNext",
 | 
			
		||||
        "moduleResolution": "bundler",
 | 
			
		||||
        "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo"
 | 
			
		||||
 | 
			
		||||
@ -6,7 +6,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@rage-fw/shared": "workspace:^",
 | 
			
		||||
    "@entityseven/rage-fw-rpc": "0.2.5"
 | 
			
		||||
        "@entityseven/rage-fw-client": "0.2.0"
 | 
			
		||||
    },
 | 
			
		||||
    "license": "MIT",
 | 
			
		||||
    "author": "Entity Seven Group",
 | 
			
		||||
 | 
			
		||||
@ -1,22 +1,15 @@
 | 
			
		||||
import { events } from '@rage-fw/shared'
 | 
			
		||||
import { rpc } from './lib'
 | 
			
		||||
import { fw } from '@entityseven/rage-fw-client'
 | 
			
		||||
 | 
			
		||||
rpc.browser = mp.browsers.new('package://cef/index.html')
 | 
			
		||||
fw.player.browser = mp.browsers.new('package://cef/index.html')
 | 
			
		||||
 | 
			
		||||
rpc.register(events.client.cefReady, async (args: string) => {
 | 
			
		||||
    mp.console.logInfo(args)
 | 
			
		||||
    const res = (await rpc.callServer(events.server.customServerEvent, [
 | 
			
		||||
        'hello from client',
 | 
			
		||||
    ])) as string
 | 
			
		||||
    mp.console.logInfo(res)
 | 
			
		||||
    return 'response from client'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
rpc.register(events.client.cefReady, async (args: string) => {
 | 
			
		||||
    mp.console.logInfo(args)
 | 
			
		||||
    const res = (await rpc.callBrowser(events.browser.customBrowserEvent, [
 | 
			
		||||
        'hello from client',
 | 
			
		||||
    ])) as string
 | 
			
		||||
    mp.console.logInfo(res)
 | 
			
		||||
    return 'response from client'
 | 
			
		||||
fw.event.register('cefReady', async () => {
 | 
			
		||||
    fw.system.log.info('cefReady')
 | 
			
		||||
 | 
			
		||||
    const responseBrowser = await fw.player.triggerBrowser(
 | 
			
		||||
        'customBrowserEvent',
 | 
			
		||||
        ['from client'],
 | 
			
		||||
    )
 | 
			
		||||
    fw.system.log.info(responseBrowser)
 | 
			
		||||
 | 
			
		||||
    await fw.player.triggerServer('customServerEvent', ['from client'])
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -1,5 +0,0 @@
 | 
			
		||||
import { Rpc } from '@entityseven/rage-fw-rpc'
 | 
			
		||||
 | 
			
		||||
export const rpc = new Rpc({
 | 
			
		||||
    debugLogs: true,
 | 
			
		||||
})
 | 
			
		||||
@ -6,7 +6,7 @@
 | 
			
		||||
    },
 | 
			
		||||
    "dependencies": {
 | 
			
		||||
        "@rage-fw/shared": "workspace:^",
 | 
			
		||||
    "@entityseven/rage-fw-rpc": "0.2.5"
 | 
			
		||||
        "@entityseven/rage-fw-server": "0.2.0"
 | 
			
		||||
    },
 | 
			
		||||
    "license": "MIT",
 | 
			
		||||
    "author": "Entity Seven Group",
 | 
			
		||||
 | 
			
		||||
@ -1,20 +1,18 @@
 | 
			
		||||
import { events } from '@rage-fw/shared'
 | 
			
		||||
import { rpc } from './lib'
 | 
			
		||||
import { fw } from '@entityseven/rage-fw-server'
 | 
			
		||||
 | 
			
		||||
rpc.register('playerJoin', async (player: PlayerMp) => {
 | 
			
		||||
    console.log(`[Server] ${player.socialClub} connected`)
 | 
			
		||||
fw.event.register('playerJoin', async player => {
 | 
			
		||||
    fw.system.log.info(`Connected: ${player.socialClub}`)
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
rpc.register(
 | 
			
		||||
    events.server.customServerEvent,
 | 
			
		||||
    async (player: PlayerMp, args: string) => {
 | 
			
		||||
        console.log(args)
 | 
			
		||||
        const res = await rpc.callClient(
 | 
			
		||||
fw.event.register('customServerEvent', async (player, greeting) => {
 | 
			
		||||
    fw.system.log.info(player.socialClub + ' ' + greeting)
 | 
			
		||||
 | 
			
		||||
    const resFromBrowser = await fw.player.triggerBrowser(
 | 
			
		||||
        player,
 | 
			
		||||
            events.client.customClientEvent,
 | 
			
		||||
            ['hello from server'],
 | 
			
		||||
        )
 | 
			
		||||
        console.log(res)
 | 
			
		||||
        return 'response from server'
 | 
			
		||||
    },
 | 
			
		||||
        'customBrowserEvent',
 | 
			
		||||
        ['from server'],
 | 
			
		||||
    )
 | 
			
		||||
    fw.system.log.info(player.socialClub + ' ' + resFromBrowser)
 | 
			
		||||
 | 
			
		||||
    return 'from server'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
@ -1,5 +0,0 @@
 | 
			
		||||
import { Rpc } from '@entityseven/rage-fw-rpc'
 | 
			
		||||
 | 
			
		||||
export const rpc = new Rpc({
 | 
			
		||||
    debugLogs: true,
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										11
									
								
								apps/shared/declarations/rage-fw-shared-types/index.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								apps/shared/declarations/rage-fw-shared-types/index.d.ts
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,11 @@
 | 
			
		||||
declare module '@entityseven/rage-fw-shared-types' {
 | 
			
		||||
    export interface RageFW_ICustomClientEvent {}
 | 
			
		||||
 | 
			
		||||
    export interface RageFW_ICustomServerEvent {
 | 
			
		||||
        customServerEvent(greetings: string): string
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    export interface RageFW_ICustomBrowserEvent {
 | 
			
		||||
        customBrowserEvent(greetings: string): string
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -1,12 +0,0 @@
 | 
			
		||||
export const events = {
 | 
			
		||||
    server: {
 | 
			
		||||
        customServerEvent: 'customServerEvent',
 | 
			
		||||
    },
 | 
			
		||||
    client: {
 | 
			
		||||
        cefReady: 'cefReady',
 | 
			
		||||
        customClientEvent: 'customClientEvent',
 | 
			
		||||
    },
 | 
			
		||||
    browser: {
 | 
			
		||||
        customBrowserEvent: 'customBrowserEvent',
 | 
			
		||||
    },
 | 
			
		||||
}
 | 
			
		||||
@ -18,6 +18,7 @@
 | 
			
		||||
    "@ragempcommunity/types-client": "^2.1.8",
 | 
			
		||||
    "@ragempcommunity/types-server": "^2.1.8",
 | 
			
		||||
    "@ragempcommunity/types-cef": "^2.1.8",
 | 
			
		||||
    "@entityseven/rage-fw-shared-types": "0.2.0",
 | 
			
		||||
    "esbuild": "^0.21.5",
 | 
			
		||||
    "typescript": "^5.4.5",
 | 
			
		||||
    "prettier": "^3.3.2"
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user