DOM, Webcomponents, Animations, Events and AJAX Library.

Usage no npm install needed!

<script type="module">
  import mathigonBoost from 'https://cdn.skypack.dev/@mathigon/boost';



Build Status npm npm

Bost.ts is a library that makes working with browsers easier: everything from DOM manipulation to web components, event handling, animations, routing, multi-threading and AJAX requests. It was developed for Mathigon.org, an award-winning mathematics education project.



First, install Boost.ts from NPM using

npm install @mathigon/boost

Now, simply import all functions and classes you need, using

import {$, CustomElement, Browser} from '@mathigon/boost'


Importing the webcomponents <x-modal>, <x-popup>, <x-icon>, <x-alert> and <x-select> works a bit different from other functions exported by this module. Because they are just static classes with no side effects, they would usually be removed by tree-shaking. We also want to avoid duplicate component declarations, or any globally-running code.

  • The types can be imported like all other classes from @mathigon/boost.
  • The actual code is not included in the CJS or ESM bundles. needs to be included using something like import '@mathigon/boost/dist/components.js'.
  • The SCSS styles can be imported in other SCSS files using @import node_modules/@mathigon/boost/src/components/components.


We welcome community contributions: please file any bugs you find or send us pull requests with improvements. You can find out more on Mathigon.io.

Before submitting a pull request, you will need to sign the Mathigon Individual Contributor License Agreement.

Copyright and License

Copyright © Mathigon (dev@mathigon.org)
Released under the MIT license