@openvidu-meet/typings
Shared TypeScript type definitions for the OpenVidu Meet monorepo.
📦 Package Structure
typings/
├── src/ # ✏️ Source TypeScript files (.ts only)
│ ├── index.ts # Main export barrel
│ ├── room-config.ts
│ ├── user.ts
│ └── ...
│
├── dist/ # 📦 Compiled output (generated, DO NOT EDIT)
│ ├── index.d.ts # Type definitions
│ ├── index.js # Transpiled JavaScript
│ ├── index.js.map # Source maps
│ └── ...
│
├── package.json # Package configuration
├── tsconfig.json # Base TypeScript config
└── tsconfig.build.json # Build-specific config
🛠️ Development
Build the package
pnpm run build
This compiles src/*.ts → dist/*.{d.ts,js,js.map}
Watch mode (during development)
pnpm run dev
Auto-recompiles when you change files in src/
Clean build artifacts
pnpm run clean
Removes the dist/ directory
📝 Adding New Types
-
Create your
.tsfile insrc/// src/my-new-type.ts export interface MyNewType { id: string; name: string; } -
Export it from
src/index.tsexport * from './my-new-type.js';Note: Use
.jsextension in imports (ESM requirement) -
Build the package
pnpm run build -
The types are now available to all workspaces:
import { MyNewType } from '@openvidu-meet/typings';
🔗 Usage in Workspaces
All workspaces (backend, frontend, webcomponent) depend on this package:
{
"dependencies": {
"@openvidu-meet/typings": "workspace:*"
}
}
The workspace:* protocol tells pnpm to use the local workspace version.