3 tests are still failing for safari 9.1 at the moment. On safari 10.1
all the tests pass however. As El Captain is pretty old now, the tests
now run on Sierra. The current safari version is updated to 14
ISSUES CLOSED: #469
Chrome 49 was disabled in the browserstack tests because of failing
tests. Trying those tests now again, only a single CSS variable test is
failing. As chrome 49 was the first chrome version to support css
variables it is very likely that this is a bug in the browser itself,
especially as chrome 50 works as expected. Thus this commits enables the
browserstack tests for chrome 50
ISSUES CLOSED: #468
Currently even IE11 is marked as End-Of-Life (EOL), IE10 is even
longer. Karma internally uses `Object.setPrototypeOf` which is not
supported in IE10. Rather than trying to polyfill this, we should only
test IE11 and MS Edge
When removing unnecessary dependencies, polyfills like core-js were
removed, as well as webpack which bundled the tests to es5. With this
commit, tests that need specific browser features are skipped if the
browser does not support them and the code is compiled to es5 by
karma-typescript
The environment was used to ensure that the browserstack access keys
are only available after approval, so a potentially malicious actor
can't modify the testing code and extract those secrets. This however
creates a lot of noise in the notifications of the maintainers and it
drastically reduces the feedback cycle for the contributor in case their
change causes an issue in one of the supported browsers. Additionally
the potential harm in extracting the access keys is pretty low. The
snabbdombot account has only user access, so it can't change
browserstack settings and it can only access the automate features. So
the only thing that can happen is that our PRs fail because some third
party is running browser tests and thus exhausting our 5 parallel tests
limit. In that case we can simply change the access key of the
snabbdombot account. For this reason, the secrets are now repository
secrets and the CI does not need an approval to run
BREAKING CHANGE: CommonJS module are no longer provided.
BREAKING CHANGE: import paths in ES modules include file name
extensions.
BREAKING CHANGE: Compiled to ES2015 (was ES5).
Fixes#516.
Fixes#437.
Fixes#263. Kind of. Because there is no build step.
Thanks to @mreinstein on starting this work.