@callstack/react-native-brownfield 6.0.1 → 6.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/gradle-plugin/brownfield/build.gradle.kts +4 -0
  3. package/gradle-plugin/brownfield/gradle/libs.versions.toml +2 -0
  4. package/gradle-plugin/brownfield/gradle.properties +1 -1
  5. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNBrownfieldPlugin.kt +24 -7
  6. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +4 -37
  7. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/JNILibsProcessor.kt +206 -104
  8. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/ResourceTaskProcessor.kt +201 -4
  9. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantHelper.kt +7 -0
  10. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/processors/VariantTaskProvider.kt +4 -0
  11. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/GradleExclude.kt +31 -0
  12. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/MergeClassesTask.kt +2 -0
  13. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/shared/PublishingMetadataInjector.kt +28 -3
  14. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/Extension.kt +14 -1
  15. package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/utils/TaskOutputs.kt +40 -0
  16. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/plugin/AgpCompatibilityMatrixTest.kt +14 -6
  17. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/plugin/HardExcludePredicateTest.kt +28 -0
  18. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/ConfigureProcessJniTaskTest.kt +60 -0
  19. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/CopyExplodedResTaskTest.kt +368 -0
  20. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/JniLibsPlanTest.kt +252 -0
  21. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/MergeClassesLocalJarsTest.kt +73 -0
  22. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/MetroResDirWiringTest.kt +39 -0
  23. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/processors/ProcessAndCopyJniLibsTaskTest.kt +136 -0
  24. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/shared/GradleExcludesTest.kt +81 -0
  25. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/shared/PublishingMetadataInjectorTest.kt +56 -0
  26. package/gradle-plugin/brownfield/src/test/kotlin/com/callstack/react/brownfield/utils/ExtensionTest.kt +5 -0
  27. package/lib/commonjs/expo-config-plugin/android/utils/constants.js +1 -1
  28. package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
  29. package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
  30. package/lib/commonjs/expo-config-plugin/template/android/build.gradle.kts +1 -1
  31. package/lib/commonjs/index.js +1 -1
  32. package/lib/commonjs/index.js.map +1 -1
  33. package/lib/commonjs/scaffold/index.js +1 -1
  34. package/lib/commonjs/scaffold/index.js.map +1 -1
  35. package/lib/module/expo-config-plugin/android/utils/constants.js +1 -1
  36. package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
  37. package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
  38. package/lib/module/expo-config-plugin/template/android/build.gradle.kts +1 -1
  39. package/lib/module/index.js +1 -1
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/scaffold/index.js +1 -1
  42. package/lib/module/scaffold/index.js.map +1 -1
  43. package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
  44. package/lib/typescript/commonjs/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +6 -0
  46. package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
  47. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  48. package/lib/typescript/commonjs/src/scaffold/index.d.ts.map +1 -1
  49. package/lib/typescript/module/src/expo-config-plugin/android/utils/constants.d.ts +2 -2
  50. package/lib/typescript/module/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
  51. package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +6 -0
  52. package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
  53. package/lib/typescript/module/src/index.d.ts.map +1 -1
  54. package/lib/typescript/module/src/scaffold/index.d.ts.map +1 -1
  55. package/package.json +2 -2
  56. package/src/expo-config-plugin/android/utils/constants.ts +1 -1
  57. package/src/expo-config-plugin/android/withAndroidModuleFiles.ts +42 -0
  58. package/src/expo-config-plugin/template/android/build.gradle.kts +1 -1
  59. package/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts +7 -0
  60. package/src/index.ts +4 -2
  61. package/src/scaffold/index.ts +1 -0
@@ -0,0 +1,73 @@
1
+ package com.callstack.react.brownfield.processors
2
+
3
+ import com.callstack.react.brownfield.shared.ExplodeAarTask
4
+ import com.callstack.react.brownfield.shared.UnresolvedArtifactInfo
5
+ import com.callstack.react.brownfield.utils.AndroidArchiveLibrary
6
+ import com.callstack.react.brownfield.utils.DirectoryManager
7
+ import org.gradle.testfixtures.ProjectBuilder
8
+ import org.junit.jupiter.api.Test
9
+ import org.junit.jupiter.api.io.TempDir
10
+ import java.io.File
11
+ import java.util.zip.ZipEntry
12
+ import java.util.zip.ZipOutputStream
13
+ import kotlin.test.assertTrue
14
+
15
+ /**
16
+ * A library that ships `implementation files("libs/some.jar")` has that jar in its exploded AAR's
17
+ * `libs/`. Its classes must be merged with the library's own `classes.jar` (#489).
18
+ */
19
+ class MergeClassesLocalJarsTest {
20
+ @TempDir
21
+ lateinit var tempDir: File
22
+
23
+ @Test
24
+ fun `merges classes from a library's local jars`() {
25
+ val project = ProjectBuilder.builder().withProjectDir(tempDir).build()
26
+ DirectoryManager.project = project
27
+
28
+ val variantName = "release"
29
+ val library =
30
+ AndroidArchiveLibrary(
31
+ project,
32
+ UnresolvedArtifactInfo("RNApp", "react-native-aar-repro", "unspecified", null, false),
33
+ variantName,
34
+ )
35
+ val explodeTask = project.tasks.register("explodeTest", ExplodeAarTask::class.java)
36
+ val mergeTask = VariantTaskProvider(project).mergeClasses(listOf(library), explodeTask, variantName).get()
37
+
38
+ // Exploded after the task is configured, as on a clean build.
39
+ library.getExplodedAarRootDir().mkdirs()
40
+ writeJar(library.getClassesJarFile(), "com/aarrepro/AarReproPackage.class")
41
+ writeJar(
42
+ File(library.getLibsDir(), "aar-repro.jar"),
43
+ "com/aarrepro/jar/AarReproJarClass.class",
44
+ "module-info.class",
45
+ )
46
+
47
+ mergeTask.run()
48
+
49
+ val merged = mergeTask.outputDir.get().asFile
50
+ assertTrue(File(merged, "com/aarrepro/AarReproPackage.class").exists(), "classes.jar was not merged")
51
+ assertTrue(
52
+ File(merged, "com/aarrepro/jar/AarReproJarClass.class").exists(),
53
+ "classes from libs/aar-repro.jar were not merged",
54
+ )
55
+ val javacDir = File(tempDir, "build/intermediates/javac/release/compileReleaseJavaWithJavac/classes")
56
+ assertTrue(File(javacDir, "com/aarrepro/jar/AarReproJarClass.class").exists(), "jar classes are not compiled into the AAR")
57
+ assertTrue(!File(javacDir, "module-info.class").exists(), "a jar's module-info.class ended up in the AAR")
58
+ }
59
+
60
+ private fun writeJar(
61
+ jar: File,
62
+ vararg entries: String,
63
+ ) {
64
+ jar.parentFile.mkdirs()
65
+ ZipOutputStream(jar.outputStream()).use { zip ->
66
+ entries.forEach { entry ->
67
+ zip.putNextEntry(ZipEntry(entry))
68
+ zip.write(byteArrayOf(0xCA.toByte(), 0xFE.toByte(), 0xBA.toByte(), 0xBE.toByte()))
69
+ zip.closeEntry()
70
+ }
71
+ }
72
+ }
73
+ }
@@ -0,0 +1,39 @@
1
+ package com.callstack.react.brownfield.processors
2
+
3
+ import org.gradle.api.DefaultTask
4
+ import org.gradle.api.file.DirectoryProperty
5
+ import org.gradle.api.tasks.OutputDirectory
6
+ import org.gradle.testfixtures.ProjectBuilder
7
+ import org.junit.jupiter.api.Test
8
+ import org.junit.jupiter.api.io.TempDir
9
+ import java.io.File
10
+ import kotlin.test.assertEquals
11
+ import kotlin.test.assertTrue
12
+
13
+ abstract class FakeBundleTask : DefaultTask() {
14
+ @get:OutputDirectory
15
+ abstract val resourcesDir: DirectoryProperty
16
+ }
17
+
18
+ class MetroResDirWiringTest {
19
+ @TempDir
20
+ lateinit var tempDir: File
21
+
22
+ @Test
23
+ fun `treats Metro's res output as the module's own and runs after the bundle`() {
24
+ val root = ProjectBuilder.builder().withProjectDir(tempDir).build()
25
+ val app = ProjectBuilder.builder().withName("app").withParent(root).build()
26
+ val lib = ProjectBuilder.builder().withName("BrownfieldLib").withParent(root).build()
27
+ val metroDir = File(tempDir, "app/build/generated/res/react/release")
28
+ val bundle =
29
+ app.tasks.register("createBundleReleaseJsAndAssets", FakeBundleTask::class.java) {
30
+ it.resourcesDir.set(metroDir)
31
+ }
32
+ val copy = lib.tasks.register("copyExplodedResForRelease", CopyExplodedResTask::class.java).get()
33
+
34
+ wireMetroResDir(copy, app, "createBundleReleaseJsAndAssets")
35
+
36
+ assertEquals(setOf(metroDir), copy.moduleResDirs.files)
37
+ assertTrue(bundle.get() in copy.taskDependencies.getDependencies(copy))
38
+ }
39
+ }
@@ -0,0 +1,136 @@
1
+ package com.callstack.react.brownfield.processors
2
+
3
+ import org.gradle.api.tasks.InputDirectory
4
+ import org.gradle.api.tasks.InputFiles
5
+ import org.gradle.api.tasks.Optional
6
+ import org.gradle.testfixtures.ProjectBuilder
7
+ import org.junit.jupiter.api.Test
8
+ import org.junit.jupiter.api.io.TempDir
9
+ import java.io.File
10
+ import kotlin.test.assertEquals
11
+ import kotlin.test.assertFalse
12
+ import kotlin.test.assertTrue
13
+
14
+ class ProcessAndCopyJniLibsTaskTest {
15
+ @TempDir
16
+ lateinit var tempDir: File
17
+
18
+ private val out by lazy { File(tempDir, "out") }
19
+ private val report by lazy { File(tempDir, "reports/skipped-so.txt") }
20
+
21
+ private fun so(
22
+ root: File,
23
+ abi: String,
24
+ name: String,
25
+ content: String = name,
26
+ ): File =
27
+ File(root, "$abi/$name").apply {
28
+ parentFile.mkdirs()
29
+ writeText(content)
30
+ }
31
+
32
+ private fun runTask(
33
+ aars: List<File>,
34
+ appDir: File,
35
+ extraIgnored: List<String> = emptyList(),
36
+ dynamic: List<String> = emptyList(),
37
+ ) {
38
+ val project = ProjectBuilder.builder().withProjectDir(File(tempDir, "project")).build()
39
+ val task = project.tasks.register("processJniForTest", ProcessAndCopyJniLibsTask::class.java).get()
40
+ task.aarJniDirs.setFrom(aars)
41
+ task.appNativeLibsDir.set(appDir)
42
+ task.extraIgnoredLibs.set(extraIgnored)
43
+ task.dynamicLibs.set(dynamic)
44
+ task.outputDirectory.set(out)
45
+ task.skippedReportFile.set(report)
46
+ task.execute()
47
+ }
48
+
49
+ private fun outFiles(): Set<String> = out.walkTopDown().filter { it.isFile }.map { it.relativeTo(out).invariantSeparatorsPath }.toSet()
50
+
51
+ @Test
52
+ fun `copies the plan and clears stale output`() {
53
+ so(out, "arm64-v8a", "libold.so")
54
+ val app = File(tempDir, "app")
55
+ val aar = File(tempDir, "aar")
56
+ so(app, "arm64-v8a", "libappmodules.so", "app-bytes")
57
+ val aarLib = so(aar, "arm64-v8a", "libfoo.so", "aar-bytes")
58
+
59
+ runTask(listOf(aar), app)
60
+
61
+ assertEquals(setOf("arm64-v8a/libappmodules.so", "arm64-v8a/libfoo.so"), outFiles())
62
+ assertEquals("app-bytes", File(out, "arm64-v8a/libappmodules.so").readText())
63
+ assertEquals("aar-bytes", File(out, "arm64-v8a/libfoo.so").readText())
64
+ assertTrue(aarLib.exists(), "inputs must not be modified")
65
+ }
66
+
67
+ @Test
68
+ fun `works when the app dir does not exist`() {
69
+ val aar = File(tempDir, "aar")
70
+ so(aar, "arm64-v8a", "libfoo.so")
71
+
72
+ runTask(listOf(aar), File(tempDir, "missing"))
73
+
74
+ assertEquals(setOf("arm64-v8a/libfoo.so"), outFiles())
75
+ }
76
+
77
+ @Test
78
+ fun `writes the skipped report`() {
79
+ val app = File(tempDir, "app")
80
+ val aar = File(tempDir, "aar")
81
+ so(app, "arm64-v8a", "libQmBlur.so")
82
+ so(aar, "arm64-v8a", "libreactnative.so")
83
+
84
+ runTask(listOf(aar), app)
85
+
86
+ val lines = report.readLines()
87
+ val expectedFirst = skippedSummary(planJniLibs(listOf(aar), app, IGNORE_EMBEDDED_LIBS, emptyList()), null)
88
+ assertEquals(expectedFirst, lines.first())
89
+ assertTrue("libQmBlur.so: NOT_EMBEDDED" in lines, lines.toString())
90
+ assertTrue("libreactnative.so: IGNORED" in lines, lines.toString())
91
+ }
92
+
93
+ @Test
94
+ fun `writes the skipped report when nothing is skipped`() {
95
+ val app = File(tempDir, "app")
96
+ so(app, "arm64-v8a", "libappmodules.so")
97
+
98
+ runTask(emptyList(), app)
99
+
100
+ assertEquals(listOf("No .so files were left out."), report.readLines())
101
+ }
102
+
103
+ @Test
104
+ fun `applies ignoreEmbeddedLibs and dynamicLibs`() {
105
+ val app = File(tempDir, "app")
106
+ val aar = File(tempDir, "aar")
107
+ so(app, "arm64-v8a", "libmmkv.so")
108
+ so(aar, "arm64-v8a", "libdatadog-ndk.so")
109
+ so(aar, "arm64-v8a", "libfoo.so")
110
+
111
+ runTask(listOf(aar), app, extraIgnored = listOf("libdatadog"), dynamic = listOf("libmmkv.so"))
112
+
113
+ assertEquals(setOf("arm64-v8a/libmmkv.so", "arm64-v8a/libfoo.so"), outFiles())
114
+ assertTrue("libdatadog-ndk.so: IGNORED" in report.readLines())
115
+ }
116
+
117
+ @Test
118
+ fun `app dir is not declared as an InputDirectory`() {
119
+ val getter = ProcessAndCopyJniLibsTask::class.java.getMethod("getAppNativeLibsDir")
120
+
121
+ assertTrue(getter.isAnnotationPresent(InputFiles::class.java))
122
+ assertTrue(getter.isAnnotationPresent(Optional::class.java))
123
+ assertFalse(getter.isAnnotationPresent(InputDirectory::class.java))
124
+ }
125
+
126
+ @Test
127
+ fun `runs after the task that unpacks the embedded AARs`() {
128
+ val project = ProjectBuilder.builder().withProjectDir(File(tempDir, "project")).build()
129
+ val explode = project.tasks.register("explodeDebugAar")
130
+ val task = project.tasks.register("processJniForTest", ProcessAndCopyJniLibsTask::class.java).get()
131
+
132
+ wireAarJniDirs(task, listOf(File(tempDir, "exploded/jni")), explode)
133
+
134
+ assertTrue(explode.get() in task.taskDependencies.getDependencies(task))
135
+ }
136
+ }
@@ -0,0 +1,81 @@
1
+ package com.callstack.react.brownfield.shared
2
+
3
+ import org.gradle.api.Project
4
+ import org.gradle.testfixtures.ProjectBuilder
5
+ import org.junit.jupiter.api.Test
6
+ import org.junit.jupiter.api.io.TempDir
7
+ import java.io.File
8
+ import kotlin.test.assertFalse
9
+ import kotlin.test.assertTrue
10
+
11
+ class GradleExcludesTest {
12
+ @TempDir
13
+ lateinit var tempDir: File
14
+
15
+ private fun project(
16
+ name: String,
17
+ vararg configNames: String,
18
+ ): Project =
19
+ ProjectBuilder.builder().withName(name).withProjectDir(File(tempDir, name)).build().also { project ->
20
+ configNames.forEach { project.configurations.create(it) }
21
+ }
22
+
23
+ private fun Project.excludeEverywhere(
24
+ group: String,
25
+ module: String? = null,
26
+ ) = configurations.all { config ->
27
+ config.exclude(listOfNotNull("group" to group, module?.let { "module" to it }).toMap())
28
+ }
29
+
30
+ private fun excluded(
31
+ project: Project,
32
+ groupId: String,
33
+ artifactId: String,
34
+ ) = gradleExcludes(project).any { it.matches(groupId, artifactId) }
35
+
36
+ @Test
37
+ fun `honors an exclude declared on every configuration`() {
38
+ val lib = project("lib", "implementation", "releaseRuntimeClasspath")
39
+ lib.excludeEverywhere("com.caverock", "androidsvg")
40
+
41
+ assertTrue(excluded(lib, "com.caverock", "androidsvg"))
42
+ assertFalse(excluded(lib, "com.caverock", "androidsvg-aar"))
43
+ }
44
+
45
+ @Test
46
+ fun `a group-only exclude matches every module of the group`() {
47
+ val lib = project("lib", "api")
48
+ lib.excludeEverywhere("com.caverock")
49
+
50
+ assertTrue(excluded(lib, "com.caverock", "androidsvg-aar"))
51
+ }
52
+
53
+ @Test
54
+ fun `ignores a variant-specific exclude`() {
55
+ val lib = project("lib", "implementation", "debugRuntimeClasspath")
56
+ lib.configurations.getByName("debugRuntimeClasspath").exclude(mapOf("group" to "com.caverock"))
57
+
58
+ assertFalse(excluded(lib, "com.caverock", "androidsvg"))
59
+ }
60
+
61
+ @Test
62
+ fun `honors an exclude on a single runtime configuration`() {
63
+ val lib = project("lib", "embed")
64
+ lib.configurations.getByName("embed").exclude(mapOf("group" to "com.caverock", "module" to "androidsvg"))
65
+
66
+ assertTrue(excluded(lib, "com.caverock", "androidsvg"))
67
+ }
68
+
69
+ @Test
70
+ fun `ignores configurations that do not feed the runtime`() {
71
+ val lib = project("lib", "implementation", "detekt")
72
+ lib.configurations.getByName("detekt").exclude(mapOf("group" to "org.jetbrains.kotlin"))
73
+
74
+ assertFalse(excluded(lib, "org.jetbrains.kotlin", "kotlin-stdlib"))
75
+ }
76
+
77
+ @Test
78
+ fun `matches nothing without excludes`() {
79
+ assertFalse(excluded(project("lib", "implementation"), "com.caverock", "androidsvg"))
80
+ }
81
+ }
@@ -163,6 +163,36 @@ class MutatePomDependenciesNodeTest {
163
163
 
164
164
  assertEquals(listOf("1.7.1"), versionsFor(dependenciesNode, "androidx.appcompat", "appcompat"))
165
165
  }
166
+
167
+ @Test
168
+ fun `writes the brownfield module's excludes onto every injected dependency`() {
169
+ val dependenciesNode = dependenciesNodeFrom("<project><dependencies/></project>")
170
+ val toInject = VersionMediatingDependencySet()
171
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
172
+ val excludes = listOf(GradleExclude("com.caverock", "androidsvg"), GradleExclude("com.legacy", null))
173
+
174
+ mutatePomDependenciesNode(dependenciesNode, toInject, excludes) { _, _ -> false }
175
+
176
+ val dependency = dependenciesNode.children().filterIsInstance<groovy.util.Node>().single()
177
+ val exclusions =
178
+ ((dependency["exclusions"] as NodeList).single() as groovy.util.Node).children().filterIsInstance<groovy.util.Node>()
179
+ assertEquals(
180
+ listOf("com.caverock" to "androidsvg", "com.legacy" to "*"),
181
+ exclusions.map { (it["groupId"] as NodeList).text() to (it["artifactId"] as NodeList).text() },
182
+ )
183
+ }
184
+
185
+ @Test
186
+ fun `writes no exclusions element without excludes`() {
187
+ val dependenciesNode = dependenciesNodeFrom("<project><dependencies/></project>")
188
+ val toInject = VersionMediatingDependencySet()
189
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
190
+
191
+ mutatePomDependenciesNode(dependenciesNode, toInject) { _, _ -> false }
192
+
193
+ val dependency = dependenciesNode.children().filterIsInstance<groovy.util.Node>().single()
194
+ assertTrue((dependency["exclusions"] as NodeList).isEmpty())
195
+ }
166
196
  }
