@absolutejs/absolute 0.20.0-beta.115 → 0.20.0-beta.117

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 (35) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/changelog.json +38 -1
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/build.js +9 -4
  6. package/dist/build.js.map +5 -4
  7. package/dist/cli/{androidEmulatorController-nybhzc6c.js → androidEmulatorController-v6chbhem.js} +2 -2
  8. package/dist/cli/{androidNativeWatcher-2930tb8c.js → androidNativeWatcher-mgqws6ag.js} +2 -2
  9. package/dist/cli/{compile-ya4kd2sg.js → compile-5m830csy.js} +2 -2
  10. package/dist/cli/{dev-5cqmf7za.js → dev-ww30tdrv.js} +10 -7
  11. package/dist/cli/{expoProject-f5j20xms.js → expoProject-w2pzjwnx.js} +1 -1
  12. package/dist/cli/{index-28pbrd3q.js → index-18q9qc7f.js} +15 -2
  13. package/dist/cli/{index-5fmgn0nx.js → index-5268nwjx.js} +1 -1
  14. package/dist/cli/{index-5skbydh0.js → index-hneb973j.js} +1 -1
  15. package/dist/cli/{index-6mbm4n3g.js → index-k8r00xh9.js} +1 -1
  16. package/dist/cli/{index-dr21p6ae.js → index-nxcwg9ma.js} +590 -152
  17. package/dist/cli/{index-qr0pc777.js → index-wtyg9cy0.js} +1 -1
  18. package/dist/cli/index.js +5 -5
  19. package/dist/cli/{iosNativeWatcher-t6gv0p1w.js → iosNativeWatcher-8w1gawg4.js} +2 -2
  20. package/dist/cli/{iosSimulatorController-5n2a9fxv.js → iosSimulatorController-5vhqvhg6.js} +2 -2
  21. package/dist/cli/{mobile-fg2226vv.js → mobile-21vsmrjd.js} +47 -56
  22. package/dist/cli/{start-jt61f40d.js → start-3bhf56tj.js} +3 -3
  23. package/dist/index.js +12 -6
  24. package/dist/index.js.map +6 -5
  25. package/dist/mobile/index.js +692 -274
  26. package/dist/mobile/index.js.map +8 -6
  27. package/dist/mobile/remoteMacAgentEntry.js +564 -231
  28. package/dist/mobile/shellBootstrap.js +6 -1
  29. package/dist/react/hooks/index.js.map +2 -2
  30. package/dist/src/dev/serverEntryCopies.d.ts +2 -0
  31. package/dist/src/mobile/capacitorProject.d.ts +4 -0
  32. package/dist/src/mobile/expoEmbeddedAssets.d.ts +1 -0
  33. package/dist/src/mobile/nativePackages.d.ts +10 -0
  34. package/dist/src/mobile/updateRuntime.d.ts +1 -0
  35. package/package.json +6 -2
package/CHANGELOG.md CHANGED
@@ -6,6 +6,24 @@ 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.117 — 2026-09-21
10
+
11
+ ### Fixed
12
+
13
+ - **Ignore generated server snapshots at every watch depth and avoid treating their creation as an editor save.**
14
+ Recursive HMR paths could include a directory before .absolutejs-hmr files, bypass the basename-only filter, and restart the development server repeatedly. Generated snapshots now bypass editor atomic-write recovery in all three watcher paths; ordinary source edits still trigger HMR.
15
+ - **Make clean CLI builds and release checks self-contained.**
16
+ Declare the jiti config loader dependency, build nested vendor fixtures inside the test, and reject missing native release arguments before loading application configuration. Normalize existing release-fixture lint issues without weakening checks.
17
+ - **Initialize native app targets before the first bundle and safely retry existing projects.**
18
+ Create only a missing scaffold index so Capacitor completes its initial platform sync, without replacing compiled web assets or manufacturing a release manifest. Existing platform directories are synchronized on retry instead of failing a second add. Native initialization uses the current pinned Devices packages in the freshly built CLI.
19
+
20
+ ## 0.20.0-beta.116 — 2026-09-18
21
+
22
+ ### Fixed
23
+
24
+ - **Fix Expo Android embedded startup with a scoped HTTPS asset host, one runtime asset registry, verified archive extraction, and readiness after rendering.** (`AbsoluteMobileUpdateRuntimeDescriptor`)
25
+ Generated TypeScript declaration aliases no longer bypass Expo runtime resolution. Archive identity and per-file checks reject corrupt data and repair stale cached files. The supported Android WebView extension keeps local assets offline and the native bridge origin-scoped without TLS exceptions or dependency patches. Expo runtime fingerprints require a new native binary. Installed Android acceptance now verifies fresh trusted-server props and exactly-once offline Sync reconciliation for both engines; iOS requires the separate partner checks.
26
+
9
27
  ## 0.20.0-beta.115 — 2026-09-17
