Add @tailwindcss/oxide-wasm32-wasi
#17558
Draft
+1,348
−68
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds an a new Oxide target for
wasm32-wasip1-threads
:@tailwindcss/oxide-wasm32-wasi
. The goal of this is to enable more environments to run Oxide, including (but not limited to) StackBlitz.We're making use of
napi-rs
's upcoming v3 features to simplify the setup here, meaningnapi-rs
will configure the WASM target and create an npm package that works across Node and browser environments.MacOS AArch64 issues
While setting up an integration test for the new WASM target, I ran into an issue where FS reads where not terminating on macOS. After some research I found this to be a limitation of the Node.js napi interface right now, see: nodejs/node#47193
For now we, it's probably best for MacOS AArch64 users to use the native modules instead.
Test plan
The
@tailwindcss/oxide-wasm32-wasi
npm package can be built locally viapnpm build
and then run with the Oxide API. A usage example can be taken from the newly added integration test.Furthermore this was tested to work as a polyfill on StackBlitz: https://stackblitz.com/edit/vitejs-vite-uks3gt5p
[ci-all]