Skip to main content

Solution overview

Technologies

The solution uses the following technologies

Solution partTechnology/ToolComments
Components code and logicWeb Component -> Lit Element -> Microsoft Graph Toolkit -> Custom components.All components basically extend the MgtTemplatedTaskComponent base class from @microsoft/mgt-element library.
Components internal stylingTailwindCSSAllow to quickly style components without having to maintain dedicated stylesheets. A must have!
Components buildWebpack 5Allow to precisely define the output we want to be able to distribute the components. Also comes with a dev server allowing local debug and tests (ex: index.html).
Test frameworkWeb Test Runner with PupeeterConfiguration use ESBuild, Mocha, Chai and Sinon for tests.
Components demo and live documentationStorybookComponents attributes/properties documentation is generated automatically from the code comments through custom-elements.json file. Storybook is configured to run with Webpack 5 (with no Babel compiler).
Static documentationDocusaurus and GitHub PagesOnline documentation.

Why using Microsoft Graph Toolkit instead of regular web components?

Microsoft Graph Toolkit provides several advantages to create reusable components:

  • Comes with an authentication providers mechanim making it easy for components to consume Azure AD protected APIs, especially Graph API.
  • Comes with a localization support.
  • Comes with a template support with a data binding syntax as a convenient wrapper over web components default slot mechanism.
  • Simple/flexible enough to be extended with the @microsoft/mgt-element base classes.