@alepha/react 0.5.0 → 0.5.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alepha/react",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.cjs",
@@ -8,10 +8,10 @@
8
8
  "types": "./dist/index.d.cts",
9
9
  "browser": "./dist/index.browser.mjs",
10
10
  "dependencies": {
11
- "@alepha/cache": "0.5.0",
12
- "@alepha/core": "0.5.0",
13
- "@alepha/security": "0.5.0",
14
- "@alepha/server": "0.5.0",
11
+ "@alepha/cache": "0.5.1",
12
+ "@alepha/core": "0.5.1",
13
+ "@alepha/security": "0.5.1",
14
+ "@alepha/server": "0.5.1",
15
15
  "openid-client": "^6.4.1",
16
16
  "path-to-regexp": "^8.2.0",
17
17
  "react": "^18.3.1",
@@ -1,42 +0,0 @@
1
- import { Alepha, t } from "@alepha/core";
2
- import { test } from "vitest";
3
- import { $page } from "../src";
4
-
5
- class App {
6
- root = $page({
7
- component: () => "root",
8
- });
9
-
10
- home = $page({
11
- path: "/",
12
- component: () => "home",
13
- });
14
-
15
- test = $page({
16
- path: "/test",
17
- component: () => <div>test</div>,
18
- });
19
-
20
- hello = $page({
21
- path: "/hello/:name",
22
- schema: {
23
- params: t.object({
24
- name: t.string({ default: "world" }),
25
- }),
26
- },
27
- resolve: ({ params }) => params,
28
- component: ({ name }) => `hello ${name}`,
29
- });
30
- }
31
-
32
- const app = Alepha.create().get(App);
33
-
34
- test("$page - Basic", async ({ expect }) => {
35
- expect(await app.root.render()).toEqual("root");
36
- expect(await app.home.render()).toEqual("home");
37
- expect(await app.test.render()).toEqual("<div>test</div>");
38
- expect(await app.hello.render()).toEqual("hello world");
39
- expect(await app.hello.render({ params: { name: "jack" } })).toEqual(
40
- "hello jack",
41
- );
42
- });
@@ -1,138 +0,0 @@
1
- import { Alepha, t } from "@alepha/core";
2
- import type { ReactNode } from "react";
3
- import { renderToString } from "react-dom/server";
4
- import { test } from "vitest";
5
- import { NestedView, Router } from "../src";
6
-
7
- const str = (r: { element: ReactNode }): string => {
8
- return renderToString(r.element).replaceAll("<!-- -->", "");
9
- };
10
-
11
- test("Router - Basic", async ({ expect }) => {
12
- const alepha = Alepha.create();
13
- const router = alepha.get(Router);
14
-
15
- router.add({
16
- name: "Test",
17
- path: "/",
18
- component: () => "Hey",
19
- });
20
-
21
- expect(str(await router.render("/"))).toEqual("Hey");
22
- expect(str(await router.render("/zz"))).toEqual("Not Found");
23
- });
24
-
25
- test("Router - NestedView", async ({ expect }) => {
26
- const alepha = Alepha.create();
27
- const router = alepha.get(Router);
28
-
29
- router.add({
30
- name: "Test",
31
- component: () => (
32
- <>
33
- ((
34
- <NestedView />
35
- ))
36
- </>
37
- ),
38
- children: [
39
- {
40
- name: "Home",
41
- path: "/",
42
- component: () => "Home",
43
- },
44
- {
45
- name: "Hello",
46
- path: "/hello/:name",
47
- schema: {
48
- params: t.object({
49
- name: t.string(),
50
- }),
51
- },
52
- resolve: ({ params }) => params,
53
- component: (props) => `Hello, ${props.name}!`,
54
- },
55
- ],
56
- });
57
-
58
- expect(str(await router.render("/"))).toEqual("((Home))");
59
- expect(str(await router.render("/hello/jack"))).toEqual("((Hello, jack!))");
60
- });
61
-
62
- test("Router - Not Found", async ({ expect }) => {
63
- const alepha = Alepha.create();
64
- const router = alepha.get(Router);
65
-
66
- router.add({
67
- children: [
68
- {
69
- component: () => "home",
70
- },
71
- {
72
- path: "about",
73
- component: () => "about",
74
- },
75
- {
76
- path: "sub",
77
- children: [
78
- {
79
- component: () => "a",
80
- },
81
- {
82
- path: "b",
83
- component: () => "b",
84
- },
85
- ],
86
- },
87
- {
88
- path: "users",
89
- component: () => <NestedView>yo</NestedView>,
90
- children: [
91
- {
92
- path: "new",
93
- component: () => "users/new",
94
- },
95
- {
96
- path: ":id",
97
- schema: { params: t.object({ id: t.string() }) },
98
- resolve: ({ params }) => {
99
- if (params.id === "boom") throw new Error("boom");
100
- return params;
101
- },
102
- children: [
103
- {
104
- resolve: ({ params }) => params,
105
- component: ({ id }) => `hey ${id}`,
106
- },
107
- {
108
- path: "profile",
109
- resolve: ({ params }) => params,
110
- component: ({ id }) => `profile of ${id}`,
111
- },
112
- ],
113
- },
114
- ],
115
- errorHandler: ({ error }) => {
116
- return `Error: ${error.message}`;
117
- },
118
- },
119
- ],
120
- notFoundHandler: () => "404",
121
- });
122
-
123
- expect(str(await router.render("/"))).toEqual("home");
124
- expect(str(await router.render("/about"))).toEqual("about");
125
- expect(str(await router.render("/noop"))).toEqual("404");
126
- expect(str(await router.render("/noop/noop"))).toEqual("404");
127
- expect(str(await router.render("/sub"))).toEqual("a");
128
- expect(str(await router.render("/sub/"))).toEqual("a");
129
- expect(str(await router.render("/sub/b"))).toEqual("b");
130
- expect(str(await router.render("/sub/noop"))).toEqual("404");
131
- expect(str(await router.render("/users"))).toEqual("yo");
132
- expect(str(await router.render("/users/"))).toEqual("yo");
133
- expect(str(await router.render("/users/a"))).toEqual("hey a");
134
- expect(str(await router.render("/users/boom"))).toEqual("Error: boom");
135
- expect(str(await router.render("/users/new"))).toEqual("users/new");
136
- expect(str(await router.render("/users/hey/ho"))).toEqual("404");
137
- expect(str(await router.render("/users/a/profile"))).toEqual("profile of a");
138
- });
package/tsconfig.json DELETED
@@ -1,6 +0,0 @@
1
- {
2
- "extends": "../../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "lib"
5
- }
6
- }