Conversation
|
Subscribed to pull request
Generated by CodeMention |
|
The Pull Request introduced fingerprint changes against the base commit: 12b1bbc Fingerprint diff[
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "../../packages/expo",
"reasons": [
"expoAutolinkingIos",
"expoAutolinkingAndroid",
"expoConfigPlugins",
"expoConfigPlugins",
"rncoreAutolinkingAndroid",
"rncoreAutolinkingIos"
],
"hash": "14462b0fc3028831eb53da3f4727465bab6f6dd7"
},
"afterSource": {
"type": "dir",
"filePath": "../../packages/expo",
"reasons": [
"expoAutolinkingIos",
"expoAutolinkingAndroid",
"expoConfigPlugins",
"expoConfigPlugins",
"rncoreAutolinkingAndroid",
"rncoreAutolinkingIos"
],
"hash": "640dc7bae8600211c170eb4049a8a0010f3097ca"
}
},
{
"op": "changed",
"beforeSource": {
"type": "dir",
"filePath": "ios",
"reasons": [
"bareNativeDir"
],
"hash": "e54eee6f8e64c685ca1a8a55d5443b8a1a78573e"
},
"afterSource": {
"type": "dir",
"filePath": "ios",
"reasons": [
"bareNativeDir"
],
"hash": "ea4bd2a02a4a739ae5dd44f6a60416616dde24c3"
}
}
]Generated by PR labeler 🤖 |
Kudo
left a comment
There was a problem hiding this comment.
such a smart idea to pass the additional "expo-modules-autolinking" to reduce the -- and process.argv.slice(1) change.
thanks for helping that!
|
Hi there! 👋 I'm a bot whose goal is to ensure your contributions meet our guidelines. I've found some issues in your pull request that should be addressed (click on them for more details) 👇
|
|
@lukmccall, @Kudo: I found some more scripts where this hasn't been aligned/switched over in |
| 'require(require.resolve(\'expo-modules-autolinking\', { paths: [\'' + __dir__ + '\'] }))(process.argv.slice(1))', | ||
| 'require(\'expo/bin/autolinking\')', | ||
| 'expo-modules-autolinking', |
There was a problem hiding this comment.
This changes behaviour. Technically, we'd like to just avoid the self-require here, for our monorepo. However, there's little point in this one script resolving from "itself" rather than re-entering expo while the Android side doesn't bother doing this
The self-require specifically fails with pnpm in our own monorepo
…template (#41383) # Why > [!NOTE] > Supersedes #41306. > This hides the template way in a CLI dev-only dependency, so it's not as publicly visible, since it's only meant for our own testing and monorepo. We're often making changes to local templates, e.g.: - #41264 - #39418 Since we don't have a concept of local templates, we then have to make sure to specify a local prebuild template manually. However, this seems pretty redundant because `expo-template-bare-minimum` is just a package and in the monorepo. Failing to apply template changes to prebuild CNG folders often causes build issues on `main` as we upgrade React Native. Applying the monorepo template automatically seems like a good idea, since we then automatically test against any template changes on `main`. # How - Add `packages/@expo/cli/local-template -> templates/expo-template-bare-minimum` symlink - Exclude `/local-template` symlink explicitly in CLI's `.npmignore` - Extend `resolveLocalTemplateAsync` to try to load from `@expo/cli/local-template` locally first This means in `expo/expo`, we'll now always look at the up-to-date `templates/expo-template-bare-minimum` contents, instead of `expo/template.tgz` # Test Plan - CI covers this behaviour # Checklist - [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) --------- Co-authored-by: Kudo Chien <kudo@expo.dev>
…template (#41383) # Why > [!NOTE] > Supersedes #41306. > This hides the template way in a CLI dev-only dependency, so it's not as publicly visible, since it's only meant for our own testing and monorepo. We're often making changes to local templates, e.g.: - #41264 - #39418 Since we don't have a concept of local templates, we then have to make sure to specify a local prebuild template manually. However, this seems pretty redundant because `expo-template-bare-minimum` is just a package and in the monorepo. Failing to apply template changes to prebuild CNG folders often causes build issues on `main` as we upgrade React Native. Applying the monorepo template automatically seems like a good idea, since we then automatically test against any template changes on `main`. # How - Add `packages/@expo/cli/local-template -> templates/expo-template-bare-minimum` symlink - Exclude `/local-template` symlink explicitly in CLI's `.npmignore` - Extend `resolveLocalTemplateAsync` to try to load from `@expo/cli/local-template` locally first This means in `expo/expo`, we'll now always look at the up-to-date `templates/expo-template-bare-minimum` contents, instead of `expo/template.tgz` # Test Plan - CI covers this behaviour # Checklist - [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) --------- Co-authored-by: Kudo Chien <kudo@expo.dev>
…tolinking` invocation in `Podfile` command (#41264) Effectively, this reverts #35661 but instead uses `expo/bin/autolinking` as a target for readability. A comment was added to denote this. Replace the invocation with: ```sh node --no-warnings --eval "require('expo/bin/autolinking')" expo-modules-autolinking ``` This resolves the target CLI directly without `npx` causing extra printing to `stdout` (in some affected v10 versions), and without performing extra installation, prompting, or resolution. This differs in what we had previously to target `expo/bin/autolinking` to avoid the double `require.resolve` invocation. The added `expo-modules-autolinking` argument is purely to shift `argv` and is arbitrary. The PR was actually not having an effect on Android since the command there has been moved to the Gradle plugin. I've aligned the command there to be the same as for iOS. I've omitted `--` since it's error-prone. It's not needed in this position, and can, under some circumstances, cause our flags to be ignored, so it's probably safer to leave out. - Manually invoked a local app iOS build with the command altered - E2E CI should cover this <!-- 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
Effectively, this reverts #35661 but instead uses
expo/bin/autolinkingas a target for readability. A comment was added to denote this.How
Replace the invocation with:
node --no-warnings --eval "require('expo/bin/autolinking')" expo-modules-autolinkingThis resolves the target CLI directly without
npxcausing extra printing tostdout(in some affected v10 versions), and without performing extra installation, prompting, or resolution.This differs in what we had previously to target
expo/bin/autolinkingto avoid the doublerequire.resolveinvocation.The added
expo-modules-autolinkingargument is purely to shiftargvand is arbitrary.The PR was actually not having an effect on Android since the command there has been moved to the Gradle plugin. I've aligned the command there to be the same as for iOS. I've omitted
--since it's error-prone. It's not needed in this position, and can, under some circumstances, cause our flags to be ignored, so it's probably safer to leave out.Test Plan
Checklist
changelog.mdentry and rebuilt the package sources according to this short guidenpx expo prebuild& EAS Build (eg: updated a module plugin).