@tramvai/cli 3.2.0 → 3.3.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/README.md CHANGED
@@ -288,3 +288,20 @@ TRAMVAI_CPU_PROFILE=1 tramvai build {appName}
288
288
  Then, file with `tramvai-cli.${Date.now()}.cpuprofile` name will be generated in current working directory.
289
289
 
290
290
  You can open this trace in Chrome DevTools - `chrome://inspect`, "Open dedicated DevTools for Node", `Performance` tab.
291
+
292
+ ### How to enable production profiling for React
293
+
294
+ ```bash
295
+ TRAMVAI_REACT_PROFILE=1 tramvai build {appName}
296
+ # or
297
+ TRAMVAI_REACT_PROFILE=1 tramvai start-prod {appName}
298
+ ```
299
+
300
+ After that, you can use the React DevTools Profiler in the same way as you would in development.
301
+
302
+ WARNING: The size of the bundle will be larger, because mangling is disabled for such builds. Do not use this env variable for production environment.
303
+
304
+ Documentation:
305
+
306
+ - [How to use React Profiler](https://legacy.reactjs.org/blog/2018/09/10/introducing-the-react-profiler.html)
307
+ - [Introducing a new React profiler (React 18)](https://github.com/reactwg/react-18/discussions/76)
@@ -1 +1 @@
1
- {"version":3,"file":"prod.d.ts","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/prod.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,eAAe,CAAC;AAUnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAyB1F,eAAO,MAAM,mBAAmB;mBAGf,cAAc,sBAAsB,CAAC;YAwErD,CAAC"}
1
+ {"version":3,"file":"prod.d.ts","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/prod.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,eAAe,CAAC;AAUnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AAyB1F,eAAO,MAAM,mBAAmB;mBAGf,cAAc,sBAAsB,CAAC;YA4ErD,CAAC"}
@@ -70,6 +70,9 @@ const webpackClientConfig = ({ configManager, }) => {
70
70
  if (sourceMap) {
71
71
  config.batch((0, sourcemaps_1.default)(configManager));
72
72
  }
73
+ if (process.env.TRAMVAI_REACT_PROFILE) {
74
+ config.resolve.alias.set('react-dom$', 'react-dom/profiling');
75
+ }
73
76
  return config;
74
77
  };
75
78
  exports.webpackClientConfig = webpackClientConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/prod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prod.js","sourceRoot":"","sources":["../../../../../src/library/webpack/application/client/prod.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/optimize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;wCAExC,cAAc,cAAc,CAAC,cAAc,MAAM;AAAhF,wBA8DE"}
1
+ {"version":3,"file":"optimize.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/optimize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;wCAExC,cAAc,cAAc,CAAC,cAAc,MAAM;AAAhF,wBAsEE"}
@@ -6,6 +6,11 @@ const css_minimizer_webpack_plugin_1 = tslib_1.__importDefault(require("css-mini
6
6
  const csso_webpack_plugin_1 = tslib_1.__importDefault(require("csso-webpack-plugin"));
7
7
  exports.default = (configManager) => (config) => {
8
8
  const { modern, debug, disableProdOptimization } = configManager;
9
+ const isProductionProfilingEnabled = !!process.env.TRAMVAI_REACT_PROFILE;
10
+ const tramvaiReactProfileTerserOptions = {
11
+ keep_fnames: isProductionProfilingEnabled,
12
+ keep_classnames: isProductionProfilingEnabled,
13
+ };
9
14
  if (disableProdOptimization) {
10
15
  // with this option for id of module path to file will be used
11
16
  config.optimization.set('moduleIds', 'named');
@@ -14,21 +19,16 @@ exports.default = (configManager) => (config) => {
14
19
  config.plugin('terser').use(terser_webpack_plugin_1.default, [
15
20
  {
16
21
  extractComments: false,
17
- terserOptions: {
18
- ecma: 6,
19
- mangle: false,
20
- output: {
22
+ terserOptions: Object.assign(Object.assign({}, tramvaiReactProfileTerserOptions), { ecma: 6, mangle: false, output: {
21
23
  comments: true,
22
24
  semicolons: false,
23
25
  preserve_annotations: true,
24
26
  indent_start: 2,
25
27
  beautify: true,
26
- },
27
- compress: {
28
+ }, compress: {
28
29
  passes: 2,
29
30
  drop_debugger: !debug,
30
- },
31
- },
31
+ } }),
32
32
  },
33
33
  ]);
34
34
  return;
@@ -38,21 +38,16 @@ exports.default = (configManager) => (config) => {
38
38
  {
39
39
  extractComments: false,
40
40
  parallel: terser.parallel,
41
- terserOptions: {
42
- ecma: modern ? 6 : 5,
43
- mangle: {
41
+ terserOptions: Object.assign(Object.assign({}, tramvaiReactProfileTerserOptions), { ecma: modern ? 6 : 5, mangle: {
44
42
  // https://github.com/node-fetch/node-fetch/issues/667
45
43
  // иначе AbortSignal минифицируется и на сервере падает ошибка в node-fetch
46
44
  reserved: ['AbortSignal'],
47
- },
48
- output: {
45
+ }, output: {
49
46
  comments: false,
50
- },
51
- compress: {
47
+ }, compress: {
52
48
  passes: 2,
53
49
  drop_debugger: !debug,
54
- },
55
- },
50
+ } }),
56
51
  },
57
52
  ]);
58
53
  if (configManager.cssMinimize === 'csso') {
@@ -1 +1 @@
1
- {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/optimize.ts"],"names":[],"mappings":";;;AACA,0FAAiD;AACjD,wGAAwD;AACxD,sFAAoD;AAIpD,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAEjE,IAAI,uBAAuB,EAAE;QAC3B,8DAA8D;QAC9D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;YACxC;gBACE,eAAe,EAAE,KAAK;gBACtB,aAAa,EAAE;oBACb,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,KAAK;wBACjB,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,IAAI;qBACf;oBACD,QAAQ,EAAE;wBACR,MAAM,EAAE,CAAC;wBACT,aAAa,EAAE,CAAC,KAAK;qBACtB;iBACF;aACF;SACF,CAAC,CAAC;QAEH,OAAO;KACR;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;QACxC;YACE,eAAe,EAAE,KAAK;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,EAAE;gBACb,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACpB,MAAM,EAAE;oBACN,sDAAsD;oBACtD,2EAA2E;oBAC3E,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B;gBACD,MAAM,EAAE;oBACN,QAAQ,EAAE,KAAK;iBAChB;gBACD,QAAQ,EAAE;oBACR,MAAM,EAAE,CAAC;oBACT,aAAa,EAAE,CAAC,KAAK;iBACtB;aACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,EAAE;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAAwB,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;KAC/E;SAAM;QACL,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,sCAAY,CAAC,CAAC;KAClD;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../../../src/library/webpack/blocks/optimize.ts"],"names":[],"mappings":";;;AACA,0FAAiD;AACjD,wGAAwD;AACxD,sFAAoD;AAIpD,kBAAe,CAAC,aAA4C,EAAE,EAAE,CAAC,CAAC,MAAc,EAAE,EAAE;IAClF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,EAAE,GAAG,aAAa,CAAC;IAEjE,MAAM,4BAA4B,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;IACzE,MAAM,gCAAgC,GAAG;QACvC,WAAW,EAAE,4BAA4B;QACzC,eAAe,EAAE,4BAA4B;KAC9C,CAAC;IAEF,IAAI,uBAAuB,EAAE;QAC3B,8DAA8D;QAC9D,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC9C,sEAAsE;QACtE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;QAErD,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;YACxC;gBACE,eAAe,EAAE,KAAK;gBACtB,aAAa,kCACR,gCAAgC,KACnC,IAAI,EAAE,CAAC,EACP,MAAM,EAAE,KAAK,EACb,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI;wBACd,UAAU,EAAE,KAAK;wBACjB,oBAAoB,EAAE,IAAI;wBAC1B,YAAY,EAAE,CAAC;wBACf,QAAQ,EAAE,IAAI;qBACf,EACD,QAAQ,EAAE;wBACR,MAAM,EAAE,CAAC;wBACT,aAAa,EAAE,CAAC,KAAK;qBACtB,GACF;aACF;SACF,CAAC,CAAC;QAEH,OAAO;KACR;IAED,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,CAAC;IAEjC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,+BAAY,EAAE;QACxC;YACE,eAAe,EAAE,KAAK;YACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,aAAa,kCACR,gCAAgC,KACnC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EACpB,MAAM,EAAE;oBACN,sDAAsD;oBACtD,2EAA2E;oBAC3E,QAAQ,EAAE,CAAC,aAAa,CAAC;iBAC1B,EACD,MAAM,EAAE;oBACN,QAAQ,EAAE,KAAK;iBAChB,EACD,QAAQ,EAAE;oBACR,MAAM,EAAE,CAAC;oBACT,aAAa,EAAE,CAAC,KAAK;iBACtB,GACF;SACF;KACF,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,EAAE;QACxC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,6BAAwB,EAAE,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;KAC/E;SAAM;QACL,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,sCAAY,CAAC,CAAC;KAClD;AACH,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/common/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;wCAUxC,cAAc,cAAc,CAAC,cAAc,MAAM;AAAhF,wBA+GE"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/library/webpack/common/main.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAEnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;wCAoBxC,cAAc,cAAc,CAAC,cAAc,MAAM;AAAhF,wBA+GE"}
@@ -15,6 +15,15 @@ const filterNonExisted = (filePaths) => {
15
15
  return filePath && (0, fs_extra_1.existsSync)(filePath);
16
16
  });
17
17
  };
18
+ const getConfigCacheNameAdditionalFlags = (configManager) => {
19
+ return [
20
+ configManager.buildType === 'client' && configManager.modern ? 'modern' : '',
21
+ configManager.debug ? 'debug' : '',
22
+ process.env.TRAMVAI_REACT_PROFILE ? 'tramvai_react_profile' : '',
23
+ ]
24
+ .filter(Boolean)
25
+ .join('-');
26
+ };
18
27
  // eslint-disable-next-line import/no-default-export
19
28
  exports.default = (configManager) => (config) => {
20
29
  var _a;
@@ -52,7 +61,7 @@ exports.default = (configManager) => (config) => {
52
61
  if (configManager.fileCache) {
53
62
  config.cache({
54
63
  type: 'filesystem',
55
- name: `${env}-${configManager.type}-${configManager.buildType}-${configManager.name}${configManager.buildType === 'client' && configManager.modern ? '-modern' : ''}`,
64
+ name: `${env}-${configManager.type}-${configManager.buildType}-${configManager.name}-${getConfigCacheNameAdditionalFlags(configManager)}`,
56
65
  cacheDirectory: (0, find_cache_dir_1.default)({ cwd: configManager.rootDir, name: 'webpack' }),
57
66
  buildDependencies: {
58
67
  cli: ['@tramvai/cli'],
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/library/webpack/common/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/library/webpack/common/main.ts"],"names":[],"mappings":"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"}
@@ -1129,23 +1129,23 @@
1129
1129
  "dotAll": {
1130
1130
  "type": "boolean"
1131
1131
  },
1132
- "__@match@8744": {
1132
+ "__@match@6835": {
1133
1133
  "type": "object",
1134
1134
  "additionalProperties": false
1135
1135
  },
1136
- "__@replace@8746": {
1136
+ "__@replace@6837": {
1137
1137
  "type": "object",
1138
1138
  "additionalProperties": false
1139
1139
  },
1140
- "__@search@8749": {
1140
+ "__@search@6840": {
1141
1141
  "type": "object",
1142
1142
  "additionalProperties": false
1143
1143
  },
1144
- "__@split@8751": {
1144
+ "__@split@6842": {
1145
1145
  "type": "object",
1146
1146
  "additionalProperties": false
1147
1147
  },
1148
- "__@matchAll@8753": {
1148
+ "__@matchAll@6844": {
1149
1149
  "type": "object",
1150
1150
  "additionalProperties": false
1151
1151
  }
@@ -1799,23 +1799,23 @@
1799
1799
  "dotAll": {
1800
1800
  "type": "boolean"
1801
1801
  },
1802
- "__@match@8744": {
1802
+ "__@match@6835": {
1803
1803
  "type": "object",
1804
1804
  "additionalProperties": false
1805
1805
  },
1806
- "__@replace@8746": {
1806
+ "__@replace@6837": {
1807
1807
  "type": "object",
1808
1808
  "additionalProperties": false
1809
1809
  },
1810
- "__@search@8749": {
1810
+ "__@search@6840": {
1811
1811
  "type": "object",
1812
1812
  "additionalProperties": false
1813
1813
  },
1814
- "__@split@8751": {
1814
+ "__@split@6842": {
1815
1815
  "type": "object",
1816
1816
  "additionalProperties": false
1817
1817
  },
1818
- "__@matchAll@8753": {
1818
+ "__@matchAll@6844": {
1819
1819
  "type": "object",
1820
1820
  "additionalProperties": false
1821
1821
  }
@@ -2469,23 +2469,23 @@
2469
2469
  "dotAll": {
2470
2470
  "type": "boolean"
2471
2471
  },
2472
- "__@match@8744": {
2472
+ "__@match@6835": {
2473
2473
  "type": "object",
2474
2474
  "additionalProperties": false
2475
2475
  },
2476
- "__@replace@8746": {
2476
+ "__@replace@6837": {
2477
2477
  "type": "object",
2478
2478
  "additionalProperties": false
2479
2479
  },
2480
- "__@search@8749": {
2480
+ "__@search@6840": {
2481
2481
  "type": "object",
2482
2482
  "additionalProperties": false
2483
2483
  },
2484
- "__@split@8751": {
2484
+ "__@split@6842": {
2485
2485
  "type": "object",
2486
2486
  "additionalProperties": false
2487
2487
  },
2488
- "__@matchAll@8753": {
2488
+ "__@matchAll@6844": {
2489
2489
  "type": "object",
2490
2490
  "additionalProperties": false
2491
2491
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "3.2.0",
3
+ "version": "3.3.2",
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": "2.0.1",
73
73
  "@tramvai/build": "4.0.1",
74
- "@tramvai/react": "3.2.0",
74
+ "@tramvai/react": "3.3.2",
75
75
  "@tramvai/tools-check-versions": "0.5.1",
76
76
  "@tramvai/tools-migrate": "0.7.1",
77
77
  "ajv": "^8.12.0",
package/schema.json CHANGED
@@ -1151,23 +1151,23 @@
1151
1151
  "dotAll": {
1152
1152
  "type": "boolean"
1153
1153
  },
1154
- "__@match@8744": {
1154
+ "__@match@6835": {
1155
1155
  "type": "object",
1156
1156
  "additionalProperties": false
1157
1157
  },
1158
- "__@replace@8746": {
1158
+ "__@replace@6837": {
1159
1159
  "type": "object",
1160
1160
  "additionalProperties": false
1161
1161
  },
1162
- "__@search@8749": {
1162
+ "__@search@6840": {
1163
1163
  "type": "object",
1164
1164
  "additionalProperties": false
1165
1165
  },
1166
- "__@split@8751": {
1166
+ "__@split@6842": {
1167
1167
  "type": "object",
1168
1168
  "additionalProperties": false
1169
1169
  },
1170
- "__@matchAll@8753": {
1170
+ "__@matchAll@6844": {
1171
1171
  "type": "object",
1172
1172
  "additionalProperties": false
1173
1173
  }
@@ -1830,23 +1830,23 @@
1830
1830
  "dotAll": {
1831
1831
  "type": "boolean"
1832
1832
  },
1833
- "__@match@8744": {
1833
+ "__@match@6835": {
1834
1834
  "type": "object",
1835
1835
  "additionalProperties": false
1836
1836
  },
1837
- "__@replace@8746": {
1837
+ "__@replace@6837": {
1838
1838
  "type": "object",
1839
1839
  "additionalProperties": false
1840
1840
  },
1841
- "__@search@8749": {
1841
+ "__@search@6840": {
1842
1842
  "type": "object",
1843
1843
  "additionalProperties": false
1844
1844
  },
1845
- "__@split@8751": {
1845
+ "__@split@6842": {
1846
1846
  "type": "object",
1847
1847
  "additionalProperties": false
1848
1848
  },
1849
- "__@matchAll@8753": {
1849
+ "__@matchAll@6844": {
1850
1850
  "type": "object",
1851
1851
  "additionalProperties": false
1852
1852
  }
@@ -2509,23 +2509,23 @@
2509
2509
  "dotAll": {
2510
2510
  "type": "boolean"
2511
2511
  },
2512
- "__@match@8744": {
2512
+ "__@match@6835": {
2513
2513
  "type": "object",
2514
2514
  "additionalProperties": false
2515
2515
  },
2516
- "__@replace@8746": {
2516
+ "__@replace@6837": {
2517
2517
  "type": "object",
2518
2518
  "additionalProperties": false
2519
2519
  },
2520
- "__@search@8749": {
2520
+ "__@search@6840": {
2521
2521
  "type": "object",
2522
2522
  "additionalProperties": false
2523
2523
  },
2524
- "__@split@8751": {
2524
+ "__@split@6842": {
2525
2525
  "type": "object",
2526
2526
  "additionalProperties": false
2527
2527
  },
2528
- "__@matchAll@8753": {
2528
+ "__@matchAll@6844": {
2529
2529
  "type": "object",
2530
2530
  "additionalProperties": false
2531
2531
  }
@@ -109,5 +109,9 @@ export const webpackClientConfig = ({
109
109
  config.batch(sourcemaps(configManager));
110
110
  }
111
111
 
112
+ if (process.env.TRAMVAI_REACT_PROFILE) {
113
+ config.resolve.alias.set('react-dom$', 'react-dom/profiling');
114
+ }
115
+
112
116
  return config;
113
117
  };
@@ -8,6 +8,12 @@ import type { CliConfigEntry } from '../../../typings/configEntry/cli';
8
8
  export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config) => {
9
9
  const { modern, debug, disableProdOptimization } = configManager;
10
10
 
11
+ const isProductionProfilingEnabled = !!process.env.TRAMVAI_REACT_PROFILE;
12
+ const tramvaiReactProfileTerserOptions = {
13
+ keep_fnames: isProductionProfilingEnabled,
14
+ keep_classnames: isProductionProfilingEnabled,
15
+ };
16
+
11
17
  if (disableProdOptimization) {
12
18
  // with this option for id of module path to file will be used
13
19
  config.optimization.set('moduleIds', 'named');
@@ -18,6 +24,7 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
18
24
  {
19
25
  extractComments: false,
20
26
  terserOptions: {
27
+ ...tramvaiReactProfileTerserOptions,
21
28
  ecma: 6,
22
29
  mangle: false,
23
30
  output: {
@@ -45,6 +52,7 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
45
52
  extractComments: false,
46
53
  parallel: terser.parallel,
47
54
  terserOptions: {
55
+ ...tramvaiReactProfileTerserOptions,
48
56
  ecma: modern ? 6 : 5,
49
57
  mangle: {
50
58
  // https://github.com/node-fetch/node-fetch/issues/667
@@ -17,6 +17,16 @@ const filterNonExisted = (filePaths: string[]) => {
17
17
  });
18
18
  };
19
19
 
20
+ const getConfigCacheNameAdditionalFlags = (configManager: ConfigManager<CliConfigEntry>) => {
21
+ return [
22
+ configManager.buildType === 'client' && configManager.modern ? 'modern' : '',
23
+ configManager.debug ? 'debug' : '',
24
+ process.env.TRAMVAI_REACT_PROFILE ? 'tramvai_react_profile' : '',
25
+ ]
26
+ .filter(Boolean)
27
+ .join('-');
28
+ };
29
+
20
30
  // eslint-disable-next-line import/no-default-export
21
31
  export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config) => {
22
32
  const env = configManager.env === 'development' ? 'dev' : 'prod';
@@ -66,9 +76,9 @@ export default (configManager: ConfigManager<CliConfigEntry>) => (config: Config
66
76
  if (configManager.fileCache) {
67
77
  config.cache({
68
78
  type: 'filesystem',
69
- name: `${env}-${configManager.type}-${configManager.buildType}-${configManager.name}${
70
- configManager.buildType === 'client' && configManager.modern ? '-modern' : ''
71
- }`,
79
+ name: `${env}-${configManager.type}-${configManager.buildType}-${
80
+ configManager.name
81
+ }-${getConfigCacheNameAdditionalFlags(configManager)}`,
72
82
  cacheDirectory: findCacheDir({ cwd: configManager.rootDir, name: 'webpack' }),
73
83
  buildDependencies: {
74
84
  cli: ['@tramvai/cli'],
@@ -1129,23 +1129,23 @@
1129
1129
  "dotAll": {
1130
1130
  "type": "boolean"
1131
1131
  },
1132
- "__@match@8744": {
1132
+ "__@match@6835": {
1133
1133
  "type": "object",
1134
1134
  "additionalProperties": false
1135
1135
  },
1136
- "__@replace@8746": {
1136
+ "__@replace@6837": {
1137
1137
  "type": "object",
1138
1138
  "additionalProperties": false
1139
1139
  },
1140
- "__@search@8749": {
1140
+ "__@search@6840": {
1141
1141
  "type": "object",
1142
1142
  "additionalProperties": false
1143
1143
  },
1144
- "__@split@8751": {
1144
+ "__@split@6842": {
1145
1145
  "type": "object",
1146
1146
  "additionalProperties": false
1147
1147
  },
1148
- "__@matchAll@8753": {
1148
+ "__@matchAll@6844": {
1149
1149
  "type": "object",
1150
1150
  "additionalProperties": false
1151
1151
  }
@@ -1799,23 +1799,23 @@
1799
1799
  "dotAll": {
1800
1800
  "type": "boolean"
1801
1801
  },
1802
- "__@match@8744": {
1802
+ "__@match@6835": {
1803
1803
  "type": "object",
1804
1804
  "additionalProperties": false
1805
1805
  },
1806
- "__@replace@8746": {
1806
+ "__@replace@6837": {
1807
1807
  "type": "object",
1808
1808
  "additionalProperties": false
1809
1809
  },
1810
- "__@search@8749": {
1810
+ "__@search@6840": {
1811
1811
  "type": "object",
1812
1812
  "additionalProperties": false
1813
1813
  },
1814
- "__@split@8751": {
1814
+ "__@split@6842": {
1815
1815
  "type": "object",
1816
1816
  "additionalProperties": false
1817
1817
  },
1818
- "__@matchAll@8753": {
1818
+ "__@matchAll@6844": {
1819
1819
  "type": "object",
1820
1820
  "additionalProperties": false
1821
1821
  }
@@ -2469,23 +2469,23 @@
2469
2469
  "dotAll": {
2470
2470
  "type": "boolean"
2471
2471
  },
2472
- "__@match@8744": {
2472
+ "__@match@6835": {
2473
2473
  "type": "object",
2474
2474
  "additionalProperties": false
2475
2475
  },
2476
- "__@replace@8746": {
2476
+ "__@replace@6837": {
2477
2477
  "type": "object",
2478
2478
  "additionalProperties": false
2479
2479
  },
2480
- "__@search@8749": {
2480
+ "__@search@6840": {
2481
2481
  "type": "object",
2482
2482
  "additionalProperties": false
2483
2483
  },
2484
- "__@split@8751": {
2484
+ "__@split@6842": {
2485
2485
  "type": "object",
2486
2486
  "additionalProperties": false
2487
2487
  },
2488
- "__@matchAll@8753": {
2488
+ "__@matchAll@6844": {
2489
2489
  "type": "object",
2490
2490
  "additionalProperties": false
2491
2491
  }