@tramvai/cli 2.101.1 → 2.102.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.
|
@@ -6,7 +6,7 @@ const fs_readdir_recursive_1 = tslib_1.__importDefault(require("fs-readdir-recur
|
|
|
6
6
|
const fs_1 = tslib_1.__importDefault(require("fs"));
|
|
7
7
|
const LAYOUT_FILENAME = '_layout.tsx';
|
|
8
8
|
const ERROR_BOUNDARY_FILENAME = '_error.tsx';
|
|
9
|
-
const
|
|
9
|
+
const WILDCARD_TOKEN = '[...';
|
|
10
10
|
const removeExtension = (filename) => {
|
|
11
11
|
const parsed = path_1.default.parse(filename);
|
|
12
12
|
return path_1.default.join(parsed.dir, parsed.name);
|
|
@@ -22,8 +22,8 @@ const pagesResolve = function () {
|
|
|
22
22
|
const filesToPages = ({ pagesRootDirectory, isRoutes = false, }) => {
|
|
23
23
|
const pagesDir = path_1.default.resolve(rootDir, root, pagesRootDirectory);
|
|
24
24
|
this.addContextDependency(pagesDir);
|
|
25
|
-
// skip files
|
|
26
|
-
const pagesFiles = (0, fs_readdir_recursive_1.default)(pagesDir, (name) => name[0] !== '.' && name[0] !== '
|
|
25
|
+
// skip service files
|
|
26
|
+
const pagesFiles = (0, fs_readdir_recursive_1.default)(pagesDir, (name) => name[0] !== '.' && name[0] !== '_' && !name.startsWith(WILDCARD_TOKEN));
|
|
27
27
|
const fsPages = [];
|
|
28
28
|
for (const file of pagesFiles) {
|
|
29
29
|
const extname = path_1.default.extname(file);
|
|
@@ -38,7 +38,11 @@ const pagesResolve = function () {
|
|
|
38
38
|
const pageDirname = path_1.default.dirname(pageComponentPath);
|
|
39
39
|
const layoutPath = path_1.default.join(pageDirname, LAYOUT_FILENAME);
|
|
40
40
|
const errorBoundaryPath = path_1.default.join(pageDirname, ERROR_BOUNDARY_FILENAME);
|
|
41
|
-
const
|
|
41
|
+
const routeContent = fs_1.default
|
|
42
|
+
.readdirSync(pageDirname, { withFileTypes: true })
|
|
43
|
+
.filter((item) => item.isFile())
|
|
44
|
+
.map((item) => item.name);
|
|
45
|
+
const wildcardPath = routeContent.find((item) => item.includes(WILDCARD_TOKEN));
|
|
42
46
|
if (fs_1.default.existsSync(layoutPath)) {
|
|
43
47
|
const filename = removeExtension(layoutPath);
|
|
44
48
|
// @example '@/pages/MainPage': lazy(() => import(/* webpackChunkName: "@_pages_MainPage__layout" */ '/tramvai-app/src/pages/MainPage_layout'))
|
|
@@ -49,9 +53,9 @@ const pagesResolve = function () {
|
|
|
49
53
|
// @example '@/pages/MainPage': lazy(() => import(/* webpackChunkName: "@_pages_MainPage__errorBoundary" */ '/tramvai-app/src/pages/MainPage_errorBoundary'))
|
|
50
54
|
fsErrorBoundaries.push(`'${pageComponentName}': lazy(() => import(/* webpackChunkName: "${chunkname}__errorBoundary" */ '${filename}'))`);
|
|
51
55
|
}
|
|
52
|
-
if (
|
|
56
|
+
if (wildcardPath !== undefined) {
|
|
53
57
|
const componentName = `${pageComponentName}__wildcard`;
|
|
54
|
-
const filename = removeExtension(wildcardPath);
|
|
58
|
+
const filename = removeExtension(path_1.default.join(pageDirname, wildcardPath));
|
|
55
59
|
// @example '@/pages/MainPage': lazy(() => import(/* webpackChunkName: "@_pages_MainPage__wildcard" */ '/tramvai-app/src/pages/MainPage_wildcard'))
|
|
56
60
|
fsWildcards.push(`'${componentName}': lazy(() => import(/* webpackChunkName: "${chunkname}__wildcard" */ '${filename}'))`);
|
|
57
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagesResolve.js","sourceRoot":"","sources":["../../../../src/library/webpack/loaders/pagesResolve.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AACxB,wFAA2C;AAC3C,oDAAoB;AAIpB,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAC7C,MAAM,
|
|
1
|
+
{"version":3,"file":"pagesResolve.js","sourceRoot":"","sources":["../../../../src/library/webpack/loaders/pagesResolve.ts"],"names":[],"mappings":";;;AAAA,wDAAwB;AACxB,wFAA2C;AAC3C,oDAAoB;AAIpB,MAAM,eAAe,GAAG,aAAa,CAAC;AACtC,MAAM,uBAAuB,GAAG,YAAY,CAAC;AAC7C,MAAM,cAAc,GAAG,MAAM,CAAC;AAS9B,MAAM,eAAe,GAAG,CAAC,QAAgB,EAAU,EAAE;IACnD,MAAM,MAAM,GAAG,cAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEpC,OAAO,cAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,YAAY,GAAsC;IACtD,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IACzE,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,MAAM,iBAAiB,GAAa,EAAE,CAAC;IACvC,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAEtB,0CAA0C;IAC1C,MAAM,YAAY,GAAG,CAAC,EACpB,kBAAkB,EAClB,QAAQ,GAAG,KAAK,GAIjB,EAAE,EAAE;QACH,MAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAEjE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAEpC,qBAAqB;QACrB,MAAM,UAAU,GAAG,IAAA,8BAAO,EACxB,QAAQ,EACR,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CACzF,CAAC;QACF,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;YAC7B,MAAM,OAAO,GAAG,cAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAE/E,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;gBACtC,MAAM,iBAAiB,GAAG,KAAK,kBAAkB,IAAI,IAAI,EAAE,CAAC;gBAC5D,MAAM,iBAAiB,GAAG,cAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC9E,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAExD,gIAAgI;gBAChI,OAAO,CAAC,IAAI,CACV,IAAI,iBAAiB,8CAA8C,SAAS,SAAS,iBAAiB,KAAK,CAC5G,CAAC;gBAEF,IAAI,QAAQ,EAAE;oBACZ,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBAEpD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;oBAC3D,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,uBAAuB,CAAC,CAAC;oBAE1E,MAAM,YAAY,GAAG,YAAE;yBACpB,WAAW,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;yBACjD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;yBAC/B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;oBAEhF,IAAI,YAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;wBAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;wBAC7C,+IAA+I;wBAC/I,SAAS,CAAC,IAAI,CACZ,IAAI,iBAAiB,8CAA8C,SAAS,iBAAiB,QAAQ,KAAK,CAC3G,CAAC;qBACH;oBAED,IAAI,YAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE;wBACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,iBAAiB,CAAC,CAAC;wBAEpD,6JAA6J;wBAC7J,iBAAiB,CAAC,IAAI,CACpB,IAAI,iBAAiB,8CAA8C,SAAS,wBAAwB,QAAQ,KAAK,CAClH,CAAC;qBACH;oBAED,IAAI,YAAY,KAAK,SAAS,EAAE;wBAC9B,MAAM,aAAa,GAAG,GAAG,iBAAiB,YAAY,CAAC;wBACvD,MAAM,QAAQ,GAAG,eAAe,CAAC,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;wBAEvE,mJAAmJ;wBACnJ,WAAW,CAAC,IAAI,CACd,IAAI,aAAa,8CAA8C,SAAS,mBAAmB,QAAQ,KAAK,CACzG,CAAC;qBACH;iBACF;aACF;SACF;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS;QACxC,CAAC,CAAC,YAAY,CAAC;YACX,kBAAkB,EAAE,eAAe,CAAC,SAAS;YAC7C,QAAQ,EAAE,IAAI;SACf,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ;QACtC,CAAC,CAAC,YAAY,CAAC;YACX,kBAAkB,EAAE,eAAe,CAAC,QAAQ;SAC7C,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,IAAI,GAAG;;;;QAIP,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;;QAGpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;;;QAGnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;;;QAGrB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;;;QAG7B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;;IAE3B,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tramvai/cli",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.102.1",
|
|
4
4
|
"description": "Cli инструмент для сборки и запуска приложений",
|
|
5
5
|
"files": [
|
|
6
6
|
"src",
|
|
@@ -71,7 +71,7 @@
|
|
|
71
71
|
"@tinkoff/utils": "^2.1.3",
|
|
72
72
|
"@tinkoff/webpack-dedupe-plugin": "1.0.5",
|
|
73
73
|
"@tramvai/build": "3.1.3",
|
|
74
|
-
"@tramvai/react": "2.
|
|
74
|
+
"@tramvai/react": "2.102.1",
|
|
75
75
|
"@tramvai/tools-check-versions": "0.4.14",
|
|
76
76
|
"@tramvai/tools-migrate": "0.6.18",
|
|
77
77
|
"ajv": "^6.12.6",
|
|
@@ -6,7 +6,7 @@ import type { ApplicationConfigEntry } from '../../../api';
|
|
|
6
6
|
|
|
7
7
|
const LAYOUT_FILENAME = '_layout.tsx';
|
|
8
8
|
const ERROR_BOUNDARY_FILENAME = '_error.tsx';
|
|
9
|
-
const
|
|
9
|
+
const WILDCARD_TOKEN = '[...';
|
|
10
10
|
|
|
11
11
|
interface Options {
|
|
12
12
|
rootDir: string;
|
|
@@ -42,10 +42,10 @@ const pagesResolve: LoaderDefinitionFunction<Options> = function () {
|
|
|
42
42
|
|
|
43
43
|
this.addContextDependency(pagesDir);
|
|
44
44
|
|
|
45
|
-
// skip files
|
|
45
|
+
// skip service files
|
|
46
46
|
const pagesFiles = readDir(
|
|
47
47
|
pagesDir,
|
|
48
|
-
(name: string) => name[0] !== '.' && name[0] !== '
|
|
48
|
+
(name: string) => name[0] !== '.' && name[0] !== '_' && !name.startsWith(WILDCARD_TOKEN)
|
|
49
49
|
);
|
|
50
50
|
const fsPages = [];
|
|
51
51
|
|
|
@@ -68,7 +68,12 @@ const pagesResolve: LoaderDefinitionFunction<Options> = function () {
|
|
|
68
68
|
|
|
69
69
|
const layoutPath = path.join(pageDirname, LAYOUT_FILENAME);
|
|
70
70
|
const errorBoundaryPath = path.join(pageDirname, ERROR_BOUNDARY_FILENAME);
|
|
71
|
-
|
|
71
|
+
|
|
72
|
+
const routeContent = fs
|
|
73
|
+
.readdirSync(pageDirname, { withFileTypes: true })
|
|
74
|
+
.filter((item) => item.isFile())
|
|
75
|
+
.map((item) => item.name);
|
|
76
|
+
const wildcardPath = routeContent.find((item) => item.includes(WILDCARD_TOKEN));
|
|
72
77
|
|
|
73
78
|
if (fs.existsSync(layoutPath)) {
|
|
74
79
|
const filename = removeExtension(layoutPath);
|
|
@@ -87,9 +92,9 @@ const pagesResolve: LoaderDefinitionFunction<Options> = function () {
|
|
|
87
92
|
);
|
|
88
93
|
}
|
|
89
94
|
|
|
90
|
-
if (
|
|
95
|
+
if (wildcardPath !== undefined) {
|
|
91
96
|
const componentName = `${pageComponentName}__wildcard`;
|
|
92
|
-
const filename = removeExtension(wildcardPath);
|
|
97
|
+
const filename = removeExtension(path.join(pageDirname, wildcardPath));
|
|
93
98
|
|
|
94
99
|
// @example '@/pages/MainPage': lazy(() => import(/* webpackChunkName: "@_pages_MainPage__wildcard" */ '/tramvai-app/src/pages/MainPage_wildcard'))
|
|
95
100
|
fsWildcards.push(
|