167
197
 
168
198
  class MutateModuleJsonVariantsTest {
@@ -219,4 +249,30 @@ class MutateModuleJsonVariantsTest {
219
249
  val version = (deps.first()["version"] as? Map<String, Any>)?.get("requires")
220
250
  assertEquals("1.7.1", version)
221
251
  }
252
+
253
+ @Test
254
+ fun `writes the brownfield module's excludes onto every injected dependency`() {
255
+ val json = jsonWithVariant(mutableListOf())
256
+ val toInject = VersionMediatingDependencySet()
257
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
258
+ val excludes = listOf(GradleExclude("com.caverock", "androidsvg"), GradleExclude("com.legacy", null))
259
+
260
+ mutateModuleJsonVariants(json, toInject, excludes) { _, _ -> false }
261
+
262
+ assertEquals(
263
+ listOf(mapOf("group" to "com.caverock", "module" to "androidsvg"), mapOf("group" to "com.legacy", "module" to "*")),
264
+ dependenciesOf(json).single()["excludes"],
265
+ )
266
+ }
267
+
268
+ @Test
269
+ fun `writes no excludes field without excludes`() {
270
+ val json = jsonWithVariant(mutableListOf())
271
+ val toInject = VersionMediatingDependencySet()
272
+ toInject.add(DependencyInfo("com.foo", "charts", "1.0", "compile", false))
273
+
274
+ mutateModuleJsonVariants(json, toInject) { _, _ -> false }
275
+
276
+ assertNull(dependenciesOf(json).single()["excludes"])
277
+ }
222
278
  }
@@ -8,4 +8,9 @@ class ExtensionTest {
8
8
  fun `experimentalIncludeTransitiveDependencies defaults to true`() {
9
9
  assertTrue(Extension().experimentalIncludeTransitiveDependencies)
10
10
  }
11
+
12
+ @Test
13
+ fun `dynamicLibs defaults to an empty list`() {
14
+ assertTrue(Extension().dynamicLibs.isEmpty())
15
+ }
11
16
  }
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,"__esModule",{value:true});exports.brownfieldGradlePluginDependency=exports.BROWNFIELD_PLUGIN_VERSION=void 0;var BROWNFIELD_PLUGIN_VERSION=exports.BROWNFIELD_PLUGIN_VERSION='2.0.0-alpha11';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
1
+ Object.defineProperty(exports,"__esModule",{value:true});exports.brownfieldGradlePluginDependency=exports.BROWNFIELD_PLUGIN_VERSION=void 0;var BROWNFIELD_PLUGIN_VERSION=exports.BROWNFIELD_PLUGIN_VERSION='2.0.0-alpha14';var brownfieldGradlePluginDependency=exports.brownfieldGradlePluginDependency=`classpath("com.callstack.react:brownfield-gradle-plugin:${BROWNFIELD_PLUGIN_VERSION}")`;
2
2
  //# sourceMappingURL=constants.js.map
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=void 0;exports.createAndroidModule=createAndroidModule;exports.renderTargetSdkBlock=renderTargetSdkBlock;exports.resolveCompileSdkVersionExpression=resolveCompileSdkVersionExpression;exports.resolveTargetSdkVersionExpression=resolveTargetSdkVersionExpression;exports.syncAndroidModuleExpoUpdatesFromAppFiles=syncAndroidModuleExpoUpdatesFromAppFiles;exports.syncAndroidModuleManifest=syncAndroidModuleManifest;exports.syncAndroidModuleStringResources=syncAndroidModuleStringResources;exports.withAndroidModuleFiles=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var fs=_interopRequireWildcard(require("node:fs"));var path=_interopRequireWildcard(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _engine=require("../template/engine");var _expoUtils=require("../expoUtils");var _androidManifest=require("./utils/androidManifest");var _expoUpdates=require("./utils/expo-updates");var _hermes=require("./utils/hermes");var _formatHelpers=require("./utils/formatHelpers");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=58;function renderMissingDimensionStrategyBlock(missingDimensionStrategies){if(missingDimensionStrategies.length<2){return'';}var args=(0,_formatHelpers.formatMissingDimensionStrategies)(missingDimensionStrategies);return` missingDimensionStrategy(${args})`;}function resolveCompileSdkVersionExpression(config){if(config.android.compileSdkVersion!=null){return config.android.compileSdkVersion.toString();}return'resolveRootProjectInt("compileSdkVersion")';}function resolveTargetSdkVersionExpression(config){if(config.android.targetSdkVersion!=null){return config.android.targetSdkVersion.toString();}return'resolveRootProjectInt("targetSdkVersion")';}function renderTargetSdkBlock(config,expoMajor){var templateVariant=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'expo';if(templateVariant==='vanilla'){return'';}if(expoMajor!==undefined&&expoMajor>=EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR){return'';}return`\n targetSdk = ${resolveTargetSdkVersionExpression(config)}`;}function createAndroidModule(_ref){var _minifyEnabled,_extraProguardRules;var androidDir=_ref.androidDir,config=_ref.config,rnVersion=_ref.rnVersion,projectRoot=_ref.projectRoot,expoMajor=_ref.expoMajor,_ref$templateVariant=_ref.templateVariant,templateVariant=_ref$templateVariant===void 0?'expo':_ref$templateVariant;var android=config.android;var moduleDir=path.join(androidDir,android.moduleName);_logging.Logger.logDebug(`Creating Android module in: ${androidDir}`);var hermesArtifact=(0,_hermes.getHermesArtifact)(rnVersion,projectRoot);var compileSdkVersionExpression=resolveCompileSdkVersionExpression(config);var targetSdkBlock=renderTargetSdkBlock(config,expoMajor,templateVariant);var minifyEnabled=(_minifyEnabled=android.minifyEnabled)!=null?_minifyEnabled:false;var extraProguardRules=(_extraProguardRules=android.extraProguardRules)!=null?_extraProguardRules:[];var extraProguardRulesText=extraProguardRules.join('\n');_logging.Logger.logDebug(`Resolved Hermes artifact: ${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`);var missingDimensionStrategiesList=(0,_formatHelpers.formatMissingDimensionStrategies)(android.missingDimensionStrategies);var missingDimensionStrategyBlock=renderMissingDimensionStrategyBlock(android.missingDimensionStrategies);var files=[{relativePath:'build.gradle.kts',content:(0,_engine.renderTemplate)('android','build.gradle.kts',{'{{PACKAGE_NAME}}':android.packageName,'{{MIN_SDK_VERSION}}':android.minSdkVersion.toString(),'{{TARGET_SDK_BLOCK}}':targetSdkBlock,'{{COMPILE_SDK_VERSION}}':compileSdkVersionExpression,'{{GROUP_ID}}':android.groupId,'{{ARTIFACT_ID}}':android.artifactId,'{{ARTIFACT_VERSION}}':android.version,'{{RN_VERSION}}':rnVersion,'{{HERMES_ARTIFACT}}':`${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`,'{{IS_MINIFY_ENABLED}}':minifyEnabled.toString(),'{{MISSING_DIMENSION_STRATEGIES}}':missingDimensionStrategiesList,'{{MISSING_DIMENSION_STRATEGY_BLOCK}}':missingDimensionStrategyBlock})},{relativePath:'gradle.properties',content:(0,_engine.renderTemplate)('android','gradle.properties',{})},{relativePath:`src/main/java/${config.android.packageName.replace(/\./g,'/')}/ReactNativeHostManager.kt`,content:(0,_engine.renderTemplate)('android',templateVariant==='vanilla'?'ReactNativeHostManager.vanilla.kt':'ReactNativeHostManager.post55.kt',{'{{PACKAGE_NAME}}':android.packageName})},{relativePath:'consumer-rules.pro',content:(0,_engine.renderTemplate)('android','consumer-rules.pro',{})},{relativePath:'proguard-rules.pro',content:(0,_engine.renderTemplate)('android','proguard-rules.pro',{'{{PACKAGE_NAME}}':android.packageName,'{{EXTRA_PROGUARD_RULES}}':extraProguardRulesText})}];for(var file of files){var filePath=path.join(moduleDir,file.relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,file.content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}syncAndroidModuleExpoUpdatesFromAppFiles({androidDir:androidDir,config:config});_logging.Logger.logDebug(`Android module "${android.moduleName}" created at ${moduleDir}`);}function syncAndroidModuleManifest(_ref2){var androidDir=_ref2.androidDir,config=_ref2.config,expoUpdatesMetaData=_ref2.expoUpdatesMetaData;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/AndroidManifest.xml',(0,_engine.renderTemplate)('android','AndroidManifest.xml',{'{{APPLICATION_BLOCK}}':(0,_androidManifest.renderLibraryManifestApplication)(expoUpdatesMetaData)}));}function syncAndroidModuleStringResources(_ref3){var androidDir=_ref3.androidDir,config=_ref3.config,expoUpdatesStringResources=_ref3.expoUpdatesStringResources;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/res/values/strings.xml',(0,_engine.renderTemplate)('android','strings.xml',{'{{STRING_RESOURCES}}':(0,_androidManifest.renderLibraryStringResources)(expoUpdatesStringResources)}));}function writeAndroidModuleFile(moduleDir,relativePath,content){var filePath=path.join(moduleDir,relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}function syncAndroidModuleExpoUpdatesFromAppFiles(_ref4){var androidDir=_ref4.androidDir,config=_ref4.config;var appModuleName='app';var expoUpdatesMetaData=(0,_expoUpdates.readExpoUpdatesApplicationMetaData)(androidDir,appModuleName);var expoUpdatesStringResources=(0,_expoUpdates.readExpoUpdatesStringResources)(androidDir,appModuleName,expoUpdatesMetaData);syncAndroidModuleManifest({androidDir:androidDir,config:config,expoUpdatesMetaData:expoUpdatesMetaData});syncAndroidModuleStringResources({androidDir:androidDir,config:config,expoUpdatesStringResources:expoUpdatesStringResources});}var withAndroidModuleFiles=exports.withAndroidModuleFiles=function withAndroidModuleFiles(config,props){return(0,_configPlugins.withDangerousMod)(config,['android',(function(){var _ref5=(0,_asyncToGenerator2.default)(function*(dangerousConfig){var androidDir=path.join(dangerousConfig.modRequest.projectRoot,'android');var rnVersion;try{var rnPkgPath=require.resolve('react-native/package.json',{paths:[dangerousConfig.modRequest.projectRoot]});var rnPkg=require(rnPkgPath);rnVersion=rnPkg.version;_logging.Logger.logDebug(`Resolved react-native version: ${rnVersion}`);}catch(_unused){throw new Error('Could not resolve react-native package version. Please ensure you have installed dependencies.');}createAndroidModule({androidDir:androidDir,config:props,rnVersion:rnVersion,projectRoot:dangerousConfig.modRequest.projectRoot,expoMajor:(0,_expoUtils.getExpoInfo)(dangerousConfig).expoMajor});return dangerousConfig;});return function(_x){return _ref5.apply(this,arguments);};}())]);};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=void 0;exports.createAndroidModule=createAndroidModule;exports.renderTargetSdkBlock=renderTargetSdkBlock;exports.resolveCompileSdkVersionExpression=resolveCompileSdkVersionExpression;exports.resolveTargetSdkVersionExpression=resolveTargetSdkVersionExpression;exports.syncAndroidModuleExpoUpdatesFromAppFiles=syncAndroidModuleExpoUpdatesFromAppFiles;exports.syncAndroidModuleManifest=syncAndroidModuleManifest;exports.syncAndroidModuleStringResources=syncAndroidModuleStringResources;exports.withAndroidModuleFiles=void 0;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var fs=_interopRequireWildcard(require("node:fs"));var path=_interopRequireWildcard(require("node:path"));var _configPlugins=require("@expo/config-plugins");var _logging=require("../logging");var _engine=require("../template/engine");var _expoUtils=require("../expoUtils");var _androidManifest=require("./utils/androidManifest");var _expoUpdates=require("./utils/expo-updates");var _hermes=require("./utils/hermes");var _formatHelpers=require("./utils/formatHelpers");function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap(),n=new WeakMap();return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f={__proto__:null,default:e};if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f);}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f;})(e,t);}var EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=exports.EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR=58;function renderMissingDimensionStrategyBlock(missingDimensionStrategies){if(missingDimensionStrategies.length<2){return'';}var args=(0,_formatHelpers.formatMissingDimensionStrategies)(missingDimensionStrategies);return` missingDimensionStrategy(${args})`;}var COORDINATE_PART=/^[A-Za-z0-9._-]+$/;function renderExcludeDependenciesBlock(excludeDependencies){if(!Array.isArray(excludeDependencies)){throw new Error('android.excludeDependencies must be a list of "group:module" or "group" strings.');}if(excludeDependencies.length===0){return'';}var lines=excludeDependencies.map(function(entry){var parts=entry.split(':');if(parts.length>2||!parts.every(function(part){return COORDINATE_PART.test(part);})){throw new Error(`android.excludeDependencies: '${entry}' is not in the form "group:module" or "group".`);}var _parts=(0,_slicedToArray2.default)(parts,2),group=_parts[0],module=_parts[1];return module?` exclude(group = "${group}", module = "${module}")`:` exclude(group = "${group}")`;});return`configurations.all {\n${lines.join('\n')}\n}\n\n`;}function resolveCompileSdkVersionExpression(config){if(config.android.compileSdkVersion!=null){return config.android.compileSdkVersion.toString();}return'resolveRootProjectInt("compileSdkVersion")';}function resolveTargetSdkVersionExpression(config){if(config.android.targetSdkVersion!=null){return config.android.targetSdkVersion.toString();}return'resolveRootProjectInt("targetSdkVersion")';}function renderTargetSdkBlock(config,expoMajor){var templateVariant=arguments.length>2&&arguments[2]!==undefined?arguments[2]:'expo';if(templateVariant==='vanilla'){return'';}if(expoMajor!==undefined&&expoMajor>=EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR){return'';}return`\n targetSdk = ${resolveTargetSdkVersionExpression(config)}`;}function createAndroidModule(_ref){var _minifyEnabled,_extraProguardRules;var androidDir=_ref.androidDir,config=_ref.config,rnVersion=_ref.rnVersion,projectRoot=_ref.projectRoot,expoMajor=_ref.expoMajor,_ref$templateVariant=_ref.templateVariant,templateVariant=_ref$templateVariant===void 0?'expo':_ref$templateVariant;var android=config.android;var moduleDir=path.join(androidDir,android.moduleName);_logging.Logger.logDebug(`Creating Android module in: ${androidDir}`);var hermesArtifact=(0,_hermes.getHermesArtifact)(rnVersion,projectRoot);var compileSdkVersionExpression=resolveCompileSdkVersionExpression(config);var targetSdkBlock=renderTargetSdkBlock(config,expoMajor,templateVariant);var minifyEnabled=(_minifyEnabled=android.minifyEnabled)!=null?_minifyEnabled:false;var extraProguardRules=(_extraProguardRules=android.extraProguardRules)!=null?_extraProguardRules:[];var extraProguardRulesText=extraProguardRules.join('\n');_logging.Logger.logDebug(`Resolved Hermes artifact: ${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`);var missingDimensionStrategiesList=(0,_formatHelpers.formatMissingDimensionStrategies)(android.missingDimensionStrategies);var missingDimensionStrategyBlock=renderMissingDimensionStrategyBlock(android.missingDimensionStrategies);var excludeDependenciesBlock=renderExcludeDependenciesBlock(android.excludeDependencies);var files=[{relativePath:'build.gradle.kts',content:(0,_engine.renderTemplate)('android','build.gradle.kts',{'{{PACKAGE_NAME}}':android.packageName,'{{MIN_SDK_VERSION}}':android.minSdkVersion.toString(),'{{TARGET_SDK_BLOCK}}':targetSdkBlock,'{{COMPILE_SDK_VERSION}}':compileSdkVersionExpression,'{{GROUP_ID}}':android.groupId,'{{ARTIFACT_ID}}':android.artifactId,'{{ARTIFACT_VERSION}}':android.version,'{{RN_VERSION}}':rnVersion,'{{HERMES_ARTIFACT}}':`${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`,'{{IS_MINIFY_ENABLED}}':minifyEnabled.toString(),'{{MISSING_DIMENSION_STRATEGIES}}':missingDimensionStrategiesList,'{{MISSING_DIMENSION_STRATEGY_BLOCK}}':missingDimensionStrategyBlock,'{{EXCLUDE_DEPENDENCIES_BLOCK}}':excludeDependenciesBlock})},{relativePath:'gradle.properties',content:(0,_engine.renderTemplate)('android','gradle.properties',{})},{relativePath:`src/main/java/${config.android.packageName.replace(/\./g,'/')}/ReactNativeHostManager.kt`,content:(0,_engine.renderTemplate)('android',templateVariant==='vanilla'?'ReactNativeHostManager.vanilla.kt':'ReactNativeHostManager.post55.kt',{'{{PACKAGE_NAME}}':android.packageName})},{relativePath:'consumer-rules.pro',content:(0,_engine.renderTemplate)('android','consumer-rules.pro',{})},{relativePath:'proguard-rules.pro',content:(0,_engine.renderTemplate)('android','proguard-rules.pro',{'{{PACKAGE_NAME}}':android.packageName,'{{EXTRA_PROGUARD_RULES}}':extraProguardRulesText})}];for(var file of files){var filePath=path.join(moduleDir,file.relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,file.content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}syncAndroidModuleExpoUpdatesFromAppFiles({androidDir:androidDir,config:config});_logging.Logger.logDebug(`Android module "${android.moduleName}" created at ${moduleDir}`);}function syncAndroidModuleManifest(_ref2){var androidDir=_ref2.androidDir,config=_ref2.config,expoUpdatesMetaData=_ref2.expoUpdatesMetaData;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/AndroidManifest.xml',(0,_engine.renderTemplate)('android','AndroidManifest.xml',{'{{APPLICATION_BLOCK}}':(0,_androidManifest.renderLibraryManifestApplication)(expoUpdatesMetaData)}));}function syncAndroidModuleStringResources(_ref3){var androidDir=_ref3.androidDir,config=_ref3.config,expoUpdatesStringResources=_ref3.expoUpdatesStringResources;writeAndroidModuleFile(path.join(androidDir,config.android.moduleName),'src/main/res/values/strings.xml',(0,_engine.renderTemplate)('android','strings.xml',{'{{STRING_RESOURCES}}':(0,_androidManifest.renderLibraryStringResources)(expoUpdatesStringResources)}));}function writeAndroidModuleFile(moduleDir,relativePath,content){var filePath=path.join(moduleDir,relativePath);var fileDir=path.dirname(filePath);if(!fs.existsSync(fileDir)){fs.mkdirSync(fileDir,{recursive:true});}fs.writeFileSync(filePath,content,'utf8');_logging.Logger.logDebug(`Created file: ${filePath}`);}function syncAndroidModuleExpoUpdatesFromAppFiles(_ref4){var androidDir=_ref4.androidDir,config=_ref4.config;var appModuleName='app';var expoUpdatesMetaData=(0,_expoUpdates.readExpoUpdatesApplicationMetaData)(androidDir,appModuleName);var expoUpdatesStringResources=(0,_expoUpdates.readExpoUpdatesStringResources)(androidDir,appModuleName,expoUpdatesMetaData);syncAndroidModuleManifest({androidDir:androidDir,config:config,expoUpdatesMetaData:expoUpdatesMetaData});syncAndroidModuleStringResources({androidDir:androidDir,config:config,expoUpdatesStringResources:expoUpdatesStringResources});}var withAndroidModuleFiles=exports.withAndroidModuleFiles=function withAndroidModuleFiles(config,props){return(0,_configPlugins.withDangerousMod)(config,['android',(function(){var _ref5=(0,_asyncToGenerator2.default)(function*(dangerousConfig){var androidDir=path.join(dangerousConfig.modRequest.projectRoot,'android');var rnVersion;try{var rnPkgPath=require.resolve('react-native/package.json',{paths:[dangerousConfig.modRequest.projectRoot]});var rnPkg=require(rnPkgPath);rnVersion=rnPkg.version;_logging.Logger.logDebug(`Resolved react-native version: ${rnVersion}`);}catch(_unused){throw new Error('Could not resolve react-native package version. Please ensure you have installed dependencies.');}createAndroidModule({androidDir:androidDir,config:props,rnVersion:rnVersion,projectRoot:dangerousConfig.modRequest.projectRoot,expoMajor:(0,_expoUtils.getExpoInfo)(dangerousConfig).expoMajor});return dangerousConfig;});return function(_x){return _ref5.apply(this,arguments);};}())]);};
2
2
  //# sourceMappingURL=withAndroidModuleFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["fs","_interopRequireWildcard","require","path","_configPlugins","_logging","_engine","_expoUtils","_androidManifest","_expoUpdates","_hermes","_formatHelpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR","exports","renderMissingDimensionStrategyBlock","missingDimensionStrategies","length","args","formatMissingDimensionStrategies","resolveCompileSdkVersionExpression","config","android","compileSdkVersion","toString","resolveTargetSdkVersionExpression","targetSdkVersion","renderTargetSdkBlock","expoMajor","templateVariant","arguments","undefined","createAndroidModule","_ref","_minifyEnabled","_extraProguardRules","androidDir","rnVersion","projectRoot","_ref$templateVariant","moduleDir","join","moduleName","Logger","logDebug","hermesArtifact","getHermesArtifact","compileSdkVersionExpression","targetSdkBlock","minifyEnabled","extraProguardRules","extraProguardRulesText","groupId","artifactId","version","missingDimensionStrategiesList","missingDimensionStrategyBlock","files","relativePath","content","renderTemplate","packageName","minSdkVersion","replace","file","filePath","fileDir","dirname","existsSync","mkdirSync","recursive","writeFileSync","syncAndroidModuleExpoUpdatesFromAppFiles","syncAndroidModuleManifest","_ref2","expoUpdatesMetaData","writeAndroidModuleFile","renderLibraryManifestApplication","syncAndroidModuleStringResources","_ref3","expoUpdatesStringResources","renderLibraryStringResources","_ref4","appModuleName","readExpoUpdatesApplicationMetaData","readExpoUpdatesStringResources","withAndroidModuleFiles","props","withDangerousMod","_ref5","_asyncToGenerator2","dangerousConfig","modRequest","rnPkgPath","resolve","paths","rnPkg","_unused","Error","getExpoInfo","_x","apply"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withAndroidModuleFiles.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["fs","_interopRequireWildcard","require","path","_configPlugins","_logging","_engine","_expoUtils","_androidManifest","_expoUpdates","_hermes","_formatHelpers","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EXPO_SDK_OMIT_TARGET_SDK_FROM_MAJOR","exports","renderMissingDimensionStrategyBlock","missingDimensionStrategies","length","args","formatMissingDimensionStrategies","COORDINATE_PART","renderExcludeDependenciesBlock","excludeDependencies","Array","isArray","Error","lines","map","entry","parts","split","every","part","test","_parts","_slicedToArray2","group","module","join","resolveCompileSdkVersionExpression","config","android","compileSdkVersion","toString","resolveTargetSdkVersionExpression","targetSdkVersion","renderTargetSdkBlock","expoMajor","templateVariant","arguments","undefined","createAndroidModule","_ref","_minifyEnabled","_extraProguardRules","androidDir","rnVersion","projectRoot","_ref$templateVariant","moduleDir","moduleName","Logger","logDebug","hermesArtifact","getHermesArtifact","compileSdkVersionExpression","targetSdkBlock","minifyEnabled","extraProguardRules","extraProguardRulesText","groupId","artifactId","version","missingDimensionStrategiesList","missingDimensionStrategyBlock","excludeDependenciesBlock","files","relativePath","content","renderTemplate","packageName","minSdkVersion","replace","file","filePath","fileDir","dirname","existsSync","mkdirSync","recursive","writeFileSync","syncAndroidModuleExpoUpdatesFromAppFiles","syncAndroidModuleManifest","_ref2","expoUpdatesMetaData","writeAndroidModuleFile","renderLibraryManifestApplication","syncAndroidModuleStringResources","_ref3","expoUpdatesStringResources","renderLibraryStringResources","_ref4","appModuleName","readExpoUpdatesApplicationMetaData","readExpoUpdatesStringResources","withAndroidModuleFiles","props","withDangerousMod","_ref5","_asyncToGenerator2","dangerousConfig","modRequest","rnPkgPath","resolve","paths","rnPkg","_unused","getExpoInfo","_x","apply"],"sourceRoot":"../../../../src","sources":["expo-config-plugin/android/withAndroidModuleFiles.ts"],"mappings":"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","ignoreList":[]}
@@ -47,7 +47,7 @@ reactBrownfield {
47
47
  missingDimensionStrategies = listOf({{MISSING_DIMENSION_STRATEGIES}})
48
48
  }
49
49
 
50
- react {
50
+ {{EXCLUDE_DEPENDENCIES_BLOCK}}react {
51
51
  autolinkLibrariesWithApp()
52
52
  }
53
53
 
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _reactNative=require("react-native");var _NativeReactNativeBrownfieldModule=_interopRequireDefault(require("./NativeReactNativeBrownfieldModule"));var ReactNativeBrownfield={markFullyDisplayed:function markFullyDisplayed(presentationID){if(_reactNative.Platform.OS==='ios'||_reactNative.Platform.OS==='android'){_reactNative.NativeModules.BrownfieldPerformance.markFullyDisplayed(presentationID);}},popToNative:function popToNative(animated){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.popToNative(!!animated);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.popToNative(false);}else{console.warn('Not implemented: popToNative');}},setNativeBackGestureAndButtonEnabled:function setNativeBackGestureAndButtonEnabled(enabled){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.setPopGestureRecognizerEnabled(enabled);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.setHardwareBackButtonEnabled(enabled);}else{console.warn('Not implemented: setNativeGesturesAndButtonsEnabled');}},postMessage:function postMessage(data){var serialized=JSON.stringify(data);_NativeReactNativeBrownfieldModule.default.postMessage(serialized);},onMessage:function onMessage(callback){var subscription=_NativeReactNativeBrownfieldModule.default.onBrownfieldMessage(function(payload){try{callback({data:JSON.parse(payload.text)});}catch(_unused){callback({data:payload.text});}});return{remove:function remove(){return subscription.remove();}};}};var _default=exports.default=ReactNativeBrownfield;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _reactNative=require("react-native");var _NativeReactNativeBrownfieldModule=_interopRequireDefault(require("./NativeReactNativeBrownfieldModule"));var ReactNativeBrownfield={markFullyDisplayed:function markFullyDisplayed(presentationID){if(_reactNative.Platform.OS==='ios'||_reactNative.Platform.OS==='android'){_reactNative.NativeModules.BrownfieldPerformance.markFullyDisplayed(presentationID);}},popToNative:function popToNative(animated){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.popToNative(!!animated);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.popToNative(false);}else{console.warn('Not implemented: popToNative');}},setNativeBackGestureAndButtonEnabled:function setNativeBackGestureAndButtonEnabled(enabled){if(_reactNative.Platform.OS==='ios'){_NativeReactNativeBrownfieldModule.default.setPopGestureRecognizerEnabled(enabled);}else if(_reactNative.Platform.OS==='android'){_NativeReactNativeBrownfieldModule.default.setHardwareBackButtonEnabled(enabled);}else{console.warn('Not implemented: setNativeGesturesAndButtonsEnabled');}},postMessage:function postMessage(data){var serialized=JSON.stringify(data);_NativeReactNativeBrownfieldModule.default.postMessage(serialized);},onMessage:function onMessage(callback){var subscription=_NativeReactNativeBrownfieldModule.default.onBrownfieldMessage(function(payload){var data;try{data=JSON.parse(payload.text);}catch(_unused){data=payload.text;}callback({data:data});});return{remove:function remove(){return subscription.remove();}};}};var _default=exports.default=ReactNativeBrownfield;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_NativeReactNativeBrownfieldModule","_interopRequireDefault","ReactNativeBrownfield","markFullyDisplayed","presentationID","Platform","OS","NativeModules","BrownfieldPerformance","popToNative","animated","ReactNativeBrownfieldModule","console","warn","setNativeBackGestureAndButtonEnabled","enabled","setPopGestureRecognizerEnabled","setHardwareBackButtonEnabled","postMessage","data","serialized","JSON","stringify","onMessage","callback","subscription","onBrownfieldMessage","payload","parse","text","_unused","remove","_default","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"mKAAA,IAAAA,YAAA,CAAAC,OAAA,iBAEA,IAAAC,kCAAA,CAAAC,sBAAA,CAAAF,OAAA,yCAeA,GAAM,CAAAG,qBAAqB,CAAG,CAO5BC,kBAAkB,CAAE,QAApB,CAAAA,kBAAkBA,CAAGC,cAAsB,CAAW,CACpD,GAAIC,qBAAQ,CAACC,EAAE,GAAK,KAAK,EAAID,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACtDC,0BAAa,CAACC,qBAAqB,CAACL,kBAAkB,CAACC,cAAc,CAAC,CACxE,CACF,CAAC,CASDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,QAAkB,CAAW,CACzC,GAAIL,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACF,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,CACrD,CAAC,IAAM,IAAIL,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACF,WAAW,CAAC,KAAK,CAAC,CAChD,CAAC,IAAM,CACLG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC,CAC9C,CACF,CAAC,CAUDC,oCAAoC,CAAE,QAAtC,CAAAA,oCAAoCA,CAAGC,OAAgB,CAAW,CAChE,GAAIV,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACK,8BAA8B,CAACD,OAAO,CAAC,CACrE,CAAC,IAAM,IAAIV,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACM,4BAA4B,CAACF,OAAO,CAAC,CACnE,CAAC,IAAM,CACLH,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC,CACrE,CACF,CAAC,CAYDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,IAAa,CAAW,CACpC,GAAM,CAAAC,UAAU,CAAGC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CACvCR,0CAA2B,CAACO,WAAW,CAACE,UAAU,CAAC,CACrD,CAAC,CAeDG,SAAS,CAAE,QAAX,CAAAA,SAASA,CACPC,QAAuC,CACZ,CAC3B,GAAM,CAAAC,YAAY,CAAGd,0CAA2B,CAACe,mBAAmB,CAClE,SAACC,OAAO,CAAK,CACX,GAAI,CACFH,QAAQ,CAAC,CAAEL,IAAI,CAAEE,IAAI,CAACO,KAAK,CAACD,OAAO,CAACE,IAAI,CAAE,CAAC,CAAC,CAC9C,CAAE,MAAAC,OAAA,CAAM,CACNN,QAAQ,CAAC,CAAEL,IAAI,CAAEQ,OAAO,CAACE,IAAK,CAAC,CAAC,CAClC,CACF,CACF,CAAC,CACD,MAAO,CAAEE,MAAM,CAAE,QAAR,CAAAA,MAAMA,CAAA,QAAQ,CAAAN,YAAY,CAACM,MAAM,CAAC,CAAC,EAAC,CAAC,CAChD,CACF,CAAC,CAAC,IAAAC,QAAA,CAAAC,OAAA,CAAAC,OAAA,CAEahC,qBAAqB","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_NativeReactNativeBrownfieldModule","_interopRequireDefault","ReactNativeBrownfield","markFullyDisplayed","presentationID","Platform","OS","NativeModules","BrownfieldPerformance","popToNative","animated","ReactNativeBrownfieldModule","console","warn","setNativeBackGestureAndButtonEnabled","enabled","setPopGestureRecognizerEnabled","setHardwareBackButtonEnabled","postMessage","data","serialized","JSON","stringify","onMessage","callback","subscription","onBrownfieldMessage","payload","parse","text","_unused","remove","_default","exports","default"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"mKAAA,IAAAA,YAAA,CAAAC,OAAA,iBAEA,IAAAC,kCAAA,CAAAC,sBAAA,CAAAF,OAAA,yCAeA,GAAM,CAAAG,qBAAqB,CAAG,CAO5BC,kBAAkB,CAAE,QAApB,CAAAA,kBAAkBA,CAAGC,cAAsB,CAAW,CACpD,GAAIC,qBAAQ,CAACC,EAAE,GAAK,KAAK,EAAID,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACtDC,0BAAa,CAACC,qBAAqB,CAACL,kBAAkB,CAACC,cAAc,CAAC,CACxE,CACF,CAAC,CASDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,QAAkB,CAAW,CACzC,GAAIL,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACF,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAC,CACrD,CAAC,IAAM,IAAIL,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACF,WAAW,CAAC,KAAK,CAAC,CAChD,CAAC,IAAM,CACLG,OAAO,CAACC,IAAI,CAAC,8BAA8B,CAAC,CAC9C,CACF,CAAC,CAUDC,oCAAoC,CAAE,QAAtC,CAAAA,oCAAoCA,CAAGC,OAAgB,CAAW,CAChE,GAAIV,qBAAQ,CAACC,EAAE,GAAK,KAAK,CAAE,CACzBK,0CAA2B,CAACK,8BAA8B,CAACD,OAAO,CAAC,CACrE,CAAC,IAAM,IAAIV,qBAAQ,CAACC,EAAE,GAAK,SAAS,CAAE,CACpCK,0CAA2B,CAACM,4BAA4B,CAACF,OAAO,CAAC,CACnE,CAAC,IAAM,CACLH,OAAO,CAACC,IAAI,CAAC,qDAAqD,CAAC,CACrE,CACF,CAAC,CAYDK,WAAW,CAAE,QAAb,CAAAA,WAAWA,CAAGC,IAAa,CAAW,CACpC,GAAM,CAAAC,UAAU,CAAGC,IAAI,CAACC,SAAS,CAACH,IAAI,CAAC,CACvCR,0CAA2B,CAACO,WAAW,CAACE,UAAU,CAAC,CACrD,CAAC,CAeDG,SAAS,CAAE,QAAX,CAAAA,SAASA,CACPC,QAAuC,CACZ,CAC3B,GAAM,CAAAC,YAAY,CAAGd,0CAA2B,CAACe,mBAAmB,CAClE,SAACC,OAAO,CAAK,CACX,GAAI,CAAAR,IAAa,CACjB,GAAI,CACFA,IAAI,CAAGE,IAAI,CAACO,KAAK,CAACD,OAAO,CAACE,IAAI,CAAC,CACjC,CAAE,MAAAC,OAAA,CAAM,CACNX,IAAI,CAAGQ,OAAO,CAACE,IAAI,CACrB,CACAL,QAAQ,CAAC,CAAEL,IAAI,CAAJA,IAAK,CAAC,CAAC,CACpB,CACF,CAAC,CACD,MAAO,CAAEY,MAAM,CAAE,QAAR,CAAAA,MAAMA,CAAA,QAAQ,CAAAN,YAAY,CAACM,MAAM,CAAC,CAAC,EAAC,CAAC,CAChD,CACF,CAAC,CAAC,IAAAC,QAAA,CAAAC,OAAA,CAAAC,OAAA,CAEahC,qBAAqB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.scaffoldBrownfieldInRncCliProject=scaffoldBrownfieldInRncCliProject;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _nodeFs=_interopRequireDefault(require("node:fs"));var _nodeModule=require("node:module");var _nodePath=_interopRequireDefault(require("node:path"));var _cliConfig=_interopRequireDefault(require("@react-native-community/cli-config"));var _xcode=_interopRequireDefault(require("xcode"));var _logging=require("../expo-config-plugin/logging");var _gradleHelpers=require("../expo-config-plugin/android/utils/gradleHelpers");var _withAndroidModuleFiles=require("../expo-config-plugin/android/withAndroidModuleFiles");var _podfileHelpers=require("../expo-config-plugin/ios/podfileHelpers");var _xcodeHelpers=require("../expo-config-plugin/ios/xcodeHelpers");var _withIosFrameworkFiles=require("../expo-config-plugin/ios/withIosFrameworkFiles");var _projectFiles=require("./projectFiles");var cliConfig=typeof _cliConfig.default==='function'?_cliConfig.default:_cliConfig.default.default;function findProjectRoot(startDir){var currentDir=startDir;while(true){if(_nodeFs.default.existsSync(_nodePath.default.join(currentDir,'package.json'))){return currentDir;}var parent=_nodePath.default.dirname(currentDir);if(parent===currentDir)break;currentDir=parent;}throw new Error('Could not find project root (no package.json found)');}function resolveUserConfig(projectRoot){return cliConfig({projectRoot:projectRoot});}function readFileIfExists(filePath){return _nodeFs.default.existsSync(filePath)?_nodeFs.default.readFileSync(filePath,'utf8'):null;}function writeFileIfChanged(filePath,next){var prev=readFileIfExists(filePath);if(prev===next)return;_nodeFs.default.writeFileSync(filePath,next,'utf8');}function firstXcodeprojPath(iosDir){var entries=_nodeFs.default.readdirSync(iosDir,{withFileTypes:true});var xcodeproj=entries.find(function(e){return e.isDirectory()&&e.name.endsWith('.xcodeproj');});if(!xcodeproj){throw new Error(`Could not find an .xcodeproj under ${iosDir}. Did you run iOS project generation?`);}return _nodePath.default.join(iosDir,xcodeproj.name);}function unquote(value){return value.replace(/^"+|"+$/g,'');}function resolveIosAppBundleId(pbxproj){var _pbxproj$pbxNativeTar,_pbxproj$pbxXCConfigu,_pbxproj$pbxXCBuildCo;var nativeTargets=(_pbxproj$pbxNativeTar=pbxproj.pbxNativeTargetSection==null?void 0:pbxproj.pbxNativeTargetSection())!=null?_pbxproj$pbxNativeTar:{};var configLists=(_pbxproj$pbxXCConfigu=pbxproj.pbxXCConfigurationList==null?void 0:pbxproj.pbxXCConfigurationList())!=null?_pbxproj$pbxXCConfigu:{};var buildConfigs=(_pbxproj$pbxXCBuildCo=pbxproj.pbxXCBuildConfigurationSection==null?void 0:pbxproj.pbxXCBuildConfigurationSection())!=null?_pbxproj$pbxXCBuildCo:{};for(var _ref of Object.entries(nativeTargets)){var _configList$buildConf,_debugConfig$buildSet;var _ref2=(0,_slicedToArray2.default)(_ref,2);var key=_ref2[0];var target=_ref2[1];if(key.endsWith('_comment'))continue;if(typeof(target==null?void 0:target.productType)==='string'&&!target.productType.includes('application')){continue;}var configListId=target==null?void 0:target.buildConfigurationList;var configList=configLists==null?void 0:configLists[configListId];var debugConfigId=configList==null||(_configList$buildConf=configList.buildConfigurations)==null||_configList$buildConf.find==null||(_configList$buildConf=_configList$buildConf.find(function(c){return(c==null?void 0:c.comment)==='Debug';}))==null?void 0:_configList$buildConf.value;var debugConfig=debugConfigId?buildConfigs==null?void 0:buildConfigs[debugConfigId]:null;var bundleId=debugConfig==null||(_debugConfig$buildSet=debugConfig.buildSettings)==null?void 0:_debugConfig$buildSet.PRODUCT_BUNDLE_IDENTIFIER;if(typeof bundleId==='string'&&bundleId.length>0){return unquote(bundleId);}}return null;}function resolveReactNativeVersion(projectRoot){var localRequire=typeof require==='undefined'?(0,_nodeModule.createRequire)(_nodePath.default.join(process.cwd(),'noop.js')):require;var rnPkgPath=localRequire.resolve('react-native/package.json',{paths:[projectRoot]});var rnPkg=localRequire(rnPkgPath);if(!(rnPkg!=null&&rnPkg.version)){throw new Error('Could not resolve react-native version from package.json');}return rnPkg.version;}function resolveExpoMajor(projectRoot){var _pkg$dependencies,_pkg$devDependencies;var pkg=JSON.parse(_nodeFs.default.readFileSync(_nodePath.default.join(projectRoot,'package.json'),'utf8'));if(!((_pkg$dependencies=pkg.dependencies)!=null&&_pkg$dependencies.expo)&&!((_pkg$devDependencies=pkg.devDependencies)!=null&&_pkg$devDependencies.expo)){return undefined;}var localRequire=typeof require==='undefined'?(0,_nodeModule.createRequire)(_nodePath.default.join(process.cwd(),'noop.js')):require;try{var _String$split$;var expoPkg=localRequire(localRequire.resolve('expo/package.json',{paths:[projectRoot]}));return Number.parseInt((_String$split$=String(expoPkg.version).split('.')[0])!=null?_String$split$:'',10);}catch(_unused){return-1;}}function scaffoldBrownfieldInRncCliProject(){return _scaffoldBrownfieldInRncCliProject.apply(this,arguments);}function _scaffoldBrownfieldInRncCliProject(){_scaffoldBrownfieldInRncCliProject=(0,_asyncToGenerator2.default)(function*(){var _options$projectRoot,_options$debug,_options$iosFramework,_options$androidModul,_android$packageName;var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var projectRoot=findProjectRoot(_nodePath.default.resolve((_options$projectRoot=options.projectRoot)!=null?_options$projectRoot:process.cwd()));_logging.Logger.setIsDebug((_options$debug=options.debug)!=null?_options$debug:false);var userConfig=resolveUserConfig(projectRoot);var android=userConfig.project.android;var ios=userConfig.project.ios;if(!android){throw new Error('Android project not found.');}if(!ios){throw new Error('iOS project not found.');}var androidDir=_nodePath.default.isAbsolute(android.sourceDir)?android.sourceDir:_nodePath.default.join(projectRoot,android.sourceDir||'android');var iosSourceDir=ios.sourceDir;var iosDir=_nodePath.default.isAbsolute(iosSourceDir)?iosSourceDir:_nodePath.default.join(projectRoot,iosSourceDir||'ios');var rnVersion=resolveReactNativeVersion(projectRoot);var expoMajor=resolveExpoMajor(projectRoot);if(expoMajor!==undefined){_logging.Logger.logInfo('Expo modules detected. The iOS framework will start React Native through the Expo host.');}var iosFrameworkName=(_options$iosFramework=options.iosFrameworkName)!=null?_options$iosFramework:'BrownfieldLib';var androidModuleName=(_options$androidModul=options.androidModuleName)!=null?_options$androidModul:'brownfieldlib';var androidPackageName=(_android$packageName=android.packageName)!=null?_android$packageName:android.applicationId;if(!androidPackageName){throw new Error('Could not resolve Android package name from React Native CLI config.');}var currentStep='preconditions';try{var _options$debug2,_options$debug3;currentStep='android-gradle';var rootBuildGradlePath=_nodePath.default.join(androidDir,'build.gradle');var rootBuildGradle=readFileIfExists(rootBuildGradlePath);if(!rootBuildGradle){throw new Error(`Missing ${rootBuildGradlePath}`);}writeFileIfChanged(rootBuildGradlePath,(0,_gradleHelpers.modifyRootBuildGradle)(rootBuildGradle));var settingsGradlePath=_nodePath.default.join(androidDir,'settings.gradle');var settingsGradle=readFileIfExists(settingsGradlePath);if(!settingsGradle){throw new Error(`Missing ${settingsGradlePath}`);}writeFileIfChanged(settingsGradlePath,(0,_gradleHelpers.modifySettingsGradle)(settingsGradle,androidModuleName));var resolvedAndroidConfig={android:{moduleName:androidModuleName,packageName:androidPackageName,minSdkVersion:24,targetSdkVersion:undefined,compileSdkVersion:undefined,groupId:androidPackageName,artifactId:androidModuleName,version:'0.0.1-SNAPSHOT',useLocalGradlePlugin:false,useLocalMaven:false,missingDimensionStrategies:[]},ios:null,debug:(_options$debug2=options.debug)!=null?_options$debug2:false};currentStep='android-module';(0,_withAndroidModuleFiles.createAndroidModule)({androidDir:androidDir,config:resolvedAndroidConfig,rnVersion:rnVersion,templateVariant:'vanilla'});currentStep='ios-project';var xcodeprojPath=firstXcodeprojPath(iosDir);var pbxprojPath=_nodePath.default.join(xcodeprojPath,'project.pbxproj');if(!_nodeFs.default.existsSync(pbxprojPath)){throw new Error(`Missing ${pbxprojPath}`);}var project=_xcode.default.project(pbxprojPath);project.parseSync();var appBundleId=resolveIosAppBundleId(project);var brownfieldBundleId=appBundleId?`${appBundleId}.brownfield`:`com.brownfield.${iosFrameworkName.toLowerCase()}`;var resolvedIosConfig={ios:{frameworkName:iosFrameworkName,bundleIdentifier:brownfieldBundleId,buildSettings:{},deploymentTarget:expoMajor!==undefined&&expoMajor>=56?'16.4':'15.0',frameworkVersion:'1'},android:null,debug:(_options$debug3=options.debug)!=null?_options$debug3:false};var modRequest={projectRoot:projectRoot,platformProjectRoot:iosDir,modName:'react-native-brownfield-scaffold',platform:'ios',introspect:false,projectName:_nodePath.default.basename(xcodeprojPath,'.xcodeproj')};var _addFrameworkTarget=(0,_xcodeHelpers.addFrameworkTarget)(project,modRequest,resolvedIosConfig.ios,{useExpoHost:false}),frameworkTargetUUID=_addFrameworkTarget.frameworkTargetUUID,targetAlreadyExists=_addFrameworkTarget.targetAlreadyExists;if(targetAlreadyExists&&expoMajor!==undefined&&expoMajor>=56&&(0,_xcodeHelpers.raiseFrameworkDeploymentTarget)(project,frameworkTargetUUID,'16.4')){_logging.Logger.logInfo(`Raised the ${iosFrameworkName} deployment target to iOS 16.4, which Expo SDK 56 and newer require.`);}(0,_xcodeHelpers.copyBundleReactNativePhase)(project,frameworkTargetUUID);(0,_xcodeHelpers.addSourceFilesBuildPhase)(project,frameworkTargetUUID,resolvedIosConfig.ios,{useExpoHost:false});_nodeFs.default.writeFileSync(pbxprojPath,project.writeSync());currentStep='ios-podfile';var podfilePath=_nodePath.default.join(iosDir,'Podfile');var podfile=readFileIfExists(podfilePath);if(!podfile){throw new Error(`Missing ${podfilePath}`);}writeFileIfChanged(podfilePath,(0,_podfileHelpers.modifyPodfile)(podfile,iosFrameworkName,expoMajor));currentStep='ios-sources';(0,_withIosFrameworkFiles.createIosFramework)(iosDir,resolvedIosConfig,{useExpoHost:false,withExpoModules:expoMajor!==undefined});currentStep='package-dependencies';(0,_projectFiles.addBrownfieldDependencies)(projectRoot);currentStep='package-scripts';(0,_projectFiles.addBrownfieldPackageScripts)(projectRoot);currentStep='brownfield-config';(0,_projectFiles.writeBrownfieldFileConfig)(projectRoot,{iosFrameworkName:iosFrameworkName,androidModuleName:androidModuleName});}catch(error){var message=error instanceof Error?error.message:String(error);_logging.Logger.logInfo('Scaffolding failed mid-way; fix-forward: re-running the CLI is idempotent for completed steps (gradle settings, Podfile, xcodeproj target detection, package.json deps/scripts, brownfield.config.json) — inspect partial changes with git diff.');throw new Error(`Brownfield scaffolding failed during step "${currentStep}": ${message}`,{cause:error});}_logging.Logger.logInfo('Brownfield scaffolding complete.');});return _scaffoldBrownfieldInRncCliProject.apply(this,arguments);}
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.scaffoldBrownfieldInRncCliProject=scaffoldBrownfieldInRncCliProject;var _asyncToGenerator2=_interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _nodeFs=_interopRequireDefault(require("node:fs"));var _nodeModule=require("node:module");var _nodePath=_interopRequireDefault(require("node:path"));var _cliConfig=_interopRequireDefault(require("@react-native-community/cli-config"));var _xcode=_interopRequireDefault(require("xcode"));var _logging=require("../expo-config-plugin/logging");var _gradleHelpers=require("../expo-config-plugin/android/utils/gradleHelpers");var _withAndroidModuleFiles=require("../expo-config-plugin/android/withAndroidModuleFiles");var _podfileHelpers=require("../expo-config-plugin/ios/podfileHelpers");var _xcodeHelpers=require("../expo-config-plugin/ios/xcodeHelpers");var _withIosFrameworkFiles=require("../expo-config-plugin/ios/withIosFrameworkFiles");var _projectFiles=require("./projectFiles");var cliConfig=typeof _cliConfig.default==='function'?_cliConfig.default:_cliConfig.default.default;function findProjectRoot(startDir){var currentDir=startDir;while(true){if(_nodeFs.default.existsSync(_nodePath.default.join(currentDir,'package.json'))){return currentDir;}var parent=_nodePath.default.dirname(currentDir);if(parent===currentDir)break;currentDir=parent;}throw new Error('Could not find project root (no package.json found)');}function resolveUserConfig(projectRoot){return cliConfig({projectRoot:projectRoot});}function readFileIfExists(filePath){return _nodeFs.default.existsSync(filePath)?_nodeFs.default.readFileSync(filePath,'utf8'):null;}function writeFileIfChanged(filePath,next){var prev=readFileIfExists(filePath);if(prev===next)return;_nodeFs.default.writeFileSync(filePath,next,'utf8');}function firstXcodeprojPath(iosDir){var entries=_nodeFs.default.readdirSync(iosDir,{withFileTypes:true});var xcodeproj=entries.find(function(e){return e.isDirectory()&&e.name.endsWith('.xcodeproj');});if(!xcodeproj){throw new Error(`Could not find an .xcodeproj under ${iosDir}. Did you run iOS project generation?`);}return _nodePath.default.join(iosDir,xcodeproj.name);}function unquote(value){return value.replace(/^"+|"+$/g,'');}function resolveIosAppBundleId(pbxproj){var _pbxproj$pbxNativeTar,_pbxproj$pbxXCConfigu,_pbxproj$pbxXCBuildCo;var nativeTargets=(_pbxproj$pbxNativeTar=pbxproj.pbxNativeTargetSection==null?void 0:pbxproj.pbxNativeTargetSection())!=null?_pbxproj$pbxNativeTar:{};var configLists=(_pbxproj$pbxXCConfigu=pbxproj.pbxXCConfigurationList==null?void 0:pbxproj.pbxXCConfigurationList())!=null?_pbxproj$pbxXCConfigu:{};var buildConfigs=(_pbxproj$pbxXCBuildCo=pbxproj.pbxXCBuildConfigurationSection==null?void 0:pbxproj.pbxXCBuildConfigurationSection())!=null?_pbxproj$pbxXCBuildCo:{};for(var _ref of Object.entries(nativeTargets)){var _configList$buildConf,_debugConfig$buildSet;var _ref2=(0,_slicedToArray2.default)(_ref,2);var key=_ref2[0];var target=_ref2[1];if(key.endsWith('_comment'))continue;if(typeof(target==null?void 0:target.productType)==='string'&&!target.productType.includes('application')){continue;}var configListId=target==null?void 0:target.buildConfigurationList;var configList=configLists==null?void 0:configLists[configListId];var debugConfigId=configList==null||(_configList$buildConf=configList.buildConfigurations)==null||_configList$buildConf.find==null||(_configList$buildConf=_configList$buildConf.find(function(c){return(c==null?void 0:c.comment)==='Debug';}))==null?void 0:_configList$buildConf.value;var debugConfig=debugConfigId?buildConfigs==null?void 0:buildConfigs[debugConfigId]:null;var bundleId=debugConfig==null||(_debugConfig$buildSet=debugConfig.buildSettings)==null?void 0:_debugConfig$buildSet.PRODUCT_BUNDLE_IDENTIFIER;if(typeof bundleId==='string'&&bundleId.length>0){return unquote(bundleId);}}return null;}function resolveReactNativeVersion(projectRoot){var localRequire=typeof require==='undefined'?(0,_nodeModule.createRequire)(_nodePath.default.join(process.cwd(),'noop.js')):require;var rnPkgPath=localRequire.resolve('react-native/package.json',{paths:[projectRoot]});var rnPkg=localRequire(rnPkgPath);if(!(rnPkg!=null&&rnPkg.version)){throw new Error('Could not resolve react-native version from package.json');}return rnPkg.version;}function resolveExpoMajor(projectRoot){var _pkg$dependencies,_pkg$devDependencies;var pkg=JSON.parse(_nodeFs.default.readFileSync(_nodePath.default.join(projectRoot,'package.json'),'utf8'));if(!((_pkg$dependencies=pkg.dependencies)!=null&&_pkg$dependencies.expo)&&!((_pkg$devDependencies=pkg.devDependencies)!=null&&_pkg$devDependencies.expo)){return undefined;}var localRequire=typeof require==='undefined'?(0,_nodeModule.createRequire)(_nodePath.default.join(process.cwd(),'noop.js')):require;try{var _String$split$;var expoPkg=localRequire(localRequire.resolve('expo/package.json',{paths:[projectRoot]}));return Number.parseInt((_String$split$=String(expoPkg.version).split('.')[0])!=null?_String$split$:'',10);}catch(_unused){return-1;}}function scaffoldBrownfieldInRncCliProject(){return _scaffoldBrownfieldInRncCliProject.apply(this,arguments);}function _scaffoldBrownfieldInRncCliProject(){_scaffoldBrownfieldInRncCliProject=(0,_asyncToGenerator2.default)(function*(){var _options$projectRoot,_options$debug,_options$iosFramework,_options$androidModul,_android$packageName;var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var projectRoot=findProjectRoot(_nodePath.default.resolve((_options$projectRoot=options.projectRoot)!=null?_options$projectRoot:process.cwd()));_logging.Logger.setIsDebug((_options$debug=options.debug)!=null?_options$debug:false);var userConfig=resolveUserConfig(projectRoot);var android=userConfig.project.android;var ios=userConfig.project.ios;if(!android){throw new Error('Android project not found.');}if(!ios){throw new Error('iOS project not found.');}var androidDir=_nodePath.default.isAbsolute(android.sourceDir)?android.sourceDir:_nodePath.default.join(projectRoot,android.sourceDir||'android');var iosSourceDir=ios.sourceDir;var iosDir=_nodePath.default.isAbsolute(iosSourceDir)?iosSourceDir:_nodePath.default.join(projectRoot,iosSourceDir||'ios');var rnVersion=resolveReactNativeVersion(projectRoot);var expoMajor=resolveExpoMajor(projectRoot);if(expoMajor!==undefined){_logging.Logger.logInfo('Expo modules detected. The iOS framework will start React Native through the Expo host.');}var iosFrameworkName=(_options$iosFramework=options.iosFrameworkName)!=null?_options$iosFramework:'BrownfieldLib';var androidModuleName=(_options$androidModul=options.androidModuleName)!=null?_options$androidModul:'brownfieldlib';var androidPackageName=(_android$packageName=android.packageName)!=null?_android$packageName:android.applicationId;if(!androidPackageName){throw new Error('Could not resolve Android package name from React Native CLI config.');}var currentStep='preconditions';try{var _options$debug2,_options$debug3;currentStep='android-gradle';var rootBuildGradlePath=_nodePath.default.join(androidDir,'build.gradle');var rootBuildGradle=readFileIfExists(rootBuildGradlePath);if(!rootBuildGradle){throw new Error(`Missing ${rootBuildGradlePath}`);}writeFileIfChanged(rootBuildGradlePath,(0,_gradleHelpers.modifyRootBuildGradle)(rootBuildGradle));var settingsGradlePath=_nodePath.default.join(androidDir,'settings.gradle');var settingsGradle=readFileIfExists(settingsGradlePath);if(!settingsGradle){throw new Error(`Missing ${settingsGradlePath}`);}writeFileIfChanged(settingsGradlePath,(0,_gradleHelpers.modifySettingsGradle)(settingsGradle,androidModuleName));var resolvedAndroidConfig={android:{moduleName:androidModuleName,packageName:androidPackageName,minSdkVersion:24,targetSdkVersion:undefined,compileSdkVersion:undefined,groupId:androidPackageName,artifactId:androidModuleName,version:'0.0.1-SNAPSHOT',useLocalGradlePlugin:false,useLocalMaven:false,missingDimensionStrategies:[],excludeDependencies:[]},ios:null,debug:(_options$debug2=options.debug)!=null?_options$debug2:false};currentStep='android-module';(0,_withAndroidModuleFiles.createAndroidModule)({androidDir:androidDir,config:resolvedAndroidConfig,rnVersion:rnVersion,templateVariant:'vanilla'});currentStep='ios-project';var xcodeprojPath=firstXcodeprojPath(iosDir);var pbxprojPath=_nodePath.default.join(xcodeprojPath,'project.pbxproj');if(!_nodeFs.default.existsSync(pbxprojPath)){throw new Error(`Missing ${pbxprojPath}`);}var project=_xcode.default.project(pbxprojPath);project.parseSync();var appBundleId=resolveIosAppBundleId(project);var brownfieldBundleId=appBundleId?`${appBundleId}.brownfield`:`com.brownfield.${iosFrameworkName.toLowerCase()}`;var resolvedIosConfig={ios:{frameworkName:iosFrameworkName,bundleIdentifier:brownfieldBundleId,buildSettings:{},deploymentTarget:expoMajor!==undefined&&expoMajor>=56?'16.4':'15.0',frameworkVersion:'1'},android:null,debug:(_options$debug3=options.debug)!=null?_options$debug3:false};var modRequest={projectRoot:projectRoot,platformProjectRoot:iosDir,modName:'react-native-brownfield-scaffold',platform:'ios',introspect:false,projectName:_nodePath.default.basename(xcodeprojPath,'.xcodeproj')};var _addFrameworkTarget=(0,_xcodeHelpers.addFrameworkTarget)(project,modRequest,resolvedIosConfig.ios,{useExpoHost:false}),frameworkTargetUUID=_addFrameworkTarget.frameworkTargetUUID,targetAlreadyExists=_addFrameworkTarget.targetAlreadyExists;if(targetAlreadyExists&&expoMajor!==undefined&&expoMajor>=56&&(0,_xcodeHelpers.raiseFrameworkDeploymentTarget)(project,frameworkTargetUUID,'16.4')){_logging.Logger.logInfo(`Raised the ${iosFrameworkName} deployment target to iOS 16.4, which Expo SDK 56 and newer require.`);}(0,_xcodeHelpers.copyBundleReactNativePhase)(project,frameworkTargetUUID);(0,_xcodeHelpers.addSourceFilesBuildPhase)(project,frameworkTargetUUID,resolvedIosConfig.ios,{useExpoHost:false});_nodeFs.default.writeFileSync(pbxprojPath,project.writeSync());currentStep='ios-podfile';var podfilePath=_nodePath.default.join(iosDir,'Podfile');var podfile=readFileIfExists(podfilePath);if(!podfile){throw new Error(`Missing ${podfilePath}`);}writeFileIfChanged(podfilePath,(0,_podfileHelpers.modifyPodfile)(podfile,iosFrameworkName,expoMajor));currentStep='ios-sources';(0,_withIosFrameworkFiles.createIosFramework)(iosDir,resolvedIosConfig,{useExpoHost:false,withExpoModules:expoMajor!==undefined});currentStep='package-dependencies';(0,_projectFiles.addBrownfieldDependencies)(projectRoot);currentStep='package-scripts';(0,_projectFiles.addBrownfieldPackageScripts)(projectRoot);currentStep='brownfield-config';(0,_projectFiles.writeBrownfieldFileConfig)(projectRoot,{iosFrameworkName:iosFrameworkName,androidModuleName:androidModuleName});}catch(error){var message=error instanceof Error?error.message:String(error);_logging.Logger.logInfo('Scaffolding failed mid-way; fix-forward: re-running the CLI is idempotent for completed steps (gradle settings, Podfile, xcodeproj target detection, package.json deps/scripts, brownfield.config.json) — inspect partial changes with git diff.');throw new Error(`Brownfield scaffolding failed during step "${currentStep}": ${message}`,{cause:error});}_logging.Logger.logInfo('Brownfield scaffolding complete.');});return _scaffoldBrownfieldInRncCliProject.apply(this,arguments);}
2
2
  //# sourceMappingURL=index.js.map