Skip to content

Commit 5b217cb

Browse files
committed
refactor: use dynamic app name
1 parent 57f877f commit 5b217cb

3 files changed

Lines changed: 24 additions & 15 deletions

File tree

packages/react-native-brownfield/src/expo-config-plugin/android/utils/__tests__/androidManifest.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ describe('android manifest helpers', () => {
2626
it('returns an empty array when the generated app manifest does not exist', () => {
2727
const androidDir = createAndroidDir();
2828

29-
expect(readExpoUpdatesApplicationMetaData(androidDir)).toEqual([]);
29+
expect(readExpoUpdatesApplicationMetaData(androidDir, 'app')).toEqual([]);
3030
});
3131

3232
it('returns an empty array when the application node has no Expo Updates metadata', () => {
@@ -42,7 +42,7 @@ describe('android manifest helpers', () => {
4242
</manifest>`
4343
);
4444

45-
expect(readExpoUpdatesApplicationMetaData(androidDir)).toEqual([]);
45+
expect(readExpoUpdatesApplicationMetaData(androidDir, 'app')).toEqual([]);
4646
});
4747

4848
it('preserves Expo Updates metadata values exactly as they appear in the app manifest', () => {
@@ -105,7 +105,7 @@ describe('android manifest helpers', () => {
105105
</resources>`
106106
);
107107

108-
const stringResources = readExpoUpdatesStringResources(androidDir, [
108+
const stringResources = readExpoUpdatesStringResources(androidDir, 'app', [
109109
{
110110
name: 'expo.modules.updates.EXPO_RUNTIME_VERSION',
111111
value: '@string/expo_runtime_version',
@@ -202,7 +202,7 @@ describe('android manifest helpers', () => {
202202
},
203203
['expo_runtime_version']
204204
)
205-
).toEqual(readExpoUpdatesStringResources(androidDir, fileMetaData));
205+
).toEqual(readExpoUpdatesStringResources(androidDir, 'app', fileMetaData));
206206
});
207207

208208
it('supports android:resource entries in the typed manifest adapter', () => {

packages/react-native-brownfield/src/expo-config-plugin/android/utils/expo-updates.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,8 @@ import {
99
extractStringResourcesFromXml,
1010
} from './androidManifest';
1111

12-
const APP_MANIFEST_PATH_SEGMENTS = [
13-
'app',
14-
'src',
15-
'main',
16-
'AndroidManifest.xml',
17-
];
12+
const APP_MANIFEST_PATH_SEGMENTS = ['src', 'main', 'AndroidManifest.xml'];
1813
const APP_STRINGS_PATH_SEGMENTS = [
19-
'app',
2014
'src',
2115
'main',
2216
'res',
@@ -39,9 +33,14 @@ const EXPO_UPDATES_META_DATA_PREFIX = 'expo.modules.updates.';
3933

4034
/** Classification: Expo Updates-specific logic used by production code. */
4135
export function readExpoUpdatesApplicationMetaData(
42-
androidDir: string
36+
androidDir: string,
37+
appModuleName: string
4338
): AndroidManifestMetaDataEntry[] {
44-
const manifestPath = path.join(androidDir, ...APP_MANIFEST_PATH_SEGMENTS);
39+
const manifestPath = path.join(
40+
androidDir,
41+
appModuleName,
42+
...APP_MANIFEST_PATH_SEGMENTS
43+
);
4544

4645
if (!fs.existsSync(manifestPath)) {
4746
Logger.logDebug(
@@ -67,6 +66,7 @@ export function extractExpoUpdatesApplicationMetaData(
6766
/** Classification: Expo Updates-specific logic used by production code. */
6867
export function readExpoUpdatesStringResources(
6968
androidDir: string,
69+
appModuleName: string,
7070
metaDataEntries: AndroidManifestMetaDataEntry[]
7171
): AndroidStringResourceEntry[] {
7272
const stringResourceNames = getReferencedStringResourceNames(metaDataEntries);
@@ -75,7 +75,11 @@ export function readExpoUpdatesStringResources(
7575
return [];
7676
}
7777

78-
const stringsPath = path.join(androidDir, ...APP_STRINGS_PATH_SEGMENTS);
78+
const stringsPath = path.join(
79+
androidDir,
80+
appModuleName,
81+
...APP_STRINGS_PATH_SEGMENTS
82+
);
7983

8084
if (!fs.existsSync(stringsPath)) {
8185
Logger.logDebug(

packages/react-native-brownfield/src/expo-config-plugin/android/withAndroidModuleFiles.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,14 @@ export function syncAndroidModuleExpoUpdatesFromAppFiles({
222222
// results. This keeps Expo Updates sync compatible with the dangerous/finalized
223223
// mod phases, where other config plugins may already have rewritten the app
224224
// manifest or strings resources that we need to mirror into the library module.
225-
const expoUpdatesMetaData = readExpoUpdatesApplicationMetaData(androidDir);
225+
const appModuleName = config.android.moduleName;
226+
const expoUpdatesMetaData = readExpoUpdatesApplicationMetaData(
227+
androidDir,
228+
appModuleName
229+
);
226230
const expoUpdatesStringResources = readExpoUpdatesStringResources(
227231
androidDir,
232+
appModuleName,
228233
expoUpdatesMetaData
229234
);
230235

0 commit comments

Comments
 (0)