@alepha/react 0.11.2 → 0.11.4
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 +23 -4
- package/dist/index.browser.js +322 -31
- package/dist/index.browser.js.map +1 -1
- package/dist/{index.d.ts → index.d.mts} +379 -70
- package/dist/index.d.mts.map +1 -0
- package/dist/{index.js → index.mjs} +389 -90
- package/dist/index.mjs.map +1 -0
- package/package.json +13 -12
- package/src/components/NestedView.tsx +4 -4
- package/src/descriptors/$page.ts +21 -25
- package/src/hooks/useAction.ts +467 -0
- package/src/hooks/useActive.ts +1 -7
- package/src/hooks/useEvents.ts +51 -0
- package/src/index.browser.ts +4 -0
- package/src/index.shared.ts +2 -1
- package/src/index.ts +73 -1
- package/src/providers/ReactBrowserRouterProvider.ts +14 -0
- package/src/providers/ReactPageProvider.ts +34 -1
- package/src/providers/ReactServerProvider.ts +48 -68
- package/src/services/ReactPageServerService.ts +43 -0
- package/src/services/ReactPageService.ts +24 -0
- package/src/services/ReactRouter.ts +21 -0
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/src/hooks/useRouterEvents.ts +0 -66
|
@@ -58,6 +58,10 @@ export class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
|
|
|
58
58
|
|
|
59
59
|
const state = entry as ReactRouterState;
|
|
60
60
|
|
|
61
|
+
// Emit both action and transition events
|
|
62
|
+
await this.alepha.events.emit("react:action:begin", {
|
|
63
|
+
type: "transition",
|
|
64
|
+
});
|
|
61
65
|
await this.alepha.events.emit("react:transition:begin", {
|
|
62
66
|
previous: this.alepha.state.get("react.router.state")!,
|
|
63
67
|
state,
|
|
@@ -96,6 +100,9 @@ export class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
|
|
|
96
100
|
});
|
|
97
101
|
}
|
|
98
102
|
|
|
103
|
+
await this.alepha.events.emit("react:action:success", {
|
|
104
|
+
type: "transition",
|
|
105
|
+
});
|
|
99
106
|
await this.alepha.events.emit("react:transition:success", { state });
|
|
100
107
|
} catch (e) {
|
|
101
108
|
this.log.error("Transition has failed", e);
|
|
@@ -108,6 +115,10 @@ export class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
|
|
|
108
115
|
},
|
|
109
116
|
];
|
|
110
117
|
|
|
118
|
+
await this.alepha.events.emit("react:action:error", {
|
|
119
|
+
type: "transition",
|
|
120
|
+
error: e as Error,
|
|
121
|
+
});
|
|
111
122
|
await this.alepha.events.emit("react:transition:error", {
|
|
112
123
|
error: e as Error,
|
|
113
124
|
state,
|
|
@@ -126,6 +137,9 @@ export class ReactBrowserRouterProvider extends RouterProvider<BrowserRoute> {
|
|
|
126
137
|
|
|
127
138
|
this.alepha.state.set("react.router.state", state);
|
|
128
139
|
|
|
140
|
+
await this.alepha.events.emit("react:action:end", {
|
|
141
|
+
type: "transition",
|
|
142
|
+
});
|
|
129
143
|
await this.alepha.events.emit("react:transition:end", {
|
|
130
144
|
state,
|
|
131
145
|
});
|
|
@@ -42,6 +42,39 @@ export class ReactPageProvider {
|
|
|
42
42
|
return this.pages;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
public getConcretePages(): PageRoute[] {
|
|
46
|
+
const pages: PageRoute[] = [];
|
|
47
|
+
for (const page of this.pages) {
|
|
48
|
+
if (page.children && page.children.length > 0) {
|
|
49
|
+
continue;
|
|
50
|
+
}
|
|
51
|
+
const fullPath = this.pathname(page.name);
|
|
52
|
+
if (fullPath.includes(":") || fullPath.includes("*")) {
|
|
53
|
+
if (typeof page.static === "object") {
|
|
54
|
+
const entries = page.static.entries;
|
|
55
|
+
if (entries && entries.length > 0) {
|
|
56
|
+
for (const entry of entries) {
|
|
57
|
+
const params = entry.params as Record<string, string>;
|
|
58
|
+
const path = this.compile(page.path ?? "", params);
|
|
59
|
+
if (!path.includes(":") && !path.includes("*")) {
|
|
60
|
+
pages.push({
|
|
61
|
+
...page,
|
|
62
|
+
name: params[Object.keys(params)[0]],
|
|
63
|
+
path,
|
|
64
|
+
...entry,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
pages.push(page);
|
|
74
|
+
}
|
|
75
|
+
return pages;
|
|
76
|
+
}
|
|
77
|
+
|
|
45
78
|
public page(name: string): PageRoute {
|
|
46
79
|
for (const page of this.pages) {
|
|
47
80
|
if (page.name === name) {
|
|
@@ -49,7 +82,7 @@ export class ReactPageProvider {
|
|
|
49
82
|
}
|
|
50
83
|
}
|
|
51
84
|
|
|
52
|
-
throw new
|
|
85
|
+
throw new AlephaError(`Page '${name}' not found`);
|
|
53
86
|
}
|
|
54
87
|
|
|
55
88
|
public pathname(
|
|
@@ -73,7 +73,7 @@ export class ReactServerProvider implements Configurable {
|
|
|
73
73
|
protected readonly serverRouterProvider = $inject(ServerRouterProvider);
|
|
74
74
|
protected readonly serverTimingProvider = $inject(ServerTimingProvider);
|
|
75
75
|
|
|
76
|
-
|
|
76
|
+
public readonly ROOT_DIV_REGEX = new RegExp(
|
|
77
77
|
`<div([^>]*)\\s+id=["']${this.env.REACT_ROOT_ID}["']([^>]*)>(.*?)<\\/div>`,
|
|
78
78
|
"is",
|
|
79
79
|
);
|
|
@@ -94,23 +94,6 @@ export class ReactServerProvider implements Configurable {
|
|
|
94
94
|
|
|
95
95
|
this.alepha.state.set("react.server.ssr", ssrEnabled);
|
|
96
96
|
|
|
97
|
-
for (const page of pages) {
|
|
98
|
-
page.render = this.createRenderFunction(page.name);
|
|
99
|
-
page.fetch = async (options) => {
|
|
100
|
-
const response = await fetch(
|
|
101
|
-
`${this.serverProvider.hostname}/${page.pathname(options)}`,
|
|
102
|
-
);
|
|
103
|
-
const html = await response.text();
|
|
104
|
-
if (options?.html) return { html, response };
|
|
105
|
-
// take only text inside the root div
|
|
106
|
-
const match = html.match(this.ROOT_DIV_REGEX);
|
|
107
|
-
if (match) {
|
|
108
|
-
return { html: match[3], response };
|
|
109
|
-
}
|
|
110
|
-
throw new AlephaError("Invalid HTML response");
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
|
|
114
97
|
// development mode
|
|
115
98
|
if (this.alepha.isViteDev()) {
|
|
116
99
|
await this.configureVite(ssrEnabled);
|
|
@@ -248,66 +231,63 @@ export class ReactServerProvider implements Configurable {
|
|
|
248
231
|
/**
|
|
249
232
|
* For testing purposes, creates a render function that can be used.
|
|
250
233
|
*/
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
const state = entry as ReactRouterState;
|
|
268
|
-
|
|
269
|
-
this.log.trace("Rendering", {
|
|
270
|
-
url,
|
|
271
|
-
});
|
|
272
|
-
|
|
273
|
-
await this.alepha.events.emit("react:server:render:begin", {
|
|
274
|
-
state,
|
|
275
|
-
});
|
|
276
|
-
|
|
277
|
-
const { redirect } = await this.pageApi.createLayers(
|
|
278
|
-
page,
|
|
279
|
-
state as ReactRouterState,
|
|
280
|
-
);
|
|
234
|
+
public async render(
|
|
235
|
+
name: string,
|
|
236
|
+
options: PageDescriptorRenderOptions = {},
|
|
237
|
+
): Promise<PageDescriptorRenderResult> {
|
|
238
|
+
const page = this.pageApi.page(name);
|
|
239
|
+
const url = new URL(this.pageApi.url(name, options));
|
|
240
|
+
const entry: Partial<ReactRouterState> = {
|
|
241
|
+
url,
|
|
242
|
+
params: options.params ?? {},
|
|
243
|
+
query: options.query ?? {},
|
|
244
|
+
onError: () => null,
|
|
245
|
+
layers: [],
|
|
246
|
+
meta: {},
|
|
247
|
+
};
|
|
248
|
+
const state = entry as ReactRouterState;
|
|
281
249
|
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
250
|
+
this.log.trace("Rendering", {
|
|
251
|
+
url,
|
|
252
|
+
});
|
|
285
253
|
|
|
286
|
-
|
|
287
|
-
|
|
254
|
+
await this.alepha.events.emit("react:server:render:begin", {
|
|
255
|
+
state,
|
|
256
|
+
});
|
|
288
257
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
}
|
|
258
|
+
const { redirect } = await this.pageApi.createLayers(
|
|
259
|
+
page,
|
|
260
|
+
state as ReactRouterState,
|
|
261
|
+
);
|
|
294
262
|
|
|
295
|
-
|
|
296
|
-
|
|
263
|
+
if (redirect) {
|
|
264
|
+
return { state, html: "", redirect };
|
|
265
|
+
}
|
|
297
266
|
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
}
|
|
267
|
+
if (!options.html) {
|
|
268
|
+
this.alepha.state.set("react.router.state", state);
|
|
301
269
|
|
|
302
|
-
|
|
270
|
+
return {
|
|
303
271
|
state,
|
|
304
|
-
html,
|
|
272
|
+
html: renderToString(this.pageApi.root(state)),
|
|
305
273
|
};
|
|
274
|
+
}
|
|
306
275
|
|
|
307
|
-
|
|
276
|
+
const template = this.template ?? "";
|
|
277
|
+
const html = this.renderToHtml(template, state, options.hydration);
|
|
308
278
|
|
|
309
|
-
|
|
279
|
+
if (html instanceof Redirection) {
|
|
280
|
+
return { state, html: "", redirect };
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
const result = {
|
|
284
|
+
state,
|
|
285
|
+
html,
|
|
310
286
|
};
|
|
287
|
+
|
|
288
|
+
await this.alepha.events.emit("react:server:render:end", result);
|
|
289
|
+
|
|
290
|
+
return result;
|
|
311
291
|
}
|
|
312
292
|
|
|
313
293
|
protected createHandler(
|
|
@@ -318,7 +298,7 @@ export class ReactServerProvider implements Configurable {
|
|
|
318
298
|
const { url, reply, query, params } = serverRequest;
|
|
319
299
|
const template = await templateLoader();
|
|
320
300
|
if (!template) {
|
|
321
|
-
throw new AlephaError("
|
|
301
|
+
throw new AlephaError("Missing template for SSR rendering");
|
|
322
302
|
}
|
|
323
303
|
|
|
324
304
|
this.log.trace("Rendering page", {
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { $inject, AlephaError } from "@alepha/core";
|
|
2
|
+
import { ServerProvider } from "@alepha/server";
|
|
3
|
+
import type {
|
|
4
|
+
PageDescriptorRenderOptions,
|
|
5
|
+
PageDescriptorRenderResult,
|
|
6
|
+
} from "../descriptors/$page.ts";
|
|
7
|
+
import { ReactServerProvider } from "../providers/ReactServerProvider.ts";
|
|
8
|
+
import { ReactPageService } from "./ReactPageService.ts";
|
|
9
|
+
|
|
10
|
+
export class ReactPageServerService extends ReactPageService {
|
|
11
|
+
protected readonly reactServerProvider = $inject(ReactServerProvider);
|
|
12
|
+
protected readonly serverProvider = $inject(ServerProvider);
|
|
13
|
+
|
|
14
|
+
public async render(
|
|
15
|
+
name: string,
|
|
16
|
+
options: PageDescriptorRenderOptions = {},
|
|
17
|
+
): Promise<PageDescriptorRenderResult> {
|
|
18
|
+
return this.reactServerProvider.render(name, options);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
public async fetch(
|
|
22
|
+
pathname: string,
|
|
23
|
+
options: PageDescriptorRenderOptions = {},
|
|
24
|
+
): Promise<{
|
|
25
|
+
html: string;
|
|
26
|
+
response: Response;
|
|
27
|
+
}> {
|
|
28
|
+
const response = await fetch(`${this.serverProvider.hostname}/${pathname}`);
|
|
29
|
+
|
|
30
|
+
const html = await response.text();
|
|
31
|
+
if (options?.html) {
|
|
32
|
+
return { html, response };
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// take only text inside the root div
|
|
36
|
+
const match = html.match(this.reactServerProvider.ROOT_DIV_REGEX);
|
|
37
|
+
if (match) {
|
|
38
|
+
return { html: match[3], response };
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
throw new AlephaError("Invalid HTML response");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { AlephaError } from "@alepha/core";
|
|
2
|
+
import type {
|
|
3
|
+
PageDescriptorRenderOptions,
|
|
4
|
+
PageDescriptorRenderResult,
|
|
5
|
+
} from "../descriptors/$page.ts";
|
|
6
|
+
|
|
7
|
+
export class ReactPageService {
|
|
8
|
+
public fetch(
|
|
9
|
+
pathname: string,
|
|
10
|
+
options: PageDescriptorRenderOptions = {},
|
|
11
|
+
): Promise<{
|
|
12
|
+
html: string;
|
|
13
|
+
response: Response;
|
|
14
|
+
}> {
|
|
15
|
+
throw new AlephaError("Fetch is not available for this environment.");
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
public render(
|
|
19
|
+
name: string,
|
|
20
|
+
options: PageDescriptorRenderOptions = {},
|
|
21
|
+
): Promise<PageDescriptorRenderResult> {
|
|
22
|
+
throw new AlephaError("Render is not available for this environment.");
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -22,6 +22,10 @@ export class ReactRouter<T extends object> {
|
|
|
22
22
|
return this.pageApi.getPages();
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
public get concretePages() {
|
|
26
|
+
return this.pageApi.getConcretePages();
|
|
27
|
+
}
|
|
28
|
+
|
|
25
29
|
public get browser(): ReactBrowserProvider | undefined {
|
|
26
30
|
if (this.alepha.isBrowser()) {
|
|
27
31
|
return this.alepha.inject(ReactBrowserProvider);
|
|
@@ -30,6 +34,23 @@ export class ReactRouter<T extends object> {
|
|
|
30
34
|
return undefined;
|
|
31
35
|
}
|
|
32
36
|
|
|
37
|
+
public isActive(
|
|
38
|
+
href: string,
|
|
39
|
+
options: {
|
|
40
|
+
startWith?: boolean;
|
|
41
|
+
} = {},
|
|
42
|
+
): boolean {
|
|
43
|
+
const current = this.state.url.pathname;
|
|
44
|
+
let isActive =
|
|
45
|
+
current === href || current === `${href}/` || `${current}/` === href;
|
|
46
|
+
|
|
47
|
+
if (options.startWith && !isActive) {
|
|
48
|
+
isActive = current.startsWith(href);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return isActive;
|
|
52
|
+
}
|
|
53
|
+
|
|
33
54
|
public path(
|
|
34
55
|
name: keyof VirtualRouter<T>,
|
|
35
56
|
config: {
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/components/ClientOnly.tsx","../src/errors/Redirection.ts","../src/providers/ReactPageProvider.ts","../src/descriptors/$page.ts","../src/providers/ReactBrowserRouterProvider.ts","../src/providers/ReactBrowserProvider.ts","../src/components/ErrorBoundary.tsx","../src/components/ErrorViewer.tsx","../src/components/Link.tsx","../src/components/NestedView.tsx","../src/components/NotFound.tsx","../src/contexts/AlephaContext.ts","../src/contexts/RouterLayerContext.ts","../src/hooks/useActive.ts","../src/hooks/useAlepha.ts","../src/hooks/useClient.ts","../src/hooks/useInject.ts","../src/hooks/useQueryParams.ts","../src/services/ReactRouter.ts","../src/hooks/useRouter.ts","../src/hooks/useRouterEvents.ts","../src/hooks/useRouterState.ts","../src/hooks/useSchema.ts","../src/hooks/useStore.ts","../src/providers/ReactServerProvider.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|