@absolutejs/absolute 0.20.0-beta.120 → 0.20.0-beta.122

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 (98) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/changelog.json +37 -0
  3. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  4. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  5. package/dist/angular/index.js +14 -2
  6. package/dist/angular/index.js.map +5 -4
  7. package/dist/angular/server.js +14 -2
  8. package/dist/angular/server.js.map +5 -4
  9. package/dist/build.js +15 -3
  10. package/dist/build.js.map +6 -5
  11. package/dist/cli/{add-kt4qx8sh.js → add-9sa7e3vd.js} +5 -5
  12. package/dist/cli/{androidEmulatorController-v6chbhem.js → androidEmulatorController-sj141e1c.js} +3 -3
  13. package/dist/cli/{androidNativeWatcher-mgqws6ag.js → androidNativeWatcher-dnp95nk2.js} +3 -3
  14. package/dist/cli/{api-xtq3zqfg.js → api-2hd8cahp.js} +1 -1
  15. package/dist/cli/{compile-5m830csy.js → compile-hywymh6y.js} +1 -1
  16. package/dist/cli/config/server.js +59 -9
  17. package/dist/cli/db-8wweexdp.js +1100 -0
  18. package/dist/cli/{dev-ww30tdrv.js → dev-pdefc9ac.js} +9 -9
  19. package/dist/cli/{emulatorDoctor-y2nqmaha.js → emulatorDoctor-gzarrsex.js} +2 -2
  20. package/dist/cli/{emulatorInstaller-3shdna4g.js → emulatorInstaller-pjw4ex6q.js} +3 -3
  21. package/dist/cli/{expoDevController-zz516pdd.js → expoDevController-weywa74d.js} +3 -3
  22. package/dist/cli/{generate-zy3d9bce.js → generate-069p0dk3.js} +4 -4
  23. package/dist/cli/{htmx-63kt9qj1.js → htmx-5wh1jh75.js} +2 -2
  24. package/dist/cli/{index-t84wxk1p.js → index-00wfffav.js} +50 -8
  25. package/dist/cli/{index-wtyg9cy0.js → index-1ys3dnrs.js} +1 -1
  26. package/dist/cli/{index-knt92dm8.js → index-255xs63d.js} +1 -1
  27. package/dist/cli/{index-wspj2mq3.js → index-3x5wpx5d.js} +1 -1
  28. package/dist/cli/{index-28nxv57v.js → index-5cgsrv62.js} +12 -2
  29. package/dist/cli/{index-mxmg15c5.js → index-ddakkws4.js} +2 -2
  30. package/dist/cli/{index-ce870r79.js → index-erngp7a9.js} +1 -1
  31. package/dist/cli/{index-pa3hmzj7.js → index-j2nw3edf.js} +1 -1
  32. package/dist/cli/{index-1wgc9e0v.js → index-keg69zm1.js} +1 -1
  33. package/dist/cli/{index-5268nwjx.js → index-q3sq287p.js} +1 -1
  34. package/dist/cli/{index-jf1f6npt.js → index-rqbk0b30.js} +1 -1
  35. package/dist/cli/{index-q1d4ns4n.js → index-v26ze17p.js} +1 -1
  36. package/dist/cli/{index-hneb973j.js → index-vkkqe08e.js} +2 -2
  37. package/dist/cli/index.js +23 -18
  38. package/dist/cli/{info-crpftzxh.js → info-d74dr585.js} +1 -1
  39. package/dist/cli/{iosNativeWatcher-8w1gawg4.js → iosNativeWatcher-kggp7j9a.js} +4 -4
  40. package/dist/cli/{iosSimulatorController-5vhqvhg6.js → iosSimulatorController-xcxxfkzx.js} +4 -4
  41. package/dist/cli/{mobile-21vsmrjd.js → mobile-00bqw12c.js} +9 -9
  42. package/dist/cli/{ps-ha7bhpc6.js → ps-8y28kzmb.js} +1 -1
  43. package/dist/cli/{psTui-rxszyyz8.js → psTui-8e96mwgz.js} +1 -1
  44. package/dist/cli/{remoteMacProtocol-dybpgazw.js → remoteMacProtocol-r38jhg44.js} +4 -4
  45. package/dist/cli/{remove-pwfv4wsd.js → remove-3fd1z2hx.js} +4 -4
  46. package/dist/cli/{start-3bhf56tj.js → start-q08avhxg.js} +2 -2
  47. package/dist/cli/{typecheck-7n5599tp.js → typecheck-yj9s13eb.js} +1 -1
  48. package/dist/cli/{workspace-h7czpaqh.js → workspace-e3jt4as8.js} +1 -1
  49. package/dist/client/chunks/index-dk743xs6.js +146 -0
  50. package/dist/client/chunks/index-dk743xs6.js.map +10 -0
  51. package/dist/client/chunks/index-jrcwp722.js +12 -0
  52. package/dist/client/chunks/index-jrcwp722.js.map +10 -0
  53. package/dist/client/chunks/{islands-xj2n8nwf.js → islands-50dg63j9.js} +6 -3
  54. package/dist/client/chunks/{islands-xj2n8nwf.js.map → islands-50dg63j9.js.map} +3 -3
  55. package/dist/client/chunks/{react-pdg4325x.js → react-yq4ss9y4.js} +4 -3
  56. package/dist/client/chunks/{react-pdg4325x.js.map → react-yq4ss9y4.js.map} +2 -2
  57. package/dist/client/index.js +5 -4
  58. package/dist/client/index.js.map +2 -2
  59. package/dist/index.js +15 -3
  60. package/dist/index.js.map +6 -5
  61. package/dist/islands/index.js +14 -2
  62. package/dist/islands/index.js.map +5 -4
  63. package/dist/mobile/index.js +13 -3
  64. package/dist/mobile/index.js.map +4 -4
  65. package/dist/mobile/remoteMacAgentEntry.js +162 -162
  66. package/dist/react/index.js +14 -2
  67. package/dist/react/index.js.map +5 -4
  68. package/dist/react/server.js +14 -2
  69. package/dist/react/server.js.map +5 -4
  70. package/dist/src/cli/scripts/db.d.ts +2 -19
  71. package/dist/src/cli/scripts/dbEngines/detect.d.ts +8 -0
  72. package/dist/src/cli/scripts/dbEngines/mssql.d.ts +4 -0
  73. package/dist/src/cli/scripts/dbEngines/mysql.d.ts +2 -0
  74. package/dist/src/cli/scripts/dbEngines/open.d.ts +2 -0
  75. package/dist/src/cli/scripts/dbEngines/postgres.d.ts +2 -0
  76. package/dist/src/cli/scripts/dbEngines/sqlText.d.ts +13 -0
  77. package/dist/src/cli/scripts/dbEngines/sqlite.d.ts +4 -0
  78. package/dist/src/cli/scripts/dbEngines/values.d.ts +12 -0
  79. package/dist/src/cli/utils.d.ts +7 -0
  80. package/dist/src/client/browserTranslation.d.ts +3 -0
  81. package/dist/src/client/browserTranslationAttributes.d.ts +2 -0
  82. package/dist/src/utils/userAgentFunctions.d.ts +1 -1
  83. package/dist/src/vue/components/Image.d.ts +1 -1
  84. package/dist/svelte/index.js +14 -2
  85. package/dist/svelte/index.js.map +5 -4
  86. package/dist/svelte/server.js +14 -2
  87. package/dist/svelte/server.js.map +5 -4
  88. package/dist/types/db.d.ts +109 -0
  89. package/dist/vue/browser.js +75 -8
  90. package/dist/vue/browser.js.map +5 -4
  91. package/dist/vue/index.js +77 -9
  92. package/dist/vue/index.js.map +6 -5
  93. package/dist/vue/server.js +14 -2
  94. package/dist/vue/server.js.map +5 -4
  95. package/package.json +13 -1
  96. package/dist/cli/db-tejnwt9j.js +0 -238
  97. package/dist/client/chunks/index-5py90ctf.js +0 -87
  98. package/dist/client/chunks/index-5py90ctf.js.map +0 -10
