rasengan 1.0.0-beta.49 → 1.0.0-beta.50

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.
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
1
2
  import { DefaultLayout } from "../../core/components/index.js";
2
3
  import { NotFoundPageComponent } from "../components/index.js";
3
4
  /**
@@ -6,7 +7,7 @@ import { NotFoundPageComponent } from "../components/index.js";
6
7
  * @returns
7
8
  */
8
9
  export var defineRouter = function (option) {
9
- var imports = option.imports, layout = option.layout, pages = option.pages, loaderComponent = option.loaderComponent, notFoundComponent = option.notFoundComponent;
10
+ var imports = option.imports, layout = option.layout, pages = option.pages, loaderComponent = option.loaderComponent, notFoundComponent = option.notFoundComponent, MDXRenderer = option.MDXRenderer;
10
11
  return function (Component) {
11
12
  // Handle errors
12
13
  if (!option.pages)
@@ -15,19 +16,27 @@ export var defineRouter = function (option) {
15
16
  var router = new Component();
16
17
  // Normalize pages
17
18
  var normalizedPages = [];
18
- for (var _i = 0, pages_1 = pages; _i < pages_1.length; _i++) {
19
- var p = pages_1[_i];
19
+ var _loop_1 = function (p) {
20
20
  // When p is a MDXPageComponent
21
21
  if (!p["path"]) {
22
- var mdxPage = p;
23
- var normalizedPage = p;
24
- normalizedPage.path = mdxPage.metadata.path;
25
- normalizedPage.metadata = mdxPage.metadata.metadata;
26
- normalizedPages.push(normalizedPage);
22
+ if (!MDXRenderer) {
23
+ throw new Error("You must provide a MDXRenderer component to render MDX pages");
24
+ }
25
+ var MDXPage_1 = p;
26
+ var Page = function () {
27
+ return _jsx(MDXRenderer, { className: "", children: MDXPage_1 });
28
+ };
29
+ Page.path = MDXPage_1.metadata.path;
30
+ Page.metadata = MDXPage_1.metadata.metadata;
31
+ normalizedPages.push(Page);
27
32
  }
28
33
  else {
29
34
  normalizedPages.push(p);
30
35
  }
36
+ };
37
+ for (var _i = 0, pages_1 = pages; _i < pages_1.length; _i++) {
38
+ var p = pages_1[_i];
39
+ _loop_1(p);
31
40
  }
32
41
  // Set properties
33
42
  router.routers = imports || [];
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/cli/dirname.ts","../src/cli/index.ts","../src/config/index.ts","../src/config/type.ts","../src/config/utils/define-config.ts","../src/config/utils/index.ts","../src/config/utils/load-modules.ts","../src/config/utils/path.ts","../src/core/index.ts","../src/core/types.ts","../src/core/components/index.tsx","../src/decorators/index.ts","../src/decorators/route.ts","../src/decorators/router.ts","../src/decorators/types.ts","../src/entries/entry-client.tsx","../src/entries/entry-server-stream.tsx","../src/entries/entry-server.tsx","../src/hooks/index.ts","../src/routing/index.ts","../src/routing/interfaces.ts","../src/routing/types.ts","../src/routing/components/index.tsx","../src/routing/utils/define-router.ts","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/copy-extra-files.js","../src/scripts/generate-package-json.js","../src/scripts/prepare-prod.js","../src/scripts/refresh-hack.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/functions/netlify/netlify/functions/api.ts","../src/server/functions/vercel/api/index.ts","../src/server/utils/createfetchrequest.ts","../src/server/utils/createreadablestream.ts","../src/server/utils/getip.ts","../src/server/utils/handleerror.ts","../src/server/utils/handlerequest.ts","../src/server/utils/index.ts","../src/server/utils/log.ts","../types/client.d.ts"],"version":"5.6.2"}
1
+ {"root":["../src/index.ts","../src/cli/dirname.ts","../src/cli/index.ts","../src/config/index.ts","../src/config/type.ts","../src/config/utils/define-config.ts","../src/config/utils/index.ts","../src/config/utils/load-modules.ts","../src/config/utils/path.ts","../src/core/index.ts","../src/core/types.ts","../src/core/components/index.tsx","../src/decorators/index.ts","../src/decorators/route.ts","../src/decorators/router.ts","../src/decorators/types.ts","../src/entries/entry-client.tsx","../src/entries/entry-server-stream.tsx","../src/entries/entry-server.tsx","../src/hooks/index.ts","../src/routing/index.ts","../src/routing/interfaces.ts","../src/routing/types.ts","../src/routing/components/index.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/copy-extra-files.js","../src/scripts/generate-package-json.js","../src/scripts/prepare-prod.js","../src/scripts/refresh-hack.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/functions/netlify/netlify/functions/api.ts","../src/server/functions/vercel/api/index.ts","../src/server/utils/createfetchrequest.ts","../src/server/utils/createreadablestream.ts","../src/server/utils/getip.ts","../src/server/utils/handleerror.ts","../src/server/utils/handlerequest.ts","../src/server/utils/index.ts","../src/server/utils/log.ts","../types/client.d.ts"],"version":"5.6.2"}
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/cli/dirname.ts","../src/cli/index.ts","../src/config/index.ts","../src/config/type.ts","../src/config/utils/define-config.ts","../src/config/utils/index.ts","../src/config/utils/load-modules.ts","../src/config/utils/path.ts","../src/core/index.ts","../src/core/types.ts","../src/core/components/index.tsx","../src/decorators/index.ts","../src/decorators/route.ts","../src/decorators/router.ts","../src/decorators/types.ts","../src/entries/entry-client.tsx","../src/entries/entry-server-stream.tsx","../src/entries/entry-server.tsx","../src/hooks/index.ts","../src/routing/index.ts","../src/routing/interfaces.ts","../src/routing/types.ts","../src/routing/components/index.tsx","../src/routing/utils/define-router.ts","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/copy-extra-files.js","../src/scripts/generate-package-json.js","../src/scripts/prepare-prod.js","../src/scripts/refresh-hack.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/functions/netlify/netlify/functions/api.ts","../src/server/functions/vercel/api/index.ts","../src/server/utils/createfetchrequest.ts","../src/server/utils/createreadablestream.ts","../src/server/utils/getip.ts","../src/server/utils/handleerror.ts","../src/server/utils/handlerequest.ts","../src/server/utils/index.ts","../src/server/utils/log.ts","../types/client.d.ts"],"version":"5.6.2"}
1
+ {"root":["../src/index.ts","../src/cli/dirname.ts","../src/cli/index.ts","../src/config/index.ts","../src/config/type.ts","../src/config/utils/define-config.ts","../src/config/utils/index.ts","../src/config/utils/load-modules.ts","../src/config/utils/path.ts","../src/core/index.ts","../src/core/types.ts","../src/core/components/index.tsx","../src/decorators/index.ts","../src/decorators/route.ts","../src/decorators/router.ts","../src/decorators/types.ts","../src/entries/entry-client.tsx","../src/entries/entry-server-stream.tsx","../src/entries/entry-server.tsx","../src/hooks/index.ts","../src/routing/index.ts","../src/routing/interfaces.ts","../src/routing/types.ts","../src/routing/components/index.tsx","../src/routing/utils/define-router.tsx","../src/routing/utils/generate-metadata.tsx","../src/routing/utils/generate-routes.tsx","../src/routing/utils/index.tsx","../src/scripts/copy-extra-files.js","../src/scripts/generate-package-json.js","../src/scripts/prepare-prod.js","../src/scripts/refresh-hack.js","../src/scripts/utils/check-os.js","../src/scripts/utils/copy.js","../src/server/functions/netlify/netlify/functions/api.ts","../src/server/functions/vercel/api/index.ts","../src/server/utils/createfetchrequest.ts","../src/server/utils/createreadablestream.ts","../src/server/utils/getip.ts","../src/server/utils/handleerror.ts","../src/server/utils/handlerequest.ts","../src/server/utils/index.ts","../src/server/utils/log.ts","../types/client.d.ts"],"version":"5.6.2"}
@@ -90,6 +90,13 @@ export type MDXPageComponent = React.FC<any> & {
90
90
  metadata: Metadata;
91
91
  };
92
92
  };
93
+ /**
94
+ * A React functional component that represents a simple block element.
95
+ */
96
+ export type MDXRendererProps = {
97
+ children: MDXPageComponent;
98
+ className?: string;
99
+ };
93
100
  /**
94
101
  * Helmet context type
95
102
  */
@@ -1,3 +1,5 @@
1
+ import { LayoutComponent, MDXPageComponent, MDXRendererProps, PageComponent } from "../core/types.js";
2
+ import { RouterComponent } from "./interfaces.js";
1
3
  export type NotFoundComponentContainerProps = {
2
4
  content: React.FC;
3
5
  };
@@ -55,3 +57,32 @@ export type Metadata = MetadataWithoutTitleAndDescription & {
55
57
  */
56
58
  description?: string;
57
59
  };
60
+ /**
61
+ * Props for Router Decorators
62
+ */
63
+ export type RouterProps = {
64
+ /**
65
+ * Usefull to collect sub routers
66
+ */
67
+ imports?: Array<RouterComponent>;
68
+ /**
69
+ * Usefull to define a layout
70
+ */
71
+ layout?: LayoutComponent;
72
+ /**
73
+ * Usefull to collect pages
74
+ */
75
+ pages: Array<PageComponent | MDXPageComponent>;
76
+ /**
77
+ * Usefull to render MDX pages
78
+ */
79
+ MDXRenderer?: React.FC<MDXRendererProps>;
80
+ /**
81
+ * Usefull to display a screen that let know to the user that the page is loading.
82
+ */
83
+ loaderComponent?: React.FC;
84
+ /**
85
+ * Usefull to display a screen that let know to the user that the page is not found.
86
+ */
87
+ notFoundComponent?: React.FC;
88
+ };
@@ -1,8 +1,8 @@
1
- import { RouterDecoratorProps } from "../../decorators/types.js";
1
+ import { RouterProps } from "../types.js";
2
2
  import { RouterComponent } from "../interfaces.js";
3
3
  /**
4
4
  * This function adds metadata to a router
5
5
  * @param option
6
6
  * @returns
7
7
  */
8
- export declare const defineRouter: (option: RouterDecoratorProps) => (Component: new () => RouterComponent) => RouterComponent;
8
+ export declare const defineRouter: (option: RouterProps) => (Component: new () => RouterComponent) => RouterComponent;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "rasengan",
3
3
  "private": false,
4
- "version": "1.0.0-beta.49",
4
+ "version": "1.0.0-beta.50",
5
5
  "description": "The modern frontend framework for React",
6
6
  "type": "module",
7
7
  "main": "lib/esm/index.js",