-
Notifications
You must be signed in to change notification settings - Fork 756
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 prebuilt yoga-layout
from https://github.com/facebook/yoga
#2489
Conversation
|
Codecov Report
@@ Coverage Diff @@
## main #2489 +/- ##
==========================================
+ Coverage 72.13% 72.17% +0.03%
==========================================
Files 156 156
Lines 9720 9720
Branches 2546 2546
==========================================
+ Hits 7012 7015 +3
+ Misses 2708 2705 -3
|
A wrangler prerelease is available for testing. You can install this latest build in your project with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/runs/3837290055/npm-package-wrangler-2489 You can reference the automatically updated head of this PR with: npm install --save-dev https://prerelease-registry.devprod.cloudflare.dev/prs/2489/npm-package-wrangler-2489 Or you can use npx https://prerelease-registry.devprod.cloudflare.dev/runs/3837290055/npm-package-wrangler-2489 dev path/to/script.js Additional artifacts:npm install https://prerelease-registry.devprod.cloudflare.dev/runs/3837290055/npm-package-cloudflare-pages-shared-2489 |
Fixes `Linking failure in asm.js: Unexpected stdlib member` warnings
7ae672d
to
255fac9
Compare
yoga-layout
from https://github.com/facebook/yogayoga-layout
from https://github.com/facebook/yoga
Of note—we still use Ink in a bunch of places (until #2283 is merged, which should hopefully be soon once I can fix the tests). Why isn't this published to npm yet? I feel pretty hesitant about using a beta version of such a complex dependency. What's the timeline on stabilisation? Is there a tracking issue somewhere for Yoga? |
@penalosa ah, didn't realise #2283 wasn't merged yet. FWIW, I did also try The important change in Yoga was only merged about a week ago: facebook/yoga#1177. The repository has seen much more activity recently (https://github.com/facebook/yoga/commits/main), but I'm not sure when this will be published to npm/stabilised. 😕 Whilst this dependency is complex, it is very well contained with a clear/concise API for interacting with it. Given this new version passes all Yoga's tests, and given we're having trouble landing new changes because of how frequently Windows CI fails, it might make sense to merge this now. Definitely see your point though... |
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.
Things seem to be working, are we needing to wait on the Ink Removal PR?
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.
If this could wait until the Ink removal PR goes in (to limit the surface area), that'd be great. I have general concerns around the lack of maintenance Yoga appears to be getting, but if this works lets merge it (and hopefully 🤞 Yoga can be removed as a dependency soon)
#2489 broke the `Release` CI with an error that `patch-package` couldn't be found when running `changeset-version.js`. It looks like the `npm install` script in `changeset-version.js` is only installing production dependencies. Moving `patch-package` to `dependencies` leads to another error that `ink` cannot be found to apply the patch to. However, the only reason we run `npm install` here is to update `package-lock.json`, so we don't need to be running `postinstall` scripts. Therefore, this PR adds the `--package-lock-only` flag. See https://docs.npmjs.com/cli/v9/commands/npm-install.
…#2506) #2489 broke the `Release` CI with an error that `patch-package` couldn't be found when running `changeset-version.js`. It looks like the `npm install` script in `changeset-version.js` is only installing production dependencies. Moving `patch-package` to `dependencies` leads to another error that `ink` cannot be found to apply the patch to. However, the only reason we run `npm install` here is to update `package-lock.json`, so we don't need to be running `postinstall` scripts. Therefore, this PR adds the `--package-lock-only` flag. See https://docs.npmjs.com/cli/v9/commands/npm-install.
What this PR solves / how to test:
This PR attempts to resolve OOM issues in our Windows CI, by using a WebAssembly version of
yoga-layout
, as opposed to the asm.js version used byyoga-layout-prebuilt
. This version ofyoga-layout
hasn't been published to npm yet, so I've vendored it in for now. We bundle this vendored version and redistribute it in our npm distribution. Memory profiling suggests Jest was allocating lots of memory to store this asm.js script.As a side effect, this PR also fixes
Linking failure in asm.js: Unexpected stdlib member
warnings we've been seeing in CI tests.I've tested
wrangler dev
(the only command that uses Ink and thereforeyoga-layout
afaik) and it seems to be working fine, including the hotkeys.Associated docs issues/PR:
N/A
Author has included the following, where applicable:
Tests(attempt to fix existing tests)Changeset(no user facing changes)Reviewer has performed the following, where applicable: