@tramvai/cli 2.76.2 → 2.78.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.
Files changed (53) hide show
  1. package/lib/builder/webpack/tokens.d.ts +21 -0
  2. package/lib/config/configManager.js +2 -1
  3. package/lib/config/configManager.js.map +1 -1
  4. package/lib/di/tokens/config.d.ts +7 -0
  5. package/lib/library/webpack/blocks/css.js +9 -2
  6. package/lib/library/webpack/blocks/css.js.map +1 -1
  7. package/lib/library/webpack/child-app/client/common.js +3 -17
  8. package/lib/library/webpack/child-app/client/common.js.map +1 -1
  9. package/lib/library/webpack/child-app/common.js +29 -11
  10. package/lib/library/webpack/child-app/common.js.map +1 -1
  11. package/lib/library/webpack/child-app/moduleFederationShared.d.ts +2 -1
  12. package/lib/library/webpack/child-app/moduleFederationShared.js +37 -11
  13. package/lib/library/webpack/child-app/moduleFederationShared.js.map +1 -1
  14. package/lib/library/webpack/child-app/server/common.js +11 -8
  15. package/lib/library/webpack/child-app/server/common.js.map +1 -1
  16. package/lib/library/webpack/common/main.js +3 -0
  17. package/lib/library/webpack/common/main.js.map +1 -1
  18. package/lib/library/webpack/loaders/childAppFallback.d.ts +6 -0
  19. package/lib/library/webpack/loaders/childAppFallback.js +26 -0
  20. package/lib/library/webpack/loaders/childAppFallback.js.map +1 -0
  21. package/lib/library/webpack/types/webpack.d.ts +2 -0
  22. package/lib/schema/autogeneratedSchema.json +262 -230
  23. package/lib/typings/configEntry/application.d.ts +1 -1
  24. package/lib/typings/configEntry/cli.d.ts +30 -0
  25. package/package.json +12 -11
  26. package/schema.json +262 -230
  27. package/src/api/build/__integration__/build.test.ts +0 -4
  28. package/src/config/configManager.ts +2 -1
  29. package/src/library/babel/plugins/__snapshots__/provider-stack.spec.ts.snap +2 -9
  30. package/src/library/babel/plugins/lazy-component/__snapshots__/lazy-component.spec.ts.snap +6 -70
  31. package/src/library/babel/plugins/lazy-component/__snapshots__/legacy-universal-replace.spec.ts.snap +2 -25
  32. package/src/library/swc/__integration__/__snapshots__/swc.build.test.ts.snap +2 -5
  33. package/src/library/swc/__integration__/__snapshots__/swc.start.test.ts.snap +31 -33
  34. package/src/library/webpack/application/client/dev.ts +1 -1
  35. package/src/library/webpack/application/client/prod.ts +1 -1
  36. package/src/library/webpack/blocks/css.ts +9 -2
  37. package/src/library/webpack/child-app/client/common.ts +3 -22
  38. package/src/library/webpack/child-app/common.ts +36 -14
  39. package/src/library/webpack/child-app/moduleFederationShared.ts +44 -2
  40. package/src/library/webpack/child-app/server/common.ts +13 -12
  41. package/src/library/webpack/common/main.ts +7 -0
  42. package/src/library/webpack/loaders/childAppFallback.ts +31 -0
  43. package/src/library/webpack/types/webpack.ts +5 -0
  44. package/src/models/config.spec.ts +12 -0
  45. package/src/schema/autogeneratedSchema.json +262 -230
  46. package/src/schema/tramvai.spec.ts +6 -0
  47. package/src/typings/configEntry/application.ts +1 -1
  48. package/src/typings/configEntry/cli.ts +33 -0
  49. package/src/typings/webpack-chain/index.d.ts +1 -1
  50. package/lib/library/webpack/plugins/LazyLibraryInitialization.d.ts +0 -20
  51. package/lib/library/webpack/plugins/LazyLibraryInitialization.js +0 -58
  52. package/lib/library/webpack/plugins/LazyLibraryInitialization.js.map +0 -1
  53. package/src/library/webpack/plugins/LazyLibraryInitialization.ts +0 -70