10
28
 
11
29
  ### Fixed
package/changelog.json CHANGED
@@ -2,12 +2,49 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "detail": "Recursive HMR paths could include a directory before .absolutejs-hmr files, bypass the basename-only filter, and restart the development server repeatedly. Generated snapshots now bypass editor atomic-write recovery in all three watcher paths; ordinary source edits still trigger HMR.",
9
+ "kind": "fixed",
10
+ "summary": "Ignore generated server snapshots at every watch depth and avoid treating their creation as an editor save."
11
+ },
12
+ {
13
+ "detail": "Declare the jiti config loader dependency, build nested vendor fixtures inside the test, and reject missing native release arguments before loading application configuration. Normalize existing release-fixture lint issues without weakening checks.",
14
+ "kind": "fixed",
15
+ "summary": "Make clean CLI builds and release checks self-contained."
16
+ },
17
+ {
18
+ "detail": "Create only a missing scaffold index so Capacitor completes its initial platform sync, without replacing compiled web assets or manufacturing a release manifest. Existing platform directories are synchronized on retry instead of failing a second add. Native initialization uses the current pinned Devices packages in the freshly built CLI.",
19
+ "kind": "fixed",
20
+ "summary": "Initialize native app targets before the first bundle and safely retry existing projects."
21
+ }
22
+ ],
23
+ "date": "2026-09-21",
24
+ "version": "0.20.0-beta.117"
25
+ },
26
+ {
27
+ "changes": [
28
+ {
29
+ "detail": "Generated TypeScript declaration aliases no longer bypass Expo runtime resolution. Archive identity and per-file checks reject corrupt data and repair stale cached files. The supported Android WebView extension keeps local assets offline and the native bridge origin-scoped without TLS exceptions or dependency patches. Expo runtime fingerprints require a new native binary. Installed Android acceptance now verifies fresh trusted-server props and exactly-once offline Sync reconciliation for both engines; iOS requires the separate partner checks.",
30
+ "kind": "fixed",
31
+ "summary": "Fix Expo Android embedded startup with a scoped HTTPS asset host, one runtime asset registry, verified archive extraction, and readiness after rendering.",
32
+ "symbols": [
33
+ "AbsoluteMobileUpdateRuntimeDescriptor"
34
+ ]
35
+ }
36
+ ],
37
+ "date": "2026-09-18",
38
+ "version": "0.20.0-beta.116"
39
+ },
5
40
  {
6
41
  "changes": [
7
42
  {
8
43
  "kind": "fixed",
9
44
  "summary": "Stabilize the existing UserAgentProvider declaration with an explicit provider type so inferred union ordering cannot cause spurious API changes.",
10
- "symbols": ["UserAgentProvider"]
45
+ "symbols": [
46
+ "UserAgentProvider"
47
+ ]
11
48
  },
12
49
  {
13
50
  "kind": "fixed",
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-h18t3k/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-ZamFKd/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-h18t3k/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-ZamFKd/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-h18t3k/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-ZamFKd/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
@@ -21861,7 +21861,7 @@ var init_compileAngular = __esm(() => {
21861
21861
 
21862
21862
  // node_modules/content-tag/pkg/node/content_tag.cjs
21863
21863
  var require_content_tag = __commonJS(function(exports, module) {
21864
- var __dirname = "/home/alexkahn/abs/absolutejs/node_modules/content-tag/pkg/node";
21864
+ var __dirname = "/tmp/absolute-mobile-release/node_modules/content-tag/pkg/node";
21865
21865
  var imports = {};
21866
21866
  imports["__wbindgen_placeholder__"] = exports;
21867
21867
  var wasm;
@@ -25827,6 +25827,10 @@ var init_devPrescan = __esm(() => {
25827
25827
  PRESCAN_DIR = join47(".absolutejs", "dev-prescan");
25828
25828
  });
25829
25829
 
25830
+ // src/dev/serverEntryCopies.ts
25831
+ var isAbsoluteServerEntryCopyPath = (path) => /(?:^|[/\\])\.absolutejs-hmr-/.test(path);
25832
+ var init_serverEntryCopies = () => {};
25833
+
25830
25834
  // src/dev/fileWatcher.ts
25831
25835
  import { watch } from "fs";
25832
25836
  import { existsSync as existsSync40, readdirSync as readdirSync10, statSync as statSync5 } from "fs";
@@ -25849,7 +25853,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
25849
25853
  operation: "add"
25850
25854
  });
25851
25855
  }
25852
- }, ATOMIC_WRITE_TEMP_PATTERNS, shouldSkipFilename = (filename, isStylesDir) => !isStylesDir && (filename === "compiled" || filename === "generated" || filename === "build" || filename === "indexes" || filename === "server" || filename === "client" || filename.includes("/compiled/") || filename.includes("/generated/") || filename.includes("/build/") || filename.includes("/indexes/") || filename.includes("/server/") || filename.includes("/client/") || filename.startsWith("compiled/") || filename.startsWith("generated/") || filename.startsWith("build/") || filename.startsWith("indexes/") || filename.startsWith("server/") || filename.startsWith("client/")) || filename.endsWith("/") || filename.includes(".tmp.") || filename.endsWith(".tmp") || filename.endsWith("~") || filename.startsWith(".#") || filename.startsWith(".absolutejs-hmr-") || ATOMIC_WRITE_TEMP_PATTERNS.some((pattern) => pattern.test(filename)), setupWatcher = (absolutePath, isStylesDir, state, onFileChange) => {
25856
+ }, ATOMIC_WRITE_TEMP_PATTERNS, shouldSkipFilename = (filename, isStylesDir) => !isStylesDir && (filename === "compiled" || filename === "generated" || filename === "build" || filename === "indexes" || filename === "server" || filename === "client" || filename.includes("/compiled/") || filename.includes("/generated/") || filename.includes("/build/") || filename.includes("/indexes/") || filename.includes("/server/") || filename.includes("/client/") || filename.startsWith("compiled/") || filename.startsWith("generated/") || filename.startsWith("build/") || filename.startsWith("indexes/") || filename.startsWith("server/") || filename.startsWith("client/")) || filename.endsWith("/") || filename.includes(".tmp.") || filename.endsWith(".tmp") || filename.endsWith("~") || filename.startsWith(".#") || isAbsoluteServerEntryCopyPath(filename) || ATOMIC_WRITE_TEMP_PATTERNS.some((pattern) => pattern.test(filename)), setupWatcher = (absolutePath, isStylesDir, state, onFileChange) => {
25853
25857
  const ATOMIC_RECOVERY_WINDOW_MS = 60000;
25854
25858
  const atomicRecoveryScan = (eventDir) => {
25855
25859
  let entries;
@@ -25879,7 +25883,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
25879
25883
  }
25880
25884
  };
25881
25885
  const watcher = watch(absolutePath, { recursive: true }, (event, filename) => {
25882
- if (!filename)
25886
+ if (!filename || isAbsoluteServerEntryCopyPath(filename))
25883
25887
  return;
25884
25888
  if (shouldSkipFilename(filename, isStylesDir)) {
25885
25889
  if (event === "rename") {
@@ -25930,6 +25934,7 @@ var safeRemoveFromGraph = (graph, fullPath) => {
25930
25934
  });
25931
25935
  };
25932
25936
  var init_fileWatcher = __esm(() => {
25937
+ init_serverEntryCopies();
25933
25938
  init_telemetryEvent();
25934
25939
  init_dependencyGraph();
25935
25940
  init_pathUtils();
@@ -38083,5 +38088,5 @@ export {
38083
38088
  devBuild
38084
38089
  };
38085
38090
 
38086
- //# debugId=EF374DB4847C1F1864756E2164756E21
38091
+ //# debugId=916E3B9B24D7E32B64756E2164756E21
38087
38092
  //# sourceMappingURL=build.js.map