@absolutejs/absolute 0.19.0-beta.815 → 0.19.0-beta.817

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.
@@ -11,9 +11,6 @@
11
11
  *
12
12
  * NOTE: this script does NOT pass `--fix`. Autofixing is opt-in via the
13
13
  * standard ESLint flag — `bun lint --fix` works because user args are
14
- * spread through to the underlying `bun eslint` invocation. Users who
15
- * see files getting auto-fixed without `--fix` are typically running an
16
- * editor extension (VS Code's `editor.codeActionsOnSave` is the usual
17
- * suspect) — that's IDE behavior, not this CLI.
14
+ * spread through to the underlying `bun eslint` invocation.
18
15
  */
19
16
  export declare const eslint: (args: string[]) => Promise<void>;
@@ -9,6 +9,11 @@ export type VuePageRequestInput<Component extends VueComponent> = VuePageRenderO
9
9
  indexPath: string;
10
10
  pagePath: string;
11
11
  Page?: Component;
12
+ /** The incoming Elysia request. Forwarded into the page
13
+ * module's exported `setupApp(app, { url, isServer })` hook
14
+ * (see compileVue's index generation) so plugins like
15
+ * vue-router can navigate to the correct route before SSR. */
16
+ request?: Request;
12
17
  } & (keyof VuePropsOf<Component> extends never ? {
13
18
  props?: NoInfer<VuePropsOf<Component>>;
14
19
  } : {
package/dist/vue/index.js CHANGED
@@ -3868,6 +3868,12 @@ var readHasIslands = (value) => {
3868
3868
  const hasIslands = value["__ABSOLUTE_PAGE_HAS_ISLANDS__"];
3869
3869
  return typeof hasIslands === "boolean" ? hasIslands : false;
3870
3870
  };
3871
+ var readSetupAppHook = (value) => {
3872
+ if (!isRecord2(value))
3873
+ return null;
3874
+ const setupApp = value["setupApp"];
3875
+ return typeof setupApp === "function" ? setupApp : null;
3876
+ };
3871
3877
  var readDefaultExport = (value) => isRecord2(value) ? value.default : undefined;
3872
3878
  var resolveCurrentGeneratedVueModulePath = async (pagePath) => {
3873
3879
  const pageDirectory = dirname(pagePath);
@@ -3893,6 +3899,16 @@ var buildDirtyResponse = (headTag, indexPath, maybeProps) => {
3893
3899
  headers: { "Content-Type": "text/html" }
3894
3900
  });
3895
3901
  };
3902
+ var resolveRequestRenderUrl = (request) => {
3903
+ if (!request)
3904
+ return "/";
3905
+ try {
3906
+ const parsed = new URL(request.url);
3907
+ return `${parsed.pathname}${parsed.search}`;
3908
+ } catch {
3909
+ return "/";
3910
+ }
3911
+ };
3896
3912
  var primeVueStream = async (stream) => {
3897
3913
  const reader = stream.getReader();
3898
3914
  const firstChunk = await reader.read();
@@ -3915,7 +3931,8 @@ var handleVuePageRequest = async (input) => {
3915
3931
  if (isGenericVueComponent(passedPageComponent)) {
3916
3932
  return {
3917
3933
  component: passedPageComponent,
3918
- hasIslands: readHasIslands(passedPageComponent)
3934
+ hasIslands: readHasIslands(passedPageComponent),
3935
+ setupApp: null
3919
3936
  };
3920
3937
  }
3921
3938
  const generatedPagePath = await resolveCurrentGeneratedVueModulePath(resolvedPagePath);
@@ -3926,7 +3943,8 @@ var handleVuePageRequest = async (input) => {
3926
3943
  }
3927
3944
  return {
3928
3945
  component: importedPageComponent,
3929
- hasIslands: readHasIslands(importedPageModule)
3946
+ hasIslands: readHasIslands(importedPageModule),
3947
+ setupApp: readSetupAppHook(importedPageModule)
3930
3948
  };
3931
3949
  };
3932
3950
  const resolvedPage = await resolvePageComponent();
@@ -3935,6 +3953,10 @@ var handleVuePageRequest = async (input) => {
3935
3953
  const app = createSSRApp({
3936
3954
  render: () => h4(resolvedPage.component, maybeProps ?? null)
3937
3955
  });
3956
+ if (resolvedPage.setupApp) {
3957
+ const url = resolveRequestRenderUrl(input.request);
3958
+ await resolvedPage.setupApp(app, { url, isServer: true });
3959
+ }
3938
3960
  const bodyStream = renderToWebStream(app);
3939
3961
  const { firstChunk, reader } = await primeVueStream(bodyStream);
3940
3962
  const head = `<!DOCTYPE html><html>${resolvedHeadTag}<body><div id="root">`;
@@ -4292,5 +4314,5 @@ export {
4292
4314
  Image
4293
4315
  };
4294
4316
 
4295
- //# debugId=D01E0902505DB5AA64756E2164756E21
4317
+ //# debugId=0A901A1F8ECA285364756E2164756E21
4296
4318
  //# sourceMappingURL=index.js.map