@absolutejs/absolute 0.20.0-beta.136 → 0.20.0-beta.138

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 (112) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/changelog.json +32 -0
  3. package/dist/angular/browser.js +2 -2
  4. package/dist/angular/browser.js.map +3 -3
  5. package/dist/angular/components/constants.js +3 -0
  6. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  7. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  8. package/dist/angular/index.js +2 -2
  9. package/dist/angular/index.js.map +3 -3
  10. package/dist/angular/server.js +2 -2
  11. package/dist/angular/server.js.map +3 -3
  12. package/dist/build.js +10 -8
  13. package/dist/build.js.map +6 -6
  14. package/dist/cli/{add-hvqeg5sz.js → add-a33ashpx.js} +9 -9
  15. package/dist/cli/{analyze-c2x2aym5.js → analyze-3cyek6v3.js} +3 -3
  16. package/dist/cli/{androidEmulatorController-j73a1br6.js → androidEmulatorController-3zn6a4j3.js} +6 -6
  17. package/dist/cli/{androidNativeWatcher-ctbnsr1v.js → androidNativeWatcher-wz7vhnkr.js} +6 -6
  18. package/dist/cli/{api-rk13rfd9.js → api-m3n8xbcv.js} +8 -8
  19. package/dist/cli/{build-20y4b6rj.js → build-25rz8v25.js} +3 -3
  20. package/dist/cli/{buildDepVendor-axqvbbm6.js → buildDepVendor-bpac1bhq.js} +3 -3
  21. package/dist/cli/{compile-c7798g5y.js → compile-3hrjsbjq.js} +6 -5
  22. package/dist/cli/{db-p8pc325y.js → db-5b4s1kvx.js} +2 -2
  23. package/dist/cli/{dev-k5mbc04f.js → dev-5akk4tw6.js} +14 -14
  24. package/dist/cli/{doctor-8rm8p4dm.js → doctor-f13ntk9a.js} +3 -3
  25. package/dist/cli/{emulatorDoctor-cwa70kgt.js → emulatorDoctor-1m4rr9y3.js} +5 -5
  26. package/dist/cli/{emulatorInstaller-dx3fmm2m.js → emulatorInstaller-70v711bj.js} +6 -6
  27. package/dist/cli/{env-2107nff1.js → env-snb0597q.js} +3 -3
  28. package/dist/cli/{expoDevController-s70fj7vf.js → expoDevController-hen9sra5.js} +6 -6
  29. package/dist/cli/{generate-nz4w03yz.js → generate-vx6tz1y2.js} +8 -8
  30. package/dist/cli/{heapDiff-2etr2r26.js → heapDiff-wqj8vrq8.js} +3 -3
  31. package/dist/cli/{htmx-0xcaqrny.js → htmx-dym03fq5.js} +6 -6
  32. package/dist/cli/{index-xcr3r6a1.js → index-14fbvz34.js} +2 -2
  33. package/dist/cli/{index-1ff9q1vx.js → index-3y57kd7x.js} +3 -3
  34. package/dist/cli/{index-j57pgg5m.js → index-52a2csjm.js} +1 -1
  35. package/dist/cli/{index-92hmw204.js → index-74m7kh8c.js} +1 -1
  36. package/dist/cli/{index-gmwb037j.js → index-7whcck3r.js} +1 -1
  37. package/dist/cli/{index-fkn59pcp.js → index-b1vyj26r.js} +3 -3
  38. package/dist/cli/{index-8w2wazrk.js → index-bvwkwgjw.js} +2 -2
  39. package/dist/cli/{index-adywn74r.js → index-cvkfb73g.js} +1 -1
  40. package/dist/cli/{index-8kdmmgvc.js → index-d3br7c47.js} +1 -1
  41. package/dist/cli/{index-73sk1ney.js → index-g4ehq6ev.js} +1 -1
  42. package/dist/cli/{index-3gtnqd57.js → index-g8489j4d.js} +1 -1
  43. package/dist/cli/{index-ma1dw7x2.js → index-h5qx5jpk.js} +1 -1
  44. package/dist/cli/{index-1x1vah31.js → index-kye08pjx.js} +1 -1
  45. package/dist/cli/{index-jcjwsdqt.js → index-px7fqsfk.js} +1 -1
  46. package/dist/cli/{index-k4t9k1xk.js → index-v4cg4dvm.js} +2 -2
  47. package/dist/cli/{index-snbzdwb9.js → index-vy8zejts.js} +1 -1
  48. package/dist/cli/{index-wy0yh4jj.js → index-x1swv7rw.js} +1 -1
  49. package/dist/cli/{index-31j3beht.js → index-xj68ep9n.js} +2 -2
  50. package/dist/cli/{index-djme2zmz.js → index-xv9msedx.js} +4 -4
  51. package/dist/cli/{index-ppxed116.js → index-xw1byvzp.js} +1 -1
  52. package/dist/cli/{index-m1vntzf1.js → index-ys2rzqhg.js} +1 -1
  53. package/dist/cli/index.js +32 -32
  54. package/dist/cli/{info-kx5510rq.js → info-1hfrhf86.js} +4 -4
  55. package/dist/cli/{inspect-5dj06x0m.js → inspect-c7s117j0.js} +5 -5
  56. package/dist/cli/{iosNativeWatcher-p1z40vbb.js → iosNativeWatcher-7n2a7nh5.js} +7 -7
  57. package/dist/cli/{iosSimulatorController-491k640d.js → iosSimulatorController-6qfhmbq0.js} +7 -7
  58. package/dist/cli/{islands-z4adh55n.js → islands-rq6wx0kh.js} +3 -3
  59. package/dist/cli/{logs-3p2vrq5h.js → logs-ej1add2b.js} +3 -3
  60. package/dist/cli/{ls-nkspq73y.js → ls-4m4yqwww.js} +3 -3
  61. package/dist/cli/{mem-h3f497cr.js → mem-5q7n3ymb.js} +5 -5
  62. package/dist/cli/{migrate-52bqqp08.js → migrate-6nm4kdf6.js} +2 -2
  63. package/dist/cli/{mobile-jx4e7r2w.js → mobile-rb3zcs4f.js} +13 -13
  64. package/dist/cli/{prettier-c1624g36.js → prettier-phdtvqef.js} +1 -1
  65. package/dist/cli/{ps-0jedm91n.js → ps-0tryaye0.js} +6 -6
  66. package/dist/cli/{psTui-tpr5nbmc.js → psTui-0nx63pmr.js} +7 -7
  67. package/dist/cli/{remoteMacProtocol-5qxgxk21.js → remoteMacProtocol-2vffjhdd.js} +7 -7
  68. package/dist/cli/{remove-z0brj5nd.js → remove-qgme4h2s.js} +8 -8
  69. package/dist/cli/{routes-ey0sw1eq.js → routes-3xj256gx.js} +3 -3
  70. package/dist/cli/{start-7qsbfdxf.js → start-7q57gc22.js} +5 -5
  71. package/dist/cli/{typecheck-nmf6e7k7.js → typecheck-w6kex2xj.js} +126 -39
  72. package/dist/cli/{workspace-yetzedke.js → workspace-atcxzyee.js} +5 -5
  73. package/dist/client/chunks/{islands-rc28k5sx.js → islands-eexr591d.js} +7 -7
  74. package/dist/client/chunks/{islands-rc28k5sx.js.map → islands-eexr591d.js.map} +3 -3
  75. package/dist/client/index.js +2 -2
  76. package/dist/dev/client/constants.ts +4 -0
  77. package/dist/dev/client/cssUtils.ts +94 -9
  78. package/dist/dev/serverBootstrap.js +1 -1
  79. package/dist/index.js +13 -8
  80. package/dist/index.js.map +7 -7
  81. package/dist/islands/index.js +2 -2
  82. package/dist/islands/index.js.map +3 -3
  83. package/dist/mobile/index.js +2 -2
  84. package/dist/mobile/index.js.map +3 -3
  85. package/dist/mobile/remoteMacAgentEntry.js +59 -59
  86. package/dist/react/components/index.js +2 -2
  87. package/dist/react/components/index.js.map +3 -3
  88. package/dist/react/index.js +2 -2
  89. package/dist/react/index.js.map +3 -3
  90. package/dist/react/server.js +2 -2
  91. package/dist/react/server.js.map +3 -3
  92. package/dist/src/angular/components/constants.d.ts +3 -0
  93. package/dist/src/build/compileTailwind.d.ts +8 -2
  94. package/dist/src/cli/scripts/bunCheck.d.ts +19 -0
  95. package/dist/src/constants.d.ts +3 -0
  96. package/dist/src/core/build.d.ts +2 -0
  97. package/dist/svelte/index.js +2 -2
  98. package/dist/svelte/index.js.map +3 -3
  99. package/dist/svelte/server.js +2 -2
  100. package/dist/svelte/server.js.map +3 -3
  101. package/dist/types/client.d.ts +5 -0
  102. package/dist/types/style-module-shim.d.ts +15 -0
  103. package/dist/vue/components/Image.js +2 -2
  104. package/dist/vue/components/Image.js.map +3 -3
  105. package/dist/vue/components/index.js +2 -2
  106. package/dist/vue/components/index.js.map +3 -3
  107. package/dist/vue/index.js +2 -2
  108. package/dist/vue/index.js.map +3 -3
  109. package/dist/vue/server.js +2 -2
  110. package/dist/vue/server.js.map +3 -3
  111. package/package.json +1 -1
  112. /package/dist/cli/{index-hxqprc80.js → index-fgz435qn.js} +0 -0
