@tramvai/cli 6.68.6 → 6.77.3

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 (127) hide show
  1. package/README.md +1 -1
  2. package/bin/const.js +5 -0
  3. package/bin/platform.js +12 -6
  4. package/bin/spawn.js +6 -0
  5. package/lib/api/analyze/index.d.ts.map +1 -1
  6. package/lib/api/analyze/index.js +1 -13
  7. package/lib/api/analyze/index.js.map +1 -1
  8. package/lib/api/index.js +1 -1
  9. package/lib/api/index.js.map +1 -1
  10. package/lib/api/start/application.experimental.d.ts.map +1 -1
  11. package/lib/api/start/application.experimental.js +13 -0
  12. package/lib/api/start/application.experimental.js.map +1 -1
  13. package/lib/api/start/index.d.ts +1 -0
  14. package/lib/api/start/index.d.ts.map +1 -1
  15. package/lib/api/start/index.js.map +1 -1
  16. package/lib/builder/webpack/analyzePlugins/rsdoctor.d.ts +2 -2
  17. package/lib/builder/webpack/analyzePlugins/rsdoctor.d.ts.map +1 -1
  18. package/lib/builder/webpack/analyzePlugins/rsdoctor.js +4 -2
  19. package/lib/builder/webpack/analyzePlugins/rsdoctor.js.map +1 -1
  20. package/lib/builder/webpack/index.d.ts.map +1 -1
  21. package/lib/builder/webpack/index.js +14 -12
  22. package/lib/builder/webpack/index.js.map +1 -1
  23. package/lib/builder/webpack/providers/build/client.d.ts.map +1 -1
  24. package/lib/builder/webpack/providers/build/client.js +3 -2
  25. package/lib/builder/webpack/providers/build/client.js.map +1 -1
  26. package/lib/builder/webpack/providers/build/server.d.ts.map +1 -1
  27. package/lib/builder/webpack/providers/build/server.js +3 -2
  28. package/lib/builder/webpack/providers/build/server.js.map +1 -1
  29. package/lib/builder/webpack/providers/shared.d.ts.map +1 -1
  30. package/lib/builder/webpack/providers/shared.js +31 -1
  31. package/lib/builder/webpack/providers/shared.js.map +1 -1
  32. package/lib/builder/webpack/providers/start/shared.d.ts.map +1 -1
  33. package/lib/builder/webpack/providers/start/shared.js +6 -2
  34. package/lib/builder/webpack/providers/start/shared.js.map +1 -1
  35. package/lib/builder/webpack/tokens.d.ts +4 -0
  36. package/lib/builder/webpack/tokens.d.ts.map +1 -1
  37. package/lib/cli/index.d.ts.map +1 -1
  38. package/lib/cli/index.js +12 -12
  39. package/lib/cli/index.js.map +1 -1
  40. package/lib/commands/analyze/command.d.ts +1 -1
  41. package/lib/commands/analyze/command.d.ts.map +1 -1
  42. package/lib/commands/build/command.d.ts.map +1 -1
  43. package/lib/commands/build/command.js +5 -0
  44. package/lib/commands/build/command.js.map +1 -1
  45. package/lib/commands/new/steps/installDependencies.d.ts.map +1 -1
  46. package/lib/commands/new/steps/installDependencies.js +3 -4
  47. package/lib/commands/new/steps/installDependencies.js.map +1 -1
  48. package/lib/commands/start/command.d.ts.map +1 -1
  49. package/lib/commands/start/command.js +5 -0
  50. package/lib/commands/start/command.js.map +1 -1
  51. package/lib/commands/static/application.d.ts.map +1 -1
  52. package/lib/commands/static/application.js +9 -3
  53. package/lib/commands/static/application.js.map +1 -1
  54. package/lib/commands/static/generate.d.ts.map +1 -1
  55. package/lib/commands/static/generate.js +16 -12
  56. package/lib/commands/static/generate.js.map +1 -1
  57. package/lib/config/configManager.d.ts +1 -0
  58. package/lib/config/configManager.d.ts.map +1 -1
  59. package/lib/config/configManager.js +1 -0
  60. package/lib/config/configManager.js.map +1 -1
  61. package/lib/di/tokens/config.d.ts +2 -0
  62. package/lib/di/tokens/config.d.ts.map +1 -1
  63. package/lib/library/webpack/blocks/css.d.ts.map +1 -1
  64. package/lib/library/webpack/blocks/css.js +42 -15
  65. package/lib/library/webpack/blocks/css.js.map +1 -1
  66. package/lib/library/webpack/blocks/js.d.ts.map +1 -1
  67. package/lib/library/webpack/blocks/js.js +52 -11
  68. package/lib/library/webpack/blocks/js.js.map +1 -1
  69. package/lib/library/webpack/common/main.d.ts.map +1 -1
  70. package/lib/library/webpack/common/main.js +2 -1
  71. package/lib/library/webpack/common/main.js.map +1 -1
  72. package/lib/library/webpack/utils/browserslist.d.ts +4 -0
  73. package/lib/library/webpack/utils/browserslist.d.ts.map +1 -0
  74. package/lib/library/webpack/utils/browserslist.js +27 -0
  75. package/lib/library/webpack/utils/browserslist.js.map +1 -0
  76. package/lib/library/webpack/utils/transpiler.d.ts.map +1 -1
  77. package/lib/library/webpack/utils/transpiler.js +3 -16
  78. package/lib/library/webpack/utils/transpiler.js.map +1 -1
  79. package/lib/schema/autogeneratedSchema.json +216 -15
  80. package/lib/typings/configEntry/cli.d.ts +9 -0
  81. package/lib/typings/configEntry/cli.d.ts.map +1 -1
  82. package/lib/utils/dev-app/request.d.ts +1 -0
  83. package/lib/utils/dev-app/request.d.ts.map +1 -1
  84. package/lib/utils/dev-app/request.js +10 -1
  85. package/lib/utils/dev-app/request.js.map +1 -1
  86. package/package.json +39 -37
  87. package/schema.json +216 -15
  88. package/src/api/analyze/index.ts +3 -16
  89. package/src/api/index.ts +1 -1
  90. package/src/api/start/application.experimental.ts +14 -0
  91. package/src/api/start/index.ts +1 -0
  92. package/src/builder/webpack/analyzePlugins/rsdoctor.ts +6 -3
  93. package/src/builder/webpack/index.ts +16 -21
  94. package/src/builder/webpack/providers/build/client.ts +7 -2
  95. package/src/builder/webpack/providers/build/server.ts +7 -2
  96. package/src/builder/webpack/providers/shared.ts +45 -1
  97. package/src/builder/webpack/providers/start/shared.ts +7 -2
  98. package/src/cli/index.ts +3 -2
  99. package/src/commands/analyze/command.ts +1 -1
  100. package/src/commands/build/command.ts +6 -0
  101. package/src/commands/new/steps/installDependencies.ts +3 -4
  102. package/src/commands/new/templates/app/block/shared/header/Header.spec.tsx.hbs +7 -5
  103. package/src/commands/new/templates/shared/package.json.hbs +1 -1
  104. package/src/commands/start/command.ts +6 -0
  105. package/src/commands/static/application.ts +11 -4
  106. package/src/commands/static/generate.ts +19 -12
  107. package/src/config/configManager.ts +2 -0
  108. package/src/library/webpack/blocks/css.ts +52 -16
  109. package/src/library/webpack/blocks/js.ts +58 -12
  110. package/src/library/webpack/common/main.ts +6 -2
  111. package/src/library/webpack/utils/browserslist.ts +29 -0
  112. package/src/library/webpack/utils/transpiler.ts +3 -20
  113. package/src/models/config.spec.ts +4 -0
  114. package/src/schema/autogeneratedSchema.json +216 -15
  115. package/src/schema/tramvai.spec.ts +2 -0
  116. package/src/typings/configEntry/cli.ts +11 -0
  117. package/src/utils/dev-app/request.ts +15 -0
  118. package/lib/api/analyze/providers/shared.d.ts +0 -3
  119. package/lib/api/analyze/providers/shared.d.ts.map +0 -1
  120. package/lib/api/analyze/providers/shared.js +0 -23
  121. package/lib/api/analyze/providers/shared.js.map +0 -1
  122. package/lib/builder/webpack/providers/analyze/shared.d.ts +0 -3
  123. package/lib/builder/webpack/providers/analyze/shared.d.ts.map +0 -1
  124. package/lib/builder/webpack/providers/analyze/shared.js +0 -137
  125. package/lib/builder/webpack/providers/analyze/shared.js.map +0 -1
  126. package/src/api/analyze/providers/shared.ts +0 -26
  127. package/src/builder/webpack/providers/analyze/shared.ts +0 -156
