Skip to content

Настройка 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}`)
}

VIMP developer documentation