You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
test(spm): regression-test the autolinking plugin-host exemption
Drive generate-spm-autolinking's main() over a minimal app fixture whose only
autolinked iOS dep is a plugin host (expo: native sources, no Package.swift) to
pin down the exemption added with the plugin system: a dep that declares an
`spm.autolinkingPlugin` owns its native contribution and must NOT also be
source-built through the community-lib path.
A regression pair, so the guard is meaningful rather than incidental:
- With the plugin declared: main() does not throw, the plugin's ExpoModulesCore
package + product contribution is merged into the aggregator, and expo is not
source-built (no `packages/<Name>` wrapper ref, no `__rnAutolinkedLibs` guard).
- Negative control: the SAME fixture with the plugin declaration removed throws
MissingManifestError — proving the exemption is load-bearing.
This exercises the full main() path (dep walk, plugin discovery/invoke, manifest
write) rather than a pure helper, which is why it was missing; the surrounding
pieces (discoverPlugins / invokePlugins / the manifest merge) were already
covered.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments