We welcome all Pull Requests, though we ask that you follow our guidelines for new code:
- Ensure your code passes the lint checks:
- Ensure your code passes all existing tests:
- New code must be accompanied by new Unit or End-to-End tests
- Open a Pull Request with a thorough description of your change
Boomerang is compatible with all browsers from Internet Explorer 5.5 through all modern browsers. While not all plugins work in older browsers, Boomerang should still be able to execute in older browsers and not cause any script errors.
To ensure Boomerang works in as many browsers as possible, please pay attention to the following guidelines:
- Boomerang code should not directly rely on any EcmaScript 5 features.
- Polyfills for utility functions (such as
Array.filter) should not be added directly to the page. Instead, add a
BOOMR.utilsutility function such as
BOOMR.utils.arrayFilterthat uses native interfaces when available, and when not, executes polyfill-like code.
- For plugins that depend entirely on newer browser features (such as ResourceTiming
ResourceTiming plugin), the plugin should attempt to do feature-detection and disable itself if browser support does not exist.