rasengan 1.1.3 → 1.2.0-beta.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/CHANGELOG.md +4 -0
- package/lib/esm/core/config/vite/defaults.js +1 -17
- package/lib/esm/core/dynamic/index.js +32 -0
- package/lib/esm/core/plugins/index.js +1 -1
- package/lib/esm/entries/client/render.js +45 -16
- package/lib/esm/entries/server/entry.server.js +1 -0
- package/lib/esm/entries/server/index.js +3 -3
- package/lib/esm/routing/components/fallback.js +8 -0
- package/lib/esm/routing/components/index.js +7 -4
- package/lib/esm/routing/components/template.js +8 -7
- package/lib/esm/routing/providers/metadata.js +37 -32
- package/lib/esm/routing/utils/define-router.js +10 -6
- package/lib/esm/routing/utils/flat-routes.js +46 -75
- package/lib/esm/routing/utils/generate-routes.js +279 -178
- package/lib/esm/server/build/manifest.js +19 -7
- package/lib/esm/server/dev/handlers.js +1 -1
- package/lib/esm/server/dev/server.js +19 -1
- package/lib/esm/server/node/index.js +8 -2
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/tsconfig.types.tsbuildinfo +1 -1
- package/lib/types/core/dynamic/index.d.ts +15 -0
- package/lib/types/core/types.d.ts +1 -1
- package/lib/types/entries/client/render.d.ts +3 -2
- package/lib/types/routing/components/fallback.d.ts +5 -0
- package/lib/types/routing/components/template.d.ts +1 -1
- package/lib/types/routing/interfaces.d.ts +5 -4
- package/lib/types/routing/providers/metadata.d.ts +1 -3
- package/lib/types/routing/types.d.ts +21 -3
- package/lib/types/routing/utils/define-routes-group.d.ts +1 -1
- package/lib/types/routing/utils/flat-routes.d.ts +21 -3
- package/lib/types/routing/utils/generate-routes.d.ts +6 -6
- package/lib/types/server/build/manifest.d.ts +4 -4
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/fallback.tsx","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
|
1
|
+
{"root":["../src/client.ts","../src/index.ts","../src/plugin.ts","../src/server.ts","../src/cli/index.ts","../src/core/index.ts","../src/core/types.ts","../src/core/config/index.ts","../src/core/config/type.ts","../src/core/config/utils/define-config.ts","../src/core/config/utils/load-modules.ts","../src/core/config/utils/path.ts","../src/core/config/vite/defaults.ts","../src/core/dynamic/index.tsx","../src/core/middlewares/index.ts","../src/core/middlewares/logger.ts","../src/core/plugins/index.ts","../src/core/utils/log.ts","../src/entries/client/render.tsx","../src/entries/server/entry.server.tsx","../src/entries/server/index.tsx","../src/routing/index.ts","../src/routing/interfaces.tsx","../src/routing/types.ts","../src/routing/components/fallback.tsx","../src/routing/components/index.tsx","../src/routing/components/template.tsx","../src/routing/providers/metadata.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/define-routes-group.tsx","../src/routing/utils/flat-routes.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/build-command.js","../src/scripts/generate-package-json.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/build/index.ts","../src/server/build/manifest.tsx","../src/server/build/rendering.tsx","../src/server/dev/handlers.tsx","../src/server/dev/server.ts","../src/server/dev/utils.ts","../src/server/node/index.tsx","../src/server/node/rendering.ts","../src/server/node/stream.ts","../src/server/node/utils.ts","../src/server/runtime/mode.ts","../src/server/runtime/utils.ts","../src/server/virtual/index.ts","../types/client.d.ts"],"version":"5.9.2"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { FunctionComponent, ComponentType, ComponentProps } from 'react';
|
|
2
|
+
import { Module } from '../../routing/utils';
|
|
2
3
|
type DynamicComponent<T extends ComponentType<any>> = FunctionComponent<ComponentProps<T>>;
|
|
3
4
|
/**
|
|
4
5
|
* It allows you to defer loading of Client Components,
|
|
@@ -10,4 +11,18 @@ type DynamicComponent<T extends ComponentType<any>> = FunctionComponent<Componen
|
|
|
10
11
|
export declare function dynamicLoad<T extends ComponentType<any>>(load: () => Promise<{
|
|
11
12
|
default: T;
|
|
12
13
|
}>, fallback?: import("react/jsx-runtime").JSX.Element): DynamicComponent<T>;
|
|
14
|
+
/**
|
|
15
|
+
* It allows you to defer loading of page components,
|
|
16
|
+
* and only include them in the client bundle when they're needed
|
|
17
|
+
* @param filePath Path to the page component we want to load lazily
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
export declare function lazyLoadPage(routePath: string, filePath: string): {
|
|
21
|
+
path: string;
|
|
22
|
+
fullPath: string;
|
|
23
|
+
segment: string;
|
|
24
|
+
module: () => Promise<Module>;
|
|
25
|
+
source: string;
|
|
26
|
+
isLayout: false;
|
|
27
|
+
};
|
|
13
28
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
2
|
import { type AppProps } from '../../core/index.js';
|
|
3
|
-
|
|
3
|
+
import { RouterComponent } from '../../routing/interfaces.js';
|
|
4
|
+
export default function renderApp(App: FunctionComponent<AppProps>, AppRouter: Promise<RouterComponent>, options: {
|
|
4
5
|
reactStrictMode?: boolean;
|
|
5
|
-
}): void
|
|
6
|
+
}): Promise<void>;
|
|
@@ -4,7 +4,7 @@ import { LayoutComponent, Metadata, MetadataWithoutTitleAndDescription } from '.
|
|
|
4
4
|
/**
|
|
5
5
|
* App component that represent the entry point of the application
|
|
6
6
|
*/
|
|
7
|
-
export declare const RootComponent: ({
|
|
7
|
+
export declare const RootComponent: ({ Router, children, }: RootComponentProps) => string | number | bigint | true | import("react/jsx-runtime.js").JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | React.ReactPortal | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode>>;
|
|
8
8
|
/**
|
|
9
9
|
* Head component
|
|
10
10
|
* @params data - Helmet context
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React, { FunctionComponent } from 'react';
|
|
2
2
|
import { LayoutComponent, PageComponent } from './types.js';
|
|
3
|
+
import { RouteNode } from './utils/flat-routes.js';
|
|
3
4
|
/**
|
|
4
5
|
* Router component that define a routing system
|
|
5
6
|
*/
|
|
@@ -31,7 +32,7 @@ export declare class RouterComponent {
|
|
|
31
32
|
/**
|
|
32
33
|
* Get the layout value
|
|
33
34
|
*/
|
|
34
|
-
get layout(): LayoutComponent;
|
|
35
|
+
get layout(): LayoutComponent | RouteNode;
|
|
35
36
|
/**
|
|
36
37
|
* Get the list of routers
|
|
37
38
|
*/
|
|
@@ -39,7 +40,7 @@ export declare class RouterComponent {
|
|
|
39
40
|
/**
|
|
40
41
|
* Get the list of pages
|
|
41
42
|
*/
|
|
42
|
-
get pages(): Array<PageComponent>;
|
|
43
|
+
get pages(): Array<PageComponent | RouteNode>;
|
|
43
44
|
/**
|
|
44
45
|
* Get the loader component
|
|
45
46
|
*/
|
|
@@ -55,7 +56,7 @@ export declare class RouterComponent {
|
|
|
55
56
|
/**
|
|
56
57
|
* Set the layout value
|
|
57
58
|
*/
|
|
58
|
-
set layout(layout: LayoutComponent);
|
|
59
|
+
set layout(layout: LayoutComponent | RouteNode);
|
|
59
60
|
/**
|
|
60
61
|
* Set the list of routers
|
|
61
62
|
*/
|
|
@@ -63,7 +64,7 @@ export declare class RouterComponent {
|
|
|
63
64
|
/**
|
|
64
65
|
* Set the list of pages
|
|
65
66
|
*/
|
|
66
|
-
set pages(pages: Array<PageComponent>);
|
|
67
|
+
set pages(pages: Array<PageComponent | RouteNode>);
|
|
67
68
|
/**
|
|
68
69
|
* Set the loader component
|
|
69
70
|
*/
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export default function MetadataProvider({ children, metadataMapping, }: {
|
|
1
|
+
export default function MetadataProvider({ children, }: {
|
|
3
2
|
children: React.ReactNode;
|
|
4
|
-
metadataMapping: Record<string, Metadata>;
|
|
5
3
|
}): import("react/jsx-runtime.js").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
2
|
import { RouteObject as RRRouteObject } from 'react-router';
|
|
3
3
|
import { RouterComponent } from './interfaces.js';
|
|
4
|
+
import { RouteNode } from './utils/index.js';
|
|
4
5
|
export type MetadataLink = {
|
|
5
6
|
rel: string;
|
|
6
7
|
type?: string;
|
|
@@ -70,7 +71,7 @@ export type RouterProps = {
|
|
|
70
71
|
/**
|
|
71
72
|
* Usefull to collect pages
|
|
72
73
|
*/
|
|
73
|
-
pages?: Array<PageComponent | MDXPageComponent | Array<PageComponent | MDXPageComponent>>;
|
|
74
|
+
pages?: Array<PageComponent | MDXPageComponent | RouteNode | Array<PageComponent | MDXPageComponent | RouteNode>>;
|
|
74
75
|
/**
|
|
75
76
|
* Usefull to display a screen that let know to the user that the page is loading.
|
|
76
77
|
*/
|
|
@@ -101,9 +102,20 @@ export type LoaderResponse = {
|
|
|
101
102
|
[key: string]: any;
|
|
102
103
|
};
|
|
103
104
|
redirect?: string;
|
|
105
|
+
/**
|
|
106
|
+
* Represent the set of metadata for the page to which the loader is linked to
|
|
107
|
+
*/
|
|
104
108
|
meta?: Metadata | MetadataWithoutTitleAndDescription;
|
|
109
|
+
/**
|
|
110
|
+
* Should contain the source of the loader
|
|
111
|
+
*
|
|
112
|
+
* It represent the source file of the page in which it's defined
|
|
113
|
+
*
|
|
114
|
+
* Not available from config-based routing
|
|
115
|
+
*/
|
|
116
|
+
source?: string;
|
|
105
117
|
};
|
|
106
|
-
export type RouteLoaderFunction = (options: LoaderOptions) => Promise<LoaderResponse
|
|
118
|
+
export type RouteLoaderFunction = (options: LoaderOptions) => Promise<Omit<LoaderResponse, 'source'>>;
|
|
107
119
|
export type LoaderFunction = ({ params, request, }: {
|
|
108
120
|
params: Record<string, string>;
|
|
109
121
|
request: Request;
|
|
@@ -158,6 +170,12 @@ export type LayoutComponent<T = ReactComponentProps> = FunctionComponent<T> & {
|
|
|
158
170
|
* Loader function that loads data for the page from the server
|
|
159
171
|
*/
|
|
160
172
|
loader?: RouteLoaderFunction;
|
|
173
|
+
/**
|
|
174
|
+
* Source of the route
|
|
175
|
+
*
|
|
176
|
+
* Not available from config-based routing
|
|
177
|
+
*/
|
|
178
|
+
source?: string;
|
|
161
179
|
};
|
|
162
180
|
/**
|
|
163
181
|
* Page component that extends LayoutComponent and represents a page
|
|
@@ -213,6 +231,6 @@ export type TemplateProps = {
|
|
|
213
231
|
* Props for the base Component that takes the app router
|
|
214
232
|
*/
|
|
215
233
|
export type RootComponentProps = {
|
|
216
|
-
|
|
234
|
+
Router?: FunctionComponent;
|
|
217
235
|
children: React.ReactNode;
|
|
218
236
|
};
|
|
@@ -4,4 +4,4 @@ import { RoutesGroupProps, PageComponent, MDXPageComponent } from '../types.js';
|
|
|
4
4
|
* @param option - An object containing the `path` and `children` properties, which are used to define a routes group.
|
|
5
5
|
* @returns An array of `PageComponent` or `MDXPageComponent` objects.
|
|
6
6
|
*/
|
|
7
|
-
export declare const defineRoutesGroup: (option: RoutesGroupProps) => (
|
|
7
|
+
export declare const defineRoutesGroup: (option: RoutesGroupProps) => (MDXPageComponent | PageComponent)[];
|
|
@@ -1,12 +1,30 @@
|
|
|
1
1
|
import { FunctionComponent } from 'react';
|
|
2
2
|
import { RouterComponent } from '../interfaces.js';
|
|
3
|
-
|
|
3
|
+
import { Metadata } from '../types.js';
|
|
4
|
+
export type RouteNode = {
|
|
5
|
+
path: string;
|
|
6
|
+
segment: string;
|
|
7
|
+
fullPath: string;
|
|
8
|
+
isLayout?: boolean;
|
|
9
|
+
module?: () => Promise<Module>;
|
|
10
|
+
component?: FunctionComponent<any>;
|
|
11
|
+
metadata?: Metadata;
|
|
12
|
+
children?: RouteNode[];
|
|
13
|
+
source?: string;
|
|
14
|
+
};
|
|
15
|
+
export type Module = {
|
|
4
16
|
default: FunctionComponent<any>;
|
|
5
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* Get path segments from file path
|
|
20
|
+
* @param filePath File path
|
|
21
|
+
* @param foldersOnly Whether to return only folders
|
|
22
|
+
* @returns Path segments
|
|
23
|
+
*/
|
|
24
|
+
export declare function getPathSegments(filePath: string, foldersOnly?: boolean): string[];
|
|
6
25
|
/**
|
|
7
26
|
* This function receives a function that returns a record of modules and generate a router component
|
|
8
27
|
* @param fn Function that returns a record of modules
|
|
9
28
|
* @returns Router component
|
|
10
29
|
*/
|
|
11
|
-
export declare function flatRoutes(fn: () => Record<string, Module
|
|
12
|
-
export {};
|
|
30
|
+
export declare function flatRoutes(fn: () => Record<string, () => Promise<Module>>): Promise<RouterComponent>;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { RouterComponent } from '../interfaces.js';
|
|
2
|
-
import { RouteObject
|
|
2
|
+
import { RouteObject } from '../types.js';
|
|
3
3
|
/**
|
|
4
|
-
* This function
|
|
5
|
-
*
|
|
4
|
+
* This function preload the matching lazy routes
|
|
5
|
+
* @param url
|
|
6
|
+
* @param routes
|
|
6
7
|
*/
|
|
7
|
-
export declare const
|
|
8
|
+
export declare const preloadMatches: (url: Partial<Location> | string, routes: RouteObject[]) => Promise<void>;
|
|
8
9
|
/**
|
|
9
10
|
* This function receives a router component and return a formated router for static routing
|
|
10
11
|
* @param router Represents the router component
|
|
11
12
|
* @returns
|
|
12
13
|
*/
|
|
13
|
-
export declare const generateRoutes: (router: RouterComponent, isRoot?: boolean,
|
|
14
|
+
export declare const generateRoutes: (router: RouterComponent, isRoot?: boolean, parentLayoutPath?: string | undefined) => RouteObject[];
|
|
14
15
|
/**
|
|
15
16
|
* This function receives a router component and return a mapping from path to metadata
|
|
16
17
|
* @param router Represents the router component
|
|
17
18
|
* @returns
|
|
18
19
|
*/
|
|
19
|
-
export declare const generateMetadataMapping: (router: RouterComponent, isRoot?: boolean, parentLayout?: LayoutComponent | undefined) => Record<string, Metadata>;
|
|
@@ -13,15 +13,15 @@ export declare class ManifestManager {
|
|
|
13
13
|
private loadManifest;
|
|
14
14
|
/**
|
|
15
15
|
* Resolve all assets for a given page.
|
|
16
|
-
* @param
|
|
16
|
+
* @param source - The file path of the page to resolve.
|
|
17
17
|
* @returns Resolved assets with scripts and styles.
|
|
18
18
|
*/
|
|
19
|
-
resolveAssets(
|
|
19
|
+
resolveAssets(source: string): ResolvedAssets;
|
|
20
20
|
/**
|
|
21
21
|
* Generate meta tags for a given page.
|
|
22
|
-
* @param
|
|
22
|
+
* @param source - The file path of the page to generate meta tags for.
|
|
23
23
|
* @returns HTML string containing script and style tags.
|
|
24
24
|
*/
|
|
25
|
-
generateMetaTags(
|
|
25
|
+
generateMetaTags(source: string): import("react/jsx-runtime").JSX.Element[];
|
|
26
26
|
}
|
|
27
27
|
export {};
|