@tramvai/cli 2.101.0 → 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 WILDCARD_FILENAME = '*.tsx';
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 whose name starts with dot, asterisk or underscore symbols
26
- const pagesFiles = (0, fs_readdir_recursive_1.default)(pagesDir, (name) => name[0] !== '.' && 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 wildcardPath = path_1.default.join(pageDirname, WILDCARD_FILENAME);
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 (fs_1.default.existsSync(wildcardPath)) {
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":"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"}
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"}
@@ -638,6 +638,9 @@
638
638
  },
639
639
  "type": {
640
640
  "type": "string"
641
+ },
642
+ "density": {
643
+ "type": "number"
641
644
  }
642
645
  },
643
646
  "additionalProperties": false
@@ -32,6 +32,7 @@ export type PwaIconItem = {
32
32
  src: string;
33
33
  sizes: string;
34
34
  type?: string;
35
+ density?: number;
35
36
  };
36
37
  export type PwaIconOptions = {
37
38
  /**
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkPwaDependencies = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const checkPwaDependencies = ({ packageManager, config }, parameters) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
6
- var _a, _b;
6
+ var _a, _b, _c;
7
7
  const { target } = parameters;
8
8
  const cfg = config.getProject(target);
9
- if (((_b = (_a = cfg.experiments) === null || _a === void 0 ? void 0 : _a.pwa) === null || _b === void 0 ? void 0 : _b.icon) && packageManager.name !== 'unknown') {
9
+ if (((_c = (_b = (_a = cfg.experiments) === null || _a === void 0 ? void 0 : _a.pwa) === null || _b === void 0 ? void 0 : _b.icon) === null || _c === void 0 ? void 0 : _c.src) && packageManager.name !== 'unknown') {
10
10
  const sharpInstalled = yield packageManager.exists({ name: 'sharp' });
11
11
  if (!sharpInstalled) {
12
12
  throw Error('You need to install `sharp` library for PWA icon generation in devDependencies');
@@ -1 +1 @@
1
- {"version":3,"file":"checkPwaDependencies.js","sourceRoot":"","sources":["../../../src/validators/commands/checkPwaDependencies.ts"],"names":[],"mappings":";;;;AAGO,MAAM,oBAAoB,GAAc,CAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE;;IAC9F,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAA2B,CAAC;IAEhE,IAAI,CAAA,MAAA,MAAA,GAAG,CAAC,WAAW,0CAAE,GAAG,0CAAE,IAAI,KAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE;QACnE,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,KAAK,CAAC,gFAAgF,CAAC,CAAC;SAC/F;KACF;IAED,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC,CAAA,CAAC;AAbW,QAAA,oBAAoB,wBAa/B"}
1
+ {"version":3,"file":"checkPwaDependencies.js","sourceRoot":"","sources":["../../../src/validators/commands/checkPwaDependencies.ts"],"names":[],"mappings":";;;;AAGO,MAAM,oBAAoB,GAAc,CAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,EAAE;;IAC9F,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAA2B,CAAC;IAEhE,IAAI,CAAA,MAAA,MAAA,MAAA,GAAG,CAAC,WAAW,0CAAE,GAAG,0CAAE,IAAI,0CAAE,GAAG,KAAI,cAAc,CAAC,IAAI,KAAK,SAAS,EAAE;QACxE,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtE,IAAI,CAAC,cAAc,EAAE;YACnB,MAAM,KAAK,CAAC,gFAAgF,CAAC,CAAC;SAC/F;KACF;IAED,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC,CAAA,CAAC;AAbW,QAAA,oBAAoB,wBAa/B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "2.101.0",
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.101.0",
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",
package/schema.json CHANGED
@@ -659,6 +659,9 @@
659
659
  },
660
660
  "type": {
661
661
  "type": "string"
662
+ },
663
+ "density": {
664
+ "type": "number"
662
665
  }
663
666
  },
664
667
  "additionalProperties": false
@@ -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 WILDCARD_FILENAME = '*.tsx';
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 whose name starts with dot, asterisk or underscore symbols
45
+ // skip service files
46
46
  const pagesFiles = readDir(
47
47
  pagesDir,
48
- (name: string) => name[0] !== '.' && 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
- const wildcardPath = path.join(pageDirname, WILDCARD_FILENAME);
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 (fs.existsSync(wildcardPath)) {
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(
@@ -638,6 +638,9 @@
638
638
  },
639
639
  "type": {
640
640
  "type": "string"
641
+ },
642
+ "density": {
643
+ "type": "number"
641
644
  }
642
645
  },
643
646
  "additionalProperties": false
@@ -34,6 +34,7 @@ export type PwaIconItem = {
34
34
  src: string;
35
35
  sizes: string;
36
36
  type?: string;
37
+ density?: number;
37
38
  };
38
39
 
39
40
  export type PwaIconOptions = {
@@ -5,7 +5,7 @@ export const checkPwaDependencies: Validator = async ({ packageManager, config }
5
5
  const { target } = parameters;
6
6
  const cfg = config.getProject(target) as ApplicationConfigEntry;
7
7
 
8
- if (cfg.experiments?.pwa?.icon && packageManager.name !== 'unknown') {
8
+ if (cfg.experiments?.pwa?.icon?.src && packageManager.name !== 'unknown') {
9
9
  const sharpInstalled = await packageManager.exists({ name: 'sharp' });
10
10
 
11
11
  if (!sharpInstalled) {