init
This commit is contained in:
commit
d67073d739
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
.idea
|
||||
node_modules
|
7
.prettierrc.yaml
Normal file
7
.prettierrc.yaml
Normal file
@ -0,0 +1,7 @@
|
||||
tabWidth: 4
|
||||
printWidth: 80
|
||||
singleQuote: true
|
||||
jsxSingleQuote: false
|
||||
semi: false
|
||||
arrowParens: avoid
|
||||
endOfLine: auto
|
16
package.json
Normal file
16
package.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"private": true,
|
||||
"workspaces": [
|
||||
"server"
|
||||
],
|
||||
"dependencies": {
|
||||
"@ragempcommunity/types-client": "^2.1.8",
|
||||
"@ragempcommunity/types-server": "^2.1.8",
|
||||
"@ragempcommunity/types-cef": "^2.1.8",
|
||||
"rage-rpc": "^0.4.0",
|
||||
"tsup": "^8.1.0",
|
||||
"prettier": "^3.3.1",
|
||||
"typescript": "^5.4.5"
|
||||
},
|
||||
"type": "module"
|
||||
}
|
1315
pnpm-lock.yaml
generated
Normal file
1315
pnpm-lock.yaml
generated
Normal file
File diff suppressed because it is too large
Load Diff
14
server/package.json
Normal file
14
server/package.json
Normal file
@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "rage-f-server",
|
||||
"version": "0.0.1",
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"files": ["dist/**/*"],
|
||||
"scripts": {
|
||||
"build": "tsup"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "SashaGonncharov19",
|
||||
"license": "MIT",
|
||||
"description": "Server side of rage-f"
|
||||
}
|
36
server/src/index.ts
Normal file
36
server/src/index.ts
Normal file
@ -0,0 +1,36 @@
|
||||
/// <reference types="@ragempcommunity/types-server" />
|
||||
import rpc from 'rage-rpc'
|
||||
|
||||
type ServerEvent<K> = K extends keyof IServerEvents ? K : never
|
||||
type ServerEventCallback<K> = K extends keyof IServerEvents
|
||||
? ThisifyServerEvents[K]
|
||||
: never
|
||||
|
||||
declare class Server {
|
||||
public register<K = ServerEvent<K>>(
|
||||
eventName: K,
|
||||
callback: ServerEventCallback,
|
||||
): void
|
||||
|
||||
public registerMultiple(events: {
|
||||
[name: string]: (player: PlayerMp, ...args: any[]) => any
|
||||
}): void
|
||||
|
||||
registerMultiple(events: { [name: string]: (...args: any[]) => any }) {
|
||||
Object.entries(events).forEach(([name, callback]) =>
|
||||
rpc.register(name, (data: any[]) => {
|
||||
return Array.isArray(data) ? callback(...data) : callback(data)
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
register() {}
|
||||
}
|
||||
|
||||
export const rage = {
|
||||
event: new Server(),
|
||||
}
|
||||
|
||||
rage.event.register('customevent', vehicle => {})
|
||||
|
||||
function test() {}
|
12
server/tsconfig.json
Normal file
12
server/tsconfig.json
Normal file
@ -0,0 +1,12 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"lib": ["ESNext", "ES5"],
|
||||
"module": "ESNext",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"types": ["../node_modules/@ragempcommunity/types-server"]
|
||||
}
|
||||
}
|
13
shared/package.json
Normal file
13
shared/package.json
Normal file
@ -0,0 +1,13 @@
|
||||
{
|
||||
"name": "rage-f-shared",
|
||||
"version": "0.0.1",
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"test": "tsup"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "SashaGonncharov19",
|
||||
"license": "MIT",
|
||||
"description": "Server side of rage-f"
|
||||
}
|
0
shared/src/index.ts
Normal file
0
shared/src/index.ts
Normal file
10
shared/tsconfig.json
Normal file
10
shared/tsconfig.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2016",
|
||||
"module": "commonjs",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"skipLibCheck": true
|
||||
}
|
||||
}
|
10
tsconfig.json
Normal file
10
tsconfig.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "es2016",
|
||||
"module": "commonjs",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"skipLibCheck": true
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user