package/CHANGELOG.md CHANGED
@@ -6,6 +6,27 @@ 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.122 — 2026-09-27
10
+
11
+ ### Fixed
12
+
13
+ - **Preserve browser-translated attributes and inserted text-only font wrappers through hydration** (`captureSsrTextBaselines`, `prepareBrowserTranslationHydration`, `preserveBrowserTranslation`)
14
+ Snapshot alt, title, placeholder and aria-label alongside SSR text. Temporarily restore those attributes and newly inserted text-only font trees while the framework hydrates, then reapply translations on the hydrated nodes. Preserve authored and interactive markup, URLs, field values and genuine client changes. Fixes translated landing-page warnings and text reverting to English without suppressing ordinary hydration mismatches.
15
+
16
+ ## 0.20.0-beta.121 — 2026-09-27
17
+
18
+ ### Added
19
+
20
+ - **`absolute db backup` and `restore` work on every SQL engine Drizzle and Prisma support, not only PostgreSQL**
21
+ The engine is picked from the URL scheme (with drizzle.config dialect / Prisma provider as a fallback): PostgreSQL and CockroachDB, MySQL, MariaDB and SingleStore, SQLite and local libSQL files, remote libSQL/Turso (optional peer @libsql/client) and SQL Server (optional peer mssql). Dependency order, identifier quoting, upserts and value encoding are per dialect; generated columns are skipped and identity columns are inserted explicitly. MongoDB and Gel are refused with a clear message. `absolute db seed --url` hands the URL and engine to the seed script. PostgreSQL backups keep their exact file shape.
22
+
23
+ ### Fixed
24
+
25
+ - **`absolute db restore` into PostgreSQL keeps JSON documents, arrays, bytea, identity columns and sequences intact**
26
+ json/jsonb values were stringified before binding, and Bun SQL JSON-encodes bound values, so every document was restored as a JSON string scalar. Array columns failed to bind, bytea values are now decoded from their backed-up Buffer JSON, `generated always` identity and generated columns were rejected, and serial/identity sequences were left behind the restored ids so the next insert collided.
27
+ - **Starting a server no longer kills unrelated processes that hold its port**
28
+ `absolute start`, `compile`, the config server and `workspace` cleared their port by killing every process listening on it, including unrelated services and other projects' servers (a PostgreSQL, another app, a control plane). They now stop only a leftover AbsoluteJS server started from this project directory, and report anything else on the port as left running.
29
+
9
30
  ## 0.20.0-beta.120 — 2026-09-23
