@absolutejs/absolute 0.20.0-beta.179 → 0.20.0-beta.180

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 (125) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/changelog.json +45 -0
  3. package/dist/angular/browser.js +2 -2
  4. package/dist/angular/browser.js.map +3 -3
  5. package/dist/angular/components/core/streamingSlotRegistrar.js +1 -1
  6. package/dist/angular/components/core/streamingSlotRegistry.js +2 -2
  7. package/dist/angular/index.js +21 -6
  8. package/dist/angular/index.js.map +6 -6
  9. package/dist/angular/server.js +21 -6
  10. package/dist/angular/server.js.map +6 -6
  11. package/dist/build.js +5357 -4945
  12. package/dist/build.js.map +27 -24
  13. package/dist/cli/build-fntmf42w.js +495 -0
  14. package/dist/cli/{buildDepVendor-qvsh6dsj.js → buildDepVendor-qnwfct22.js} +5 -3
  15. package/dist/cli/buildReactServerComponents-fq6mw10d.js +13 -0
  16. package/dist/cli/{compile-p5yv6ecp.js → compile-54rb8szn.js} +94 -125
  17. package/dist/cli/config/server.js +10 -5
  18. package/dist/cli/{dev-2hbcsvkp.js → dev-6s6g5tnk.js} +13 -14
  19. package/dist/cli/{expoProject-1qtw97js.js → expoProject-acgfaj3f.js} +2 -1
  20. package/dist/cli/generatedDir-239r7csr.js +9 -0
  21. package/dist/cli/{index-cksezef8.js → index-0gd30trc.js} +105 -851
  22. package/dist/cli/index-2wvysvjc.js +40 -0
  23. package/dist/cli/index-42xjh6gg.js +282 -0
  24. package/dist/cli/{index-qw98g1p6.js → index-47e8fwha.js} +4 -1
  25. package/dist/cli/index-65kqn88a.js +8 -0
  26. package/dist/cli/{index-2bxfhs32.js → index-6f448d7m.js} +0 -26
  27. package/dist/cli/index-972xxwgj.js +16 -0
  28. package/dist/cli/index-aqe25w4h.js +39 -0
  29. package/dist/cli/index-assqancr.js +51 -0
  30. package/dist/cli/{index-2shf4aya.js → index-c8rcfe5a.js} +4 -6
  31. package/dist/cli/index-cba1cemz.js +8 -0
  32. package/dist/cli/{index-3ff5ztt3.js → index-djkrb7pc.js} +1 -7
  33. package/dist/cli/index-dkfwkpc8.js +138 -0
  34. package/dist/cli/{index-92g14j47.js → index-dw44xa4x.js} +2 -1
  35. package/dist/cli/index-evsnq0n2.js +17 -0
  36. package/dist/cli/index-fxwf3n2v.js +224 -0
  37. package/dist/cli/{index-zyd80s3h.js → index-js2hksgv.js} +21 -295
  38. package/dist/cli/{index-bp60baze.js → index-jyap0bhv.js} +1 -1
  39. package/dist/cli/{index-9dzdbbfc.js → index-kx2d067c.js} +8 -6
  40. package/dist/cli/index-pb31zan6.js +9 -0
  41. package/dist/cli/index-sq0478b0.js +281 -0
  42. package/dist/cli/index-va274tsf.js +7 -0
  43. package/dist/cli/{index-yd672jyq.js → index-w6xsk8cv.js} +4 -1
  44. package/dist/cli/index-w79snsxv.js +461 -0
  45. package/dist/cli/index-x1vvn549.js +835 -0
  46. package/dist/cli/index-xf9sfr8a.js +243 -0
  47. package/dist/cli/index-ycqdxy55.js +754 -0
  48. package/dist/cli/index-z74cqxz0.js +131 -0
  49. package/dist/cli/index.js +10 -9
  50. package/dist/cli/{islands-6zgb7501.js → islands-17tfx8jf.js} +6 -17
  51. package/dist/cli/{ls-0hfx323m.js → ls-0wr74w0b.js} +10 -58
  52. package/dist/cli/{mobile-93vaawcz.js → mobile-hpqpy61f.js} +11 -8
  53. package/dist/cli/{prerender-010z771p.js → prerender-w65xp6h8.js} +2 -1
  54. package/dist/cli/{rewriteImports-z6629aww.js → rewriteImports-np2d2kvc.js} +4 -11
  55. package/dist/cli/rewriteImportsPlugin-c6hcb3x6.js +12 -0
  56. package/dist/cli/{start-asxb79rc.js → start-mbn2zgs2.js} +6 -4
  57. package/dist/cli/staticAnalyzeSpaRoutes-2nev05m1.js +8 -0
  58. package/dist/cli/staticAnalyzeSpaRoutes-6vgzp0rs.js +8 -0
  59. package/dist/cli/staticAnalyzeSpaRoutes-f85q9dqk.js +8 -0
  60. package/dist/cli/staticAnalyzeSpaRoutes-yakmg22g.js +7 -0
  61. package/dist/cli/{typecheck-m2j4tkdk.js → typecheck-488txsfc.js} +92 -18
  62. package/dist/cli/vueCompiler-8bzdmf08.js +7 -0
  63. package/dist/client/chunks/{react-khr6ewhr.js → react-g8r290b8.js} +37 -2
  64. package/dist/client/chunks/react-g8r290b8.js.map +10 -0
  65. package/dist/client/chunks/vue-zcpmka32.js +85 -0
  66. package/dist/client/chunks/vue-zcpmka32.js.map +10 -0
  67. package/dist/client/index.js +58 -10
  68. package/dist/client/index.js.map +4 -4
  69. package/dist/dev/client/handlers/vue.ts +116 -0
  70. package/dist/index.js +2472 -2058
  71. package/dist/index.js.map +26 -23
  72. package/dist/islands/browser.js +2 -2
  73. package/dist/islands/browser.js.map +3 -3
  74. package/dist/islands/index.js +2 -2
  75. package/dist/islands/index.js.map +3 -3
  76. package/dist/react/browser.js +2 -2
  77. package/dist/react/browser.js.map +3 -3
  78. package/dist/react/index.js +42 -11
  79. package/dist/react/index.js.map +10 -10
  80. package/dist/react/server.js +42 -11
  81. package/dist/react/server.js.map +10 -10
  82. package/dist/src/angular/ssrRender.d.ts +2 -2
  83. package/dist/src/angular/staticAnalyzeSpaRoutes.d.ts +6 -1
  84. package/dist/src/build/generateManifest.d.ts +15 -0
  85. package/dist/src/build/manifestKeys.d.ts +22 -0
  86. package/dist/src/cli/add/dependencies.d.ts +1 -1
  87. package/dist/src/cli/scripts/typecheck.d.ts +11 -0
  88. package/dist/src/client/hydrators/react.d.ts +10 -0
  89. package/dist/src/client/hydrators/vue.d.ts +13 -0
  90. package/dist/src/client/islandRuntime.d.ts +1 -1
  91. package/dist/src/core/islandManifest.d.ts +4 -0
  92. package/dist/src/core/islandPageContext.d.ts +8 -2
  93. package/dist/src/core/lookup.d.ts +16 -1
  94. package/dist/src/dev/importCost/instrument.d.ts +1 -1
  95. package/dist/src/dev/manifestKeysRefresher.d.ts +6 -0
  96. package/dist/src/dev/spaRouteRefresh.d.ts +13 -0
  97. package/dist/src/mobile/androidConformance.d.ts +1 -1
  98. package/dist/src/react/staticAnalyzeSpaRoutes.d.ts +6 -1
  99. package/dist/src/svelte/staticAnalyzeSpaRoutes.d.ts +1 -0
  100. package/dist/src/utils/logger.d.ts +5 -0
  101. package/dist/src/utils/spaRouteManifest.d.ts +1 -0
  102. package/dist/src/vue/components/Image.d.ts +4 -4
  103. package/dist/src/vue/components/StreamSlot.d.ts +1 -1
  104. package/dist/src/vue/components/SuspenseSlot.d.ts +2 -2
  105. package/dist/src/vue/staticAnalyzeSpaRoutes.d.ts +4 -0
  106. package/dist/svelte/browser.js +2 -2
  107. package/dist/svelte/browser.js.map +3 -3
  108. package/dist/svelte/index.js +25 -9
  109. package/dist/svelte/index.js.map +8 -8
  110. package/dist/svelte/server.js +25 -9
  111. package/dist/svelte/server.js.map +8 -8
  112. package/dist/types/globals.d.ts +4 -0
  113. package/dist/types/index.d.ts +1 -0
  114. package/dist/types/island.d.ts +1 -1
  115. package/dist/types/manifest.d.ts +25 -0
  116. package/dist/vue/browser.js +2 -2
  117. package/dist/vue/browser.js.map +3 -3
  118. package/dist/vue/index.js +21 -6
  119. package/dist/vue/index.js.map +6 -6
  120. package/dist/vue/server.js +21 -6
  121. package/dist/vue/server.js.map +6 -6
  122. package/package.json +1 -1
  123. package/dist/client/chunks/react-khr6ewhr.js.map +0 -10
  124. package/dist/client/chunks/vue-db6ppn1f.js +0 -32
  125. package/dist/client/chunks/vue-db6ppn1f.js.map +0 -10