@@ -1,13 +1,12 @@
1
1
  import type Config from 'webpack-chain';
2
2
  import { sync as resolve } from 'resolve';
3
- import envTargets from '@tinkoff/browserslist-config';
4
- import browserslist from 'browserslist';
5
3
  import type { ConfigManager } from '../../../config/configManager';
6
4
  import { swcConfigFactory } from '../../swc';
7
5
  import { babelConfigFactory } from '../../babel';
8
6
  import type { Env } from '../../../typings/Env';
9
7
  import type { Target } from '../../../typings/target';
10
8
  import type { CliConfigEntry, ReactCompilerOptions } from '../../../typings/configEntry/cli';
9
+ import { getActualTarget, getBrowserslistTargets } from './browserslist';
11
10
 
12
11
  export type TranspilerConfig = {
13
12
  env: Env;
@@ -84,24 +83,8 @@ export const getTranspilerConfig = (
84
83
  Just check or add configuration to your tsconfig file and remove alias from tramvai.json`);
85
84
  }
86
85
 
87
- let actualTarget = target;
88
-
89
- if (!target) {
90
- if (isServer) {
91
- actualTarget = 'node';
92
- }
93
- }
94
-
95
- const browserslistConfigRaw = browserslist.findConfig(rootDir);
96
-
97
- // Set defaults if the explicit config for browserslist was not found or the config does not contain the necessary targets
98
- const browserslistQuery =
99
- browserslistConfigRaw?.[actualTarget] ?? envTargets[actualTarget] ?? envTargets.defaults;
100
-
101
- const browsersListTargets = browserslist(browserslistQuery, {
102
- mobileToDesktop: true,
103
- env: actualTarget,
104
- });
86
+ const actualTarget = getActualTarget(target, isServer);
87
+ const browsersListTargets = getBrowserslistTargets(rootDir, actualTarget);
105
88
 
106
89
  return {
107
90
  isServer,
@@ -76,6 +76,7 @@ it('should populate defaults for config', () => {
76
76
  "runtimeChunk": false,
77
77
  "serverRunner": "thread",
78
78
  "transpilation": {
79
+ "include": "only-modern",
79
80
  "loader": "babel",
80
81
  },
81
82
  "viewTransitions": false,
@@ -152,6 +153,7 @@ it('should populate defaults for config', () => {
152
153
  "minifier": "terser",
153
154
  "reactCompiler": false,
154
155
  "transpilation": {
156
+ "include": "only-modern",
155
157
  "loader": "babel",
156
158
  },
157
159
  "webpack": {
@@ -325,6 +327,7 @@ it('should populate defaults for overridable options', () => {
325
327
  "runtimeChunk": false,
326
328
  "serverRunner": "thread",
327
329
  "transpilation": {
330
+ "include": "only-modern",
328
331
  "loader": {
329
332
  "development": "swc",
330
333
  "production": "babel",
@@ -419,6 +422,7 @@ it('should populate defaults for overridable options', () => {
419
422
  "minifier": "terser",
420
423
  "reactCompiler": false,
421
424
  "transpilation": {
425
+ "include": "only-modern",
422
426
  "loader": {
423
427
  "development": "babel",
424
428
  "production": "babel",
@@ -873,6 +873,10 @@
873
873
  },
874
874
  "additionalProperties": false
875
875
  },
876
+ "lightningcss": {
877
+ "title": "experimental css building by [lightningcss](https://lightningcss.dev/)",
878
+ "type": "boolean"
879
+ },
876
880
  "transpilation": {
877
881
  "title": "experimental settings for code transpilation",
878
882
  "default": {},
@@ -911,6 +915,69 @@
911
915
  "type": "string"
912
916
  }
913
917
  ]
918
+ },
919
+ "include": {
920
+ "cli_overridable": "",
921
+ "title": "customize transpiling of node_modules in prod/dev environments",
922
+ "default": "only-modern",
923
+ "anyOf": [
924
+ {
925
+ "type": "array",
926
+ "items": {
927
+ "type": "string"
928
+ }
929
+ },
930
+ {
931
+ "type": "object",
932
+ "properties": {
933
+ "development": {
934
+ "anyOf": [
935
+ {
936
+ "type": "array",
937
+ "items": {
938
+ "type": "string"
939
+ }
940
+ },
941
+ {
942
+ "enum": [
943
+ "all",
944
+ "none",
945
+ "only-modern"
946
+ ],
947
+ "type": "string"
948
+ }
949
+ ]
950
+ },
951
+ "production": {
952
+ "anyOf": [
953
+ {
954
+ "type": "array",
955
+ "items": {
956
+ "type": "string"
957
+ }
958
+ },
959
+ {
960
+ "enum": [
961
+ "all",
962
+ "none",
963
+ "only-modern"
964
+ ],
965
+ "type": "string"
966
+ }
967
+ ]
968
+ }
969
+ },
970
+ "additionalProperties": false
971
+ },
972
+ {
973
+ "enum": [
974
+ "all",
975
+ "none",
976
+ "only-modern"
977
+ ],
978
+ "type": "string"
979
+ }
980
+ ]
914
981
  }
915
982
  },
916
983
  "additionalProperties": false
@@ -1289,23 +1356,23 @@
1289
1356
  "dotAll": {
1290
1357
  "type": "boolean"
1291
1358
  },
1292
- "__@match@8920": {
1359
+ "__@match@9311": {
1293
1360
  "type": "object",
1294
1361
  "additionalProperties": false
1295
1362
  },
1296
- "__@replace@8922": {
1363
+ "__@replace@9313": {
1297
1364
  "type": "object",
1298
1365
  "additionalProperties": false
1299
1366
  },
1300
- "__@search@8925": {
1367
+ "__@search@9316": {
1301
1368
  "type": "object",
1302
1369
  "additionalProperties": false
1303
1370
  },
1304
- "__@split@8927": {
1371
+ "__@split@9318": {
1305
1372
  "type": "object",
1306
1373
  "additionalProperties": false
1307
1374
  },
1308
- "__@matchAll@8929": {
1375
+ "__@matchAll@9320": {
1309
1376
  "type": "object",
1310
1377
  "additionalProperties": false
1311
1378
  }
@@ -1775,6 +1842,10 @@
1775
1842
  },
1776
1843
  "additionalProperties": false
1777
1844
  },
1845
+ "lightningcss": {
1846
+ "title": "experimental css building by [lightningcss](https://lightningcss.dev/)",
1847
+ "type": "boolean"
1848
+ },
1778
1849
  "transpilation": {
1779
1850
  "title": "experimental settings for code transpilation",
1780
1851
  "default": {},
@@ -1813,6 +1884,69 @@
1813
1884
  "type": "string"
1814
1885
  }
1815
1886
  ]
1887
+ },
1888
+ "include": {
1889
+ "cli_overridable": "",
1890
+ "title": "customize transpiling of node_modules in prod/dev environments",
1891
+ "default": "only-modern",
1892
+ "anyOf": [
1893
+ {
1894
+ "type": "array",
1895
+ "items": {
1896
+ "type": "string"
1897
+ }
1898
+ },
1899
+ {
1900
+ "type": "object",
1901
+ "properties": {
1902
+ "development": {
1903
+ "anyOf": [
1904
+ {
1905
+ "type": "array",
1906
+ "items": {
1907
+ "type": "string"
1908
+ }
1909
+ },
1910
+ {
1911
+ "enum": [
1912
+ "all",
1913
+ "none",
1914
+ "only-modern"
1915
+ ],
1916
+ "type": "string"
1917
+ }
1918
+ ]
1919
+ },
1920
+ "production": {
1921
+ "anyOf": [
1922
+ {
1923
+ "type": "array",
1924
+ "items": {
1925
+ "type": "string"
1926
+ }
1927
+ },
1928
+ {
1929
+ "enum": [
1930
+ "all",
1931
+ "none",
1932
+ "only-modern"
1933
+ ],
1934
+ "type": "string"
1935
+ }
1936
+ ]
1937
+ }
1938
+ },
1939
+ "additionalProperties": false
1940
+ },
1941
+ {
1942
+ "enum": [
1943
+ "all",
1944
+ "none",
1945
+ "only-modern"
1946
+ ],
1947
+ "type": "string"
1948
+ }
1949
+ ]
1816
1950
  }
1817
1951
  },
1818
1952
  "additionalProperties": false
@@ -2084,23 +2218,23 @@
2084
2218
  "dotAll": {
2085
2219
  "type": "boolean"
2086
2220
  },
2087
- "__@match@8920": {
2221
+ "__@match@9311": {
2088
2222
  "type": "object",
2089
2223
  "additionalProperties": false
2090
2224
  },
2091
- "__@replace@8922": {
2225
+ "__@replace@9313": {
2092
2226
  "type": "object",
2093
2227
  "additionalProperties": false
2094
2228
  },
2095
- "__@search@8925": {
2229
+ "__@search@9316": {
2096
2230
  "type": "object",
2097
2231
  "additionalProperties": false
2098
2232
  },
2099
- "__@split@8927": {
2233
+ "__@split@9318": {
2100
2234
  "type": "object",
2101
2235
  "additionalProperties": false
2102
2236
  },
2103
- "__@matchAll@8929": {
2237
+ "__@matchAll@9320": {
2104
2238
  "type": "object",
2105
2239
  "additionalProperties": false
2106
2240
  }
@@ -2570,6 +2704,10 @@
2570
2704
  },
2571
2705
  "additionalProperties": false
2572
2706
  },
2707
+ "lightningcss": {
2708
+ "title": "experimental css building by [lightningcss](https://lightningcss.dev/)",
2709
+ "type": "boolean"
2710
+ },
2573
2711
  "transpilation": {
2574
2712
  "title": "experimental settings for code transpilation",
2575
2713
  "default": {},
@@ -2608,6 +2746,69 @@
2608
2746
  "type": "string"
2609
2747
  }
2610
2748
  ]
2749
+ },
2750
+ "include": {
2751
+ "cli_overridable": "",
2752
+ "title": "customize transpiling of node_modules in prod/dev environments",
2753
+ "default": "only-modern",
2754
+ "anyOf": [
2755
+ {
2756
+ "type": "array",
2757
+ "items": {
2758
+ "type": "string"
2759
+ }
2760
+ },
2761
+ {
2762
+ "type": "object",
2763
+ "properties": {
2764
+ "development": {
2765
+ "anyOf": [
2766
+ {
2767
+ "type": "array",
2768
+ "items": {
2769
+ "type": "string"
2770
+ }
2771
+ },
2772
+ {
2773
+ "enum": [
2774
+ "all",
2775
+ "none",
2776
+ "only-modern"
2777
+ ],
2778
+ "type": "string"
2779
+ }
2780
+ ]
2781
+ },
2782
+ "production": {
2783
+ "anyOf": [
2784
+ {
2785
+ "type": "array",
2786
+ "items": {
2787
+ "type": "string"
2788
+ }
2789
+ },
2790
+ {
2791
+ "enum": [
2792
+ "all",
2793
+ "none",
2794
+ "only-modern"
2795
+ ],
2796
+ "type": "string"
2797
+ }
2798
+ ]
2799
+ }
2800
+ },
2801
+ "additionalProperties": false
2802
+ },
2803
+ {
2804
+ "enum": [
2805
+ "all",
2806
+ "none",
2807
+ "only-modern"
2808
+ ],
2809
+ "type": "string"
2810
+ }
2811
+ ]
2611
2812
  }
2612
2813
  },
2613
2814
  "additionalProperties": false
@@ -2879,23 +3080,23 @@
2879
3080
  "dotAll": {
2880
3081
  "type": "boolean"
2881
3082
  },
2882
- "__@match@8920": {
3083
+ "__@match@9311": {
2883
3084
  "type": "object",
2884
3085
  "additionalProperties": false
2885
3086
  },
2886
- "__@replace@8922": {
3087
+ "__@replace@9313": {
2887
3088
  "type": "object",
2888
3089
  "additionalProperties": false
2889
3090
  },
2890
- "__@search@8925": {
3091
+ "__@search@9316": {
2891
3092
  "type": "object",
2892
3093
  "additionalProperties": false
2893
3094
  },
2894
- "__@split@8927": {
3095
+ "__@split@9318": {
2895
3096
  "type": "object",
2896
3097
  "additionalProperties": false
2897
3098
  },
2898
- "__@matchAll@8929": {
3099
+ "__@matchAll@9320": {
2899
3100
  "type": "object",
2900
3101
  "additionalProperties": false
2901
3102
  }
@@ -105,6 +105,7 @@ describe('JSON schema для tramvai.json', () => {
105
105
  "runtimeChunk": false,
106
106
  "serverRunner": "thread",
107
107
  "transpilation": {
108
+ "include": "only-modern",
108
109
  "loader": "babel",
109
110
  },
110
111
  "viewTransitions": false,
@@ -181,6 +182,7 @@ describe('JSON schema для tramvai.json', () => {
181
182
  "minifier": "terser",
182
183
  "reactCompiler": false,
183
184
  "transpilation": {
185
+ "include": "only-modern",
184
186
  "loader": "babel",
185
187
  },
186
188
  "webpack": {
@@ -75,6 +75,12 @@ export type TranspilationExperiments = {
75
75
  * @default "babel"
76
76
  */
77
77
  loader: OverridableOption<TranspilationLoader>;
78
+
79
+ /**
80
+ * @title customize transpiling of node_modules in prod/dev environments
81
+ * @default "only-modern"
82
+ */
83
+ include?: OverridableOption<'all' | 'only-modern' | 'none' | string[]>;
78
84
  };
79
85
 
80
86
  export interface Experiments {
@@ -89,6 +95,11 @@ export interface Experiments {
89
95
  */
90
96
  minicss: MinicssExperiments;
91
97
 
98
+ /**
99
+ * @title experimental css building by [lightningcss](https://lightningcss.dev/)
100
+ */
101
+ lightningcss?: boolean;
102
+
92
103
  /**
93
104
  * @title experimental settings for code transpilation
94
105
  * @default {}
@@ -29,3 +29,18 @@ export const appBundleInfo = async (configManager: ConfigManager) => {
29
29
 
30
30
  return propOr('payload', [], response);
31
31
  };
32
+
33
+ export const appPrerenderRoutes = async (configManager: ConfigManager) => {
34
+ const { name } = configManager;
35
+
36
+ const response = await appRequest<BundleInfoResponse>(
37
+ configManager,
38
+ `/${name}/papi/prerenderRoutes`,
39
+ {
40
+ timeout: 5000,
41
+ retry: 3,
42
+ }
43
+ );
44
+
45
+ return propOr('payload', [], response);
46
+ };
@@ -1,3 +0,0 @@
1
- import type { Provider } from '@tinkoff/dippy';
2
- export declare const sharedProviders: readonly Provider[];
3
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/api/analyze/providers/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAU/C,eAAO,MAAM,eAAe,EAAE,SAAS,QAAQ,EAe9C,CAAC"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sharedProviders = void 0;
4
- const dippy_1 = require("@tinkoff/dippy");
5
- const tokens_1 = require("../../../di/tokens");
6
- const configManager_1 = require("../../../config/configManager");
7
- exports.sharedProviders = [
8
- (0, dippy_1.provide)({
9
- provide: tokens_1.CONFIG_MANAGER_TOKEN,
10
- useFactory: ({ configEntry, parameters }) => {
11
- return (0, configManager_1.createConfigManager)(configEntry, {
12
- ...parameters,
13
- env: 'production',
14
- buildType: 'client',
15
- });
16
- },
17
- deps: {
18
- configEntry: tokens_1.CONFIG_ENTRY_TOKEN,
19
- parameters: tokens_1.COMMAND_PARAMETERS_TOKEN,
20
- },
21
- }),
22
- ];
23
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../src/api/analyze/providers/shared.ts"],"names":[],"mappings":";;;AACA,0CAAyC;AACzC,+CAI4B;AAC5B,iEAAoE;AAGvD,QAAA,eAAe,GAAwB;IAClD,IAAA,eAAO,EAAC;QACN,OAAO,EAAE,6BAAoB;QAC7B,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,EAAE,EAAE;YAC1C,OAAO,IAAA,mCAAmB,EAAC,WAA6B,EAAE;gBACxD,GAAG,UAAU;gBACb,GAAG,EAAE,YAAY;gBACjB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE;YACJ,WAAW,EAAE,2BAAkB;YAC/B,UAAU,EAAE,iCAAwB;SACrC;KACF,CAAC;CACH,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { Provider } from '@tinkoff/dippy';
2
- export declare const analyzeSharedProviders: Provider[];
3
- //# sourceMappingURL=shared.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/analyze/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAoC/C,eAAO,MAAM,sBAAsB,EAAE,QAAQ,EAuH5C,CAAC"}
@@ -1,137 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.analyzeSharedProviders = void 0;
4
- const tslib_1 = require("tslib");
5
- const dippy_1 = require("@tinkoff/dippy");
6
- const chalk_1 = tslib_1.__importDefault(require("chalk"));
7
- const rimraf_1 = tslib_1.__importDefault(require("rimraf"));
8
- const webpack_1 = tslib_1.__importDefault(require("webpack"));
9
- const tokens_1 = require("../../../../di/tokens");
10
- const toWebpackConfig_1 = require("../../../../library/webpack/utils/toWebpackConfig");
11
- const npmRequire_1 = require("../../../../utils/npmRequire");
12
- const tokens_2 = require("../../tokens");
13
- const runWebpack_1 = require("../../utils/runWebpack");
14
- const pluginMap = {
15
- bundle: () => require('../../analyzePlugins/bundle').BundleAnalyzePlugin,
16
- whybundled: () => require('../../analyzePlugins/whyBundled').WhyBundledAnalyzePlugin,
17
- statoscope: () => require('../../analyzePlugins/statoscope').StatoscopeAnalyzePlugin,
18
- rsdoctor: () => require('../../analyzePlugins/rsdoctor').RsdoctorAnalyzePlugin,
19
- };
20
- exports.analyzeSharedProviders = [
21
- (0, dippy_1.provide)({
22
- provide: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
23
- useFactory: ({ pluginName }) => {
24
- const PluginClass = pluginMap[pluginName]();
25
- if (!PluginClass) {
26
- throw new Error('Set correct plugin option');
27
- }
28
- return new PluginClass();
29
- },
30
- deps: {
31
- pluginName: tokens_2.WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
32
- },
33
- }),
34
- (0, dippy_1.provide)({
35
- provide: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
36
- useFactory: ({ configManager }) => {
37
- return configManager.withSettings({
38
- buildType: 'client',
39
- });
40
- },
41
- deps: {
42
- configManager: tokens_1.CONFIG_MANAGER_TOKEN,
43
- },
44
- }),
45
- (0, dippy_1.provide)({
46
- provide: tokens_2.WEBPACK_CLIENT_COMPILER_TOKEN,
47
- useFactory: ({ webpackConfig, analyzePlugin }) => {
48
- return (0, webpack_1.default)((0, toWebpackConfig_1.toWebpackConfig)(analyzePlugin.patchConfig(webpackConfig)));
49
- },
50
- deps: {
51
- webpackConfig: tokens_2.WEBPACK_CLIENT_CONFIG_TOKEN,
52
- analyzePlugin: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
53
- },
54
- }),
55
- (0, dippy_1.provide)({
56
- provide: tokens_2.INIT_HANDLER_TOKEN,
57
- multi: true,
58
- useFactory: ({ configManager }) => {
59
- return function clearBuildDir() {
60
- return rimraf_1.default.sync(`${configManager.buildPath}/**`, {});
61
- };
62
- },
63
- deps: {
64
- configManager: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
65
- },
66
- }),
67
- (0, dippy_1.provide)({
68
- provide: tokens_2.INIT_HANDLER_TOKEN,
69
- multi: true,
70
- useFactory: ({ configManager, rootDir, packageManager }) => {
71
- return async function prepareImageOptimization() {
72
- if (configManager.imageOptimization?.enabled) {
73
- await (0, npmRequire_1.npmRequire)({
74
- cliRootDir: rootDir,
75
- packageManager,
76
- packageName: 'image-webpack-loader',
77
- description: 'Устанавливаем зависимости для опции imageOptimization',
78
- });
79
- }
80
- };
81
- },
82
- deps: {
83
- configManager: tokens_2.CLIENT_CONFIG_MANAGER_TOKEN,
84
- rootDir: tokens_1.CLI_ROOT_DIR_TOKEN,
85
- packageManager: tokens_1.CLI_PACKAGE_MANAGER,
86
- },
87
- }),
88
- (0, dippy_1.provide)({
89
- provide: tokens_2.INIT_HANDLER_TOKEN,
90
- multi: true,
91
- useFactory: ({ analyzePlugin, rootDir, packageManager }) => {
92
- const { requireDeps } = analyzePlugin;
93
- return async () => {
94
- if (requireDeps) {
95
- await (0, npmRequire_1.npmRequireList)({
96
- cliRootDir: rootDir,
97
- packageManager,
98
- dependencies: requireDeps,
99
- description: 'Install dependencies for the analyze command',
100
- });
101
- }
102
- };
103
- },
104
- deps: {
105
- analyzePlugin: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
106
- rootDir: tokens_1.CLI_ROOT_DIR_TOKEN,
107
- packageManager: tokens_1.CLI_PACKAGE_MANAGER,
108
- },
109
- }),
110
- (0, dippy_1.provide)({
111
- provide: tokens_2.PROCESS_HANDLER_TOKEN,
112
- multi: true,
113
- useFactory: ({ webpackCompiler, configManager }) => {
114
- return function webpackBuild() {
115
- console.log(chalk_1.default.green('Starting build with analyze tool'));
116
- return (0, runWebpack_1.runWebpack)(webpackCompiler, { verboseWebpack: configManager.verboseWebpack });
117
- };
118
- },
119
- deps: {
120
- webpackCompiler: tokens_2.WEBPACK_CLIENT_COMPILER_TOKEN,
121
- configManager: tokens_1.CONFIG_MANAGER_TOKEN,
122
- },
123
- }),
124
- (0, dippy_1.provide)({
125
- provide: tokens_2.CLOSE_HANDLER_TOKEN,
126
- multi: true,
127
- useFactory: ({ analyzePlugin }) => {
128
- return () => {
129
- return analyzePlugin.afterBuild();
130
- };
131
- },
132
- deps: {
133
- analyzePlugin: tokens_2.WEBPACK_ANALYZE_PLUGIN_TOKEN,
134
- },
135
- }),
136
- ];
137
- //# sourceMappingURL=shared.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../../../src/builder/webpack/providers/analyze/shared.ts"],"names":[],"mappings":"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"}