10
31
 
11
32
  ### Fixed
package/changelog.json CHANGED
@@ -2,6 +2,43 @@
2
2
  "contract": 1,
3
3
  "name": "@absolutejs/absolute",
4
4
  "releases": [
5
+ {
6
+ "changes": [
7
+ {
8
+ "detail": "Snapshot alt, title, placeholder and aria-label alongside SSR text. Temporarily restore those attributes and newly inserted text-only font trees while the framework hydrates, then reapply translations on the hydrated nodes. Preserve authored and interactive markup, URLs, field values and genuine client changes. Fixes translated landing-page warnings and text reverting to English without suppressing ordinary hydration mismatches.",
9
+ "kind": "fixed",
10
+ "summary": "Preserve browser-translated attributes and inserted text-only font wrappers through hydration",
11
+ "symbols": [
12
+ "captureSsrTextBaselines",
13
+ "prepareBrowserTranslationHydration",
14
+ "preserveBrowserTranslation"
15
+ ]
16
+ }
17
+ ],
18
+ "date": "2026-09-27",
19
+ "version": "0.20.0-beta.122"
20
+ },
21
+ {
22
+ "changes": [
23
+ {
24
+ "detail": "The engine is picked from the URL scheme (with drizzle.config dialect / Prisma provider as a fallback): PostgreSQL and CockroachDB, MySQL, MariaDB and SingleStore, SQLite and local libSQL files, remote libSQL/Turso (optional peer @libsql/client) and SQL Server (optional peer mssql). Dependency order, identifier quoting, upserts and value encoding are per dialect; generated columns are skipped and identity columns are inserted explicitly. MongoDB and Gel are refused with a clear message. `absolute db seed --url` hands the URL and engine to the seed script. PostgreSQL backups keep their exact file shape.",
25
+ "kind": "added",
26
+ "summary": "`absolute db backup` and `restore` work on every SQL engine Drizzle and Prisma support, not only PostgreSQL"
27
+ },
28
+ {
29
+ "detail": "json/jsonb values were stringified before binding, and Bun SQL JSON-encodes bound values, so every document was restored as a JSON string scalar. Array columns failed to bind, bytea values are now decoded from their backed-up Buffer JSON, `generated always` identity and generated columns were rejected, and serial/identity sequences were left behind the restored ids so the next insert collided.",
30
+ "kind": "fixed",
31
+ "summary": "`absolute db restore` into PostgreSQL keeps JSON documents, arrays, bytea, identity columns and sequences intact"
32
+ },
33
+ {
34
+ "detail": "`absolute start`, `compile`, the config server and `workspace` cleared their port by killing every process listening on it, including unrelated services and other projects' servers (a PostgreSQL, another app, a control plane). They now stop only a leftover AbsoluteJS server started from this project directory, and report anything else on the port as left running.",
35
+ "kind": "fixed",
36
+ "summary": "Starting a server no longer kills unrelated processes that hold its port"
37
+ }
38
+ ],
39
+ "date": "2026-09-27",
40
+ "version": "0.20.0-beta.121"
41
+ },
5
42
  {
6
43
  "changes": [
7
44
  {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  var __require = import.meta.require;
3
3
 
4
- // .angular-partial-tmp-vefT8m/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-LiuoUM/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-vefT8m/src/core/streamingSlotRegistrar.ts
4
+ // .angular-partial-tmp-LiuoUM/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-vefT8m/src/core/streamingSlotRegistry.ts
51
+ // .angular-partial-tmp-LiuoUM/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";
@@ -1107,6 +1107,17 @@ var requireCurrentIslandRegistry = () => {
1107
1107
  globalThis.__absoluteIslandRegistry = registry;
1108
1108
  };
1109
1109
 
1110
+ // src/client/browserTranslationAttributes.ts
1111
+ var TRANSLATABLE_ATTRIBUTES;
1112
+ var init_browserTranslationAttributes = __esm(() => {
1113
+ TRANSLATABLE_ATTRIBUTES = [
1114
+ "alt",
1115
+ "title",
1116
+ "placeholder",
1117
+ "aria-label"
1118
+ ];
1119
+ });
1120
+
1110
1121
  // src/core/browserTranslation.ts
1111
1122
  var BASELINE_MARKER = "__ABSOLUTE_SSR_TEXT_BASELINES__", BROWSER_TRANSLATION_BASELINE_SCRIPT, browserTranslationBaselineTag = () => `<script>${BROWSER_TRANSLATION_BASELINE_SCRIPT}</script>`, injectBrowserTranslationBaseline = (html) => {
1112
1123
  if (html.includes(BASELINE_MARKER))
@@ -1118,7 +1129,8 @@ var BASELINE_MARKER = "__ABSOLUTE_SSR_TEXT_BASELINES__", BROWSER_TRANSLATION_BAS
1118
1129
  return `${html.slice(0, closingBodyIndex)}${script}${html.slice(closingBodyIndex)}`;
1119
1130
  };
1120
1131
  var init_browserTranslation = __esm(() => {
1121
- BROWSER_TRANSLATION_BASELINE_SCRIPT = "window.__ABSOLUTE_SSR_TEXT_BASELINES__=new WeakMap();" + "{const r=document.body,b=window.__ABSOLUTE_SSR_TEXT_BASELINES__;" + 'if(r)for(const e of [r,...r.querySelectorAll("*")]){' + "const t=new Map();for(const [i,n]of[...e.childNodes].entries())" + 'if(n.nodeType===3)t.set(i,n.nodeValue??"");if(t.size)b.set(e,t);}}';
1132
+ init_browserTranslationAttributes();
1133
+ BROWSER_TRANSLATION_BASELINE_SCRIPT = "window.__ABSOLUTE_SSR_TEXT_BASELINES__=new WeakMap();" + "window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__=new WeakMap();" + "{const r=document.body,b=window.__ABSOLUTE_SSR_TEXT_BASELINES__," + "a=window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__;" + 'if(r)for(const e of [r,...r.querySelectorAll("*")]){' + "const t=new Map();for(const [i,n]of[...e.childNodes].entries())" + 'if(n.nodeType===3)t.set(i,n.nodeValue??"");if(t.size)b.set(e,t);' + `const v=new Map();for(const k of ${JSON.stringify(TRANSLATABLE_ATTRIBUTES)}){` + "const s=e.getAttribute(k);if(s!==null)v.set(k,s);}if(v.size)a.set(e,v);}}";
1122
1134
  });
1123
1135
 
1124
1136
  // src/angular/requestProviders.ts
@@ -16752,5 +16764,5 @@ export {
16752
16764
  withPendingTask
16753
16765
  };
16754
16766
 
16755
- //# debugId=DE5F95BFF37D0BF264756E2164756E21
16767
+ //# debugId=E4722B59E349FBC764756E2164756E21
16756
16768
  //# sourceMappingURL=index.js.map