Closed gingerbenw closed 2 years ago
Now checks for version of yarn before running the appropriate commands to detect whether yarn workspaces is in use
Removed installConfig.hoistingLimits
as:
covered in manual install guide PR
Removed
installConfig.hoistingLimits
as:
- there are multiple ways to install this plugin
- users won't get to this point without having already disabled PnP when using yarn 2, as it's not compatible with expo
covered in manual install guide PR
@gareththackeray – thoughts on this? It could be confusing to put the option in package.json
if they don't need it, but on the other hand it might be better to err on having it in there rather than not at all. Documenting this for people using the CLI (i.e. not in the manual config page) isn't going to be straightforward as I can't see an obvious place.
I spoke to @gingerbenw. He's confident. He's rephrasing it all to be clear. So I'm happy.
Turns out I had rephrased this badly, my apologies. 🙇🏻
installConfig.hoistingLimits: "workspaces"
is the equivalent of using "no hoist", and has been re-added to the CLI configuration step
Goal
To enable source-maps plugin to work for an expo project in a monorepo, based on yarn workspaces
Design
The
@bugsnag/expo-eas-sourcemaps-plugin
updates the android and iOS build configuration with the necessary steps to execute an upload using the@bugsnag/source-maps
library, and has a hardcoded path to the relevant binaries. (in node_modules)We must prevent these binaries from being hoisted when using yarn workspaces, so after selecting the option to automatically uploads source maps, the cli tool will:
app.json
(expo config) with the new pluginpackage.json
based on the yarn version and workspaces configurationThis will prevent the dependencies from being hoisted, and therefore enable the plugin to upload source maps during
eas build
Testing
Installed and built expo project using eas from within a monorepo, and as a standalone application using yarn v1.x and v3.x, tests updated