@absolutejs/absolute 0.20.0-beta.68 → 0.20.0-beta.69

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.
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-OvVwPG/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-7o70UO/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-OvVwPG/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-7o70UO/src/core/streamingSlotRegistrar.ts
5
5
  var STREAMING_SLOT_REGISTRAR_KEY = Symbol.for("absolutejs.streamingSlotRegistrar");
6
6
  var STREAMING_SLOT_WARNING_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotWarningController");
7
7
  var STREAMING_SLOT_COLLECTION_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotCollectionController");
@@ -48,7 +48,7 @@ var warnMissingStreamingSlotCollector = (primitiveName) => {
48
48
  getWarningController()?.maybeWarn(primitiveName);
49
49
  };
50
50
 
51
- // .angular-partial-tmp-OvVwPG/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-7o70UO/src/core/streamingSlotRegistry.ts
52
52
  var STREAMING_SLOT_STORAGE_KEY = Symbol.for("absolutejs.streamingSlotAsyncLocalStorage");
53
53
  var isObjectRecord2 = (value) => Boolean(value) && typeof value === "object";
54
54
  var isAsyncLocalStorage = (value) => isObjectRecord2(value) && ("getStore" in value) && typeof value.getStore === "function" && ("run" in value) && typeof value.run === "function";
package/dist/cli/index.js CHANGED
@@ -21143,6 +21143,18 @@ public final class AbsoluteMobileObservabilityPlugin extends Plugin {
21143
21143
  call.resolve(new JSObject().put("reports", reports));
21144
21144
  }
21145
21145
 
21146
+ @PluginMethod
21147
+ public void crashForTesting(PluginCall call) {
21148
+ boolean debuggable = (getContext().getApplicationInfo().flags & android.content.pm.ApplicationInfo.FLAG_DEBUGGABLE) != 0;
21149
+ if (!debuggable) {
21150
+ call.reject("Native crash injection is available only in debuggable builds.");
21151
+ return;
21152
+ }
21153
+ new android.os.Handler(android.os.Looper.getMainLooper()).post(() -> {
21154
+ throw new RuntimeException("AbsoluteJS native observability acceptance crash");
21155
+ });
21156
+ }
21157
+
21146
21158
  @PluginMethod
21147
21159
  public void acknowledge(PluginCall call) {
21148
21160
  JSArray ids = call.getArray("ids");
@@ -22465,6 +22477,38 @@ var ABSOLUTE_MOBILE_COMPLIANCE_REPORT_FORMAT = 1, HMR_ASSET_PATTERN, RELEASE_ASS
22465
22477
  containsPattern(sources, new RegExp(`handler\\.postDelayed\\(deadline,\\s*${timeout}L\\)`, "u"))
22466
22478
  ]);
22467
22479
  return activity && plugin ? pass("android.update-watchdog", `The native update boot watchdog is projected with a ${timeout}ms deadline.`, plugin) : fail5("android.update-watchdog", "The Android update boot watchdog does not match mobile config.", plugin ?? sourceRoot, "Run `absolute mobile sync android` before building the release.");
