@alepha/react 0.8.0 → 0.8.1
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.
- package/README.md +153 -1
- package/dist/index.browser.js +47 -14
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +162 -18
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +163 -29
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +157 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +167 -19
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
- package/src/components/NestedView.tsx +3 -1
- package/src/descriptors/$page.ts +40 -40
- package/src/hooks/RouterHookApi.ts +17 -0
- package/src/hooks/useRouter.ts +1 -0
- package/src/index.shared.ts +1 -0
- package/src/index.ts +125 -3
- package/src/providers/PageDescriptorProvider.ts +18 -13
- package/src/providers/ReactBrowserProvider.ts +37 -4
- package/src/providers/ReactBrowserRenderer.ts +20 -0
- package/src/providers/ReactServerProvider.ts +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import * as _alepha_core11 from "@alepha/core";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _alepha_core24 from "@alepha/core";
|
|
3
3
|
import * as _alepha_core16 from "@alepha/core";
|
|
4
4
|
import * as _alepha_core1 from "@alepha/core";
|
|
5
5
|
import { Alepha, Async, KIND, Module, OPTIONS, Service, Static, TObject, TSchema } from "@alepha/core";
|
|
6
6
|
import { ApiLinksResponse, ServerHandler, ServerRequest, ServerRouterProvider, ServerTimingProvider } from "@alepha/server";
|
|
7
7
|
import { ServerRouteCache } from "@alepha/server-cache";
|
|
8
8
|
import { ClientScope, HttpVirtualClient, LinkProvider } from "@alepha/server-links";
|
|
9
|
+
import * as react20 from "react";
|
|
9
10
|
import * as react23 from "react";
|
|
10
|
-
import * as react24 from "react";
|
|
11
11
|
import React, { AnchorHTMLAttributes, ErrorInfo, FC, PropsWithChildren, ReactNode } from "react";
|
|
12
|
+
import * as react_jsx_runtime18 from "react/jsx-runtime";
|
|
13
|
+
import * as react_jsx_runtime21 from "react/jsx-runtime";
|
|
12
14
|
import * as react_jsx_runtime22 from "react/jsx-runtime";
|
|
13
|
-
import * as react_jsx_runtime20 from "react/jsx-runtime";
|
|
14
15
|
import { ServerStaticProvider } from "@alepha/server-static";
|
|
15
16
|
import { Route, RouterProvider } from "@alepha/router";
|
|
16
17
|
import { Root } from "react-dom/client";
|
|
@@ -34,6 +35,13 @@ declare const ClientOnly: (props: PropsWithChildren<ClientOnlyProps>) => ReactNo
|
|
|
34
35
|
//#endregion
|
|
35
36
|
//#region src/descriptors/$page.d.ts
|
|
36
37
|
declare const KEY = "PAGE";
|
|
38
|
+
/**
|
|
39
|
+
* Main descriptor for defining a React route in the application.
|
|
40
|
+
*/
|
|
41
|
+
declare const $page: {
|
|
42
|
+
<TConfig extends PageConfigSchema = PageConfigSchema, TProps extends object = any, TPropsParent extends object = TPropsParentDefault>(options: PageDescriptorOptions<TConfig, TProps, TPropsParent>): PageDescriptor<TConfig, TProps, TPropsParent>;
|
|
43
|
+
[KIND]: string;
|
|
44
|
+
};
|
|
37
45
|
interface PageConfigSchema {
|
|
38
46
|
query?: TSchema;
|
|
39
47
|
params?: TSchema;
|
|
@@ -138,13 +146,6 @@ interface PageDescriptor<TConfig extends PageConfigSchema = PageConfigSchema, TP
|
|
|
138
146
|
*/
|
|
139
147
|
render: (options?: PageDescriptorRenderOptions) => Promise<PageDescriptorRenderResult>;
|
|
140
148
|
}
|
|
141
|
-
/**
|
|
142
|
-
* Main descriptor for defining a React route in the application.
|
|
143
|
-
*/
|
|
144
|
-
declare const $page: {
|
|
145
|
-
<TConfig extends PageConfigSchema = PageConfigSchema, TProps extends object = any, TPropsParent extends object = TPropsParentDefault>(options: PageDescriptorOptions<TConfig, TProps, TPropsParent>): PageDescriptor<TConfig, TProps, TPropsParent>;
|
|
146
|
-
[KIND]: string;
|
|
147
|
-
};
|
|
148
149
|
interface PageDescriptorRenderOptions {
|
|
149
150
|
params?: Record<string, string>;
|
|
150
151
|
query?: Record<string, string>;
|
|
@@ -231,6 +232,7 @@ interface Layer {
|
|
|
231
232
|
index: number;
|
|
232
233
|
path: string;
|
|
233
234
|
route?: PageRoute;
|
|
235
|
+
cache?: boolean;
|
|
234
236
|
}
|
|
235
237
|
type PreviousLayerData = Omit<Layer, "element" | "index" | "path">;
|
|
236
238
|
interface AnchorProps {
|
|
@@ -252,6 +254,7 @@ interface RouterStackItem {
|
|
|
252
254
|
config?: Record<string, any>;
|
|
253
255
|
props?: Record<string, any>;
|
|
254
256
|
error?: Error;
|
|
257
|
+
cache?: boolean;
|
|
255
258
|
}
|
|
256
259
|
interface RouterRenderResult {
|
|
257
260
|
state: RouterState;
|
|
@@ -281,11 +284,11 @@ interface BrowserRoute extends Route {
|
|
|
281
284
|
page: PageRoute;
|
|
282
285
|
}
|
|
283
286
|
declare class BrowserRouterProvider extends RouterProvider<BrowserRoute> {
|
|
284
|
-
protected readonly log:
|
|
287
|
+
protected readonly log: _alepha_core24.Logger;
|
|
285
288
|
protected readonly alepha: Alepha;
|
|
286
289
|
protected readonly pageDescriptorProvider: PageDescriptorProvider;
|
|
287
290
|
add(entry: PageRouteEntry): void;
|
|
288
|
-
protected readonly configure:
|
|
291
|
+
protected readonly configure: _alepha_core24.HookDescriptor<"configure">;
|
|
289
292
|
transition(url: URL, options?: TransitionOptions): Promise<RouterRenderResult>;
|
|
290
293
|
root(state: RouterState, context: PageReactContext): ReactNode;
|
|
291
294
|
}
|
|
@@ -304,7 +307,9 @@ declare class ReactBrowserProvider {
|
|
|
304
307
|
state: RouterState;
|
|
305
308
|
get document(): Document;
|
|
306
309
|
get history(): History;
|
|
310
|
+
get location(): Location;
|
|
307
311
|
get url(): string;
|
|
312
|
+
pushState(url: string, replace?: boolean): void;
|
|
308
313
|
invalidate(props?: Record<string, any>): Promise<void>;
|
|
309
314
|
go(url: string, options?: RouterGoOptions): Promise<void>;
|
|
310
315
|
protected render(options?: {
|
|
@@ -373,7 +378,7 @@ interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
|
373
378
|
to: string | PageDescriptor;
|
|
374
379
|
children?: React.ReactNode;
|
|
375
380
|
}
|
|
376
|
-
declare const Link: (props: LinkProps) =>
|
|
381
|
+
declare const Link: (props: LinkProps) => react_jsx_runtime18.JSX.Element | null;
|
|
377
382
|
//#endregion
|
|
378
383
|
//#region src/components/NestedView.d.ts
|
|
379
384
|
interface NestedViewProps {
|
|
@@ -400,7 +405,11 @@ interface NestedViewProps {
|
|
|
400
405
|
* }
|
|
401
406
|
* ```
|
|
402
407
|
*/
|
|
403
|
-
declare const NestedView: (props: NestedViewProps) =>
|
|
408
|
+
declare const NestedView: (props: NestedViewProps) => react_jsx_runtime21.JSX.Element;
|
|
409
|
+
//#endregion
|
|
410
|
+
//#region src/components/NotFound.d.ts
|
|
411
|
+
declare function NotFoundPage(): react_jsx_runtime22.JSX.Element;
|
|
412
|
+
//# sourceMappingURL=NotFound.d.ts.map
|
|
404
413
|
//#endregion
|
|
405
414
|
//#region src/contexts/RouterContext.d.ts
|
|
406
415
|
interface RouterContextValue {
|
|
@@ -408,7 +417,7 @@ interface RouterContextValue {
|
|
|
408
417
|
state: RouterState;
|
|
409
418
|
context: PageReactContext;
|
|
410
419
|
}
|
|
411
|
-
declare const RouterContext:
|
|
420
|
+
declare const RouterContext: react20.Context<RouterContextValue | undefined>;
|
|
412
421
|
//# sourceMappingURL=RouterContext.d.ts.map
|
|
413
422
|
//#endregion
|
|
414
423
|
//#region src/contexts/RouterLayerContext.d.ts
|
|
@@ -416,18 +425,21 @@ interface RouterLayerContextValue {
|
|
|
416
425
|
index: number;
|
|
417
426
|
path: string;
|
|
418
427
|
}
|
|
419
|
-
declare const RouterLayerContext:
|
|
428
|
+
declare const RouterLayerContext: react23.Context<RouterLayerContextValue | undefined>;
|
|
420
429
|
//# sourceMappingURL=RouterLayerContext.d.ts.map
|
|
421
430
|
//#endregion
|
|
422
431
|
//#region src/hooks/RouterHookApi.d.ts
|
|
423
432
|
declare class RouterHookApi {
|
|
424
433
|
private readonly pages;
|
|
434
|
+
private readonly context;
|
|
425
435
|
private readonly state;
|
|
426
436
|
private readonly layer;
|
|
427
437
|
private readonly browser?;
|
|
428
|
-
constructor(pages: PageRoute[], state: RouterState, layer: {
|
|
438
|
+
constructor(pages: PageRoute[], context: PageReactContext, state: RouterState, layer: {
|
|
429
439
|
path: string;
|
|
430
440
|
}, browser?: ReactBrowserProvider | undefined);
|
|
441
|
+
getURL(): URL;
|
|
442
|
+
get location(): Location;
|
|
431
443
|
get current(): RouterState;
|
|
432
444
|
get pathname(): string;
|
|
433
445
|
get query(): Record<string, string>;
|
|
@@ -547,8 +559,8 @@ declare const envSchema: _alepha_core1.TObject<{
|
|
|
547
559
|
declare module "@alepha/core" {
|
|
548
560
|
interface Env extends Partial<Static<typeof envSchema>> {}
|
|
549
561
|
interface State {
|
|
550
|
-
"
|
|
551
|
-
"
|
|
562
|
+
"react.server.template"?: string;
|
|
563
|
+
"react.server.ssr"?: boolean;
|
|
552
564
|
}
|
|
553
565
|
}
|
|
554
566
|
declare class ReactServerProvider {
|
|
@@ -633,10 +645,132 @@ declare module "@alepha/core" {
|
|
|
633
645
|
}
|
|
634
646
|
}
|
|
635
647
|
/**
|
|
636
|
-
*
|
|
648
|
+
* Provides full-stack React development with declarative routing, server-side rendering, and client-side hydration.
|
|
637
649
|
*
|
|
638
|
-
*
|
|
639
|
-
*
|
|
650
|
+
* The React module enables building modern React applications using the `$page` descriptor on class properties.
|
|
651
|
+
* It delivers seamless server-side rendering, automatic code splitting, and client-side navigation with full
|
|
652
|
+
* type safety and schema validation for route parameters and data.
|
|
653
|
+
*
|
|
654
|
+
* **Key Features:**
|
|
655
|
+
* - Declarative page definition with `$page` descriptor
|
|
656
|
+
* - Server-side rendering (SSR) with automatic hydration
|
|
657
|
+
* - Type-safe routing with parameter validation
|
|
658
|
+
* - Schema-based data resolution and validation
|
|
659
|
+
* - SEO-friendly meta tag management
|
|
660
|
+
* - Automatic code splitting and lazy loading
|
|
661
|
+
* - Client-side navigation with browser history
|
|
662
|
+
*
|
|
663
|
+
* **Basic Usage:**
|
|
664
|
+
* ```ts
|
|
665
|
+
* import { Alepha, run, t } from "alepha";
|
|
666
|
+
* import { AlephaReact, $page } from "alepha/react";
|
|
667
|
+
*
|
|
668
|
+
* class AppRoutes {
|
|
669
|
+
* // Home page
|
|
670
|
+
* home = $page({
|
|
671
|
+
* path: "/",
|
|
672
|
+
* component: () => (
|
|
673
|
+
* <div>
|
|
674
|
+
* <h1>Welcome to Alepha</h1>
|
|
675
|
+
* <p>Build amazing React applications!</p>
|
|
676
|
+
* </div>
|
|
677
|
+
* ),
|
|
678
|
+
* });
|
|
679
|
+
*
|
|
680
|
+
* // About page with meta tags
|
|
681
|
+
* about = $page({
|
|
682
|
+
* path: "/about",
|
|
683
|
+
* head: {
|
|
684
|
+
* title: "About Us",
|
|
685
|
+
* description: "Learn more about our mission",
|
|
686
|
+
* },
|
|
687
|
+
* component: () => (
|
|
688
|
+
* <div>
|
|
689
|
+
* <h1>About Us</h1>
|
|
690
|
+
* <p>Learn more about our mission.</p>
|
|
691
|
+
* </div>
|
|
692
|
+
* ),
|
|
693
|
+
* });
|
|
694
|
+
* }
|
|
695
|
+
*
|
|
696
|
+
* const alepha = Alepha.create()
|
|
697
|
+
* .with(AlephaReact)
|
|
698
|
+
* .with(AppRoutes);
|
|
699
|
+
*
|
|
700
|
+
* run(alepha);
|
|
701
|
+
* ```
|
|
702
|
+
*
|
|
703
|
+
* **Dynamic Routes with Parameters:**
|
|
704
|
+
* ```tsx
|
|
705
|
+
* class UserRoutes {
|
|
706
|
+
* userProfile = $page({
|
|
707
|
+
* path: "/users/:id",
|
|
708
|
+
* schema: {
|
|
709
|
+
* params: t.object({
|
|
710
|
+
* id: t.string(),
|
|
711
|
+
* }),
|
|
712
|
+
* },
|
|
713
|
+
* resolve: async ({ params }) => {
|
|
714
|
+
* // Fetch user data server-side
|
|
715
|
+
* const user = await getUserById(params.id);
|
|
716
|
+
* return { user };
|
|
717
|
+
* },
|
|
718
|
+
* head: ({ user }) => ({
|
|
719
|
+
* title: `${user.name} - Profile`,
|
|
720
|
+
* description: `View ${user.name}'s profile`,
|
|
721
|
+
* }),
|
|
722
|
+
* component: ({ user }) => (
|
|
723
|
+
* <div>
|
|
724
|
+
* <h1>{user.name}</h1>
|
|
725
|
+
* <p>Email: {user.email}</p>
|
|
726
|
+
* </div>
|
|
727
|
+
* ),
|
|
728
|
+
* });
|
|
729
|
+
*
|
|
730
|
+
* userSettings = $page({
|
|
731
|
+
* path: "/users/:id/settings",
|
|
732
|
+
* schema: {
|
|
733
|
+
* params: t.object({
|
|
734
|
+
* id: t.string(),
|
|
735
|
+
* }),
|
|
736
|
+
* },
|
|
737
|
+
* component: ({ params }) => (
|
|
738
|
+
* <UserSettings userId={params.id} />
|
|
739
|
+
* ),
|
|
740
|
+
* });
|
|
741
|
+
* }
|
|
742
|
+
* ```
|
|
743
|
+
*
|
|
744
|
+
* **Static Generation:**
|
|
745
|
+
* ```tsx
|
|
746
|
+
* class BlogRoutes {
|
|
747
|
+
* blogPost = $page({
|
|
748
|
+
* path: "/blog/:slug",
|
|
749
|
+
* schema: {
|
|
750
|
+
* params: t.object({
|
|
751
|
+
* slug: t.string(),
|
|
752
|
+
* }),
|
|
753
|
+
* },
|
|
754
|
+
* static: {
|
|
755
|
+
* entries: [
|
|
756
|
+
* { params: { slug: "getting-started" } },
|
|
757
|
+
* { params: { slug: "advanced-features" } },
|
|
758
|
+
* { params: { slug: "deployment" } },
|
|
759
|
+
* ],
|
|
760
|
+
* },
|
|
761
|
+
* resolve: ({ params }) => {
|
|
762
|
+
* const post = getBlogPost(params.slug);
|
|
763
|
+
* return { post };
|
|
764
|
+
* },
|
|
765
|
+
* component: ({ post }) => (
|
|
766
|
+
* <article>
|
|
767
|
+
* <h1>{post.title}</h1>
|
|
768
|
+
* <div>{post.content}</div>
|
|
769
|
+
* </article>
|
|
770
|
+
* ),
|
|
771
|
+
* });
|
|
772
|
+
* }
|
|
773
|
+
* ```
|
|
640
774
|
*
|
|
641
775
|
* @see {@link $page}
|
|
642
776
|
* @module alepha.react
|
|
@@ -648,5 +782,5 @@ declare class AlephaReact implements Module {
|
|
|
648
782
|
//# sourceMappingURL=index.d.ts.map
|
|
649
783
|
|
|
650
784
|
//#endregion
|
|
651
|
-
export { $page, AlephaReact, AnchorProps, ClientOnly, CreateLayersResult, ErrorBoundary, HrefLike, Layer, Link, NestedView, PageConfigSchema, PageDescriptor, PageDescriptorOptions, PageDescriptorProvider, PageDescriptorRenderOptions, PageDescriptorRenderResult, PageReactContext, PageRequest, PageRequestConfig, PageResolve, PageRoute, PageRouteEntry, PreviousLayerData, ReactBrowserProvider, ReactHydrationState, ReactServerProvider, RedirectionError, RouterContext, RouterContextValue, RouterGoOptions, RouterHookApi, RouterLayerContext, RouterLayerContextValue, RouterRenderResult, RouterStackItem, RouterState, TPropsDefault, TPropsParentDefault, TransitionOptions, UseActiveHook, UseQueryParamsHookOptions, VirtualRouter, isPageRoute, useActive, useAlepha, useClient, useInject, useQueryParams, useRouter, useRouterEvents, useRouterState };
|
|
785
|
+
export { $page, AlephaReact, AnchorProps, ClientOnly, CreateLayersResult, ErrorBoundary, HrefLike, Layer, Link, NestedView, NotFoundPage as NotFound, PageConfigSchema, PageDescriptor, PageDescriptorOptions, PageDescriptorProvider, PageDescriptorRenderOptions, PageDescriptorRenderResult, PageReactContext, PageRequest, PageRequestConfig, PageResolve, PageRoute, PageRouteEntry, PreviousLayerData, ReactBrowserProvider, ReactHydrationState, ReactServerProvider, RedirectionError, RouterContext, RouterContextValue, RouterGoOptions, RouterHookApi, RouterLayerContext, RouterLayerContextValue, RouterRenderResult, RouterStackItem, RouterState, TPropsDefault, TPropsParentDefault, TransitionOptions, UseActiveHook, UseQueryParamsHookOptions, VirtualRouter, isPageRoute, useActive, useAlepha, useClient, useInject, useQueryParams, useRouter, useRouterEvents, useRouterState };
|
|
652
786
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/components/ClientOnly.tsx","../src/descriptors/$page.ts","../src/providers/PageDescriptorProvider.ts","../src/providers/BrowserRouterProvider.ts","../src/providers/ReactBrowserProvider.ts","../src/components/ErrorBoundary.tsx","../src/components/Link.tsx","../src/components/NestedView.tsx","../src/contexts/RouterContext.ts","../src/contexts/RouterLayerContext.ts","../src/hooks/RouterHookApi.ts","../src/errors/RedirectionError.ts","../src/hooks/useActive.ts","../src/hooks/useAlepha.ts","../src/hooks/useClient.ts","../src/hooks/useInject.ts","../src/hooks/useQueryParams.ts","../src/hooks/useRouter.ts","../src/hooks/useRouterEvents.ts","../src/hooks/useRouterState.ts","../src/providers/ReactServerProvider.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/components/ClientOnly.tsx","../src/descriptors/$page.ts","../src/providers/PageDescriptorProvider.ts","../src/providers/BrowserRouterProvider.ts","../src/providers/ReactBrowserProvider.ts","../src/components/ErrorBoundary.tsx","../src/components/Link.tsx","../src/components/NestedView.tsx","../src/components/NotFound.tsx","../src/contexts/RouterContext.ts","../src/contexts/RouterLayerContext.ts","../src/hooks/RouterHookApi.ts","../src/errors/RedirectionError.ts","../src/hooks/useActive.ts","../src/hooks/useAlepha.ts","../src/hooks/useClient.ts","../src/hooks/useInject.ts","../src/hooks/useQueryParams.ts","../src/hooks/useRouter.ts","../src/hooks/useRouterEvents.ts","../src/hooks/useRouterState.ts","../src/providers/ReactServerProvider.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -291,7 +291,7 @@ const NestedView = (props) => {
|
|
|
291
291
|
const index = layer?.index ?? 0;
|
|
292
292
|
const [view, setView] = useState(app?.state.layers[index]?.element);
|
|
293
293
|
useRouterEvents({ onEnd: ({ state }) => {
|
|
294
|
-
setView(state.layers[index]?.element);
|
|
294
|
+
if (!state.layers[index]?.cache) setView(state.layers[index]?.element);
|
|
295
295
|
} }, [app]);
|
|
296
296
|
if (!app) throw new Error("NestedView must be used within a RouterContext.");
|
|
297
297
|
const element = view ?? props.children ?? null;
|
|
@@ -389,19 +389,18 @@ var PageDescriptorProvider = class {
|
|
|
389
389
|
const route$1 = it.route;
|
|
390
390
|
const config = {};
|
|
391
391
|
try {
|
|
392
|
-
config.query = route$1.schema?.query ? this.alepha.parse(route$1.schema.query, request.query) :
|
|
392
|
+
config.query = route$1.schema?.query ? this.alepha.parse(route$1.schema.query, request.query) : {};
|
|
393
393
|
} catch (e) {
|
|
394
394
|
it.error = e;
|
|
395
395
|
break;
|
|
396
396
|
}
|
|
397
397
|
try {
|
|
398
|
-
config.params = route$1.schema?.params ? this.alepha.parse(route$1.schema.params, request.params) :
|
|
398
|
+
config.params = route$1.schema?.params ? this.alepha.parse(route$1.schema.params, request.params) : {};
|
|
399
399
|
} catch (e) {
|
|
400
400
|
it.error = e;
|
|
401
401
|
break;
|
|
402
402
|
}
|
|
403
403
|
it.config = { ...config };
|
|
404
|
-
if (!route$1.resolve) continue;
|
|
405
404
|
const previous = request.previous;
|
|
406
405
|
if (previous?.[i] && !forceRefresh && previous[i].name === route$1.name) {
|
|
407
406
|
const url = (str) => str ? str.replace(/\/\/+/g, "/") : "/";
|
|
@@ -416,6 +415,7 @@ var PageDescriptorProvider = class {
|
|
|
416
415
|
if (prev === curr) {
|
|
417
416
|
it.props = previous[i].props;
|
|
418
417
|
it.error = previous[i].error;
|
|
418
|
+
it.cache = true;
|
|
419
419
|
context = {
|
|
420
420
|
...context,
|
|
421
421
|
...it.props
|
|
@@ -424,6 +424,7 @@ var PageDescriptorProvider = class {
|
|
|
424
424
|
}
|
|
425
425
|
forceRefresh = true;
|
|
426
426
|
}
|
|
427
|
+
if (!route$1.resolve) continue;
|
|
427
428
|
try {
|
|
428
429
|
const props = await route$1.resolve?.({
|
|
429
430
|
...request,
|
|
@@ -470,7 +471,7 @@ var PageDescriptorProvider = class {
|
|
|
470
471
|
element: this.renderView(i + 1, path, element$1, it.route),
|
|
471
472
|
index: i + 1,
|
|
472
473
|
path,
|
|
473
|
-
route
|
|
474
|
+
route: it.route
|
|
474
475
|
});
|
|
475
476
|
break;
|
|
476
477
|
}
|
|
@@ -486,7 +487,8 @@ var PageDescriptorProvider = class {
|
|
|
486
487
|
element: this.renderView(i + 1, path, element, it.route),
|
|
487
488
|
index: i + 1,
|
|
488
489
|
path,
|
|
489
|
-
route
|
|
490
|
+
route: it.route,
|
|
491
|
+
cache: it.cache
|
|
490
492
|
});
|
|
491
493
|
}
|
|
492
494
|
return {
|
|
@@ -554,8 +556,8 @@ var PageDescriptorProvider = class {
|
|
|
554
556
|
};
|
|
555
557
|
for (const { value, key } of pages) value[OPTIONS].name ??= key;
|
|
556
558
|
for (const { value } of pages) {
|
|
557
|
-
if (hasParent(value)) continue;
|
|
558
559
|
if (value[OPTIONS].path === "/*") hasNotFoundHandler = true;
|
|
560
|
+
if (hasParent(value)) continue;
|
|
559
561
|
this.add(this.map(pages, value));
|
|
560
562
|
}
|
|
561
563
|
if (!hasNotFoundHandler && pages.length > 0) this.add({
|
|
@@ -631,7 +633,7 @@ var ReactServerProvider = class {
|
|
|
631
633
|
handler: async () => {
|
|
632
634
|
const pages = this.alepha.getDescriptorValues($page);
|
|
633
635
|
const ssrEnabled = pages.length > 0 && this.env.REACT_SSR_ENABLED !== false;
|
|
634
|
-
this.alepha.state("
|
|
636
|
+
this.alepha.state("react.server.ssr", ssrEnabled);
|
|
635
637
|
for (const { key, instance, value } of pages) {
|
|
636
638
|
const name = value[OPTIONS].name ?? key;
|
|
637
639
|
instance[key].render = this.createRenderFunction(name);
|
|
@@ -671,7 +673,7 @@ var ReactServerProvider = class {
|
|
|
671
673
|
}
|
|
672
674
|
});
|
|
673
675
|
get template() {
|
|
674
|
-
return this.alepha.state("
|
|
676
|
+
return this.alepha.state("react.server.template") ?? "<!DOCTYPE html><html lang='en'><head></head><body></body></html>";
|
|
675
677
|
}
|
|
676
678
|
async registerPages(templateLoader) {
|
|
677
679
|
for (const page of this.pageDescriptorProvider.getPages()) {
|
|
@@ -952,8 +954,22 @@ var ReactBrowserProvider = class {
|
|
|
952
954
|
get history() {
|
|
953
955
|
return window.history;
|
|
954
956
|
}
|
|
957
|
+
get location() {
|
|
958
|
+
return window.location;
|
|
959
|
+
}
|
|
955
960
|
get url() {
|
|
956
|
-
|
|
961
|
+
let url = this.location.pathname + this.location.search;
|
|
962
|
+
if (import.meta?.env?.BASE_URL) {
|
|
963
|
+
url = url.replace(import.meta.env?.BASE_URL, "");
|
|
964
|
+
if (!url.startsWith("/")) url = `/${url}`;
|
|
965
|
+
}
|
|
966
|
+
return url;
|
|
967
|
+
}
|
|
968
|
+
pushState(url, replace) {
|
|
969
|
+
let path = url;
|
|
970
|
+
if (import.meta?.env?.BASE_URL) path = (import.meta.env?.BASE_URL + path).replaceAll("//", "/");
|
|
971
|
+
if (replace) this.history.replaceState({}, "", path);
|
|
972
|
+
else this.history.pushState({}, "", path);
|
|
957
973
|
}
|
|
958
974
|
async invalidate(props) {
|
|
959
975
|
const previous = [];
|
|
@@ -979,14 +995,14 @@ var ReactBrowserProvider = class {
|
|
|
979
995
|
async go(url, options = {}) {
|
|
980
996
|
const result = await this.render({ url });
|
|
981
997
|
if (result.context.url.pathname !== url) {
|
|
982
|
-
this.
|
|
998
|
+
this.pushState(result.context.url.pathname);
|
|
983
999
|
return;
|
|
984
1000
|
}
|
|
985
1001
|
if (options.replace) {
|
|
986
|
-
this.
|
|
1002
|
+
this.pushState(url);
|
|
987
1003
|
return;
|
|
988
1004
|
}
|
|
989
|
-
this.
|
|
1005
|
+
this.pushState(url);
|
|
990
1006
|
}
|
|
991
1007
|
async render(options = {}) {
|
|
992
1008
|
const previous = options.previous ?? this.state.layers;
|
|
@@ -1023,6 +1039,7 @@ var ReactBrowserProvider = class {
|
|
|
1023
1039
|
hydration
|
|
1024
1040
|
});
|
|
1025
1041
|
window.addEventListener("popstate", () => {
|
|
1042
|
+
if (this.state.pathname === location.pathname) return;
|
|
1026
1043
|
this.render();
|
|
1027
1044
|
});
|
|
1028
1045
|
}
|
|
@@ -1032,12 +1049,21 @@ var ReactBrowserProvider = class {
|
|
|
1032
1049
|
//#endregion
|
|
1033
1050
|
//#region src/hooks/RouterHookApi.ts
|
|
1034
1051
|
var RouterHookApi = class {
|
|
1035
|
-
constructor(pages, state, layer, browser) {
|
|
1052
|
+
constructor(pages, context, state, layer, browser) {
|
|
1036
1053
|
this.pages = pages;
|
|
1054
|
+
this.context = context;
|
|
1037
1055
|
this.state = state;
|
|
1038
1056
|
this.layer = layer;
|
|
1039
1057
|
this.browser = browser;
|
|
1040
1058
|
}
|
|
1059
|
+
getURL() {
|
|
1060
|
+
if (!this.browser) return this.context.url;
|
|
1061
|
+
return new URL(this.location.href);
|
|
1062
|
+
}
|
|
1063
|
+
get location() {
|
|
1064
|
+
if (!this.browser) throw new Error("Browser is required");
|
|
1065
|
+
return this.browser.location;
|
|
1066
|
+
}
|
|
1041
1067
|
get current() {
|
|
1042
1068
|
return this.state;
|
|
1043
1069
|
}
|
|
@@ -1115,7 +1141,7 @@ const useRouter = () => {
|
|
|
1115
1141
|
const pages = useMemo(() => {
|
|
1116
1142
|
return ctx.alepha.get(PageDescriptorProvider).getPages();
|
|
1117
1143
|
}, []);
|
|
1118
|
-
return useMemo(() => new RouterHookApi(pages, ctx.state, layer, ctx.alepha.isBrowser() ? ctx.alepha.get(ReactBrowserProvider) : void 0), [layer]);
|
|
1144
|
+
return useMemo(() => new RouterHookApi(pages, ctx.context, ctx.state, layer, ctx.alepha.isBrowser() ? ctx.alepha.get(ReactBrowserProvider) : void 0), [layer]);
|
|
1119
1145
|
};
|
|
1120
1146
|
|
|
1121
1147
|
//#endregion
|
|
@@ -1235,10 +1261,132 @@ const useRouterState = () => {
|
|
|
1235
1261
|
//#endregion
|
|
1236
1262
|
//#region src/index.ts
|
|
1237
1263
|
/**
|
|
1238
|
-
*
|
|
1264
|
+
* Provides full-stack React development with declarative routing, server-side rendering, and client-side hydration.
|
|
1265
|
+
*
|
|
1266
|
+
* The React module enables building modern React applications using the `$page` descriptor on class properties.
|
|
1267
|
+
* It delivers seamless server-side rendering, automatic code splitting, and client-side navigation with full
|
|
1268
|
+
* type safety and schema validation for route parameters and data.
|
|
1269
|
+
*
|
|
1270
|
+
* **Key Features:**
|
|
1271
|
+
* - Declarative page definition with `$page` descriptor
|
|
1272
|
+
* - Server-side rendering (SSR) with automatic hydration
|
|
1273
|
+
* - Type-safe routing with parameter validation
|
|
1274
|
+
* - Schema-based data resolution and validation
|
|
1275
|
+
* - SEO-friendly meta tag management
|
|
1276
|
+
* - Automatic code splitting and lazy loading
|
|
1277
|
+
* - Client-side navigation with browser history
|
|
1278
|
+
*
|
|
1279
|
+
* **Basic Usage:**
|
|
1280
|
+
* ```ts
|
|
1281
|
+
* import { Alepha, run, t } from "alepha";
|
|
1282
|
+
* import { AlephaReact, $page } from "alepha/react";
|
|
1239
1283
|
*
|
|
1240
|
-
*
|
|
1241
|
-
*
|
|
1284
|
+
* class AppRoutes {
|
|
1285
|
+
* // Home page
|
|
1286
|
+
* home = $page({
|
|
1287
|
+
* path: "/",
|
|
1288
|
+
* component: () => (
|
|
1289
|
+
* <div>
|
|
1290
|
+
* <h1>Welcome to Alepha</h1>
|
|
1291
|
+
* <p>Build amazing React applications!</p>
|
|
1292
|
+
* </div>
|
|
1293
|
+
* ),
|
|
1294
|
+
* });
|
|
1295
|
+
*
|
|
1296
|
+
* // About page with meta tags
|
|
1297
|
+
* about = $page({
|
|
1298
|
+
* path: "/about",
|
|
1299
|
+
* head: {
|
|
1300
|
+
* title: "About Us",
|
|
1301
|
+
* description: "Learn more about our mission",
|
|
1302
|
+
* },
|
|
1303
|
+
* component: () => (
|
|
1304
|
+
* <div>
|
|
1305
|
+
* <h1>About Us</h1>
|
|
1306
|
+
* <p>Learn more about our mission.</p>
|
|
1307
|
+
* </div>
|
|
1308
|
+
* ),
|
|
1309
|
+
* });
|
|
1310
|
+
* }
|
|
1311
|
+
*
|
|
1312
|
+
* const alepha = Alepha.create()
|
|
1313
|
+
* .with(AlephaReact)
|
|
1314
|
+
* .with(AppRoutes);
|
|
1315
|
+
*
|
|
1316
|
+
* run(alepha);
|
|
1317
|
+
* ```
|
|
1318
|
+
*
|
|
1319
|
+
* **Dynamic Routes with Parameters:**
|
|
1320
|
+
* ```tsx
|
|
1321
|
+
* class UserRoutes {
|
|
1322
|
+
* userProfile = $page({
|
|
1323
|
+
* path: "/users/:id",
|
|
1324
|
+
* schema: {
|
|
1325
|
+
* params: t.object({
|
|
1326
|
+
* id: t.string(),
|
|
1327
|
+
* }),
|
|
1328
|
+
* },
|
|
1329
|
+
* resolve: async ({ params }) => {
|
|
1330
|
+
* // Fetch user data server-side
|
|
1331
|
+
* const user = await getUserById(params.id);
|
|
1332
|
+
* return { user };
|
|
1333
|
+
* },
|
|
1334
|
+
* head: ({ user }) => ({
|
|
1335
|
+
* title: `${user.name} - Profile`,
|
|
1336
|
+
* description: `View ${user.name}'s profile`,
|
|
1337
|
+
* }),
|
|
1338
|
+
* component: ({ user }) => (
|
|
1339
|
+
* <div>
|
|
1340
|
+
* <h1>{user.name}</h1>
|
|
1341
|
+
* <p>Email: {user.email}</p>
|
|
1342
|
+
* </div>
|
|
1343
|
+
* ),
|
|
1344
|
+
* });
|
|
1345
|
+
*
|
|
1346
|
+
* userSettings = $page({
|
|
1347
|
+
* path: "/users/:id/settings",
|
|
1348
|
+
* schema: {
|
|
1349
|
+
* params: t.object({
|
|
1350
|
+
* id: t.string(),
|
|
1351
|
+
* }),
|
|
1352
|
+
* },
|
|
1353
|
+
* component: ({ params }) => (
|
|
1354
|
+
* <UserSettings userId={params.id} />
|
|
1355
|
+
* ),
|
|
1356
|
+
* });
|
|
1357
|
+
* }
|
|
1358
|
+
* ```
|
|
1359
|
+
*
|
|
1360
|
+
* **Static Generation:**
|
|
1361
|
+
* ```tsx
|
|
1362
|
+
* class BlogRoutes {
|
|
1363
|
+
* blogPost = $page({
|
|
1364
|
+
* path: "/blog/:slug",
|
|
1365
|
+
* schema: {
|
|
1366
|
+
* params: t.object({
|
|
1367
|
+
* slug: t.string(),
|
|
1368
|
+
* }),
|
|
1369
|
+
* },
|
|
1370
|
+
* static: {
|
|
1371
|
+
* entries: [
|
|
1372
|
+
* { params: { slug: "getting-started" } },
|
|
1373
|
+
* { params: { slug: "advanced-features" } },
|
|
1374
|
+
* { params: { slug: "deployment" } },
|
|
1375
|
+
* ],
|
|
1376
|
+
* },
|
|
1377
|
+
* resolve: ({ params }) => {
|
|
1378
|
+
* const post = getBlogPost(params.slug);
|
|
1379
|
+
* return { post };
|
|
1380
|
+
* },
|
|
1381
|
+
* component: ({ post }) => (
|
|
1382
|
+
* <article>
|
|
1383
|
+
* <h1>{post.title}</h1>
|
|
1384
|
+
* <div>{post.content}</div>
|
|
1385
|
+
* </article>
|
|
1386
|
+
* ),
|
|
1387
|
+
* });
|
|
1388
|
+
* }
|
|
1389
|
+
* ```
|
|
1242
1390
|
*
|
|
1243
1391
|
* @see {@link $page}
|
|
1244
1392
|
* @module alepha.react
|
|
@@ -1250,5 +1398,5 @@ var AlephaReact = class {
|
|
|
1250
1398
|
__bind($page, AlephaReact);
|
|
1251
1399
|
|
|
1252
1400
|
//#endregion
|
|
1253
|
-
export { $page, AlephaReact, ClientOnly_default as ClientOnly, ErrorBoundary_default as ErrorBoundary, Link_default as Link, NestedView_default as NestedView, PageDescriptorProvider, ReactBrowserProvider, ReactServerProvider, RedirectionError, RouterContext, RouterHookApi, RouterLayerContext, isPageRoute, useActive, useAlepha, useClient, useInject, useQueryParams, useRouter, useRouterEvents, useRouterState };
|
|
1401
|
+
export { $page, AlephaReact, ClientOnly_default as ClientOnly, ErrorBoundary_default as ErrorBoundary, Link_default as Link, NestedView_default as NestedView, NotFoundPage as NotFound, PageDescriptorProvider, ReactBrowserProvider, ReactServerProvider, RedirectionError, RouterContext, RouterHookApi, RouterLayerContext, isPageRoute, useActive, useAlepha, useClient, useInject, useQueryParams, useRouter, useRouterEvents, useRouterState };
|
|
1254
1402
|
//# sourceMappingURL=index.js.map
|