reroute-js 0.9.3 → 0.10.0
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/_/basic/src/index.ts +1 -8
- package/_/blog/src/client/index.html +0 -1
- package/_/blog/src/client/routes/blog/[layout].tsx +53 -3
- package/_/blog/src/client/routes/docs.tsx +1 -1
- package/_/blog/src/index.ts +1 -8
- package/_/store/src/index.ts +1 -8
- package/cli/bin.d.ts +1 -1
- package/cli/bin.js +3662 -2681
- package/cli/bin.js.map +40 -29
- package/cli/index.d.ts +2 -2
- package/cli/index.d.ts.map +1 -1
- package/cli/index.js +74 -10
- package/cli/index.js.map +7 -5
- package/cli/src/cli.d.ts +1 -1
- package/cli/src/commands/analyze.d.ts +1 -1
- package/cli/src/commands/build.d.ts +1 -1
- package/cli/src/commands/build.d.ts.map +1 -1
- package/cli/src/commands/dev.d.ts +1 -1
- package/cli/src/commands/gen.d.ts +1 -1
- package/cli/src/commands/gen.d.ts.map +1 -1
- package/{core/src/template → cli/src/commands}/index.d.ts +2 -2
- package/cli/src/commands/index.d.ts.map +1 -0
- package/cli/src/commands/init.d.ts +1 -1
- package/cli/src/{libs → commands/lib}/command.d.ts +1 -1
- package/cli/src/commands/lib/command.d.ts.map +1 -0
- package/cli/src/{libs → commands/lib}/index.d.ts +3 -2
- package/cli/src/commands/lib/index.d.ts.map +1 -0
- package/cli/src/{libs → commands/lib}/log.d.ts +1 -1
- package/cli/src/commands/lib/log.d.ts.map +1 -0
- package/cli/src/{libs/markdown.d.ts → commands/lib/markdown/availability.d.ts} +2 -2
- package/cli/src/commands/lib/markdown/availability.d.ts.map +1 -0
- package/cli/src/commands/lib/markdown/index.d.ts +12 -0
- package/cli/src/commands/lib/markdown/index.d.ts.map +1 -0
- package/cli/src/{libs/markdown-processor.d.ts → commands/lib/markdown/processor.d.ts} +2 -2
- package/cli/src/commands/lib/markdown/processor.d.ts.map +1 -0
- package/cli/src/{libs → commands/lib}/production.d.ts +1 -1
- package/cli/src/commands/lib/production.d.ts.map +1 -0
- package/cli/src/{libs → commands/lib}/server.d.ts +1 -1
- package/cli/src/commands/lib/server.d.ts.map +1 -0
- package/cli/src/commands/lib/streaming/analyzer.d.ts +26 -0
- package/cli/src/commands/lib/streaming/analyzer.d.ts.map +1 -0
- package/cli/src/commands/lib/streaming/suspense.d.ts +20 -0
- package/cli/src/commands/lib/streaming/suspense.d.ts.map +1 -0
- package/cli/src/{libs → commands/lib}/tailwind.d.ts +1 -1
- package/cli/src/commands/lib/tailwind.d.ts.map +1 -0
- package/cli/src/{libs → commands/lib}/version.d.ts +1 -1
- package/cli/src/commands/lib/version.d.ts.map +1 -0
- package/cli/src/commands/start.d.ts +2 -2
- package/cli/src/commands/start.d.ts.map +1 -1
- package/cli/src/index.d.ts +11 -0
- package/cli/src/index.d.ts.map +1 -0
- package/core/index.d.ts +1 -1
- package/core/index.js +1169 -471
- package/core/index.js.map +22 -13
- package/core/src/bundler/hash.d.ts +1 -1
- package/core/src/bundler/index.d.ts +1 -1
- package/core/src/config.d.ts +42 -0
- package/core/src/config.d.ts.map +1 -0
- package/core/src/content/discovery.d.ts +1 -1
- package/core/src/content/index.d.ts +1 -1
- package/core/src/content/metadata.d.ts +2 -2
- package/core/src/content/metadata.d.ts.map +1 -1
- package/core/src/index.d.ts +2 -4
- package/core/src/index.d.ts.map +1 -1
- package/core/src/ssr/index.d.ts +3 -3
- package/core/src/ssr/index.d.ts.map +1 -1
- package/core/src/ssr/lib/cache.d.ts +67 -0
- package/core/src/ssr/lib/cache.d.ts.map +1 -0
- package/core/src/ssr/lib/collections.d.ts +18 -0
- package/core/src/ssr/lib/collections.d.ts.map +1 -0
- package/core/src/{utils → ssr/lib}/compression.d.ts +9 -2
- package/core/src/ssr/lib/compression.d.ts.map +1 -0
- package/core/src/ssr/lib/compute.d.ts +28 -0
- package/core/src/ssr/lib/compute.d.ts.map +1 -0
- package/core/src/ssr/{data.d.ts → lib/data.d.ts} +1 -1
- package/core/src/ssr/lib/data.d.ts.map +1 -0
- package/core/src/{template → ssr/lib}/html.d.ts +2 -2
- package/core/src/ssr/lib/html.d.ts.map +1 -0
- package/core/src/ssr/lib/index.d.ts +26 -0
- package/core/src/ssr/lib/index.d.ts.map +1 -0
- package/core/src/ssr/lib/metadata.d.ts +20 -0
- package/core/src/ssr/lib/metadata.d.ts.map +1 -0
- package/core/src/{utils → ssr/lib}/mime.d.ts +1 -1
- package/core/src/ssr/lib/mime.d.ts.map +1 -0
- package/core/src/ssr/{modules.d.ts → lib/modules.d.ts} +2 -2
- package/core/src/ssr/lib/modules.d.ts.map +1 -0
- package/core/src/{utils → ssr/lib}/path.d.ts +1 -1
- package/core/src/ssr/lib/path.d.ts.map +1 -0
- package/core/src/ssr/lib/preload.d.ts +29 -0
- package/core/src/ssr/lib/preload.d.ts.map +1 -0
- package/core/src/ssr/lib/scripts.d.ts +31 -0
- package/core/src/ssr/lib/scripts.d.ts.map +1 -0
- package/core/src/ssr/{seed.d.ts → lib/seed.d.ts} +1 -1
- package/core/src/ssr/lib/seed.d.ts.map +1 -0
- package/core/src/ssr/lib/styles.d.ts +14 -0
- package/core/src/ssr/lib/styles.d.ts.map +1 -0
- package/core/src/ssr/lib/template.d.ts +19 -0
- package/core/src/ssr/lib/template.d.ts.map +1 -0
- package/core/src/{types.d.ts → ssr/lib/types.d.ts} +1 -1
- package/core/src/ssr/lib/types.d.ts.map +1 -0
- package/core/src/ssr/render.d.ts +2 -1
- package/core/src/ssr/render.d.ts.map +1 -1
- package/core/src/ssr/stream.d.ts +30 -0
- package/core/src/ssr/stream.d.ts.map +1 -0
- package/elysia/index.d.ts +1 -1
- package/elysia/index.js +1917 -794
- package/elysia/index.js.map +34 -19
- package/elysia/src/index.d.ts +1 -1
- package/elysia/src/libs/cache.d.ts +1 -1
- package/elysia/src/libs/http.d.ts +1 -1
- package/elysia/src/libs/image.d.ts +1 -1
- package/elysia/src/plugin.d.ts +1 -1
- package/elysia/src/plugin.d.ts.map +1 -1
- package/elysia/src/routes/artifacts.d.ts +1 -1
- package/elysia/src/routes/content.d.ts +1 -1
- package/elysia/src/routes/image.d.ts +2 -1
- package/elysia/src/routes/image.d.ts.map +1 -1
- package/elysia/src/routes/internal.d.ts +36 -0
- package/elysia/src/routes/internal.d.ts.map +1 -0
- package/elysia/src/routes/ssr.d.ts +3 -1
- package/elysia/src/routes/ssr.d.ts.map +1 -1
- package/elysia/src/routes/static.d.ts +2 -1
- package/elysia/src/routes/static.d.ts.map +1 -1
- package/elysia/src/types.d.ts +11 -4
- package/elysia/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js +295 -53
- package/react/index.js.map +10 -9
- package/react/src/components/ClientOnly.d.ts +1 -1
- package/react/src/components/ContentRoute.d.ts +1 -1
- package/react/src/components/ContentRoute.d.ts.map +1 -1
- package/react/src/components/Image.d.ts +1 -1
- package/react/src/components/LazyRoute.d.ts +26 -0
- package/react/src/components/LazyRoute.d.ts.map +1 -0
- package/react/src/components/Link.d.ts +1 -1
- package/react/src/components/Link.d.ts.map +1 -1
- package/react/src/components/Markdown.d.ts +1 -1
- package/react/src/components/Outlet.d.ts +1 -1
- package/react/src/components/index.d.ts +1 -1
- package/react/src/hooks/index.d.ts +2 -1
- package/react/src/hooks/index.d.ts.map +1 -1
- package/react/src/hooks/useContent.d.ts +1 -1
- package/react/src/hooks/useData.d.ts +1 -1
- package/react/src/hooks/useData.d.ts.map +1 -1
- package/react/src/hooks/useLayoutData.d.ts +18 -0
- package/react/src/hooks/useLayoutData.d.ts.map +1 -0
- package/react/src/hooks/useNavigate.d.ts +1 -1
- package/react/src/hooks/useParams.d.ts +1 -1
- package/react/src/hooks/useRouter.d.ts +1 -1
- package/react/src/hooks/useSearchParams.d.ts +1 -1
- package/react/src/index.d.ts +2 -2
- package/react/src/index.d.ts.map +1 -1
- package/react/src/{utils → lib}/content.d.ts +1 -1
- package/react/src/lib/content.d.ts.map +1 -0
- package/react/src/{utils → lib}/head.d.ts +1 -1
- package/react/src/lib/head.d.ts.map +1 -0
- package/react/src/{utils → lib}/index.d.ts +2 -2
- package/react/src/lib/index.d.ts.map +1 -0
- package/react/src/{utils → lib}/lazy-route.d.ts +1 -1
- package/react/src/lib/lazy-route.d.ts.map +1 -0
- package/react/src/lib/route-loader.d.ts +31 -0
- package/react/src/lib/route-loader.d.ts.map +1 -0
- package/react/src/providers/ContentProvider.d.ts +1 -1
- package/react/src/providers/ContentProvider.d.ts.map +1 -1
- package/react/src/providers/RerouteProvider.d.ts +1 -1
- package/react/src/providers/RerouteProvider.d.ts.map +1 -1
- package/react/src/providers/RouterProvider.d.ts +1 -1
- package/react/src/providers/RouterProvider.d.ts.map +1 -1
- package/react/src/providers/index.d.ts +1 -1
- package/react/src/types/any.d.ts +1 -1
- package/react/src/types/index.d.ts +1 -1
- package/react/src/types/router.d.ts +1 -1
- package/cli/src/libs/command.d.ts.map +0 -1
- package/cli/src/libs/index.d.ts.map +0 -1
- package/cli/src/libs/log.d.ts.map +0 -1
- package/cli/src/libs/markdown-processor.d.ts.map +0 -1
- package/cli/src/libs/markdown.d.ts.map +0 -1
- package/cli/src/libs/production.d.ts.map +0 -1
- package/cli/src/libs/server.d.ts.map +0 -1
- package/cli/src/libs/tailwind.d.ts.map +0 -1
- package/cli/src/libs/version.d.ts.map +0 -1
- package/core/src/ssr/data.d.ts.map +0 -1
- package/core/src/ssr/modules.d.ts.map +0 -1
- package/core/src/ssr/seed.d.ts.map +0 -1
- package/core/src/template/html.d.ts.map +0 -1
- package/core/src/template/index.d.ts.map +0 -1
- package/core/src/types.d.ts.map +0 -1
- package/core/src/utils/cache.d.ts +0 -21
- package/core/src/utils/cache.d.ts.map +0 -1
- package/core/src/utils/compression.d.ts.map +0 -1
- package/core/src/utils/index.d.ts +0 -14
- package/core/src/utils/index.d.ts.map +0 -1
- package/core/src/utils/mime.d.ts.map +0 -1
- package/core/src/utils/path.d.ts.map +0 -1
- package/elysia/src/routes/dev.d.ts +0 -18
- package/elysia/src/routes/dev.d.ts.map +0 -1
- package/react/src/utils/content.d.ts.map +0 -1
- package/react/src/utils/head.d.ts.map +0 -1
- package/react/src/utils/index.d.ts.map +0 -1
- package/react/src/utils/lazy-route.d.ts.map +0 -1
package/_/basic/src/index.ts
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
|
-
import { createElement } from 'react';
|
|
3
2
|
import { reroute } from 'reroute-js/elysia';
|
|
4
|
-
import App from './client/App';
|
|
5
|
-
|
|
6
|
-
const IS_PRODUCTION = Bun.env.NODE_ENV === 'production';
|
|
7
3
|
|
|
8
4
|
const app = new Elysia()
|
|
9
5
|
.use(
|
|
10
|
-
reroute(
|
|
11
|
-
app: createElement(App),
|
|
12
|
-
minify: IS_PRODUCTION,
|
|
13
|
-
}),
|
|
6
|
+
reroute(),
|
|
14
7
|
)
|
|
15
8
|
.get('/api/message', () => ({ message: 'Hello from server' }))
|
|
16
9
|
.listen(Number(Bun.env.PORT || '3000'));
|
|
@@ -1,6 +1,51 @@
|
|
|
1
|
-
import { Link, Outlet } from 'reroute-js/react';
|
|
1
|
+
import { Link, Outlet, useData } from 'reroute-js/react';
|
|
2
|
+
|
|
3
|
+
// SSR context type
|
|
4
|
+
type SSRContext = {
|
|
5
|
+
pathname: string;
|
|
6
|
+
params?: Record<string, string>;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
// Layout data type
|
|
10
|
+
type LayoutData = {
|
|
11
|
+
siteTitle: string;
|
|
12
|
+
tagline: string;
|
|
13
|
+
totalPosts: number;
|
|
14
|
+
lastUpdated: string;
|
|
15
|
+
currentPath: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
// Layout SSR data - runs on every blog page!
|
|
19
|
+
export const ssr = {
|
|
20
|
+
async data({ pathname }: SSRContext): Promise<LayoutData> {
|
|
21
|
+
// Get last updated timestamp from package.json mtime
|
|
22
|
+
let lastUpdated: string | undefined;
|
|
23
|
+
try {
|
|
24
|
+
const pkgPath = await import('node:path').then(p => p.join(process.cwd(), 'package.json'));
|
|
25
|
+
const stats = await import('node:fs/promises').then(fs => fs.stat(pkgPath));
|
|
26
|
+
lastUpdated = stats.mtime.toISOString();
|
|
27
|
+
} catch {
|
|
28
|
+
lastUpdated = new Date().toISOString();
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
siteTitle: 'Reroute Blog',
|
|
33
|
+
tagline: 'Fast, Modern, File-Based Routing',
|
|
34
|
+
totalPosts: 5,
|
|
35
|
+
lastUpdated,
|
|
36
|
+
currentPath: pathname,
|
|
37
|
+
};
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export const meta = {
|
|
42
|
+
title: 'Reroute Blog',
|
|
43
|
+
description: 'Learn about Reroute - file-based routing for React',
|
|
44
|
+
};
|
|
2
45
|
|
|
3
46
|
export default function BlogLayout() {
|
|
47
|
+
// Access layout data - it just works!
|
|
48
|
+
const data = useData<LayoutData>();
|
|
4
49
|
return (
|
|
5
50
|
<div style={{ minHeight: '100vh', background: '#f9f9f9' }}>
|
|
6
51
|
{/* Blog Header */}
|
|
@@ -28,7 +73,7 @@ export default function BlogLayout() {
|
|
|
28
73
|
color: '#333',
|
|
29
74
|
}}
|
|
30
75
|
>
|
|
31
|
-
📝 Blog
|
|
76
|
+
📝 {data?.siteTitle || 'Blog'}
|
|
32
77
|
</Link>
|
|
33
78
|
<div
|
|
34
79
|
style={{ display: 'flex', gap: '1.5rem', alignItems: 'center' }}
|
|
@@ -77,7 +122,12 @@ export default function BlogLayout() {
|
|
|
77
122
|
background: '#fff',
|
|
78
123
|
}}
|
|
79
124
|
>
|
|
80
|
-
<p>©
|
|
125
|
+
<p>© {new Date().getFullYear()} Reroute Blog. Built with Bun, Elysia, and React.</p>
|
|
126
|
+
{data?.totalPosts && (
|
|
127
|
+
<p style={{ marginTop: '0.5rem', fontSize: '0.75rem' }}>
|
|
128
|
+
{data.totalPosts} posts • Last updated: {new Date(data.lastUpdated).toLocaleString()}
|
|
129
|
+
</p>
|
|
130
|
+
)}
|
|
81
131
|
</footer>
|
|
82
132
|
</div>
|
|
83
133
|
);
|
package/_/blog/src/index.ts
CHANGED
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
|
-
import { createElement } from 'react';
|
|
3
2
|
import { reroute } from 'reroute-js/elysia';
|
|
4
|
-
import App from './client/App';
|
|
5
|
-
|
|
6
|
-
const IS_PRODUCTION = Bun.env.NODE_ENV === 'production';
|
|
7
3
|
|
|
8
4
|
const app = new Elysia()
|
|
9
5
|
.use(
|
|
10
|
-
reroute(
|
|
11
|
-
app: createElement(App),
|
|
12
|
-
minify: IS_PRODUCTION,
|
|
13
|
-
}),
|
|
6
|
+
reroute(),
|
|
14
7
|
)
|
|
15
8
|
.get('/message', () => {
|
|
16
9
|
console.log('[api] log from my api');
|
package/_/store/src/index.ts
CHANGED
|
@@ -1,17 +1,10 @@
|
|
|
1
1
|
import { Elysia } from 'elysia';
|
|
2
|
-
import { createElement } from 'react';
|
|
3
2
|
import { reroute } from 'reroute-js/elysia';
|
|
4
|
-
import App from './client/App';
|
|
5
3
|
|
|
6
|
-
const IS_PRODUCTION = Bun.env.NODE_ENV === 'production';
|
|
7
4
|
|
|
8
5
|
const app = new Elysia()
|
|
9
6
|
.use(
|
|
10
|
-
reroute(
|
|
11
|
-
app: createElement(App),
|
|
12
|
-
minify: IS_PRODUCTION,
|
|
13
|
-
imageAllowedDomains: ['fakestoreapi.com'],
|
|
14
|
-
}),
|
|
7
|
+
reroute(),
|
|
15
8
|
)
|
|
16
9
|
.listen(Number(Bun.env.PORT || '3001'));
|
|
17
10
|
|
package/cli/bin.d.ts
CHANGED