@@ -15,13 +15,13 @@ import {
15
15
  runAbsoluteRemoteIosReleaseAcceptance2,
16
16
  startAbsoluteRemoteExpoIosDevSession2,
17
17
  startAbsoluteRemoteIosDevSession2
18
- } from "./index-gmwb037j.js";
19
- import"./index-adywn74r.js";
20
- import"./index-j57pgg5m.js";
21
- import"./index-k4t9k1xk.js";
22
- import"./index-92hmw204.js";
23
- import"./index-1x1vah31.js";
24
- import"./index-hxqprc80.js";
18
+ } from "./index-7whcck3r.js";
19
+ import"./index-cvkfb73g.js";
20
+ import"./index-52a2csjm.js";
21
+ import"./index-v4cg4dvm.js";
22
+ import"./index-74m7kh8c.js";
23
+ import"./index-kye08pjx.js";
24
+ import"./index-fgz435qn.js";
25
25
  export {
26
26
  buildAbsoluteRemoteIosRelease2 as buildAbsoluteRemoteIosRelease,
27
27
  captureAbsoluteRemoteMacCommand2 as captureAbsoluteRemoteMacCommand,
@@ -3,24 +3,24 @@ import {
3
3
  isFrameworkKey,
4
4
  frameworks,
5
5
  resolveProject
6
- } from "./index-snbzdwb9.js";
6
+ } from "./index-vy8zejts.js";
7
7
  import {
8
8
  applyAbsoluteConfigEdit
9
- } from "./index-8kdmmgvc.js";
9
+ } from "./index-d3br7c47.js";
10
10
  import"./index-h7qhz02e.js";
11
- import"./index-hxqprc80.js";
11
+ import"./index-fgz435qn.js";
12
12
  import {
13
13
  findRoutingFile
14
- } from "./index-3gtnqd57.js";
14
+ } from "./index-g8489j4d.js";
15
15
  import {
16
16
  colors
17
- } from "./index-ppxed116.js";
17
+ } from "./index-xw1byvzp.js";
18
18
  import {
19
19
  frameworkDependencyNames
20
20
  } from "./index-jjfbjv1z.js";
21
- import"./index-k4t9k1xk.js";
22
- import"./index-92hmw204.js";
23
- import"./index-1x1vah31.js";
21
+ import"./index-v4cg4dvm.js";
22
+ import"./index-74m7kh8c.js";
23
+ import"./index-kye08pjx.js";
24
24
 
25
25
  // src/cli/scripts/remove.ts
26
26
  import { existsSync, readFileSync } from "fs";
@@ -1,14 +1,14 @@
1
1
  // @bun
2
2
  import"./index-71gchbzt.js";
3
- import"./index-hxqprc80.js";
3
+ import"./index-fgz435qn.js";
4
4
  import {
5
5
  colors,
6
6
  padLine
7
- } from "./index-ppxed116.js";
7
+ } from "./index-xw1byvzp.js";
8
8
  import {
9
9
  discoverInstances,
10
10
  enrichInstances
11
- } from "./index-73sk1ney.js";
11
+ } from "./index-g4ehq6ev.js";
12
12
 
13
13
  // src/cli/scripts/routes.ts
14
14
  var METHOD_COLOR = {
@@ -1,7 +1,7 @@
1
1
  // @bun
2
2
  import {
3
3
  start2
4
- } from "./index-djme2zmz.js";
4
+ } from "./index-xv9msedx.js";
5
5
  import"./index-s9374tcg.js";
6
6
  import"./index-e6ysp900.js";
7
7
  import"./index-71gchbzt.js";
@@ -11,10 +11,10 @@ import"./index-43a1vvb7.js";
11
11
  import"./index-t7yf3vxs.js";
12
12
  import"./index-g407dg4f.js";
13
13
  import"./index-pch0v1z6.js";
14
- import"./index-k4t9k1xk.js";
15
- import"./index-92hmw204.js";
16
- import"./index-1x1vah31.js";
17
- import"./index-hxqprc80.js";
14
+ import"./index-v4cg4dvm.js";
15
+ import"./index-74m7kh8c.js";
16
+ import"./index-kye08pjx.js";
17
+ import"./index-fgz435qn.js";
18
18
  export {
19
19
  start2 as start
20
20
  };
@@ -7,21 +7,21 @@ import {
7
7
  } from "./index-h7qhz02e.js";
8
8
  import {
9
9
  ANSI_ESCAPE_CODE
10
- } from "./index-hxqprc80.js";
10
+ } from "./index-fgz435qn.js";
11
11
  import {
12
12
  getString,
13
13
  isRecord
14
14
  } from "./index-tx0kx9zx.js";
15
15
  import {
16
16
  DEFAULT_SERVER_ENTRY
17
- } from "./index-k4t9k1xk.js";
18
- import"./index-92hmw204.js";
19
- import"./index-1x1vah31.js";
17
+ } from "./index-v4cg4dvm.js";
18
+ import"./index-74m7kh8c.js";
19
+ import"./index-kye08pjx.js";
20
20
 
21
21
  // src/cli/scripts/typecheck.ts
22
- import { resolve, join, relative } from "path";
23
- import { existsSync, readFileSync } from "fs";
24
- import { mkdir, writeFile } from "fs/promises";
22
+ import { resolve as resolve2, join, relative } from "path";
23
+ import { existsSync as existsSync2, readFileSync as readFileSync2 } from "fs";
24
+ import { mkdir, rm, writeFile } from "fs/promises";
25
25
 
26
26
  // node_modules/jsonc-parser/lib/esm/impl/scanner.js