22480
+ }, nativeObservabilityProjectionCheck = async (config, platform6) => {
22481
+ if (!config.observability)
22482
+ return;
22483
+ const nativeRoot = config.nativeProjectDirectory;
22484
+ if (config.engine === "expo") {
22485
+ const moduleRoot = join55(nativeRoot, "modules", "absolute-mobile-observability");
22486
+ const configPath2 = join55(moduleRoot, "expo-module.config.json");
22487
+ const sourcePath = platform6 === "android" ? join55(moduleRoot, "android/src/main/java/expo/modules/absolutemobileobservability/AbsoluteMobileObservabilityModule.kt") : join55(moduleRoot, "ios/AbsoluteMobileObservabilityModule.swift");
22488
+ const [moduleConfig2, source] = await Promise.all([
22489
+ readFile20(configPath2, "utf8").catch(() => ""),
22490
+ readFile20(sourcePath, "utf8").catch(() => "")
22491
+ ]);
22492
+ const valid = moduleConfig2.includes("AbsoluteMobileObservabilityModule") && source.includes("AbsoluteMobileObservability") && (platform6 === "android" ? source.includes("getHistoricalProcessExitReasons") : source.includes("MXMetricManagerSubscriber"));
22493
+ return valid ? pass(`${platform6}.native-observability`, `The Expo ${platform6} native process collector is projected and autolinkable.`, sourcePath) : fail5(`${platform6}.native-observability`, `The Expo ${platform6} native process collector is missing or incomplete.`, sourcePath, `Run \`absolute mobile build ${platform6}\` before building the release.`);
22494
+ }
22495
+ if (platform6 === "ios") {
22496
+ const delegatePath = join55(nativeRoot, "ios/App/App/AppDelegate.swift");
22497
+ const configPath2 = join55(nativeRoot, "ios/App/App/capacitor.config.json");
22498
+ const [delegate, nativeConfig] = await Promise.all([
22499
+ readFile20(delegatePath, "utf8").catch(() => ""),
22500
+ readFile20(configPath2, "utf8").catch(() => "")
22501
+ ]);
22502
+ const valid = delegate.includes("AbsoluteMobileObservabilityPlugin") && delegate.includes("MXMetricManagerSubscriber") && nativeConfig.includes("AbsoluteMobileObservabilityPlugin");
22503
+ return valid ? pass("ios.native-observability", "The iOS MetricKit native process collector is projected and registered.", delegatePath) : fail5("ios.native-observability", "The iOS MetricKit native process collector is missing or unregistered.", delegatePath, "Run `absolute mobile sync ios` before building the release.");
22504
+ }
22505
+ const sourceRoot = join55(nativeRoot, "android/app/src/main");
22506
+ const sources = await sourceFiles(sourceRoot, new Set([".java", ".kt"]));
22507
+ const [registration, plugin] = await Promise.all([
22508
+ containsPattern(sources, /registerPlugin\s*\(\s*AbsoluteMobileObservabilityPlugin(?:::class\.java|\.class)\s*\)/u),
22509
+ containsPattern(sources, /getHistoricalProcessExitReasons\s*\(/u)
22510
+ ]);
22511
+ return registration && plugin ? pass("android.native-observability", "The Android process-exit collector is projected and registered.", plugin) : fail5("android.native-observability", "The Android process-exit collector is missing or unregistered.", plugin ?? sourceRoot, "Run `absolute mobile sync android` before building the release.");
22468
22512
  }, iosNativeSecurityCheck = async (iosRoot) => {
22469
22513
  const applicationFiles = async (extensions) => (await sourceFiles(iosRoot, extensions)).filter((path) => !relative26(iosRoot, path).split(/[\\/]/u).some((part) => ["Pods", "DerivedData", "build"].includes(part)));
22470
22514
  const entitlementPaths = await applicationFiles(new Set([".entitlements"]));
@@ -22643,7 +22687,8 @@ var ABSOLUTE_MOBILE_COMPLIANCE_REPORT_FORMAT = 1, HMR_ASSET_PATTERN, RELEASE_ASS
22643
22687
  androidNativeSecurityCheck(androidRoot),
22644
22688
  androidExportedComponentsCheck(manifestPath),
22645
22689
  androidDeepLinkProjectionCheck(config, manifestPath),
22646
- nativeUpdateWatchdogCheck(config, "android")
22690
+ nativeUpdateWatchdogCheck(config, "android"),
22691
+ nativeObservabilityProjectionCheck(config, "android")
22647
22692
  ]);
