@tramvai/experiments 2.40.0 → 2.44.2
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/lib/fileSystemPages.d.ts +6 -0
- package/lib/index.es.js +17 -2
- package/lib/index.js +18 -1
- package/package.json +3 -3
package/lib/fileSystemPages.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare const getExternalFileSystemPages: () => Record<string, import("@t
|
|
|
6
6
|
export declare const getAllFileSystemPages: () => {
|
|
7
7
|
[x: string]: import("@tramvai/react").LazyComponentWrapper<import("@tramvai/react").PageComponent>;
|
|
8
8
|
};
|
|
9
|
+
export declare const getAllFileSystemLayouts: () => Record<string, import("@tramvai/react").LazyComponentWrapper<import("@tramvai/react").NestedLayoutComponent>>;
|
|
9
10
|
export declare const isFileSystemPageComponent: (pageComponent: string) => boolean;
|
|
10
11
|
/**
|
|
11
12
|
* @example
|
|
@@ -19,6 +20,11 @@ export declare const staticFileSystemPageToPath: (pageComponent: string) => stri
|
|
|
19
20
|
* /sub/route/:id/ to @/pages/sub/route/[id]/index
|
|
20
21
|
*/
|
|
21
22
|
export declare const pathToExternalFileSystemPage: (path: string) => string;
|
|
23
|
+
/**
|
|
24
|
+
* @example
|
|
25
|
+
* @/routes/index to @/routes/index__layout
|
|
26
|
+
*/
|
|
27
|
+
export declare const fileSystemPageToLayoutKey: (pageComponent: string) => string;
|
|
22
28
|
export declare const fileSystemPageToRoute: (pageComponent: string) => Route;
|
|
23
29
|
export declare const fileSystemPageComponentExists: (pageComponent: string) => boolean;
|
|
24
30
|
/**
|
package/lib/index.es.js
CHANGED
|
@@ -12,6 +12,9 @@ const getExternalFileSystemPages = () => {
|
|
|
12
12
|
const getAllFileSystemPages = () => {
|
|
13
13
|
return { ...fsPagesAndRoutes.routes, ...fsPagesAndRoutes.pages };
|
|
14
14
|
};
|
|
15
|
+
const getAllFileSystemLayouts = () => {
|
|
16
|
+
return fsPagesAndRoutes.layouts;
|
|
17
|
+
};
|
|
15
18
|
const isFileSystemPageComponent = (pageComponent) => {
|
|
16
19
|
return (fileSystemPagesEnabled() &&
|
|
17
20
|
!!pageComponent &&
|
|
@@ -50,16 +53,28 @@ const pathToExternalFileSystemPage = (path) => {
|
|
|
50
53
|
.filter(Boolean)
|
|
51
54
|
.join('/');
|
|
52
55
|
};
|
|
56
|
+
/**
|
|
57
|
+
* @example
|
|
58
|
+
* @/routes/index to @/routes/index__layout
|
|
59
|
+
*/
|
|
60
|
+
const fileSystemPageToLayoutKey = (pageComponent) => {
|
|
61
|
+
return `${pageComponent}__layout`;
|
|
62
|
+
};
|
|
53
63
|
const fileSystemPageToRoute = (pageComponent) => {
|
|
54
64
|
const name = pageComponent;
|
|
55
65
|
const path = staticFileSystemPageToPath(pageComponent);
|
|
56
|
-
|
|
66
|
+
const layouts = getAllFileSystemLayouts();
|
|
67
|
+
const route = {
|
|
57
68
|
name,
|
|
58
69
|
path,
|
|
59
70
|
config: {
|
|
60
71
|
pageComponent,
|
|
61
72
|
},
|
|
62
73
|
};
|
|
74
|
+
if (pageComponent in layouts) {
|
|
75
|
+
route.config.nestedLayoutComponent = fileSystemPageToLayoutKey(pageComponent);
|
|
76
|
+
}
|
|
77
|
+
return route;
|
|
63
78
|
};
|
|
64
79
|
const fileSystemPageComponentExists = (pageComponent) => {
|
|
65
80
|
return !!(getStaticFileSystemPages()[pageComponent] || getExternalFileSystemPages()[pageComponent]);
|
|
@@ -72,4 +87,4 @@ const fileSystemPageToWebpackChunkName = (pageComponent) => {
|
|
|
72
87
|
return pageComponent.replace(/\//g, '_');
|
|
73
88
|
};
|
|
74
89
|
|
|
75
|
-
export { FILE_SYSTEM_PAGES_PREFIX, fileSystemPageComponentExists, fileSystemPageToRoute, fileSystemPageToWebpackChunkName, fileSystemPagesEnabled, getAllFileSystemPages, getExternalFileSystemPages, getStaticFileSystemPages, isFileSystemPageComponent, pathToExternalFileSystemPage, staticFileSystemPageToPath };
|
|
90
|
+
export { FILE_SYSTEM_PAGES_PREFIX, fileSystemPageComponentExists, fileSystemPageToLayoutKey, fileSystemPageToRoute, fileSystemPageToWebpackChunkName, fileSystemPagesEnabled, getAllFileSystemLayouts, getAllFileSystemPages, getExternalFileSystemPages, getStaticFileSystemPages, isFileSystemPageComponent, pathToExternalFileSystemPage, staticFileSystemPageToPath };
|
package/lib/index.js
CHANGED
|
@@ -20,6 +20,9 @@ const getExternalFileSystemPages = () => {
|
|
|
20
20
|
const getAllFileSystemPages = () => {
|
|
21
21
|
return { ...fsPagesAndRoutes__default["default"].routes, ...fsPagesAndRoutes__default["default"].pages };
|
|
22
22
|
};
|
|
23
|
+
const getAllFileSystemLayouts = () => {
|
|
24
|
+
return fsPagesAndRoutes__default["default"].layouts;
|
|
25
|
+
};
|
|
23
26
|
const isFileSystemPageComponent = (pageComponent) => {
|
|
24
27
|
return (fileSystemPagesEnabled() &&
|
|
25
28
|
!!pageComponent &&
|
|
@@ -58,16 +61,28 @@ const pathToExternalFileSystemPage = (path) => {
|
|
|
58
61
|
.filter(Boolean)
|
|
59
62
|
.join('/');
|
|
60
63
|
};
|
|
64
|
+
/**
|
|
65
|
+
* @example
|
|
66
|
+
* @/routes/index to @/routes/index__layout
|
|
67
|
+
*/
|
|
68
|
+
const fileSystemPageToLayoutKey = (pageComponent) => {
|
|
69
|
+
return `${pageComponent}__layout`;
|
|
70
|
+
};
|
|
61
71
|
const fileSystemPageToRoute = (pageComponent) => {
|
|
62
72
|
const name = pageComponent;
|
|
63
73
|
const path = staticFileSystemPageToPath(pageComponent);
|
|
64
|
-
|
|
74
|
+
const layouts = getAllFileSystemLayouts();
|
|
75
|
+
const route = {
|
|
65
76
|
name,
|
|
66
77
|
path,
|
|
67
78
|
config: {
|
|
68
79
|
pageComponent,
|
|
69
80
|
},
|
|
70
81
|
};
|
|
82
|
+
if (pageComponent in layouts) {
|
|
83
|
+
route.config.nestedLayoutComponent = fileSystemPageToLayoutKey(pageComponent);
|
|
84
|
+
}
|
|
85
|
+
return route;
|
|
71
86
|
};
|
|
72
87
|
const fileSystemPageComponentExists = (pageComponent) => {
|
|
73
88
|
return !!(getStaticFileSystemPages()[pageComponent] || getExternalFileSystemPages()[pageComponent]);
|
|
@@ -82,9 +97,11 @@ const fileSystemPageToWebpackChunkName = (pageComponent) => {
|
|
|
82
97
|
|
|
83
98
|
exports.FILE_SYSTEM_PAGES_PREFIX = FILE_SYSTEM_PAGES_PREFIX;
|
|
84
99
|
exports.fileSystemPageComponentExists = fileSystemPageComponentExists;
|
|
100
|
+
exports.fileSystemPageToLayoutKey = fileSystemPageToLayoutKey;
|
|
85
101
|
exports.fileSystemPageToRoute = fileSystemPageToRoute;
|
|
86
102
|
exports.fileSystemPageToWebpackChunkName = fileSystemPageToWebpackChunkName;
|
|
87
103
|
exports.fileSystemPagesEnabled = fileSystemPagesEnabled;
|
|
104
|
+
exports.getAllFileSystemLayouts = getAllFileSystemLayouts;
|
|
88
105
|
exports.getAllFileSystemPages = getAllFileSystemPages;
|
|
89
106
|
exports.getExternalFileSystemPages = getExternalFileSystemPages;
|
|
90
107
|
exports.getStaticFileSystemPages = getStaticFileSystemPages;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/experiments",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.44.2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "lib/index.es.js",
|
|
@@ -20,8 +20,8 @@
|
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {},
|
|
22
22
|
"peerDependencies": {
|
|
23
|
-
"@tinkoff/router": "0.2.
|
|
24
|
-
"@tramvai/cli": "2.
|
|
23
|
+
"@tinkoff/router": "0.2.5",
|
|
24
|
+
"@tramvai/cli": "2.44.2",
|
|
25
25
|
"tslib": "^2.4.0"
|
|
26
26
|
},
|
|
27
27
|
"license": "Apache-2.0"
|