What does that mean for you?
When you want to include an NPM package in your workspace, the package may not be (fully) compatible with our runtime if the package is exclusively built for Node or uses browser-based APIs that we don't support. This does not mean that you can't use any NPM package. There are many packages out there that solve the same problem; you just have to try a different one that may be written to utilize (more modern) standardized APIs. For example, an NPM package that uses Node's crypto module under the hood wouldn't work because we're not supporting that API. However, if you find a different package that does the same job and uses Web Crypto API, which is standardized, it's more than likely to work (although our Web Crypto support is currently partial).
We'll be curating a list of verified (to work in our runtime) third-party NPM packages, which you can easily pick from, but you can try out any NPM package you desire. Your mileage may vary.
On top of the core standard library, we have added support for the following APIs:
crypto (can also be accessed as window.crypto)
crypto.subtle (can also be accessed as window.crypto.subtle)
fetch (partial implementation, but all the essentials are implemented)
If you're interested in TS types for our runtime, you can find them here.
Unhandled promise rejections are not captured and logged for floating promises. Use caution to not fire off a
promise and not either
awaiting on them to complete or failing to add a
catch method to capture any possible errors.