@@ -40,7 +40,6 @@ describe('@tramvai/cli build command', () => {
40
40
 
41
41
  expect(normalizeFiles(serverFiles)).toMatchInlineSnapshot(`
42
42
  [
43
- "server.css",
44
43
  "server.js",
45
44
  "stats.json",
46
45
  ]
@@ -84,7 +83,6 @@ describe('@tramvai/cli build command', () => {
84
83
 
85
84
  expect(normalizeFiles(serverFiles)).toMatchInlineSnapshot(`
86
85
  [
87
- "server.css",
88
86
  "server.js",
89
87
  "stats.json",
90
88
  ]
@@ -106,7 +104,6 @@ describe('@tramvai/cli build command', () => {
106
104
  [
107
105
  "module.css",
108
106
  "module_client.js",
109
- "module_server.css",
110
107
  "module_server.js",
111
108
  "stats.json",
112
109
  ]
@@ -129,7 +126,6 @@ describe('@tramvai/cli build command', () => {
129
126
  [
130
127
  "module.css",
131
128
  "module_client.js",
132
- "module_server.css",
133
129
  "module_server.js",
134
130
  "stats.json",
135
131
  ]
@@ -116,7 +116,8 @@ export const createConfigManager = <C extends ConfigEntry = ConfigEntry, E exten
116
116
  ...normalizedConfigEntry,
117
117
  version:
118
118
  (type === 'module' ? moduleVersion(configEntry) : '') ||
119
- (type === 'child-app' ? packageVersion(configEntry, env, rootDir) : ''),
119
+ packageVersion(configEntry, env, rootDir) ||
120
+ 'unknown',
120
121
  trace: false,
121
122
  host: '0.0.0.0',
122
123
  staticHost: 'localhost',
@@ -28,7 +28,6 @@ export const providers: Provider[] = [
28
28
  ↓ ↓ ↓ ↓ ↓ ↓
29
29
 
30
30
  var _ref, _ref2, _ref3;
31
-
32
31
  // @ts-ignore
33
32
  // eslint-disable-next-line import/no-unresolved
34
33
  import { Scope } from '@tramvai/core';
@@ -105,7 +104,6 @@ export const providers: Provider[] = [
105
104
  ↓ ↓ ↓ ↓ ↓ ↓
106
105
 
107
106
  var _ref, _ref2, _ref3;
108
-
109
107
  // @ts-ignore
110
108
  // eslint-disable-next-line import/no-unresolved
111
109
  import { Scope, Error as _Error } from '@tramvai/core';
@@ -187,7 +185,6 @@ export class ClassModule {}
187
185
  ↓ ↓ ↓ ↓ ↓ ↓
188
186
 
189
187
  var _dec, _ref, _ref2, _ref3, _class;
190
-
191
188
  // @ts-ignore
192
189
  // eslint-disable-next-line import/no-unresolved
193
190
  import { module, Scope } from '@tramvai/core';
@@ -255,9 +252,9 @@ export const providers: Provider[] = [
255
252
  ↓ ↓ ↓ ↓ ↓ ↓
256
253
 
257
254
  var _ref;
258
-
259
255
  // @ts-ignore
260
256
  // eslint-disable-next-line import/no-unresolved
257
+
261
258
  export var providers = [
262
259
  ((_ref =
263
260
  /*__tramvai_stack_provider__*/
@@ -339,9 +336,8 @@ export var func = /*#__PURE__*/ (function () {
339
336
  var _ref = _asyncToGenerator(
340
337
  /*#__PURE__*/ _regeneratorRuntime.mark(function _callee() {
341
338
  var _ref2, _ref3;
342
-
343
339
  return _regeneratorRuntime.wrap(function _callee$(_context) {
344
- while (1) {
340
+ while (1)
345
341
  switch ((_context.prev = _context.next)) {
346
342
  case 0:
347
343
  _context.next = 2;
@@ -369,16 +365,13 @@ export var func = /*#__PURE__*/ (function () {
369
365
  }),
370
366
  _ref3),
371
367
  ]);
372
-
373
368
  case 2:
374
369
  case 'end':
375
370
  return _context.stop();
376
371
  }
377
- }
378
372
  }, _callee);
379
373
  })
380
374
  );
381
-
382
375
  return function func() {
383
376
  return _ref.apply(this, arguments);
384
377
  };
@@ -13,29 +13,20 @@ lazy({
13
13
  chunkName() {
14
14
  return 'cmp';
15
15
  },
16
-
17
16
  requireSync(props) {
18
17
  return __webpack_require__(this.resolve(props));
19
18
  },
20
-
21
19
  isReady(props) {
22
20
  const key = this.resolve(props);
23
21
  return !!__webpack_modules__[key];
24
22
  },
25
-
26
- importAsync: () =>
27
- import(
28
- /* webpackChunkName: "cmp" */
29
- './cmp'
30
- ),
31
-
23
+ importAsync: () => import(/* webpackChunkName: "cmp" */ './cmp'),
32
24
  requireAsync(props) {
33
25
  const key = this.resolve(props);
34
26
  return this.importAsync(props).then((resolved) => {
35
27
  return resolved;
36
28
  });
37
29
  },
38
-
39
30
  resolve() {
40
31
  return require.resolveWeak('./cmp');
41
32
  },
@@ -61,29 +52,20 @@ lazy({
61
52
  chunkName() {
62
53
  return 'main';
63
54
  },
64
-
65
55
  requireSync(props) {
66
56
  return __webpack_require__(this.resolve(props));
67
57
  },
68
-
69
58
  isReady(props) {
70
59
  const key = this.resolve(props);
71
60
  return !!__webpack_modules__[key];
72
61
  },
73
-
74
- importAsync: () =>
75
- import(
76
- /* webpackChunkName: "main" */
77
- './inner/first'
78
- ),
79
-
62
+ importAsync: () => import(/* webpackChunkName: "main" */ './inner/first'),
80
63
  requireAsync(props) {
81
64
  const key = this.resolve(props);
82
65
  return this.importAsync(props).then((resolved) => {
83
66
  return resolved;
84
67
  });
85
68
  },
86
-
87
69
  resolve() {
88
70
  return require.resolveWeak('./inner/first');
89
71
  },
@@ -92,31 +74,25 @@ lazy({
92
74
  chunkName() {
93
75
  return 'inner-second';
94
76
  },
95
-
96
77
  requireSync(props) {
97
78
  return __webpack_require__(this.resolve(props));
98
79
  },
99
-
100
80
  isReady(props) {
101
81
  const key = this.resolve(props);
102
82
  return !!__webpack_modules__[key];
103
83
  },
104
-
105
84
  importAsync: () =>
106
85
  import(
107
86
  /* webpackChunkName: "inner-second" */
108
-
109
87
  /* stupid comments */
110
88
  './inner/second'
111
89
  ),
112
-
113
90
  requireAsync(props) {
114
91
  const key = this.resolve(props);
115
92
  return this.importAsync(props).then((resolved) => {
116
93
  return resolved;
117
94
  });
118
95
  },
119
-
120
96
  resolve() {
121
97
  return require.resolveWeak('./inner/second');
122
98
  },
@@ -125,31 +101,25 @@ lazy({
125
101
  chunkName() {
126
102
  return 'inner-third';
127
103
  },
128
-
129
104
  requireSync(props) {
130
105
  return __webpack_require__(this.resolve(props));
131
106
  },
132
-
133
107
  isReady(props) {
134
108
  const key = this.resolve(props);
135
109
  return !!__webpack_modules__[key];
136
110
  },
137
-
138
111
  importAsync: () =>
139
112
  import(
140
113
  /* webpackChunkName: "inner-third" */
141
-
142
114
  /* webpackPreload: true */
143
115
  './inner/third'
144
116
  ),
145
-
146
117
  requireAsync(props) {
147
118
  const key = this.resolve(props);
148
119
  return this.importAsync(props).then((resolved) => {
149
120
  return resolved;
150
121
  });
151
122
  },
152
-
153
123
  resolve() {
154
124
  return require.resolveWeak('./inner/third');
155
125
  },
@@ -158,29 +128,21 @@ lazy({
158
128
  chunkName() {
159
129
  return 'component';
160
130
  },
161
-
162
131
  requireSync(props) {
163
132
  return __webpack_require__(this.resolve(props));
164
133
  },
165
-
166
134
  isReady(props) {
167
135
  const key = this.resolve(props);
168
136
  return !!__webpack_modules__[key];
169
137
  },
170
-
171
138
  importAsync: () =>
172
- import(
173
- /* webpackPrefetch: true, webpackChunkName: "component" */
174
- './cmp'
175
- ),
176
-
139
+ import(/* webpackPrefetch: true, webpackChunkName: "component" */ './cmp'),
177
140
  requireAsync(props) {
178
141
  const key = this.resolve(props);
179
142
  return this.importAsync(props).then((resolved) => {
180
143
  return resolved;
181
144
  });
182
145
  },
183
-
184
146
  resolve() {
185
147
  return require.resolveWeak('./cmp');
186
148
  },
@@ -202,29 +164,23 @@ lazy({
202
164
  chunkName(props) {
203
165
  return \`inner-\${props.name}-js\`.replace(/[^a-zA-Z0-9_!§$()=\\-^°]+/g, '-');
204
166
  },
205
-
206
167
  requireSync(props) {
207
168
  return __webpack_require__(this.resolve(props));
208
169
  },
209
-
210
170
  isReady(props) {
211
171
  const key = this.resolve(props);
212
172
  return !!__webpack_modules__[key];
213
173
  },
214
-
215
174
  importAsync: (props) =>
216
175
  import(
217
- /* webpackChunkName: "inner-[request]" */
218
- \`./inner/\${props.name}.js\`
176
+ /* webpackChunkName: "inner-[request]" */ \`./inner/\${props.name}.js\`
219
177
  ),
220
-
221
178
  requireAsync(props) {
222
179
  const key = this.resolve(props);
223
180
  return this.importAsync(props).then((resolved) => {
224
181
  return resolved;
225
182
  });
226
183
  },
227
-
228
184
  resolve(props) {
229
185
  return require.resolveWeak(\`./inner/\${props.name}.js\`);
230
186
  },
@@ -247,38 +203,28 @@ const MainPage = lazy(
247
203
  chunkName() {
248
204
  return 'inner-first';
249
205
  },
250
-
251
206
  requireSync(props) {
252
207
  return __webpack_require__(this.resolve(props));
253
208
  },
254
-
255
209
  isReady(props) {
256
210
  const key = this.resolve(props);
257
211
  return !!__webpack_modules__[key];
258
212
  },
259
-
260
213
  importAsync: () =>
261
- import(
262
- /* webpackChunkName: "inner-first" */
263
- './inner/first'
264
- ),
265
-
214
+ import(/* webpackChunkName: "inner-first" */ './inner/first'),
266
215
  requireAsync(props) {
267
216
  const key = this.resolve(props);
268
217
  return this.importAsync(props).then((resolved) => {
269
218
  return resolved;
270
219
  });
271
220
  },
272
-
273
221
  resolve() {
274
222
  return require.resolveWeak('./inner/first');
275
223
  },
276
224
  })
277
225
  );
278
226
  _c2 = MainPage;
279
-
280
227
  var _c, _c2;
281
-
282
228
  $RefreshReg$(_c, 'MainPage$lazy');
283
229
  $RefreshReg$(_c2, 'MainPage');
284
230
 
@@ -298,29 +244,21 @@ lazy({
298
244
  chunkName() {
299
245
  return 'inner-path-cmp';
300
246
  },
301
-
302
247
  requireSync(props) {
303
248
  return __webpack_require__(this.resolve(props));
304
249
  },
305
-
306
250
  isReady(props) {
307
251
  const key = this.resolve(props);
308
252
  return !!__webpack_modules__[key];
309
253
  },
310
-
311
254
  importAsync: () =>
312
- import(
313
- /* webpackChunkName: "inner-path-cmp" */
314
- './inner/path/cmp'
315
- ),
316
-
255
+ import(/* webpackChunkName: "inner-path-cmp" */ './inner/path/cmp'),
317
256
  requireAsync(props) {
318
257
  const key = this.resolve(props);
319
258
  return this.importAsync(props).then((resolved) => {
320
259
  return resolved;
321
260
  });
322
261
  },
323
-
324
262
  resolve() {
325
263
  return require.resolveWeak('./inner/path/cmp');
326
264
  },
@@ -343,9 +281,7 @@ const load = lazy(() => import('./cmp'));
343
281
  ↓ ↓ ↓ ↓ ↓ ↓
344
282
 
345
283
  const lazy = (imp) => console.log(imp);
346
-
347
284
  const load = lazy(() => import('./cmp'));
348
-
349
285
  (async () => {
350
286
  const { default: cmp } = await import('./cmp');
351
287
  console.log(cmp.actions);
@@ -14,9 +14,7 @@ const load = lazy(() => import('./cmp'));
14
14
  ↓ ↓ ↓ ↓ ↓ ↓
15
15
 
16
16
  const lazy = (imp) => console.log(imp);
17
-
18
17
  const load = lazy(() => import('./cmp'));
19
-
20
18
  (async () => {
21
19
  const { default: cmp } = await import('./cmp');
22
20
  console.log(cmp.actions);
@@ -39,39 +37,28 @@ import asyncUniversal, {
39
37
  asyncUniversalPack,
40
38
  } from '@tinkoff/platform-legacy/utils/decorators/asyncUniversal';
41
39
  import { lazy as _lazy } from '@tramvai/react';
42
-
43
40
  _lazy({
44
41
  chunkName() {
45
42
  return 'cmp';
46
43
  },
47
-
48
44
  requireSync(props) {
49
45
  return __webpack_require__(this.resolve(props));
50
46
  },
51
-
52
47
  isReady(props) {
53
48
  const key = this.resolve(props);
54
49
  return !!__webpack_modules__[key];
55
50
  },
56
-
57
- importAsync: () =>
58
- import(
59
- /* webpackChunkName: "cmp" */
60
- './cmp'
61
- ),
62
-
51
+ importAsync: () => import(/* webpackChunkName: "cmp" */ './cmp'),
63
52
  requireAsync(props) {
64
53
  const key = this.resolve(props);
65
54
  return this.importAsync(props).then((resolved) => {
66
55
  return resolved;
67
56
  });
68
57
  },
69
-
70
58
  resolve() {
71
59
  return require.resolveWeak('./cmp');
72
60
  },
73
61
  });
74
-
75
62
  export const packed = asyncUniversalPack({});
76
63
 
77
64
 
@@ -86,34 +73,24 @@ universal(import('./cmp'))
86
73
  ↓ ↓ ↓ ↓ ↓ ↓
87
74
 
88
75
  import { lazy as _lazy } from '@tramvai/react';
89
-
90
76
  _lazy({
91
77
  chunkName() {
92
78
  return 'cmp';
93
79
  },
94
-
95
80
  requireSync(props) {
96
81
  return __webpack_require__(this.resolve(props));
97
82
  },
98
-
99
83
  isReady(props) {
100
84
  const key = this.resolve(props);
101
85
  return !!__webpack_modules__[key];
102
86
  },
103
-
104
- importAsync: () =>
105
- import(
106
- /* webpackChunkName: "cmp" */
107
- './cmp'
108
- ),
109
-
87
+ importAsync: () => import(/* webpackChunkName: "cmp" */ './cmp'),
110
88
  requireAsync(props) {
111
89
  const key = this.resolve(props);
112
90
  return this.importAsync(props).then((resolved) => {
113
91
  return resolved;
114
92
  });
115
93
  },
116
-
117
94
  resolve() {
118
95
  return require.resolveWeak('./cmp');
119
96
  },
@@ -28,8 +28,7 @@ exports[`client-legacy: images/logo.svg\\?react 1`] = `
28
28
  /*#__PURE__*/
29
29
  return (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("svg", _extends({
30
30
  xmlns: "http://www.w3.org/2000/svg",
31
- viewBox: "0 0 80.9 72.2",
32
- role: "img"
31
+ viewBox: "0 0 80.9 72.2"
33
32
  }, props, {
34
33
  children: [
35
34
  /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path", {
@@ -219,8 +218,7 @@ exports[`client-modern: images/logo.svg\\?react 1`] = `
219
218
  }
220
219
  const __WEBPACK_DEFAULT_EXPORT__ = props => /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("svg", _extends({
221
220
  xmlns: "http://www.w3.org/2000/svg",
222
- viewBox: "0 0 80.9 72.2",
223
- role: "img"
221
+ viewBox: "0 0 80.9 72.2"
224
222
  }, props, {
225
223
  children: [
226
224
  /*#__PURE__*/ (0, react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path", {
@@ -386,7 +384,6 @@ exports[`server: images/logo.svg\\?react 1`] = `
386
384
  const SvgLogo = (props)=>/*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("svg", {
387
385
  xmlns: "http://www.w3.org/2000/svg",
388
386
  viewBox: "0 0 80.9 72.2",
389
- role: "img",
390
387
  ...props,
391
388
  children: [
392
389
  /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path", {