TypeScript setup
Install the declarations and Node types as development dependencies:
bash
npm install --save-dev typescript @types/node @vimp-mp/typesUse one configuration per runtime context.
jsonc
// tsconfig.server.json
{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "bundler",
"strict": true,
"types": ["@vimp-mp/types/server", "node"],
"rootDir": "src/server",
"outDir": "dist/scripting/server"
},
"include": ["src/server/**/*.ts", "src/server/**/*.d.ts"]
}For client code, replace the types entry with @vimp-mp/types/client and omit Node types. CEF bundles use @vimp-mp/types/ui plus the DOM library.
jsonc
{
"compilerOptions": {
"types": ["@vimp-mp/types/client"],
"lib": ["ES2022", "DOM"]
}
}@vimp-mp/types contains declarations only. Use import type for named types, and never emit a runtime import from the package.
ts
import type { Player } from '@vimp-mp/types/server'
function greet(player: Player) {
console.log(`Welcome, ${player.name}`)
}