@absolutejs/absolute 0.20.0-beta.100 → 0.20.0-beta.102

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
@@ -6,6 +6,20 @@ This file is generated by `absolute-changelog` from the entries in
6
6
  `changelog/`. Edit an entry, not this file — and add new ones under
7
7
  `changelog/unreleased/`.
8
8
 
9
+ ## 0.20.0-beta.102 — 2026-09-16
10
+
11
+ ### Added
12
+
13
+ - **Expo Android releases now have installed offline AAB acceptance**
14
+ `absolute mobile test android --release` revalidates one immutable AAB, approval-installs checksum-pinned Bundletool, starts the managed emulator, installs the derived APK set, and proves embedded content across two offline process launches. Expo production web files travel through Metro as one deterministic opaque archive and are reconstructed from a verified offset table, avoiding per-file registry failures. Sanitized reports and telemetry record only artifact identity, sizes, timings, provider, and outcome.
15
+
16
+ ## 0.20.0-beta.101 — 2026-09-16
17
+
18
+ ### Fixed
19
+
20
+ - **WSL Expo Android releases now pass public-CLI conformance** (`buildAbsoluteAndroidRelease`)
21
+ The exact public build command now resolves React vendor assets from linked packages, recognizes declared workspace lockfiles without trusting unrelated ancestors, avoids false-positive production HMR detection, prints per-phase timings, and verifies AAB signatures with translated paths through the Windows JDK. A permanent two-build gate validates signing, immutable metadata, all production ABIs, bundled JavaScript, release hygiene, and warm Gradle reuse.
22
+
9
23
  ## 0.20.0-beta.100 — 2026-09-15
10
24
 
11
25
  ### Added
package/changelog.json CHANGED
@@ -2,6 +2,31 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "detail": "`absolute mobile test android --release` revalidates one immutable AAB, approval-installs checksum-pinned Bundletool, starts the managed emulator, installs the derived APK set, and proves embedded content across two offline process launches. Expo production web files travel through Metro as one deterministic opaque archive and are reconstructed from a verified offset table, avoiding per-file registry failures. Sanitized reports and telemetry record only artifact identity, sizes, timings, provider, and outcome.",
9
+ "kind": "added",
10
+ "summary": "Expo Android releases now have installed offline AAB acceptance"
11
+ }
12
+ ],
13
+ "date": "2026-09-16",
14
+ "version": "0.20.0-beta.102"
15
+ },
16
+ {
17
+ "changes": [
18
+ {
19
+ "detail": "The exact public build command now resolves React vendor assets from linked packages, recognizes declared workspace lockfiles without trusting unrelated ancestors, avoids false-positive production HMR detection, prints per-phase timings, and verifies AAB signatures with translated paths through the Windows JDK. A permanent two-build gate validates signing, immutable metadata, all production ABIs, bundled JavaScript, release hygiene, and warm Gradle reuse.",
20
+ "kind": "fixed",
21
+ "summary": "WSL Expo Android releases now pass public-CLI conformance",
22
+ "symbols": [
23
+ "buildAbsoluteAndroidRelease"
24
+ ]
25
+ }
26
+ ],
27
+ "date": "2026-09-16",
28
+ "version": "0.20.0-beta.101"
29
+ },
5
30
  {
6
31
  "changes": [
7
32
  {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-zg9hCd/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-nDO3E1/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-zg9hCd/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-nDO3E1/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-zg9hCd/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-nDO3E1/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/build.js CHANGED
@@ -763,9 +763,9 @@ import { basename, join as join2, relative as relative2, resolve as resolve3, se
763
763
  var {Glob } = globalThis.Bun;
764
764
  var indexContentCache, resolveDevClientDir = () => {
765
765
  const projectRoot = process.cwd();
766
- const fromSource = resolve3(import.meta.dir, "../dev/client");
767
- if (existsSync(fromSource) && fromSource.startsWith(projectRoot)) {
768
- return fromSource;
766
+ const fromPackage = resolve3(import.meta.dir, "../dev/client");
767
+ if (existsSync(fromPackage)) {
768
+ return fromPackage;
769
769
  }
770
770
  const fromNodeModules = resolve3(projectRoot, "node_modules/@absolutejs/absolute/dist/dev/client");
771
771
  if (existsSync(fromNodeModules))
@@ -22610,7 +22610,7 @@ var resolveJsxDevRuntimeCompatPath = () => {
22610
22610
  });
22611
22611
  await rm6(tmpDir, { force: true, recursive: true });
22612
22612
  if (!result.success) {
22613
- console.warn("\u26A0\uFE0F React vendor build had errors:", result.logs);
22613
+ throw new AggregateError(result.logs, "React vendor build failed");
22614
22614
  }
22615
22615
  };
22616
22616
  var init_buildReactVendor = __esm(() => {
@@ -37958,5 +37958,5 @@ export {
37958
37958
  devBuild
37959
37959
  };
37960
37960
 
37961
- //# debugId=BBDBAF4DAD912FB164756E2164756E21
37961
+ //# debugId=B3A32B3F6443979364756E2164756E21
37962
37962
  //# sourceMappingURL=build.js.map