We welcome all Pull Requests, though we ask that you follow our guidelines for new code:
Contribution Check-List
- Ensure your code passes the lint checks:
grunt lint
- Ensure your code passes all existing tests:
grunt test
- New code must be accompanied by new Unit or End-to-End Tests
- Open a Pull Request with a thorough description of your change
Browser Compatibility
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 aBOOMR.utils
utility function such asBOOMR.utils.arrayFilter
that uses native interfaces when available, and when not, executes polyfill-like code. - For plugins that depend entirely on newer browser features (such as ResourceTiming
for the
ResourceTiming plugin
), the plugin should attempt to do feature-detection and disable itself if browser support does not exist.