@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
@@ -1,20 +0,0 @@
1
- import type { Compiler, LibraryOptions } from 'webpack';
2
- import { library, sources } from 'webpack';
3
- export interface LazyLibraryOptions {
4
- prefix?: string;
5
- }
6
- export declare class LazyLibraryInitialization extends library.AbstractLibraryPlugin<{
7
- name: string;
8
- }> {
9
- private readonly prefix;
10
- constructor({ prefix }: LazyLibraryOptions);
11
- apply(compiler: Compiler): void;
12
- parseOptions({ name }: LibraryOptions): {
13
- name: string;
14
- };
15
- render(source: sources.Source, context: any, { options: { name } }: {
16
- options: {
17
- name: any;
18
- };
19
- }): sources.ConcatSource;
20
- }
@@ -1,58 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LazyLibraryInitialization = void 0;
4
- const tslib_1 = require("tslib");
5
- const webpack_1 = require("webpack");
6
- // eslint-disable-next-line no-restricted-imports
7
- const ExportPropertyLibraryPlugin_1 = tslib_1.__importDefault(require("webpack/lib/library/ExportPropertyLibraryPlugin"));
8
- class LazyLibraryInitialization extends webpack_1.library.AbstractLibraryPlugin {
9
- constructor({ prefix }) {
10
- super({
11
- pluginName: 'LazyLibraryInitialization ',
12
- type: 'lazy',
13
- });
14
- this.prefix = prefix !== null && prefix !== void 0 ? prefix : '';
15
- }
16
- apply(compiler) {
17
- // говорим вебпаку что сами займёмся этим модулем
18
- webpack_1.library.EnableLibraryPlugin.setEnabled(compiler, 'lazy');
19
- // указываем что все экспорты из главного файла используются, чтобы вебпак их не вырезал
20
- new ExportPropertyLibraryPlugin_1.default({
21
- type: 'lazy',
22
- nsObjectUsed: true,
23
- }).apply(compiler);
24
- // вызываем логику абстрактного плагина для либ
25
- super.apply(compiler);
26
- }
27
- parseOptions({ name }) {
28
- if (!name || typeof name !== 'string') {
29
- throw new Error('Library name must be a non-empty string');
30
- }
31
- return {
32
- name,
33
- };
34
- }
35
- render(source, context, { options: { name } }) {
36
- // оборачиваем код модуля в lazy-обёртку
37
- return new webpack_1.sources.ConcatSource(`;window["${this.prefix}__" + document.currentScript.src] = (function() {
38
- var result = {
39
- exports: null,
40
- initialized: false,
41
- initialize: function (require) {
42
- result.exports =`, source, `;
43
- result.initialized = true;
44
- result.initialize = function (module, ) {
45
- return result.exports;
46
- };
47
-
48
- return result.exports;
49
- }
50
- };
51
-
52
- return result;
53
- })();
54
- `);
55
- }
56
- }
57
- exports.LazyLibraryInitialization = LazyLibraryInitialization;
58
- //# sourceMappingURL=LazyLibraryInitialization.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LazyLibraryInitialization.js","sourceRoot":"","sources":["../../../../src/library/webpack/plugins/LazyLibraryInitialization.ts"],"names":[],"mappings":";;;;AACA,qCAA2C;AAC3C,iDAAiD;AACjD,0HAA0F;AAM1F,MAAa,yBAA0B,SAAQ,iBAAO,CAAC,qBAErD;IAEA,YAAY,EAAE,MAAM,EAAsB;QACxC,KAAK,CAAC;YACJ,UAAU,EAAE,4BAA4B;YACxC,IAAI,EAAE,MAAM;SACb,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,iDAAiD;QACjD,iBAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzD,wFAAwF;QACxF,IAAI,qCAA2B,CAAC;YAC9B,IAAI,EAAE,MAAM;YACZ,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnB,+CAA+C;QAC/C,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,EAAE,IAAI,EAAkB;QACnC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACrC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;SAC5D;QAED,OAAO;YACL,IAAI;SACL,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,MAAsB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,EAAE;QAC3D,wCAAwC;QACxC,OAAO,IAAI,iBAAO,CAAC,YAAY,CAC7B,YAAY,IAAI,CAAC,MAAM;;;;;uBAKN,EACjB,MAAM,EACN;;;;;;;;;;;;CAYL,CACI,CAAC;IACJ,CAAC;CACF;AA5DD,8DA4DC"}
@@ -1,70 +0,0 @@
1
- import type { Compiler, LibraryOptions } from 'webpack';
2
- import { library, sources } from 'webpack';
3
- // eslint-disable-next-line no-restricted-imports
4
- import ExportPropertyLibraryPlugin from 'webpack/lib/library/ExportPropertyLibraryPlugin';
5
-
6
- export interface LazyLibraryOptions {
7
- prefix?: string;
8
- }
9
-
10
- export class LazyLibraryInitialization extends library.AbstractLibraryPlugin<{
11
- name: string;
12
- }> {
13
- private readonly prefix: string;
14
- constructor({ prefix }: LazyLibraryOptions) {
15
- super({
16
- pluginName: 'LazyLibraryInitialization ',
17
- type: 'lazy',
18
- });
19
-
20
- this.prefix = prefix ?? '';
21
- }
22
-
23
- apply(compiler: Compiler) {
24
- // говорим вебпаку что сами займёмся этим модулем
25
- library.EnableLibraryPlugin.setEnabled(compiler, 'lazy');
26
- // указываем что все экспорты из главного файла используются, чтобы вебпак их не вырезал
27
- new ExportPropertyLibraryPlugin({
28
- type: 'lazy',
29
- nsObjectUsed: true,
30
- }).apply(compiler);
31
- // вызываем логику абстрактного плагина для либ
32
- super.apply(compiler);
33
- }
34
-
35
- parseOptions({ name }: LibraryOptions) {
36
- if (!name || typeof name !== 'string') {
37
- throw new Error('Library name must be a non-empty string');
38
- }
39
-
40
- return {
41
- name,
42
- };
43
- }
44
-
45
- render(source: sources.Source, context, { options: { name } }) {
46
- // оборачиваем код модуля в lazy-обёртку
47
- return new sources.ConcatSource(
48
- `;window["${this.prefix}__" + document.currentScript.src] = (function() {
49
- var result = {
50
- exports: null,
51
- initialized: false,
52
- initialize: function (require) {
53
- result.exports =`,
54
- source,
55
- `;
56
- result.initialized = true;
57
- result.initialize = function (module, ) {
58
- return result.exports;
59
- };
60
-
61
- return result.exports;
62
- }
63
- };
64
-
65
- return result;
66
- })();
67
- `
68
- );
69
- }
70
- }