-
Notifications
You must be signed in to change notification settings - Fork 12
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
Support WASM #275
Support WASM #275
Conversation
build.gradle.kts
Outdated
@@ -11,6 +14,17 @@ plugins { | |||
alias(libs.plugins.ksp) apply false | |||
} | |||
|
|||
plugins.withType<NodeJsRootPlugin> { | |||
extensions.getByType<NodeJsRootExtension>().apply { | |||
nodeVersion = "22.0.0-v8-canary202312089dd1cd78d4" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this affect published artifacts, or only the test runtime? I tried to find a way to apply the canary version only to the wasmJs
targets, to avoid affecting the js
targets, but that doesn't seem to be possible.
If it affects published artifacts, it may not be a good idea to merge this right now...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated to a v21 canary version, but the same question applies.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's only for local testing. Doesn't make it into anything published.
A canary version is needed until nodejs/node#50115 lands.
The compiler was automatically generating these implicit casts for other targets, but not for WASM.
WASM requires a canary Node.js version. This is the last v21 canary, and has both darwin-arm64 and darwin-x64 artifacts.
6c5771d
to
ebead43
Compare
From the linked Slack thread—turns out I should have included the |
Closes #235.
Adds the
wasmJs
target to the:poko-annotations
and:poko-tests
projects.Adds explicit
irImplicitCast
calls afterirIs
checks to avoid compile errors: the WASM target doesn't generate these automatically like other targets do. I posted a public Slack message about it here.The WASM target currently requires a canary Node.js version. I'm unclear on the implications of shipping with this, will follow up in this PR's comments.