Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update browser support caveats #2441

Merged
merged 2 commits into from
Feb 3, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 5 additions & 9 deletions guide/src/reference/browser-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ also like to be aware of it!
an example of doing this too](../examples/wasm2js.html)). Note
that at this time no bundler will do this by default, but we'd love to
document plugins which do this if you are aware of one!

* **Edge** - the `TextEncoder` and `TextDecoder` APIs are not currently
* **Edge before 79+** - the `TextEncoder` and `TextDecoder` APIs where not
available in Edge which `wasm-bindgen` uses to encode/decode strings between
JS and Rust. You can polyfill this with at least one of two strategies:

Expand All @@ -31,15 +31,13 @@ also like to be aware of it!

```js
const webpack = require('webpack');

module.exports = {
plugins: [
new webpack.ProvidePlugin({
TextDecoder: ['text-encoding', 'TextDecoder'],
TextEncoder: ['text-encoding', 'TextEncoder']
})
]

// ... other configuration options
};
```
Expand All @@ -58,10 +56,9 @@ also like to be aware of it!
forbids the usage of 64-bit integers (Rust types `i64` and `u64`) in
exported/imported functions. When using `wasm-bindgen`, however, `u64` is
allowed! The reason for this is that it's translated to the `BigInt` type in
JS. The `BigInt` class, however, is only currently supported in Chrome 67+ and
Firefox 68+ (as of the time of this writing) and isn't supported in Edge or
Safari, for example. For more, up-to-date details, see [`BigInt` on Can I
use...][ciu_bigint].
JS. The `BigInt` class is supported by all major browsers starting in the
following versions: Chrome 67+, Firefox 68+, Edge 79+, and Safari 14+.


If you find other incompatibilities please report them to us! We'd love to
either keep this list up-to-date or fix the underlying bugs :)
Expand All @@ -72,4 +69,3 @@ either keep this list up-to-date or fix the underlying bugs :)
[`text-encoding`]: https://www.npmjs.com/package/text-encoding
[soq]: https://stackoverflow.com/questions/40662142/polyfill-for-textdecoder/46549188#46549188
[mdntepi]: https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder#Polyfill
[ciu_bigint]: https://caniuse.com/#feat=bigint