27
27
  function createScanner(text, ignoreTrivia = false) {
@@ -1029,11 +1029,69 @@ var summarizeImportAdvice = (entries, label) => {
1029
1029
  `);
1030
1030
  };
1031
1031
 
1032
+ // src/cli/scripts/bunCheck.ts
1033
+ import { createHash } from "crypto";
1034
+ import { existsSync, readFileSync, statSync } from "fs";
1035
+ import { dirname, resolve } from "path";
1036
+ var BUN_CHECK_MIN_VERSION = "1.4.3";
1037
+ var CHECKER_ENV = "ABSOLUTE_TYPECHECK_CHECKER";
1038
+ var THREADS_ENV = "ABSOLUTE_TYPECHECK_THREADS";
1039
+ var bunCheckCommand = (configPath, env = process.env, bun = process.execPath, terminal = process.stdout.isTTY === true) => {
1040
+ const threads = Number(env[THREADS_ENV]);
1041
+ const command = [bun, "check", "-p", configPath, "--all"];
1042
+ if (terminal)
1043
+ command.push("--pretty=true");
1044
+ if (Number.isSafeInteger(threads) && threads > 0)
1045
+ command.push(`--threads=${threads}`);
1046
+ return command;
1047
+ };
1048
+ var bunCheckSupported = (version = Bun.version, env = process.env) => env[CHECKER_ENV] !== "tsc" && Bun.semver.satisfies(version, `>=${BUN_CHECK_MIN_VERSION}`);
1049
+ var isFilePath = (specifier) => specifier.startsWith(".") || specifier.startsWith("/");
1050
+ var parentsOf = (config) => {
1051
+ let parsed;
1052
+ try {
1053
+ parsed = parse2(readFileSync(config, "utf-8"));
1054
+ } catch {
1055
+ return [];
1056
+ }
1057
+ const parents = isRecord(parsed) ? parsed.extends : undefined;
1058
+ const list = Array.isArray(parents) ? parents : [parents];
1059
+ return list.filter((parent) => typeof parent === "string" && isFilePath(parent)).map((parent) => resolve(dirname(config), parent));
1060
+ };
1061
+ var configChain = (start) => {
1062
+ const seen = [];
1063
+ const pending = [start];
1064
+ for (let next = pending.shift();next; next = pending.shift()) {
1065
+ if (seen.includes(next) || !existsSync(next))
1066
+ continue;
1067
+ seen.push(next);
1068
+ pending.push(...parentsOf(next));
1069
+ }
1070
+ return seen;
1071
+ };
1072
+ var checkFingerprint = (listing, configPath, version = Bun.version) => {
1073
+ const hash = createHash("sha256").update(`bun ${version}
1074
+ `);
1075
+ for (const config of configChain(configPath))
1076
+ hash.update(`${config}
1077
+ ${readFileSync(config, "utf-8")}
1078
+ `);
1079
+ const files = listing.split(`
1080
+ `).map((line) => line.trim()).filter((line) => line.startsWith("/")).sort();
1081
+ for (const file of files) {
1082
+ const stats = existsSync(file) ? statSync(file) : null;
1083
+ hash.update(stats ? `${file}\x00${stats.size}\x00${stats.mtimeMs}
1084
+ ` : `${file}\x00missing
1085
+ `);
1086
+ }
1087
+ return files.length > 0 ? hash.digest("hex") : null;
1088
+ };
1089
+
1032
1090
  // src/cli/scripts/typecheck.ts
1033
1091
  var isCommandService = (service) => service.kind === "command" || Array.isArray(service.command);
1034
- var resolveConfigPath = (configPath) => resolve(configPath ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
1092
+ var resolveConfigPath = (configPath) => resolve2(configPath ?? process.env.ABSOLUTE_CONFIG ?? "absolute.config.ts");
1035
1093
  var getTypecheckTargets = async (configPath) => {
1036
- if (!existsSync(resolveConfigPath(configPath))) {
1094
+ if (!existsSync2(resolveConfigPath(configPath))) {
1037
1095
  const defaultService = {};
1038
1096
  return [defaultService];
1039
1097
  }
@@ -1075,8 +1133,8 @@ var run = async (name, command) => {
1075
1133
  var shellEscape = (value) => `'${value.replaceAll("'", "'\\''")}'`;
1076
1134
  var runShell = async (name, command) => run(name, ["/bin/bash", "-lc", command]);
1077
1135
  var findBin = (name) => {
1078
- const local = resolve("node_modules", ".bin", name);
1079
- return existsSync(local) ? local : null;
1136
+ const local = resolve2("node_modules", ".bin", name);
1137
+ return existsSync2(local) ? local : null;
1080
1138
  };
1081
1139
  var ANSI_COLOR_REGEX = new RegExp(`${String.fromCharCode(ANSI_ESCAPE_CODE)}\\[[0-9;]*m`, "g");
1082
1140
  var ANSI_PURPLE_REGEX = `${String.fromCharCode(ANSI_ESCAPE_CODE)}[35m`;
@@ -1135,12 +1193,12 @@ var ABSOLUTE_INTERNAL_EXCLUDES = [
1135
1193
  ];
1136
1194
  var resolveAbsoluteTypeFile = (fileName) => {
1137
1195
  const candidates = [
1138
- resolve("node_modules/@absolutejs/absolute/dist/types", fileName),
1139
- resolve(import.meta.dir, "../types", fileName),
1140
- resolve(import.meta.dir, "../../types", fileName),
1141
- resolve(import.meta.dir, "../../../types", fileName)
1196
+ resolve2("node_modules/@absolutejs/absolute/dist/types", fileName),
1197
+ resolve2(import.meta.dir, "../types", fileName),
1198
+ resolve2(import.meta.dir, "../../types", fileName),
1199
+ resolve2(import.meta.dir, "../../../types", fileName)
1142
1200
  ];
1143
- return candidates.find((candidate) => existsSync(candidate)) ?? candidates[0];
1201
+ return candidates.find((candidate) => existsSync2(candidate)) ?? candidates[0];
1144
1202
  };
1145
1203
  var ABSOLUTE_TYPECHECK_FILES = [
1146
1204
  resolveAbsoluteTypeFile("style-module-shim.d.ts")
@@ -1148,7 +1206,7 @@ var ABSOLUTE_TYPECHECK_FILES = [
1148
1206
  var EMPTY_TSCONFIG = {};
1149
1207
  var readProjectTsconfig = () => {
1150
1208
  try {
1151
- const parsed = parse2(readFileSync(resolve("tsconfig.json"), "utf-8"));
1209
+ const parsed = parse2(readFileSync2(resolve2("tsconfig.json"), "utf-8"));
1152
1210
  return isRecord(parsed) ? parsed : EMPTY_TSCONFIG;
1153
1211
  } catch {
1154
1212
  return EMPTY_TSCONFIG;
@@ -1201,14 +1259,14 @@ var buildVueTscCheck = async (cacheDir) => {
1201
1259
  rootDir: ".."
1202
1260
  },
1203
1261
  exclude: getProjectTypecheckExcludes(),
1204
- extends: resolve("tsconfig.json"),
1262
+ extends: resolve2("tsconfig.json"),
1205
1263
  include: getProjectTypecheckIncludes()
1206
1264
  }, null, "\t"));
1207
1265
  const base = [
1208
1266
  vueTscBin,
1209
1267
  "--noEmit",
1210
1268
  "--project",
1211
- resolve(vueTsconfigPath),
1269
+ resolve2(vueTsconfigPath),
1212
1270
  "--pretty"
1213
1271
  ];
1214
1272
  const cached = await run("vue-tsc", [
@@ -1237,38 +1295,65 @@ var buildAngularCheck = async (cacheDir, angularDir) => {
1237
1295
  rootDir: ".."
1238
1296
  },
1239
1297
  exclude: getProjectTypecheckExcludes(),
1240
- extends: resolve("tsconfig.json"),
1298
+ extends: resolve2("tsconfig.json"),
1241
1299
  include: [
1242
1300
  ...getProjectDeclarationIncludes(),
1243
1301
  `../${angularDir}/**/*`
1244
1302
  ]
1245
1303
  }, null, "\t"));
1246
- return runShell("ngc", `${shellEscape(ngcBin)} -p ${shellEscape(resolve(angularTsconfigPath))}`);
1304
+ return runShell("ngc", `${shellEscape(ngcBin)} -p ${shellEscape(resolve2(angularTsconfigPath))}`);
1247
1305
  };
1248
- var buildTscCheck = (cacheDir) => {
1306
+ var writeTypecheckConfig = async (cacheDir, checker) => {
1307
+ const tscConfigPath = join(cacheDir, checker === "tsc" ? "tsconfig.typecheck.json" : "tsconfig.typecheck.bun.json");
1308
+ await writeFile(tscConfigPath, JSON.stringify({
1309
+ compilerOptions: checker === "tsc" ? { rootDir: ".." } : {},
1310
+ exclude: getProjectTypecheckExcludes(),
1311
+ extends: resolve2("tsconfig.json"),
1312
+ include: getProjectTypecheckIncludes()
1313
+ }, null, "\t"));
1314
+ return resolve2(tscConfigPath);
1315
+ };
1316
+ var buildTscCheck = async (cacheDir) => {
1249
1317
  const tscBin = findBin("tsc");
1250
1318
  if (!tscBin) {
1251
1319
  console.error("\x1B[31m\u2717\x1B[0m typescript is required for type checking. Install it: bun add -d typescript");
1252
1320
  process.exit(1);
1253
1321
  }
1254
- const tscConfigPath = join(cacheDir, "tsconfig.typecheck.json");
1255
- return writeFile(tscConfigPath, JSON.stringify({
1256
- compilerOptions: {
1257
- rootDir: ".."
1258
- },
1259
- exclude: getProjectTypecheckExcludes(),
1260
- extends: resolve("tsconfig.json"),
1261
- include: getProjectTypecheckIncludes()
1262
- }, null, "\t")).then(() => run("tsc", [
1322
+ const tscConfigPath = await writeTypecheckConfig(cacheDir, "tsc");
1323
+ return run("tsc", [
1263
1324
  tscBin,
1264
1325
  "--noEmit",
1265
1326
  "--project",
1266
- resolve(tscConfigPath),
1327
+ tscConfigPath,
1267
1328
  "--incremental",
1268
1329
  "--tsBuildInfoFile",
1269
1330
  join(cacheDir, "tsc.tsbuildinfo"),
1270
1331
  "--pretty"
1271
- ]));
1332
+ ]);
1333
+ };
1334
+ var BUN_CHECK_PASS_FILE = "bun-check.pass";
1335
+ var UNCHANGED = "unchanged since the last pass";
1336
+ var buildBunCheck = async (cacheDir) => {
1337
+ const configPath = await writeTypecheckConfig(cacheDir, "bun");
1338
+ const passFile = join(cacheDir, BUN_CHECK_PASS_FILE);
1339
+ const listing = await spawnChecker("bun check", [
1340
+ process.execPath,
1341
+ "check",
1342
+ "-p",
1343
+ configPath,
1344
+ "--listFilesOnly"
1345
+ ]);
1346
+ const fingerprint = listing.exitCode === 0 ? checkFingerprint(listing.output, configPath) : null;
1347
+ const lastPass = existsSync2(passFile) ? readFileSync2(passFile, "utf-8").trim() : null;
1348
+ if (fingerprint !== null && fingerprint === lastPass)
1349
+ return { exitCode: 0, name: "bun check", output: UNCHANGED };
1350
+ const result = await spawnChecker("bun check", bunCheckCommand(configPath));
1351
+ if (result.exitCode === 0 && fingerprint !== null)
1352
+ await writeFile(passFile, `${fingerprint}
1353
+ `);
1354
+ else if (existsSync2(passFile))
1355
+ await rm(passFile, { force: true });
1356
+ return result;
1272
1357
  };
1273
1358
  var buildSvelteCheck = async (cacheDir, svelteDir) => {
1274
1359
  const svelteBin = findBin("svelte-check");
@@ -1278,7 +1363,7 @@ var buildSvelteCheck = async (cacheDir, svelteDir) => {
1278
1363
  }
1279
1364
  const svelteTsconfigPath = join(cacheDir, "tsconfig.svelte-check.json");
1280
1365
  await writeFile(svelteTsconfigPath, JSON.stringify({
1281
- extends: resolve("tsconfig.json"),
1366
+ extends: resolve2("tsconfig.json"),
1282
1367
  files: ABSOLUTE_TYPECHECK_FILES,
1283
1368
  include: [
1284
1369
  ...getProjectDeclarationIncludes(),
@@ -1288,7 +1373,7 @@ var buildSvelteCheck = async (cacheDir, svelteDir) => {
1288
1373
  return run("svelte-check", [
1289
1374
  svelteBin,
1290
1375
  "--tsconfig",
1291
- resolve(svelteTsconfigPath),
1376
+ resolve2(svelteTsconfigPath),
1292
1377
  "--threshold",
1293
1378
  "error",
1294
1379
  "--compiler-warnings",
@@ -1301,11 +1386,11 @@ var buildSvelteCheck = async (cacheDir, svelteDir) => {
1301
1386
  var IMPORT_ADVICE_FLAG = "--import-advice";
1302
1387
  var importAdviceRequested = () => process.argv.includes(IMPORT_ADVICE_FLAG) || process.env.ABSOLUTE_IMPORT_ADVICE === "1";
1303
1388
  var serverEntryPaths = (targets) => [
1304
- ...new Set(targets.map((target) => resolve(target.cwd ?? ".", target.entry ?? DEFAULT_SERVER_ENTRY)).filter((path) => existsSync(path)))
1389
+ ...new Set(targets.map((target) => resolve2(target.cwd ?? ".", target.entry ?? DEFAULT_SERVER_ENTRY)).filter((path) => existsSync2(path)))
1305
1390
  ];
1306
1391
  var adviceFor = (path, detailed) => {
1307
1392
  const label = relative(process.cwd(), path) || path;
1308
- const entries = deferrableEntryImports(readFileSync(path, "utf-8"), path);
1393
+ const entries = deferrableEntryImports(readFileSync2(path, "utf-8"), path);
1309
1394
  return detailed ? formatImportAdvice(entries, label) : summarizeImportAdvice(entries, label);
1310
1395
  };
1311
1396
  var printAdviceFor = (path, detailed) => {
@@ -1336,7 +1421,8 @@ var typecheck = async (configPath) => {
1336
1421
  const cacheDir = ".absolutejs";
1337
1422
  await mkdir(cacheDir, { recursive: true });
1338
1423
  const checks = [];
1339
- checks.push(hasVue ? buildVueTscCheck(cacheDir) : buildTscCheck(cacheDir));
1424
+ const plainCheck = bunCheckSupported() ? buildBunCheck : buildTscCheck;
1425
+ checks.push(hasVue ? buildVueTscCheck(cacheDir) : plainCheck(cacheDir));
1340
1426
  for (const svelteDir of hasSvelte ? svelteDirs : []) {
1341
1427
  checks.push(buildSvelteCheck(cacheDir, svelteDir));
1342
1428
  }
@@ -1347,7 +1433,8 @@ var typecheck = async (configPath) => {
1347
1433
  const failed = results.filter((res) => res.exitCode !== 0);
1348
1434
  const detailedAdvice = importAdviceRequested();
1349
1435
  if (failed.length === 0) {
1350
- console.log("\x1B[32m\u2713\x1B[0m Typecheck passed");
1436
+ const unchanged = results.every((res) => res.output === UNCHANGED);
1437
+ console.log(`\x1B[32m\u2713\x1B[0m Typecheck passed${unchanged ? ` (${UNCHANGED})` : ""}`);
1351
1438
  reportImportAdvice(targets, detailedAdvice, true);
1352
1439
  return;
1353
1440
  }
@@ -25,7 +25,7 @@ import {
25
25
  WORKSPACE_TUI_STATUS_WIDTH,
26
26
  WORKSPACE_TUI_TARGET_PADDING_WIDTH,
27
27
  WORKSPACE_TUI_VISIBILITY_WIDTH
28
- } from "./index-hxqprc80.js";
28
+ } from "./index-fgz435qn.js";
29
29
  import {
30
30
  getWorkspaceServices,
31
31
  loadRawConfig
@@ -45,16 +45,16 @@ import {
45
45
  stripAnsi,
46
46
  truncateText,
47
47
  wrapText
48
- } from "./index-ppxed116.js";
48
+ } from "./index-xw1byvzp.js";
49
49
  import {
50
50
  DEFAULT_SERVER_ENTRY,
51
51
  isWSLEnvironment,
52
52
  killStaleProcesses
53
- } from "./index-k4t9k1xk.js";
54
- import"./index-92hmw204.js";
53
+ } from "./index-v4cg4dvm.js";
54
+ import"./index-74m7kh8c.js";
55
55
  import {
56
56
  getDurationString
57
- } from "./index-1x1vah31.js";
57
+ } from "./index-kye08pjx.js";
58
58
 
59
59
  // src/cli/scripts/workspace.ts
60
60
  import {
@@ -278,8 +278,8 @@ function parse(path) {
278
278
  var ret = { root: "", dir: "", base: "", ext: "", name: "" };
279
279
  if (path.length === 0)
280
280
  return ret;
281
- var code = path.charCodeAt(0), isAbsolute2 = code === 47, start;
282
- if (isAbsolute2)
281
+ var code = path.charCodeAt(0), isAbsolute = code === 47, start;
282
+ if (isAbsolute)
283
283
  ret.root = "/", start = 1;
284
284
  else
285
285
  start = 0;
@@ -304,12 +304,12 @@ function parse(path) {
304
304
  }
305
305
  if (startDot === -1 || end === -1 || preDotState === 0 || preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
306
306
  if (end !== -1)
307
- if (startPart === 0 && isAbsolute2)
307
+ if (startPart === 0 && isAbsolute)
308
308
  ret.base = ret.name = path.slice(1, end);
309
309
  else
310
310
  ret.base = ret.name = path.slice(startPart, end);
311
311
  } else {
312
- if (startPart === 0 && isAbsolute2)
312
+ if (startPart === 0 && isAbsolute)
313
313
  ret.name = path.slice(1, startDot), ret.base = path.slice(1, end);
314
314
  else
315
315
  ret.name = path.slice(startPart, startDot), ret.base = path.slice(startPart, end);
@@ -317,7 +317,7 @@ function parse(path) {
317
317
  }
318
318
  if (startPart > 0)
319
319
  ret.dir = path.slice(0, startPart - 1);
320
- else if (isAbsolute2)
320
+ else if (isAbsolute)
321
321
  ret.dir = "/";
322
322
  return ret;
323
323
  }
@@ -432,5 +432,5 @@ export {
432
432
  mountAngularIsland
433
433
  };
434
434
 
435
- //# debugId=42CA21376B16F2BA64756E2164756E21
436
- //# sourceMappingURL=islands-rc28k5sx.js.map
435
+ //# debugId=5899F49F18FDF6B264756E2164756E21
436
+ //# sourceMappingURL=islands-eexr591d.js.map
@@ -3,13 +3,13 @@
3
3
  "sources": ["../src/angular/resolveAngularPackage.ts", "node:path", "../src/utils/registerClientScript.ts", "../src/core/browserTranslation.ts", "../src/angular/ssrRender.ts", "../src/angular/islands.ts"],
4
4
  "sourcesContent": [
5
5
  "import { existsSync, readFileSync } from 'node:fs';\nimport { join, resolve } from 'node:path';\n\n/**\n * Resolve Angular package paths from the compiled runtime node_modules first,\n * then the app's process.cwd()/node_modules, falling back to the bare specifier.\n * This prevents Bun's baked import.meta.dir from resolving Angular packages\n * from the absolutejs source tree instead of the consumer's project when\n * running from a published npm package.\n */\nexport const resolveAngularPackageDir = (specifier: string) => {\n\tconst fromCompiledRuntime = process.env.ABSOLUTE_BUILD_DIR\n\t\t? resolve(process.env.ABSOLUTE_BUILD_DIR, 'node_modules', specifier)\n\t\t: null;\n\tif (fromCompiledRuntime && existsSync(fromCompiledRuntime)) {\n\t\treturn fromCompiledRuntime;\n\t}\n\n\tconst fromProject = resolve(process.cwd(), 'node_modules', specifier);\n\n\tif (existsSync(fromProject)) {\n\t\treturn fromProject;\n\t}\n\n\treturn null;\n};\n\nconst resolvePackageEntry = (packageDir: string) => {\n\ttry {\n\t\tconst pkg = JSON.parse(\n\t\t\treadFileSync(join(packageDir, 'package.json'), 'utf-8')\n\t\t);\n\t\tconst rootExport = pkg.exports?.['.'];\n\t\tconst entry =\n\t\t\t(typeof rootExport === 'string'\n\t\t\t\t? rootExport\n\t\t\t\t: rootExport?.default) ??\n\t\t\tpkg.module ??\n\t\t\tpkg.main ??\n\t\t\t'index.js';\n\n\t\treturn join(packageDir, entry);\n\t} catch {\n\t\treturn packageDir;\n\t}\n};\n\nexport const resolveAngularPackage = (specifier: string) => {\n\tconst packageDir = resolveAngularPackageDir(specifier);\n\tif (packageDir) return resolvePackageEntry(packageDir);\n\n\treturn specifier;\n};\n\nconst toSafeVendorName = (specifier: string) =>\n\tspecifier.replace(/^@/, '').replace(/\\//g, '_');\n\n/** Prefer the linked Bun-target vendor file built by\n * `buildAngularServerVendor`. The file is at\n * `<ABSOLUTE_BUILD_DIR>/angular/vendor/server/<safe>.js`, which is what every\n * server bundle's `@angular/*` imports get rewritten to point at. Sharing\n * this path keeps SSR's class identity unified — the dual-package hazard\n * that produces NG0201 only appears when the runtime imports a *different*\n * copy from the bundles. Falls back to `resolveAngularPackage` (node_modules)\n * when no vendor file is available — e.g. running tests outside an\n * absolutejs build, or before the vendor pass completes. */\nexport const resolveAngularRuntimePath = (specifier: string) => {\n\tconst buildDirs = [\n\t\tprocess.env.ABSOLUTE_BUILD_DIR,\n\t\tresolve(process.cwd(), 'build')\n\t].filter((value): value is string => Boolean(value));\n\n\tfor (const buildDir of buildDirs) {\n\t\tconst vendorPath = join(\n\t\t\tbuildDir,\n\t\t\t'angular',\n\t\t\t'vendor',\n\t\t\t'server',\n\t\t\t`${toSafeVendorName(specifier)}.js`\n\t\t);\n\t\tif (existsSync(vendorPath)) return vendorPath;\n\t}\n\n\treturn resolveAngularPackage(specifier);\n};\n",
6
- "function assertPath(path){if(typeof path!==\"string\")throw TypeError(\"Path must be a string. Received \"+JSON.stringify(path))}function normalizeStringPosix(path,allowAboveRoot){var res=\"\",lastSegmentLength=0,lastSlash=-1,dots=0,code;for(var i=0;i<=path.length;++i){if(i<path.length)code=path.charCodeAt(i);else if(code===47)break;else code=47;if(code===47){if(lastSlash===i-1||dots===1);else if(lastSlash!==i-1&&dots===2){if(res.length<2||lastSegmentLength!==2||res.charCodeAt(res.length-1)!==46||res.charCodeAt(res.length-2)!==46){if(res.length>2){var lastSlashIndex=res.lastIndexOf(\"/\");if(lastSlashIndex!==res.length-1){if(lastSlashIndex===-1)res=\"\",lastSegmentLength=0;else res=res.slice(0,lastSlashIndex),lastSegmentLength=res.length-1-res.lastIndexOf(\"/\");lastSlash=i,dots=0;continue}}else if(res.length===2||res.length===1){res=\"\",lastSegmentLength=0,lastSlash=i,dots=0;continue}}if(allowAboveRoot){if(res.length>0)res+=\"/..\";else res=\"..\";lastSegmentLength=2}}else{if(res.length>0)res+=\"/\"+path.slice(lastSlash+1,i);else res=path.slice(lastSlash+1,i);lastSegmentLength=i-lastSlash-1}lastSlash=i,dots=0}else if(code===46&&dots!==-1)++dots;else dots=-1}return res}function _format(sep,pathObject){var dir=pathObject.dir||pathObject.root,base=pathObject.base||(pathObject.name||\"\")+(pathObject.ext||\"\");if(!dir)return base;if(dir===pathObject.root)return dir+base;return dir+sep+base}function resolve(){var resolvedPath=\"\",resolvedAbsolute=!1,cwd;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path;if(i>=0)path=arguments[i];else{if(cwd===void 0)cwd=process.cwd();path=cwd}if(assertPath(path),path.length===0)continue;resolvedPath=path+\"/\"+resolvedPath,resolvedAbsolute=path.charCodeAt(0)===47}if(resolvedPath=normalizeStringPosix(resolvedPath,!resolvedAbsolute),resolvedAbsolute)if(resolvedPath.length>0)return\"/\"+resolvedPath;else return\"/\";else if(resolvedPath.length>0)return resolvedPath;else return\".\"}function normalize(path){if(assertPath(path),path.length===0)return\".\";var isAbsolute=path.charCodeAt(0)===47,trailingSeparator=path.charCodeAt(path.length-1)===47;if(path=normalizeStringPosix(path,!isAbsolute),path.length===0&&!isAbsolute)path=\".\";if(path.length>0&&trailingSeparator)path+=\"/\";if(isAbsolute)return\"/\"+path;return path}function isAbsolute(path){return assertPath(path),path.length>0&&path.charCodeAt(0)===47}function join(){if(arguments.length===0)return\".\";var joined;for(var i=0;i<arguments.length;++i){var arg=arguments[i];if(assertPath(arg),arg.length>0)if(joined===void 0)joined=arg;else joined+=\"/\"+arg}if(joined===void 0)return\".\";return normalize(joined)}function relative(from,to){if(assertPath(from),assertPath(to),from===to)return\"\";if(from=resolve(from),to=resolve(to),from===to)return\"\";var fromStart=1;for(;fromStart<from.length;++fromStart)if(from.charCodeAt(fromStart)!==47)break;var fromEnd=from.length,fromLen=fromEnd-fromStart,toStart=1;for(;toStart<to.length;++toStart)if(to.charCodeAt(toStart)!==47)break;var toEnd=to.length,toLen=toEnd-toStart,length=fromLen<toLen?fromLen:toLen,lastCommonSep=-1,i=0;for(;i<=length;++i){if(i===length){if(toLen>length){if(to.charCodeAt(toStart+i)===47)return to.slice(toStart+i+1);else if(i===0)return to.slice(toStart+i)}else if(fromLen>length){if(from.charCodeAt(fromStart+i)===47)lastCommonSep=i;else if(i===0)lastCommonSep=0}break}var fromCode=from.charCodeAt(fromStart+i),toCode=to.charCodeAt(toStart+i);if(fromCode!==toCode)break;else if(fromCode===47)lastCommonSep=i}var out=\"\";for(i=fromStart+lastCommonSep+1;i<=fromEnd;++i)if(i===fromEnd||from.charCodeAt(i)===47)if(out.length===0)out+=\"..\";else out+=\"/..\";if(out.length>0)return out+to.slice(toStart+lastCommonSep);else{if(toStart+=lastCommonSep,to.charCodeAt(toStart)===47)++toStart;return to.slice(toStart)}}function _makeLong(path){return path}function dirname(path){if(assertPath(path),path.length===0)return\".\";var code=path.charCodeAt(0),hasRoot=code===47,end=-1,matchedSlash=!0;for(var i=path.length-1;i>=1;--i)if(code=path.charCodeAt(i),code===47){if(!matchedSlash){end=i;break}}else matchedSlash=!1;if(end===-1)return hasRoot?\"/\":\".\";if(hasRoot&&end===1)return\"//\";return path.slice(0,end)}function basename(path,ext){if(ext!==void 0&&typeof ext!==\"string\")throw TypeError('\"ext\" argument must be a string');assertPath(path);var start=0,end=-1,matchedSlash=!0,i;if(ext!==void 0&&ext.length>0&&ext.length<=path.length){if(ext.length===path.length&&ext===path)return\"\";var extIdx=ext.length-1,firstNonSlashEnd=-1;for(i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){start=i+1;break}}else{if(firstNonSlashEnd===-1)matchedSlash=!1,firstNonSlashEnd=i+1;if(extIdx>=0)if(code===ext.charCodeAt(extIdx)){if(--extIdx===-1)end=i}else extIdx=-1,end=firstNonSlashEnd}}if(start===end)end=firstNonSlashEnd;else if(end===-1)end=path.length;return path.slice(start,end)}else{for(i=path.length-1;i>=0;--i)if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1)matchedSlash=!1,end=i+1;if(end===-1)return\"\";return path.slice(start,end)}}function extname(path){assertPath(path);var startDot=-1,startPart=0,end=-1,matchedSlash=!0,preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1)matchedSlash=!1,end=i+1;if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1)preDotState=-1}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1)return\"\";return path.slice(startDot,end)}function format(pathObject){if(pathObject===null||typeof pathObject!==\"object\")throw TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof pathObject);return _format(\"/\",pathObject)}function parse(path){assertPath(path);var ret={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(path.length===0)return ret;var code=path.charCodeAt(0),isAbsolute2=code===47,start;if(isAbsolute2)ret.root=\"/\",start=1;else start=0;var startDot=-1,startPart=0,end=-1,matchedSlash=!0,i=path.length-1,preDotState=0;for(;i>=start;--i){if(code=path.charCodeAt(i),code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1)matchedSlash=!1,end=i+1;if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1)preDotState=-1}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){if(end!==-1)if(startPart===0&&isAbsolute2)ret.base=ret.name=path.slice(1,end);else ret.base=ret.name=path.slice(startPart,end)}else{if(startPart===0&&isAbsolute2)ret.name=path.slice(1,startDot),ret.base=path.slice(1,end);else ret.name=path.slice(startPart,startDot),ret.base=path.slice(startPart,end);ret.ext=path.slice(startDot,end)}if(startPart>0)ret.dir=path.slice(0,startPart-1);else if(isAbsolute2)ret.dir=\"/\";return ret}var sep=\"/\",delimiter=\":\",posix=((p)=>(p.posix=p,p))({resolve,normalize,isAbsolute,join,relative,_makeLong,dirname,basename,extname,format,parse,sep,delimiter,win32:null,posix:null});var path_default=posix;export{sep,resolve,relative,posix,parse,normalize,join,isAbsolute,format,extname,dirname,delimiter,path_default as default,basename,_makeLong};",
6
+ "function assertPath(path){if(typeof path!==\"string\")throw TypeError(\"Path must be a string. Received \"+JSON.stringify(path))}function normalizeStringPosix(path,allowAboveRoot){var res=\"\",lastSegmentLength=0,lastSlash=-1,dots=0,code;for(var i=0;i<=path.length;++i){if(i<path.length)code=path.charCodeAt(i);else if(code===47)break;else code=47;if(code===47){if(lastSlash===i-1||dots===1);else if(lastSlash!==i-1&&dots===2){if(res.length<2||lastSegmentLength!==2||res.charCodeAt(res.length-1)!==46||res.charCodeAt(res.length-2)!==46){if(res.length>2){var lastSlashIndex=res.lastIndexOf(\"/\");if(lastSlashIndex!==res.length-1){if(lastSlashIndex===-1)res=\"\",lastSegmentLength=0;else res=res.slice(0,lastSlashIndex),lastSegmentLength=res.length-1-res.lastIndexOf(\"/\");lastSlash=i,dots=0;continue}}else if(res.length===2||res.length===1){res=\"\",lastSegmentLength=0,lastSlash=i,dots=0;continue}}if(allowAboveRoot){if(res.length>0)res+=\"/..\";else res=\"..\";lastSegmentLength=2}}else{if(res.length>0)res+=\"/\"+path.slice(lastSlash+1,i);else res=path.slice(lastSlash+1,i);lastSegmentLength=i-lastSlash-1}lastSlash=i,dots=0}else if(code===46&&dots!==-1)++dots;else dots=-1}return res}function _format(sep,pathObject){var dir=pathObject.dir||pathObject.root,base=pathObject.base||(pathObject.name||\"\")+(pathObject.ext||\"\");if(!dir)return base;if(dir===pathObject.root)return dir+base;return dir+sep+base}function resolve(){var resolvedPath=\"\",resolvedAbsolute=!1,cwd;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path;if(i>=0)path=arguments[i];else{if(cwd===void 0)cwd=process.cwd();path=cwd}if(assertPath(path),path.length===0)continue;resolvedPath=path+\"/\"+resolvedPath,resolvedAbsolute=path.charCodeAt(0)===47}if(resolvedPath=normalizeStringPosix(resolvedPath,!resolvedAbsolute),resolvedAbsolute)if(resolvedPath.length>0)return\"/\"+resolvedPath;else return\"/\";else if(resolvedPath.length>0)return resolvedPath;else return\".\"}function normalize(path){if(assertPath(path),path.length===0)return\".\";var isAbsolute=path.charCodeAt(0)===47,trailingSeparator=path.charCodeAt(path.length-1)===47;if(path=normalizeStringPosix(path,!isAbsolute),path.length===0&&!isAbsolute)path=\".\";if(path.length>0&&trailingSeparator)path+=\"/\";if(isAbsolute)return\"/\"+path;return path}function isAbsolute(path){return assertPath(path),path.length>0&&path.charCodeAt(0)===47}function join(){if(arguments.length===0)return\".\";var joined;for(var i=0;i<arguments.length;++i){var arg=arguments[i];if(assertPath(arg),arg.length>0)if(joined===void 0)joined=arg;else joined+=\"/\"+arg}if(joined===void 0)return\".\";return normalize(joined)}function relative(from,to){if(assertPath(from),assertPath(to),from===to)return\"\";if(from=resolve(from),to=resolve(to),from===to)return\"\";var fromStart=1;for(;fromStart<from.length;++fromStart)if(from.charCodeAt(fromStart)!==47)break;var fromEnd=from.length,fromLen=fromEnd-fromStart,toStart=1;for(;toStart<to.length;++toStart)if(to.charCodeAt(toStart)!==47)break;var toEnd=to.length,toLen=toEnd-toStart,length=fromLen<toLen?fromLen:toLen,lastCommonSep=-1,i=0;for(;i<=length;++i){if(i===length){if(toLen>length){if(to.charCodeAt(toStart+i)===47)return to.slice(toStart+i+1);else if(i===0)return to.slice(toStart+i)}else if(fromLen>length){if(from.charCodeAt(fromStart+i)===47)lastCommonSep=i;else if(i===0)lastCommonSep=0}break}var fromCode=from.charCodeAt(fromStart+i),toCode=to.charCodeAt(toStart+i);if(fromCode!==toCode)break;else if(fromCode===47)lastCommonSep=i}var out=\"\";for(i=fromStart+lastCommonSep+1;i<=fromEnd;++i)if(i===fromEnd||from.charCodeAt(i)===47)if(out.length===0)out+=\"..\";else out+=\"/..\";if(out.length>0)return out+to.slice(toStart+lastCommonSep);else{if(toStart+=lastCommonSep,to.charCodeAt(toStart)===47)++toStart;return to.slice(toStart)}}function _makeLong(path){return path}function dirname(path){if(assertPath(path),path.length===0)return\".\";var code=path.charCodeAt(0),hasRoot=code===47,end=-1,matchedSlash=!0;for(var i=path.length-1;i>=1;--i)if(code=path.charCodeAt(i),code===47){if(!matchedSlash){end=i;break}}else matchedSlash=!1;if(end===-1)return hasRoot?\"/\":\".\";if(hasRoot&&end===1)return\"//\";return path.slice(0,end)}function basename(path,ext){if(ext!==void 0&&typeof ext!==\"string\")throw TypeError('\"ext\" argument must be a string');assertPath(path);var start=0,end=-1,matchedSlash=!0,i;if(ext!==void 0&&ext.length>0&&ext.length<=path.length){if(ext.length===path.length&&ext===path)return\"\";var extIdx=ext.length-1,firstNonSlashEnd=-1;for(i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){start=i+1;break}}else{if(firstNonSlashEnd===-1)matchedSlash=!1,firstNonSlashEnd=i+1;if(extIdx>=0)if(code===ext.charCodeAt(extIdx)){if(--extIdx===-1)end=i}else extIdx=-1,end=firstNonSlashEnd}}if(start===end)end=firstNonSlashEnd;else if(end===-1)end=path.length;return path.slice(start,end)}else{for(i=path.length-1;i>=0;--i)if(path.charCodeAt(i)===47){if(!matchedSlash){start=i+1;break}}else if(end===-1)matchedSlash=!1,end=i+1;if(end===-1)return\"\";return path.slice(start,end)}}function extname(path){assertPath(path);var startDot=-1,startPart=0,end=-1,matchedSlash=!0,preDotState=0;for(var i=path.length-1;i>=0;--i){var code=path.charCodeAt(i);if(code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1)matchedSlash=!1,end=i+1;if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1)preDotState=-1}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1)return\"\";return path.slice(startDot,end)}function format(pathObject){if(pathObject===null||typeof pathObject!==\"object\")throw TypeError('The \"pathObject\" argument must be of type Object. Received type '+typeof pathObject);return _format(\"/\",pathObject)}function parse(path){assertPath(path);var ret={root:\"\",dir:\"\",base:\"\",ext:\"\",name:\"\"};if(path.length===0)return ret;var code=path.charCodeAt(0),isAbsolute=code===47,start;if(isAbsolute)ret.root=\"/\",start=1;else start=0;var startDot=-1,startPart=0,end=-1,matchedSlash=!0,i=path.length-1,preDotState=0;for(;i>=start;--i){if(code=path.charCodeAt(i),code===47){if(!matchedSlash){startPart=i+1;break}continue}if(end===-1)matchedSlash=!1,end=i+1;if(code===46){if(startDot===-1)startDot=i;else if(preDotState!==1)preDotState=1}else if(startDot!==-1)preDotState=-1}if(startDot===-1||end===-1||preDotState===0||preDotState===1&&startDot===end-1&&startDot===startPart+1){if(end!==-1)if(startPart===0&&isAbsolute)ret.base=ret.name=path.slice(1,end);else ret.base=ret.name=path.slice(startPart,end)}else{if(startPart===0&&isAbsolute)ret.name=path.slice(1,startDot),ret.base=path.slice(1,end);else ret.name=path.slice(startPart,startDot),ret.base=path.slice(startPart,end);ret.ext=path.slice(startDot,end)}if(startPart>0)ret.dir=path.slice(0,startPart-1);else if(isAbsolute)ret.dir=\"/\";return ret}var sep=\"/\",delimiter=\":\",posix=((p)=>(p.posix=p,p))({resolve,normalize,isAbsolute,join,relative,_makeLong,dirname,basename,extname,format,parse,sep,delimiter,win32:null,posix:null});var path_default=posix;export{_makeLong,basename,path_default as default,delimiter,dirname,extname,format,isAbsolute,join,normalize,parse,posix,relative,resolve,sep};",
7
7
  "/**\n * Utility for registering client-side scripts that need to run after Angular SSR hydration.\n *\n * This is necessary because Angular's lifecycle hooks don't always run reliably on the client\n * after SSR hydration, especially for event listeners attached to DOM elements.\n *\n * Usage in Angular components:\n * ```typescript\n * import { registerClientScript } from '@absolutejs/absolute';\n *\n * // Register an event listener script\n * registerClientScript(() => {\n * const element = document.querySelector('.my-element');\n * if (element) {\n * element.addEventListener('click', () => {\n * console.log('Clicked!');\n * });\n * }\n * });\n * ```\n *\n * The script will be automatically injected into the HTML response and executed on the client.\n */\n\n// Request-scoped registry for client scripts\n// Each request gets its own set of scripts to inject\nconst scriptRegistry = new Map<string, Set<() => void>>();\n\n// Generate a unique request ID for tracking scripts per request\nlet requestCounter = 0;\nconst getRequestId = () => `req_${Date.now()}_${++requestCounter}`;\n\n// Allow SSR frameworks to inject a request context getter (e.g. AsyncLocalStorage)\nlet ssrContextGetter: (() => string | undefined) | null = null;\nexport const getSsrContextId = () =>\n\tssrContextGetter?.() ||\n\tObject.getOwnPropertyDescriptor(globalThis, '__absolutejs_requestId')\n\t\t?.value;\nexport const registerClientScript = (\n\tscript: () => void,\n\trequestId?: string\n) => {\n\t// Try to get requestId from explicit arg, then Async Context, then global fallback\n\tconst id = requestId || getSsrContextId() || getRequestId();\n\n\tif (!scriptRegistry.has(id)) {\n\t\tscriptRegistry.set(id, new Set());\n\t}\n\n\tscriptRegistry.get(id)?.add(script);\n\n\treturn id;\n};\nexport const setSsrContextGetter = (getter: () => string | undefined) => {\n\tssrContextGetter = getter;\n};\n\n// Make registerClientScript available globally during SSR for Angular components\n// Using type assertion for globalThis extension\nif (typeof globalThis !== 'undefined') {\n\tObject.assign(globalThis, { registerClientScript });\n}\n\n/**\n * Get all registered scripts for a request and clear them.\n * This is called by the page handler after rendering.\n *\n * @param requestId - The request ID to get scripts for\n * @returns Array of script functions, or empty array if none registered\n */\nexport const clearAllClientScripts = () => {\n\tscriptRegistry.clear();\n};\nexport const generateClientScriptCode = (scripts: (() => void)[]) => {\n\tif (scripts.length === 0) {\n\t\treturn '';\n\t}\n\n\t// Convert functions to strings and wrap in IIFE\n\tconst scriptCode = scripts\n\t\t.map((script, index) => {\n\t\t\t// Get the function body as a string\n\t\t\tconst funcString = script.toString();\n\n\t\t\t// Extract the body (everything between { and })\n\t\t\tconst bodyMatch = funcString.match(/\\{([\\s\\S]*)\\}/);\n\t\t\tif (!bodyMatch || !bodyMatch[1]) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tconst body = bodyMatch[1].trim();\n\n\t\t\t// Wrap in IIFE with MutationObserver for DOM readiness\n\t\t\treturn `\n\t(function() {\n\t\tvar executed = false;\n\t\tfunction executeScript_${index}() {\n\t\t\tif (executed) return;\n\t\t\texecuted = true;\n\t\t\t${body}\n\t\t}\n\n\t\tif (document.readyState === 'complete' || document.readyState === 'interactive') {\n\t\t\texecuteScript_${index}();\n\t\t} else {\n\t\t\tdocument.addEventListener('DOMContentLoaded', executeScript_${index});\n\t\t}\n\n\t\t// Watch for hydration-added elements\n\t\tvar observer = new MutationObserver(function() {\n\t\t\texecuteScript_${index}();\n\t\t\tif (executed) observer.disconnect();\n\t\t});\n\t\tif (!executed) {\n\t\t\tobserver.observe(document.body || document.documentElement, { childList: true, subtree: true });\n\t\t}\n\n\t\t// Single fallback timeout\n\t\tsetTimeout(function() {\n\t\t\texecuteScript_${index}();\n\t\t\tobserver.disconnect();\n\t\t}, 1000);\n\t})();`;\n\t\t})\n\t\t.join('\\n');\n\n\treturn `<script>\n(function() {\n${scriptCode}\n})();\n</script>`;\n};\nexport const getAndClearClientScripts = (requestId?: string) => {\n\tconst id = requestId || ssrContextGetter?.();\n\tif (!id) return [];\n\n\tconst scripts = scriptRegistry.get(id);\n\tif (!scripts) {\n\t\treturn [];\n\t}\n\n\tconst scriptArray = Array.from(scripts);\n\tscriptRegistry.delete(id);\n\n\treturn scriptArray;\n};\n",
8
8
  "import { TRANSLATABLE_ATTRIBUTES } from '../client/browserTranslationAttributes';\n\nconst BASELINE_MARKER = '__ABSOLUTE_SSR_TEXT_BASELINES__';\n\n/** Inline this after SSR markup and before any client entry executes. The\n * snapshot records server-authored text while keeping it out of the DOM, so\n * browser translation remains free to edit the rendered text. */\nexport const BROWSER_TRANSLATION_BASELINE_SCRIPT =\n\t'window.__ABSOLUTE_SSR_TEXT_BASELINES__=new WeakMap();' +\n\t'window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__=new WeakMap();' +\n\t'{const r=document.body,b=window.__ABSOLUTE_SSR_TEXT_BASELINES__,' +\n\t'a=window.__ABSOLUTE_SSR_ATTRIBUTE_BASELINES__;' +\n\t'if(r)for(const e of [r,...r.querySelectorAll(\"*\")]){' +\n\t'const t=new Map();for(const [i,n]of[...e.childNodes].entries())' +\n\t'if(n.nodeType===3)t.set(i,n.nodeValue??\"\");if(t.size)b.set(e,t);' +\n\t`const v=new Map();for(const k of ${JSON.stringify(TRANSLATABLE_ATTRIBUTES)}){` +\n\t'const s=e.getAttribute(k);if(s!==null)v.set(k,s);}if(v.size)a.set(e,v);}}';\n\nexport const browserTranslationBaselineTag = () =>\n\t`<script>${BROWSER_TRANSLATION_BASELINE_SCRIPT}</script>`;\n\nexport const injectBrowserTranslationBaseline = (html: string) => {\n\tif (html.includes(BASELINE_MARKER)) return html;\n\tconst script = browserTranslationBaselineTag();\n\tconst closingBodyIndex = html.lastIndexOf('</body>');\n\tif (closingBodyIndex < 0) return `${html}${script}`;\n\n\treturn `${html.slice(0, closingBodyIndex)}${script}${html.slice(closingBodyIndex)}`;\n};\n",
9
9
  "import type { EnvironmentProviders, Provider, Type } from '@angular/core';\nimport type { BootstrapContext } from '@angular/platform-browser';\nimport type { AngularDeps, CachedRouteData } from '../../types/angular';\nimport {\n\tgetAndClearClientScripts,\n\tgenerateClientScriptCode\n} from '../utils/registerClientScript';\nimport { browserTranslationBaselineTag } from '../core/browserTranslation';\nimport { buildAbsoluteHttpTransferCacheOptions } from './httpTransferCache';\nimport { buildRequestProviders } from './requestProviders';\n\n// --- Last-used requestContext cache for HMR ---\n// Stores { requestContext, headTag } from the most recent real request per\n// route so HMR re-renders with the same data the user last saw.\n\nconst routeContextCache = new Map<string, CachedRouteData>();\n\nexport const cacheRouteData = (pagePath: string, data: CachedRouteData) => {\n\tconst cacheKey = pagePath.split('?')[0] ?? pagePath;\n\trouteContextCache.set(cacheKey, data);\n};\nexport const getCachedRouteData = (pagePath: string) =>\n\trouteContextCache.get(pagePath);\n\n// --- Selector cache ---\n\nconst selectorCache = new Map<string, string>();\nexport const buildProviders = (\n\tdeps: AngularDeps,\n\tsanitizer: InstanceType<AngularDeps['DomSanitizer']>,\n\trequest: Request | undefined,\n\trequestContext: unknown,\n\tresponseInit: ResponseInit | undefined,\n\tuserProviders: ReadonlyArray<Provider | EnvironmentProviders> = []\n) => [\n\tdeps.provideServerRendering(),\n\tdeps.provideClientHydration(\n\t\tdeps.withHttpTransferCacheOptions(\n\t\t\tbuildAbsoluteHttpTransferCacheOptions()\n\t\t)\n\t),\n\tdeps.provideZonelessChangeDetection(),\n\t{ provide: deps.APP_BASE_HREF, useValue: '/' },\n\t{ provide: deps.DomSanitizer, useValue: sanitizer },\n\t{ provide: deps.Sanitizer, useValue: sanitizer },\n\t...buildRequestProviders(deps, request, requestContext, responseInit),\n\t...userProviders\n];\nexport const clearSelectorCache = () => selectorCache.clear();\n\nexport const resolveSelector = (\n\tdeps: AngularDeps,\n\tpagePath: string,\n\tPageComponent: Type<unknown>\n) => {\n\tconst cached = selectorCache.get(pagePath);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst selector =\n\t\tdeps.reflectComponentType(PageComponent)?.selector ?? 'ng-app';\n\tselectorCache.set(pagePath, selector);\n\n\treturn selector;\n};\n\n// --- Inject HTML helper ---\n\nconst injectBeforeClose = (html: string, snippet: string) => {\n\tif (html.includes('</body>')) {\n\t\treturn html.replace('</body>', `${snippet}</body>`);\n\t}\n\tif (html.includes('</html>')) {\n\t\treturn html.replace('</html>', `${snippet}</html>`);\n\t}\n\n\treturn html + snippet;\n};\n\n// --- Post-render HTML injection ---\n\nexport const injectSsrScripts = (\n\thtml: string,\n\trequestId: string,\n\tindexPath: string,\n\trequestContext?: unknown\n) => {\n\tlet result = injectBeforeClose(html, browserTranslationBaselineTag());\n\n\tconst registeredScripts = getAndClearClientScripts(requestId);\n\tif (registeredScripts.length > 0) {\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\tgenerateClientScriptCode(registeredScripts)\n\t\t);\n\t}\n\n\tif (requestContext !== undefined) {\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\t`<script>window.__ABS_ANGULAR_REQUEST_CONTEXT__ = ${JSON.stringify(requestContext)};</script>`\n\t\t);\n\t}\n\n\tif (indexPath) {\n\t\tconst escapedIndexPath = JSON.stringify(indexPath);\n\t\tresult = injectBeforeClose(\n\t\t\tresult,\n\t\t\t`<script>import(${escapedIndexPath});</script>`\n\t\t);\n\t}\n\n\treturn result;\n};\nexport const renderAngularApp = async (\n\tdeps: AngularDeps,\n\tPageComponent: Type<unknown>,\n\tproviders: (Provider | EnvironmentProviders)[],\n\tdocument: string | Document,\n\turl: string = '/'\n) => {\n\tconst bootstrap = (context: BootstrapContext) =>\n\t\tdeps.bootstrapApplication(PageComponent, { providers }, context);\n\n\treturn withSuppressedAngularDevLogs(() =>\n\t\tdeps.renderApplication(bootstrap, {\n\t\t\tdocument,\n\t\t\tplatformProviders: [],\n\t\t\turl\n\t\t})\n\t);\n};\nexport const withSuppressedAngularDevLogs = async <T>(\n\trender: () => Promise<T>\n) => {\n\tconst origLog = console.log;\n\tconsole.log = (...args: unknown[]) => {\n\t\tif (\n\t\t\ttypeof args[0] === 'string' &&\n\t\t\targs[0].includes('development mode')\n\t\t) {\n\t\t\treturn;\n\t\t}\n\t\torigLog.apply(console, args);\n\t};\n\n\ttry {\n\t\treturn await render();\n\t} finally {\n\t\tconsole.log = origLog;\n\t}\n};\n",
10
10
  "import { getAngularDeps } from './angularDeps';\nimport { withSuppressedAngularDevLogs } from './ssrRender';\nimport { getSsrContextId } from '../utils/registerClientScript';\n\nconst angularIslandSelector = 'abs-angular-island';\n\nexport const getAngularIslandSelector = (_islandId: string) =>\n\tangularIslandSelector;\nexport const isAngularComponent = (\n\tvalue: unknown\n): value is import('@angular/core').Type<object> => typeof value === 'function';\n\nconst getSelectorFromRenderedIsland = (rootElement: HTMLElement) => {\n\tconst firstChild = rootElement.firstElementChild;\n\tif (!(firstChild instanceof HTMLElement)) {\n\t\treturn null;\n\t}\n\n\tconst selector = firstChild.tagName.toLowerCase();\n\n\treturn selector.length > 0 ? selector : null;\n};\n\nconst getClientAngularComponentSelector = (\n\tcomponent: import('@angular/core').Type<object>\n) => {\n\tconst maybeDef = Reflect.get(component, 'ɵcmp');\n\tif (typeof maybeDef !== 'object' || maybeDef === null) {\n\t\treturn null;\n\t}\n\n\tconst maybeSelectors = Reflect.get(maybeDef, 'selectors');\n\tif (!Array.isArray(maybeSelectors)) {\n\t\treturn null;\n\t}\n\n\tconst [firstSelectorGroup] = maybeSelectors;\n\tif (!Array.isArray(firstSelectorGroup)) {\n\t\treturn null;\n\t}\n\n\tconst [selector] = firstSelectorGroup;\n\n\treturn typeof selector === 'string' && selector.length > 0\n\t\t? selector\n\t\t: null;\n};\n\nconst createAngularIslandApp = async () => {\n\tconst { EnvironmentInjector, provideZonelessChangeDetection } =\n\t\tawait import('@angular/core');\n\tconst { createApplication } = await import('@angular/platform-browser');\n\tconst app = await createApplication({\n\t\tproviders: [provideZonelessChangeDetection()]\n\t});\n\tconst environmentInjector = app.injector.get(EnvironmentInjector);\n\n\treturn { app, environmentInjector };\n};\n\nlet angularIslandAppPromise: Promise<{\n\tapp: import('@angular/core').ApplicationRef;\n\tenvironmentInjector: import('@angular/core').EnvironmentInjector;\n}> | null = null;\n\nconst getAngularIslandApp = async () => {\n\tif (!angularIslandAppPromise) {\n\t\tangularIslandAppPromise = createAngularIslandApp();\n\t}\n\n\treturn angularIslandAppPromise;\n};\n\ntype AngularIslandWrapperMetadata = {\n\tdeps: Awaited<ReturnType<typeof getAngularDeps>>;\n\tpropsToken: import('@angular/core').InjectionToken<Record<string, unknown>>;\n\tselector: string;\n\tWrapperComponent: import('@angular/core').Type<object>;\n};\n\nconst wrapperMetadataCache = new Map<\n\tstring,\n\tPromise<AngularIslandWrapperMetadata>\n>();\nconst requestRenderCache = new Map<string, Map<string, string>>();\n\nconst getRequestRenderCache = () => {\n\tconst requestId = getSsrContextId();\n\tif (!requestId) {\n\t\treturn null;\n\t}\n\n\tconst cached = requestRenderCache.get(requestId);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst renderCache = new Map<string, string>();\n\trequestRenderCache.set(requestId, renderCache);\n\n\treturn renderCache;\n};\n\nconst getAngularIslandWrapperKey = (\n\tcomponent: import('@angular/core').Type<object>,\n\t_islandId: string\n) => {\n\tconst componentName =\n\t\ttypeof component.name === 'string' && component.name.length > 0\n\t\t\t? component.name\n\t\t\t: 'AngularIsland';\n\n\treturn `${componentName}:${angularIslandSelector}`;\n};\n\nconst getIslandRenderCacheKey = (\n\tcomponent: import('@angular/core').Type<object>,\n\tprops: Record<string, unknown>\n) => {\n\tconst componentName =\n\t\ttypeof component.name === 'string' && component.name.length > 0\n\t\t\t? component.name\n\t\t\t: 'AngularIsland';\n\n\treturn `${componentName}:${JSON.stringify(props)}`;\n};\n\nconst buildAngularIslandWrapperMetadata = async (\n\tcomponent: import('@angular/core').Type<object>,\n\tislandId: string,\n\twrapperKey: string\n) => {\n\t// Resolve Angular through getAngularDeps so the wrapper is built with the\n\t// SAME Angular instance that renders it. In production server-side imports\n\t// point at the pre-linked Angular vendor bundle; bare `@angular/*` imports\n\t// here would instead resolve to node_modules, giving the wrapper component\n\t// (its decorator, InjectionToken and inject) a different Angular instance\n\t// than the render pipeline's injector — every cross-instance token lookup\n\t// then fails with NG0201. (Dev uses a single node_modules Angular, so this\n\t// only manifests in production.)\n\tconst deps = await getAngularDeps();\n\tconst { Component, InjectionToken, NgComponentOutlet, inject } = deps;\n\tconst selector = getAngularIslandSelector(islandId);\n\tconst propsToken = new InjectionToken<Record<string, unknown>>(\n\t\t`${wrapperKey}:props`\n\t);\n\n\tclass AngularIslandWrapperComponent {\n\t\tcomponent = component;\n\t\tprops = inject(propsToken);\n\t}\n\n\treturn {\n\t\tdeps,\n\t\tpropsToken,\n\t\tselector,\n\t\tWrapperComponent: Component({\n\t\t\timports: [NgComponentOutlet, component],\n\t\t\tselector,\n\t\t\tstandalone: true,\n\t\t\ttemplate:\n\t\t\t\t'<ng-container *ngComponentOutlet=\"component; inputs: props\"></ng-container>'\n\t\t})(AngularIslandWrapperComponent)\n\t};\n};\n\nconst createAngularIslandWrapper = async (\n\tcomponent: import('@angular/core').Type<object>,\n\tislandId: string\n) => {\n\tconst wrapperKey = getAngularIslandWrapperKey(component, islandId);\n\tconst cached = wrapperMetadataCache.get(wrapperKey);\n\tif (cached) {\n\t\treturn cached;\n\t}\n\n\tconst metadataPromise = buildAngularIslandWrapperMetadata(\n\t\tcomponent,\n\t\tislandId,\n\t\twrapperKey\n\t);\n\n\twrapperMetadataCache.set(wrapperKey, metadataPromise);\n\n\treturn metadataPromise;\n};\n\nconst extractAngularIslandRoot = (html: string, selector: string) => {\n\tconst openTag = `<${selector}`;\n\tconst start = html.indexOf(openTag);\n\tif (start < 0) {\n\t\tthrow new Error(`Could not find Angular island root \"${selector}\".`);\n\t}\n\n\tconst endTag = `</${selector}>`;\n\tconst end = html.indexOf(endTag, start);\n\tif (end < 0) {\n\t\tthrow new Error(`Could not close Angular island root \"${selector}\".`);\n\t}\n\n\treturn html.slice(start, end + endTag.length);\n};\n\nexport const mountAngularIsland = async <Props extends Record<string, unknown>>(\n\tcomponent: import('@angular/core').Type<object>,\n\telement: HTMLElement,\n\tprops: Props,\n\tislandId: string\n) => {\n\tawait import('@angular/compiler');\n\tconst { createComponent, inputBinding } = await import('@angular/core');\n\tconst selector = getAngularIslandSelector(islandId);\n\tconst { app, environmentInjector } = await getAngularIslandApp();\n\n\tlet rootElement = element.querySelector(selector);\n\tif (!(rootElement instanceof HTMLElement)) {\n\t\telement.innerHTML = `<${selector}></${selector}>`;\n\t\trootElement = element.querySelector(selector);\n\t}\n\tif (!(rootElement instanceof HTMLElement)) return app;\n\n\tconst componentSelector =\n\t\tgetClientAngularComponentSelector(component) ??\n\t\tgetSelectorFromRenderedIsland(rootElement);\n\tif (!componentSelector) return app;\n\n\trootElement.innerHTML = `<${componentSelector}></${componentSelector}>`;\n\tconst hostElement = rootElement.querySelector(componentSelector);\n\tif (!(hostElement instanceof HTMLElement)) return app;\n\n\tconst bindings = Object.entries(props).map(([key, value]) =>\n\t\tinputBinding(key, () => value)\n\t);\n\tconst componentRef = createComponent(component, {\n\t\tbindings,\n\t\tenvironmentInjector,\n\t\thostElement\n\t});\n\tapp.attachView(componentRef.hostView);\n\tcomponentRef.changeDetectorRef.detectChanges();\n\twindow.__ABS_ANGULAR_ISLAND_APPS__ ??= [];\n\twindow.__ABS_ANGULAR_ISLAND_APPS__.push(app);\n\n\treturn app;\n};\nexport const renderAngularIslandToHtml = async <\n\tProps extends Record<string, unknown>\n>(\n\tcomponent: import('@angular/core').Type<object>,\n\tprops: Props,\n\tislandId: string\n) => {\n\tconst requestCache = getRequestRenderCache();\n\tconst renderCacheKey = getIslandRenderCacheKey(component, props);\n\tconst cachedHtml = requestCache?.get(renderCacheKey);\n\tif (cachedHtml) {\n\t\treturn cachedHtml;\n\t}\n\n\tconst { deps, propsToken, selector, WrapperComponent } =\n\t\tawait createAngularIslandWrapper(component, islandId);\n\n\tconst providers: (\n\t\t| import('@angular/core').Provider\n\t\t| import('@angular/core').EnvironmentProviders\n\t)[] = [\n\t\tdeps.provideServerRendering(),\n\t\tdeps.provideZonelessChangeDetection(),\n\t\t{ provide: deps.APP_BASE_HREF, useValue: '/' },\n\t\t{ provide: propsToken, useValue: props }\n\t];\n\tconst document = `<!DOCTYPE html><html><body><${selector}></${selector}></body></html>`;\n\tconst html = await withSuppressedAngularDevLogs(() =>\n\t\tdeps.renderApplication(\n\t\t\t(context) =>\n\t\t\t\tdeps.bootstrapApplication(\n\t\t\t\t\tWrapperComponent,\n\t\t\t\t\t{ providers },\n\t\t\t\t\tcontext\n\t\t\t\t),\n\t\t\t{\n\t\t\t\tdocument,\n\t\t\t\tplatformProviders: [],\n\t\t\t\turl: '/'\n\t\t\t}\n\t\t)\n\t);\n\tconst islandHtml = extractAngularIslandRoot(html, selector);\n\trequestCache?.set(renderCacheKey, islandHtml);\n\n\treturn islandHtml;\n};\n"
11
11
  ],
12
- "mappings": "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",
13
- "debugId": "42CA21376B16F2BA64756E2164756E21",
12
+ "mappings": "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",
13
+ "debugId": "5899F49F18FDF6B264756E2164756E21",
14
14
  "names": []
15
15
  }
@@ -32,7 +32,7 @@ var __chunks = (base, ids, nodes, entry) => {
32
32
  __chunkSeen ||= {};
33
33
  __preload(ids[entry], 1);
34
34
  };
35
- __chunks(import.meta.url,["hcyaa6eq","dcvkaba2","4yfa5bxa","a84fzp3v","rc28k5sx","8m2qq61n"],[["./index.js",5],["./chunks/react-dcvkaba2.js",5],["./chunks/svelte-4yfa5bxa.js"],["./chunks/vue-a84fzp3v.js"],["./chunks/islands-rc28k5sx.js",5],["./chunks/index-8m2qq61n.js"]],0);
35
+ __chunks(import.meta.url,["1c58nhyp","dcvkaba2","4yfa5bxa","a84fzp3v","eexr591d","8m2qq61n"],[["./index.js",5],["./chunks/react-dcvkaba2.js",5],["./chunks/svelte-4yfa5bxa.js"],["./chunks/vue-a84fzp3v.js"],["./chunks/islands-eexr591d.js",5],["./chunks/index-8m2qq61n.js"]],0);
36
36
 
37
37
  // src/core/islandManifest.ts
38
38
  var toIslandFrameworkSegment = (framework) => framework[0]?.toUpperCase() + framework.slice(1);
@@ -397,7 +397,7 @@ var hydrateByFramework = async (registry, framework, componentName, element, pro
397
397
  return;
398
398
  }
399
399
  if (framework === "angular") {
400
- const { mountAngularIsland, isAngularComponent } = await (__preload("rc28k5sx"), import("./chunks/islands-rc28k5sx.js"));
400
+ const { mountAngularIsland, isAngularComponent } = await (__preload("eexr591d"), import("./chunks/islands-eexr591d.js"));
401
401
  const resolvedComponent = await resolveComponent?.(framework, componentName) ?? getIslandComponent(registry.angular?.[componentName]);
402
402
  const { islandId } = element.dataset;
403
403
  if (!isAngularComponent(resolvedComponent) || !islandId)