22648
22693
  return checks.filter((check2) => check2 !== undefined).map((check2) => ({
22649
22694
  ...check2,
@@ -22663,9 +22708,10 @@ var ABSOLUTE_MOBILE_COMPLIANCE_REPORT_FORMAT = 1, HMR_ASSET_PATTERN, RELEASE_ASS
22663
22708
  contentSecurityPolicyCheck(config, "android", config.bundleDirectory),
22664
22709
  androidNativeSecurityCheck(androidRoot),
22665
22710
  androidExportedComponentsCheck(manifestPath),
22666
- androidDeepLinkProjectionCheck(config, manifestPath)
22711
+ androidDeepLinkProjectionCheck(config, manifestPath),
22712
+ nativeObservabilityProjectionCheck(config, "android")
22667
22713
  ]);
22668
- return checks.map((check2) => ({
22714
+ return checks.filter((check2) => check2 !== undefined).map((check2) => ({
22669
22715
  ...check2,
22670
22716
  path: check2.path ? relative26(projectRoot, check2.path).replaceAll("\\", "/") || "." : undefined
22671
22717
  }));
@@ -22717,6 +22763,9 @@ var ABSOLUTE_MOBILE_COMPLIANCE_REPORT_FORMAT = 1, HMR_ASSET_PATTERN, RELEASE_ASS
22717
22763
  expoIosNativeProjectionCheck(config, iosRoot),
22718
22764
  iosNativeSecurityCheck(iosRoot)
22719
22765
  ]));
22766
+ const nativeObservability = await nativeObservabilityProjectionCheck(config, "ios");
22767
+ if (nativeObservability)
22768
+ checks.push(nativeObservability);
22720
22769
  return checks.map((check2) => ({
22721
22770
  ...check2,
22722
22771
  path: check2.path ? relative26(projectRoot, check2.path).replaceAll("\\", "/") || "." : undefined
@@ -22753,6 +22802,9 @@ var ABSOLUTE_MOBILE_COMPLIANCE_REPORT_FORMAT = 1, HMR_ASSET_PATTERN, RELEASE_ASS
22753
22802
  const hmrAsset = await findHmrAsset(publicRoot);
22754
22803
  checks.push(hmrAsset ? fail5("ios.hmr-assets", "A packaged iOS asset contains the development HMR client.", hmrAsset, "Rebuild the production mobile bundle and run Capacitor sync again.") : pass("ios.hmr-assets", "Packaged iOS assets contain no development HMR markers.", publicRoot));
22755
22804
  checks.push(await embeddedBundleReleaseCheck(config, projectRoot, "ios", publicRoot), await contentSecurityPolicyCheck(config, "ios", publicRoot), await iosNativeSecurityCheck(join55(config.nativeProjectDirectory, "ios")), await iosDeepLinkProjectionCheck(config, join55(config.nativeProjectDirectory, "ios")));
22805
+ const nativeObservability = await nativeObservabilityProjectionCheck(config, "ios");
22806
+ if (nativeObservability)
22807
+ checks.push(nativeObservability);
22756
22808
  if (updateWatchdog)
22757
22809
  checks.push(updateWatchdog);
22758
22810
  return checks.map((check2) => ({
@@ -30427,6 +30427,18 @@ public final class AbsoluteMobileObservabilityPlugin extends Plugin {
30427
30427
  call.resolve(new JSObject().put("reports", reports));
30428
30428
  }
30429
30429
 
30430
+ @PluginMethod
30431
+ public void crashForTesting(PluginCall call) {
30432
+ boolean debuggable = (getContext().getApplicationInfo().flags & android.content.pm.ApplicationInfo.FLAG_DEBUGGABLE) != 0;
30433
+ if (!debuggable) {
30434
+ call.reject("Native crash injection is available only in debuggable builds.");
30435
+ return;
30436
+ }
30437
+ new android.os.Handler(android.os.Looper.getMainLooper()).post(() -> {
30438
+ throw new RuntimeException("AbsoluteJS native observability acceptance crash");
30439
+ });
30440
+ }
30441
+
30430
30442
  @PluginMethod
30431
30443
  public void acknowledge(PluginCall call) {
30432
30444
  JSArray ids = call.getArray("ids");
@@ -37594,5 +37606,5 @@ export {
37594
37606
  writeAbsoluteMobileGithubWorkflow
37595
37607
  };
37596
37608
 
37597
- //# debugId=D5AE0A09F73FBA9E64756E2164756E21
37609
+ //# debugId=E4E383CA64D4F3BE64756E2164756E21
37598
37610
  //# sourceMappingURL=index.js.map