DOM, Webcomponents, Animations, Events and AJAX Library.


1431.1.12 months ago5 years agoMinified + gzip package size for @mathigon/boost in KB



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

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.