Skip to content

[pull] main from expo:main#892

Merged
pull[bot] merged 3 commits into
code:mainfrom
expo:main
May 22, 2026
Merged

[pull] main from expo:main#892
pull[bot] merged 3 commits into
code:mainfrom
expo:main

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented May 22, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

kitten and others added 3 commits May 22, 2026 18:43
#46172)

## Summary

These resolutions may fail and break the project, since they don't
account for isolated dependencies **outside** of the `projectRoot`.
Instead of a hard failure, we should resolve against the `projectRoot`
forcefully.

This isn't 100% correct and doesn't take into account that some
resolutions here are already invalid, e.g. `@expo/log-box`, but this fix
is preferable to breaking projects with isolated dependencies outside of
the project root.

## Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
… transitive async chunks (#46003)

## Summary

Resolves #45806

Our filename computation currently is confusing and incomplete. It
doesn't reliably change filenames for chunks that depend async chunks.
This is relevant, since the filename of async chunks are embedded in the
chunk themselves. However, the bug occurred because we're not separating
the filename computation of all chunks, from the re-computation — i.e.
if a chunk contains a reference to another, we must know and take the
other chunks' hashes into account in the dependent.

We should protect ourselves from cases, however, where we may add common
chunks, transitive async chunks with cycles, and other acyclical edges
in our chunk graph. As such, this is implemented as a pre-computation,
and additional traverses the graph deterministically & topologically
when computing the "output hash".

## Set of changes

- First, implements precomputed chunk renaming (compute intrinsic
hashes, then combine them)
- Then, slots in Tarjan topological traversal to collect hashes
deterministically
- Last, optimisises pre-existing inefficiencies in how we collect
(async) chunks

## Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [x] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
# Why

<!--
Please describe the motivation for this PR, and link to relevant GitHub
issues, forums posts, or feature requests.
-->

Fix ENG-21189

# How

<!--
How did you build this feature or fix this bug and why?
-->

- Promote multiple rules severity from `warning` to `error`.
- Drop mdash rule and replace all `&mdash;` with `—`.
- Add `--` check.

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

Run `pnpm lint-prose` and there should be no errors.

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
-->

- [ ] I added a `changelog.md` entry and rebuilt the package sources
according to [this short
guide](https://github.com/expo/expo/blob/main/CONTRIBUTING.md#-before-submitting)
- [ ] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
- [ ] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
@pull pull Bot locked and limited conversation to collaborators May 22, 2026
@pull pull Bot added the ⤵️ pull label May 22, 2026
@pull pull Bot merged commit d1e089c into code:main May 22, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants