react-native-acoustic-connect-beta 19.0.4 → 19.0.6
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.
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
## [19.0.6](https://github.com/aipoweredmarketer/react-native-acoustic-connect-beta/compare/19.0.5...19.0.6) (2026-07-02)
|
|
2
|
+
## [19.0.5](https://github.com/aipoweredmarketer/react-native-acoustic-connect-beta/compare/19.0.4...19.0.5) (2026-07-02)
|
|
1
3
|
## [19.0.4](https://github.com/aipoweredmarketer/react-native-acoustic-connect-beta/compare/19.0.3...19.0.4) (2026-07-01)
|
|
2
4
|
## [19.0.3](https://github.com/aipoweredmarketer/react-native-acoustic-connect-beta/compare/19.0.2...19.0.3) (2026-06-30)
|
|
3
5
|
## [19.0.2](https://github.com/aipoweredmarketer/react-native-acoustic-connect-beta/compare/19.0.1...19.0.2) (2026-06-30)
|
package/android/build.gradle
CHANGED
|
@@ -32,6 +32,7 @@ def isNewArchitectureEnabled() {
|
|
|
32
32
|
|
|
33
33
|
apply plugin: "com.android.library"
|
|
34
34
|
apply plugin: 'org.jetbrains.kotlin.android'
|
|
35
|
+
apply plugin: 'jacoco'
|
|
35
36
|
apply from: '../nitrogen/generated/android/AcousticConnectRN+autolinking.gradle'
|
|
36
37
|
|
|
37
38
|
if (isNewArchitectureEnabled()) {
|
|
@@ -117,6 +118,17 @@ android {
|
|
|
117
118
|
disable "GradleCompatible"
|
|
118
119
|
}
|
|
119
120
|
|
|
121
|
+
testOptions {
|
|
122
|
+
unitTests {
|
|
123
|
+
// Unstubbed android.jar methods return defaults instead of throwing —
|
|
124
|
+
// needed for the few framework calls Robolectric doesn't cover.
|
|
125
|
+
returnDefaultValues = true
|
|
126
|
+
// Robolectric needs the library manifest + resources on the test
|
|
127
|
+
// classpath.
|
|
128
|
+
includeAndroidResources = true
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
|
|
120
132
|
compileOptions {
|
|
121
133
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
122
134
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
@@ -233,3 +245,62 @@ if (isNewArchitectureEnabled()) {
|
|
|
233
245
|
codegenJavaPackageName = "com.acousticconnectrn"
|
|
234
246
|
}
|
|
235
247
|
}
|
|
248
|
+
|
|
249
|
+
// JVM unit tests (android/src/test) — run from a consumer app's gradle, e.g.
|
|
250
|
+
// cd example/android && ./gradlew :react-native-acoustic-connect-beta:testDebugUnitTest
|
|
251
|
+
// No emulator: testDebugUnitTest does not trigger externalNativeBuild/CMake.
|
|
252
|
+
// RN + nitro are compileOnly above (provided by the host app), so they are
|
|
253
|
+
// re-declared for the test runtime classpath; the Connect SDK is already
|
|
254
|
+
// `implementation` and flows to tests automatically. Note: nitro's Promise is
|
|
255
|
+
// JNI-backed, so the push*/logIdentity Promise-returning methods cannot be
|
|
256
|
+
// exercised in JVM tests — they are covered by the sample-build CI gates.
|
|
257
|
+
dependencies {
|
|
258
|
+
testImplementation "junit:junit:4.13.2"
|
|
259
|
+
testImplementation "io.mockk:mockk:1.13.16"
|
|
260
|
+
// @Config(sdk = [35]) in the tests until Robolectric supports SDK 36.
|
|
261
|
+
testImplementation "org.robolectric:robolectric:4.14.1"
|
|
262
|
+
// Deliberately `+`, matching the compileOnly declaration above: this
|
|
263
|
+
// coordinate never resolves from a repository — the RN Gradle plugin
|
|
264
|
+
// substitutes it with the HOST app's `com.facebook.react:react-android`
|
|
265
|
+
// at resolution time, so tests always run against the same RN version the
|
|
266
|
+
// consuming build uses. Pinning (e.g. `0.82.1`) would name an artifact
|
|
267
|
+
// version that doesn't exist on Maven for RN >= 0.72 and adds only false
|
|
268
|
+
// precision; without the substitution both forms fail loudly.
|
|
269
|
+
//noinspection GradleDynamicVersion
|
|
270
|
+
testImplementation "com.facebook.react:react-native:+"
|
|
271
|
+
testImplementation project(":react-native-nitro-modules")
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
// Coverage for the JVM unit tests. Robolectric needs
|
|
275
|
+
// includeNoLocationClasses to attribute coverage to instrumented classes.
|
|
276
|
+
tasks.withType(Test).configureEach {
|
|
277
|
+
jacoco {
|
|
278
|
+
includeNoLocationClasses = true
|
|
279
|
+
excludes = ['jdk.internal.*']
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
// XML (parsed by the Jenkins Slack summary) + HTML (archived artifact)
|
|
284
|
+
// coverage report over the debug unit tests. Registered afterEvaluate
|
|
285
|
+
// because AGP creates the variant test task then. Generated nitro bindings
|
|
286
|
+
// are excluded — they are codegen output, not logic this module owns.
|
|
287
|
+
project.afterEvaluate {
|
|
288
|
+
tasks.register('jacocoDebugUnitTestReport', JacocoReport) {
|
|
289
|
+
dependsOn 'testDebugUnitTest'
|
|
290
|
+
group = 'verification'
|
|
291
|
+
description = 'JaCoCo coverage report for the debug JVM unit tests.'
|
|
292
|
+
|
|
293
|
+
def generatedExcludes = ['com/margelo/nitro/**', '**/BuildConfig*']
|
|
294
|
+
classDirectories.setFrom(files(
|
|
295
|
+
fileTree(dir: "${buildDir}/tmp/kotlin-classes/debug", excludes: generatedExcludes),
|
|
296
|
+
fileTree(dir: "${buildDir}/intermediates/javac/debug", includes: ['**/classes/**'], excludes: generatedExcludes)
|
|
297
|
+
))
|
|
298
|
+
sourceDirectories.setFrom(files("${projectDir}/src/main/java"))
|
|
299
|
+
executionData.setFrom(fileTree(dir: buildDir, includes: ['jacoco/testDebugUnitTest.exec']))
|
|
300
|
+
|
|
301
|
+
reports {
|
|
302
|
+
xml.required = true
|
|
303
|
+
html.required = true
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
@@ -1206,7 +1206,8 @@ class HybridAcousticConnectRN : HybridAcousticConnectRNSpec(),
|
|
|
1206
1206
|
* @param values The map to be converted.
|
|
1207
1207
|
* @return A HashMap<String?, String?> representation of the input map which library can use.
|
|
1208
1208
|
*/
|
|
1209
|
-
|
|
1209
|
+
// internal (not private) so the unit tests in src/test can exercise it.
|
|
1210
|
+
internal fun convertToMap(values: Map<String, Variant_Boolean_String_Double>): HashMap<String?, String?> {
|
|
1210
1211
|
val map = HashMap<String?, String?>()
|
|
1211
1212
|
for (key in values.keys) {
|
|
1212
1213
|
val value = values[key]
|
|
@@ -1223,7 +1224,8 @@ class HybridAcousticConnectRN : HybridAcousticConnectRNSpec(),
|
|
|
1223
1224
|
* @param values The map to be converted.
|
|
1224
1225
|
* @return A HashMap<String?, String?> representation of the input map which library can use.
|
|
1225
1226
|
*/
|
|
1226
|
-
|
|
1227
|
+
// internal (not private) so the unit tests in src/test can exercise it.
|
|
1228
|
+
internal fun convertToMapAny(values: Map<String, Variant_Boolean_String_Double>): java.util.HashMap<String?, Any?>? {
|
|
1227
1229
|
val map = HashMap<String?, Any?>()
|
|
1228
1230
|
for (key in values.keys) {
|
|
1229
1231
|
val value = values[key]
|
package/package.json
CHANGED
|
@@ -11,13 +11,19 @@
|
|
|
11
11
|
},
|
|
12
12
|
"description": "BETA: React native plugin for Acoustic Connect",
|
|
13
13
|
"devDependencies": {
|
|
14
|
+
"@babel/core": "^7.25.2",
|
|
15
|
+
"@babel/runtime": "^7.25.0",
|
|
14
16
|
"@expo/config-plugins": "~55.0.10",
|
|
15
17
|
"@expo/config-types": "^55.0.5",
|
|
16
18
|
"@jamesacarr/eslint-formatter-github-actions": "^0.2.0",
|
|
19
|
+
"@react-native/babel-preset": "0.82.1",
|
|
17
20
|
"@release-it/bumper": "^7.0.1",
|
|
18
21
|
"@release-it/conventional-changelog": "^10.0.0",
|
|
22
|
+
"@testing-library/react-native": "^13.3.3",
|
|
19
23
|
"@types/jest": "^29.5.12",
|
|
20
24
|
"@types/react": "^19.0.10",
|
|
25
|
+
"jest": "^29.7.0",
|
|
26
|
+
"jest-junit": "^16.0.0",
|
|
21
27
|
"jetifier": "^1.6.3",
|
|
22
28
|
"nitrogen": "0.35.9",
|
|
23
29
|
"prettier-plugin-kotlin": "^2.1.0",
|
|
@@ -25,6 +31,7 @@
|
|
|
25
31
|
"react-native": "0.82.1",
|
|
26
32
|
"react-native-builder-bob": "^0.37.0",
|
|
27
33
|
"react-native-nitro-modules": "0.35.9",
|
|
34
|
+
"react-test-renderer": "19.1.1",
|
|
28
35
|
"release-it": "^19.0.2",
|
|
29
36
|
"typescript": "5.0.4"
|
|
30
37
|
},
|
|
@@ -59,6 +66,8 @@
|
|
|
59
66
|
],
|
|
60
67
|
"files": [
|
|
61
68
|
"src",
|
|
69
|
+
"!src/**/__tests__/**",
|
|
70
|
+
"!src/**/*.test.*",
|
|
62
71
|
"react-native.config.js",
|
|
63
72
|
"lib",
|
|
64
73
|
"nitrogen",
|
|
@@ -67,6 +76,7 @@
|
|
|
67
76
|
"android/gradle.properties",
|
|
68
77
|
"android/CMakeLists.txt",
|
|
69
78
|
"android/src",
|
|
79
|
+
"!android/src/test/**",
|
|
70
80
|
"android/config.gradle",
|
|
71
81
|
"android/src/main/assets/**",
|
|
72
82
|
"ios/**/*.h",
|
|
@@ -138,7 +148,7 @@
|
|
|
138
148
|
[
|
|
139
149
|
"typescript",
|
|
140
150
|
{
|
|
141
|
-
"project": "tsconfig.json"
|
|
151
|
+
"project": "tsconfig.build.json"
|
|
142
152
|
}
|
|
143
153
|
]
|
|
144
154
|
]
|
|
@@ -205,8 +215,10 @@
|
|
|
205
215
|
"prepack": "npm run build:plugin",
|
|
206
216
|
"rebuild": "npm run codegen && npm run rebuildExample --prefix ./example",
|
|
207
217
|
"release": "release-it",
|
|
208
|
-
"test": "
|
|
218
|
+
"test": "jest",
|
|
219
|
+
"test:all": "npm test && npm run test:plugin",
|
|
209
220
|
"test:plugin": "npm run build:plugin && node --test plugin/__tests__/",
|
|
221
|
+
"test:watch": "jest --watch",
|
|
210
222
|
"typecheck": "tsc --noEmit",
|
|
211
223
|
"verifyConnectSetup": "node cli/index.mjs doctor $INIT_CWD",
|
|
212
224
|
"yalcPublish": "npm run rebuild && yalc publish"
|
|
@@ -214,7 +226,7 @@
|
|
|
214
226
|
"source": "src/index",
|
|
215
227
|
"summary": "react-native ios android tealeaf connect cxa wxca er enhanced-replay",
|
|
216
228
|
"types": "./lib/typescript/src/index.d.ts",
|
|
217
|
-
"version": "19.0.
|
|
229
|
+
"version": "19.0.6",
|
|
218
230
|
"workspaces": [
|
|
219
231
|
"example",
|
|
220
232
|
"Examples/bare-workflow"
|