@@ -1484,6 +1484,8 @@ var colors2, frameworkColors, logTag = () => isDevelopmentRuntime() ? "[hmr]" :
1484
1484
  const pathColor = options.framework ? getFrameworkColor(options.framework) : colors2.white;
1485
1485
  message += ` ${pathColor}${formatPath(options.path)}${colors2.reset}`;
1486
1486
  }
1487
+ if (options?.detail)
1488
+ message += ` ${options.detail}`;
1487
1489
  if (options?.duration !== undefined) {
1488
1490
  message += ` ${colors2.dim}(${options.duration}ms)${colors2.reset}`;
1489
1491
  }
@@ -1515,6 +1517,16 @@ var colors2, frameworkColors, logTag = () => isDevelopmentRuntime() ? "[hmr]" :
1515
1517
  log(message);
1516
1518
  }, logPageBuild = (path, framework, duration) => {
1517
1519
  log("page build", { duration, framework, path });
1520
+ }, logRoutesUpdate = (path, framework, added, removed) => {
1521
+ const changes = [
1522
+ ...added.map((route) => `${colors2.green}+${route}${colors2.reset}`),
1523
+ ...removed.map((route) => `${colors2.red}-${route}${colors2.reset}`)
1524
+ ];
1525
+ log("routes update", {
1526
+ detail: changes.length > 0 ? changes.join(" ") : undefined,
1527
+ framework,
1528
+ path
1529
+ });
1518
1530
  }, logScriptUpdate = (path, framework, duration) => {
1519
1531
  log("script update", { duration, framework, path });
1520
1532
  }, logServerReload = () => {
@@ -1551,7 +1563,7 @@ var init_logger = __esm(() => {
1551
1563
  });
1552
1564
 
1553
1565
  // src/core/islandManifest.ts
1554
- var ISLAND_BOOTSTRAP_MANIFEST_KEY = "AbsoluteIslandBootstrap", LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY = "BootstrapClient", toIslandFrameworkSegment = (framework) => framework[0]?.toUpperCase() + framework.slice(1), collectFrameworkIslands = (manifest, prefix) => {
1566
+ var ISLAND_BOOTSTRAP_MANIFEST_KEY = "AbsoluteIslandBootstrap", LEGACY_ISLAND_BOOTSTRAP_MANIFEST_KEY = "BootstrapClient", REACT_PAGE_ROOT_EVENT = "absolute:react-page-root", toIslandFrameworkSegment = (framework) => framework[0]?.toUpperCase() + framework.slice(1), collectFrameworkIslands = (manifest, prefix) => {
1555
1567
  const entries = {};
1556
1568
  let found = false;
1557
1569
  for (const [key, value] of Object.entries(manifest)) {
@@ -1625,13 +1637,15 @@ var ISLAND_MARKER = 'data-island="true"', MANIFEST_MARKER = "__ABSOLUTE_MANIFEST
1625
1637
  return "";
1626
1638
  const renderedKeys = collectRenderedIslandStyleKeys(html);
1627
1639
  return getIslandStyleManifestEntries(manifest).filter(([key]) => renderedKeys.has(key)).filter(([, href]) => !html.includes(`href="${href}"`)).map(([key, href]) => `<link rel="stylesheet" href="${href}" data-island-style="${key}"${nonceAttr()}>`).join("");
1628
- }, buildIslandsHeadMarkup = (manifest, html) => {
1640
+ }, REACT_HOOK_STAND_IN, buildIslandsHeadMarkup = (manifest, html, host) => {
1629
1641
  const styleLinks = buildIslandStyleLinks(manifest, html);
1630
1642
  const manifestScript = `<script${nonceAttr()}>window.__ABSOLUTE_MANIFEST__ = ${escapeScriptContent(JSON.stringify(toBrowserManifest(manifest)))}</script>`;
1631
- const islandStateScript = `<script${nonceAttr()}>window.__ABS_ISLAND_STATE__ = ${escapeScriptContent(JSON.stringify(globalThis.__ABS_ISLAND_STATE__ ?? {}))}</script>`;
1643
+ const hostAssignment = host ? `;window.__ABS_ISLAND_HOST__ = ${JSON.stringify(host)}` : "";
1644
+ const islandStateScript = `<script${nonceAttr()}>window.__ABS_ISLAND_STATE__ = ${escapeScriptContent(JSON.stringify(globalThis.__ABS_ISLAND_STATE__ ?? {}))}${hostAssignment}</script>`;
1645
+ const reactHookScript = isProductionRuntime() ? "" : `<script${nonceAttr()}>${REACT_HOOK_STAND_IN}</script>`;
1632
1646
  const bootstrapPath = getIslandBootstrapPath(manifest);
1633
1647
  const bootstrapScript = bootstrapPath ? `<script${nonceAttr()} type="module" src="${bootstrapPath}"></script>` : "";
1634
- return `${styleLinks}${manifestScript}${islandStateScript}${bootstrapScript}`;
1648
+ return `${styleLinks}${manifestScript}${islandStateScript}${reactHookScript}${bootstrapScript}`;
1635
1649
  }, injectHeadMarkup = (html, markup) => {
1636
1650
  const closingHeadIndex = html.indexOf("</head>");
1637
1651
  if (closingHeadIndex >= 0) {
@@ -1818,7 +1832,7 @@ var ISLAND_MARKER = 'data-island="true"', MANIFEST_MARKER = "__ABSOLUTE_MANIFEST
1818
1832
  const manifest = globalThis.__absoluteManifest;
1819
1833
  if (!manifest)
1820
1834
  return stream;
1821
- const markup = buildIslandsHeadMarkup(manifest);
1835
+ const markup = buildIslandsHeadMarkup(manifest, undefined, options?.host);
1822
1836
  if (options?.hasIslands === true) {
1823
1837
  warnIfBootstrapMissing(manifest);
1824
1838
  return pipeStreamWithHeadInjection(stream, markup);
@@ -1844,6 +1858,7 @@ var init_islandPageContext = __esm(() => {
1844
1858
  "vue",
1845
1859
  "angular"
1846
1860
  ];
1861
+ REACT_HOOK_STAND_IN = "if(!window.__REACT_DEVTOOLS_GLOBAL_HOOK__){var n=0;" + "window.__REACT_DEVTOOLS_GLOBAL_HOOK__={renderers:new Map(),supportsFiber:true," + "inject:function(r){n+=1;this.renderers.set(n,r);return n}," + "onScheduleFiberRoot:function(){},onCommitFiberRoot:function(){},onCommitFiberUnmount:function(){}}}";
1847
1862
  });
1848
1863
 
1849
1864
  // src/core/devRouteRegistrationCallsite.ts
@@ -3703,7 +3718,8 @@ var warnDoubledRscKey = (source, name, assetPath) => {
3703
3718
  warnedDoubledRscKeys.add(name);
3704
3719
  console.warn(`[asset] key "${name}" is deprecated: React Server Components pages whose file name ends in RSC no longer get the suffix twice. Use asset(manifest, '${current}').`);
3705
3720
  };
3706
- var asset = (source, name) => {
3721
+ var asset = (source, name) => assetUnchecked(source, name);
3722
+ var assetUnchecked = (source, name) => {
3707
3723
  const assetPath = source[name];
3708
3724
  if (assetPath === undefined) {
3709
3725
  if (isProductionRuntime()) {
@@ -4246,8 +4262,8 @@ var handleSveltePageRequest = async (input) => {
4246
4262
 
4247
4263
  // src/svelte/fileRoute.ts
4248
4264
  var svelteFileRoute = (route) => defineFileRouteWith("svelte", route, async ({ manifest, props, request }) => handleSveltePageRequest({
4249
- indexPath: asset(manifest, `${route.name}Index`),
4250
- pagePath: asset(manifest, route.name),
4265
+ indexPath: assetUnchecked(manifest, `${route.name}Index`),
4266
+ pagePath: assetUnchecked(manifest, route.name),
4251
4267
  props,
4252
4268
  request
4253
4269
  }));
@@ -4256,5 +4272,5 @@ export {
4256
4272
  svelteFileRoute
4257
4273
  };
4258
4274
 
4259
- //# debugId=78AD174572FEF3CC64756E2164756E21
4275
+ //# debugId=6E5D818A62B4110C64756E2164756E21
4260
4276
  //# sourceMappingURL=server.js.map