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