Skip to content

Commit 01ff331

Browse files
committed
Add server entry point
1 parent 4c85658 commit 01ff331

File tree

5 files changed

+24
-14
lines changed

5 files changed

+24
-14
lines changed

__tests__/server.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44

55
import { renderToString } from "react-dom/server";
66
import { expect, test } from "vitest";
7-
import { Link, ServerUrlProvider, createRouter } from "../src";
7+
import { Link, createRouter } from "../src";
8+
import { UrlProvider } from "../src/server";
89

910
const Router = createRouter({
1011
Home: "/",
@@ -50,29 +51,29 @@ const App = () => {
5051
test("Should render home page correctly", () => {
5152
expect(
5253
renderToString(
53-
<ServerUrlProvider value="/">
54+
<UrlProvider value="/">
5455
<App />
55-
</ServerUrlProvider>,
56+
</UrlProvider>,
5657
),
5758
).toMatchSnapshot();
5859
});
5960

6061
test("Should render users page correctly", () => {
6162
expect(
6263
renderToString(
63-
<ServerUrlProvider value="/users">
64+
<UrlProvider value="/users">
6465
<App />
65-
</ServerUrlProvider>,
66+
</UrlProvider>,
6667
),
6768
).toMatchSnapshot();
6869
});
6970

7071
test("Should render user page correctly", () => {
7172
expect(
7273
renderToString(
73-
<ServerUrlProvider value="/users/123">
74+
<UrlProvider value="/users/123">
7475
<App />
75-
</ServerUrlProvider>,
76+
</UrlProvider>,
7677
),
7778
).toMatchSnapshot();
7879
});

docs/docs/server-side-rendering.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ title: Server-side rendering
33
sidebar_label: Server-side rendering
44
---
55

6-
To render your app server-side, wrap it with `ServerUrlProvider`:
6+
To render your app server-side, wrap it with `UrlProvider`:
77

88
```tsx {1,10-12}
9-
import { ServerUrlProvider } from "@swan-io/chicane";
9+
import { UrlProvider } from "@swan-io/chicane/server";
1010
import express from "express";
1111
import { renderToString } from "react-dom/server";
1212
import { App } from "../client/App";
@@ -15,9 +15,9 @@ const app = express();
1515

1616
app.use("*", (req, res) => {
1717
const html = renderToString(
18-
<ServerUrlProvider value={req.originalUrl}>
18+
<UrlProvider value={req.originalUrl}>
1919
<App />
20-
</ServerUrlProvider>,
20+
</UrlProvider>,
2121
);
2222

2323
//

package.json

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,12 @@
1010
"type": "git",
1111
"url": "https://github.com/swan-io/chicane.git"
1212
},
13-
"zshy": "./src/index.ts",
13+
"zshy": {
14+
"exports": {
15+
".": "./src/index.ts",
16+
"./server": "./src/server.ts"
17+
}
18+
},
1419
"types": "./dist/index.d.ts",
1520
"module": "./dist/index.mjs",
1621
"main": "./dist/index.js",
@@ -20,6 +25,11 @@
2025
"types": "./dist/index.d.ts",
2126
"import": "./dist/index.mjs",
2227
"require": "./dist/index.js"
28+
},
29+
"./server": {
30+
"types": "./dist/server.d.ts",
31+
"import": "./dist/server.mjs",
32+
"require": "./dist/server.js"
2333
}
2434
},
2535
"files": [

src/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ export {
99
} from "./history";
1010
export { Link } from "./Link";
1111
export { decodeSearch, encodeSearch } from "./search";
12-
export { ServerUrlProvider } from "./server";
1312
export type { InferRoutes, Location, Search } from "./types";
1413
export { useBlocker } from "./useBlocker";
1514
export { useFocusReset } from "./useFocusReset";

src/server.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ type Props = {
66
value: string;
77
};
88

9-
export const ServerUrlProvider = ({ children, value }: Props) => {
9+
export const UrlProvider = ({ children, value }: Props) => {
1010
const location = decodeLocation(value);
1111

1212
return createElement(GetUniversalLocationContext, {

0 commit comments

Comments
 (0)