Настройка TypeScript
Установите declarations и Node types как dev dependencies:
bash
npm install --save-dev typescript @types/node @vimp-mp/typesИспользуйте отдельную конфигурацию для каждого 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"]
}Для client code используйте @vimp-mp/types/client без Node types. CEF bundle использует @vimp-mp/types/ui и библиотеку DOM.
jsonc
{
"compilerOptions": {
"types": ["@vimp-mp/types/client"],
"lib": ["ES2022", "DOM"]
}
}@vimp-mp/types содержит только declarations. Для именованных типов используйте import type и не создавайте runtime import из этого пакета.
ts
import type { Player } from '@vimp-mp/types/server'
function greet(player: Player) {
console.log(`Welcome, ${player.name}`)
}