MCPcopy Index your code
hub / github.com/OfficeDev/microsoft-teams-library-js

github.com/OfficeDev/microsoft-teams-library-js @v2.53.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.53.1 ↗ · + Follow
2,947 symbols 7,609 edges 410 files 192 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Microsoft Teams JavaScript client library

Microsoft Teams Library JS CI Build Status

Welcome to the Teams client library monorepo! For breaking changes, please refer to our changelog in the <root>/packages/teams-js directory. This repository contains the core teams-js package as well as tools and applications for analyzing and testing.

Getting Started

The following guide references steps to build the entire project including TeamsJS and all of the included apps. For guidelines on just building an individual app please look at the Apps.

Building this Project

  1. Clone this repository git clone https://github.com/OfficeDev/microsoft-teams-library-js.git
  2. Run pnpm install from repo root
  3. Run pnpm build from repo root
  4. To run Unit tests, run pnpm test

Submitting a Pull Request

Please look through our Contributing Guide for important details on how to submit a pull request and contribute to this repository.

NOTE: Make sure pnpm@9.0.6 or greater is installed as a global tool, by running npm install -g pnpm@9.0.6.

TIP: whenever building or testing the Teams client library, you can run pnpm build or pnpm test from the packages/teams-js directory.

This JavaScript library is part of the Microsoft Teams developer platform. See full library reference documentation.

Packages

Contain the core exports for the repository.

teams-js

Used to integrate custom services and applications with Teams, Outlook, and Office.


Apps

The apps folder contains applications used to test various aspects of the library.

Teams Perf Test App

React application used to locally test the loading times of the library.

Teams Test App

Application used to test the functionality of the various library APIs.

SSR Test App

Application used to ensure library changes do not break server-side rendering capabilities.


Locally generating reference documentation

If you would like to locally generate reference documentation for TeamsJS v2, simply utilize the script pnpm run docs either from the monorepo root or inside the teams-js project root (packages/teams-js). This should output the generated documentation to packages/teams-js/docs.

Contributing

We strongly welcome and encourage contributions to this project. Please read the contributor's guide which contains important information.


This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Extension points exported contracts — how you extend this code

IAppWindow (Interface)
(no doc) [6 implementers]
packages/teams-js/src/public/appWindow.ts
BundleMetric (Interface)
(no doc)
tools/bundle-size-tools/src/BundleBuddyTypes.ts
BoxAndButtonProps (Interface)
(no doc)
apps/teams-perf-test-app/src/components/BoxAndButton.tsx
RequestStartLiveStreamingParams (Interface)
(no doc)
apps/teams-test-app/src/components/MeetingAPIs.tsx
PageInfoProps (Interface)
(no doc)
apps/ssr-test-app/components/CommonComponents.tsx
ISerializable (Interface)
(no doc) [49 implementers]
packages/teams-js/src/public/serializable.interface.ts
BundleComparison (Interface)
(no doc)
tools/bundle-size-tools/src/BundleBuddyTypes.ts
ShareInformation (Interface)
(no doc)
apps/teams-test-app/src/components/MeetingAPIs.tsx

Core symbols most depended-on inside this repo

getApiVersionTag
called by 344
packages/teams-js/src/internal/telemetry.ts
ensureInitialized
called by 304
packages/teams-js/src/internal/internalAPIs.ts
ApiWithoutInput
called by 171
apps/teams-test-app/src/components/utils/ApiWithoutInput.tsx
ApiWithTextInput
called by 137
apps/teams-test-app/src/components/utils/ApiWithTextInput.tsx
sendMessageToParent
called by 124
packages/teams-js/src/internal/communication.ts
toString
called by 96
packages/teams-js/src/public/uuidObject.ts
validateOrigin
called by 95
packages/teams-js/src/internal/validOrigins.ts
findMessageByActionName
called by 58
packages/teams-js/test/utils.ts

Shape

Function 1,998
Interface 328
Method 302
Class 221
Enum 98

Languages

TypeScript99%
C#1%

Modules by API surface

apps/typed-dependency-tester/MicrosoftTeams.min.js816 symbols
packages/teams-js/src/public/meeting/meeting.ts53 symbols
packages/teams-js/src/private/widgetHosting/widgetHosting.ts50 symbols
packages/teams-js/src/public/media.ts47 symbols
packages/teams-js/src/public/interfaces.ts44 symbols
packages/teams-js/src/private/files.ts41 symbols
packages/teams-js/src/private/externalAppAuthentication.ts40 symbols
packages/teams-js/src/internal/communication.ts38 symbols
packages/teams-js/src/private/hostEntity/tab.ts35 symbols
packages/teams-js/src/private/copilot/sidePanelInterfaces.ts35 symbols
skeleton-buffer/index.js34 symbols
packages/teams-js/src/internal/videoEffectsUtils.ts32 symbols

For agents

$ claude mcp add microsoft-teams-library-js \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page