@tramvai/cli 6.68.4 → 6.77.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.
Files changed (118) 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 +2 -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 +1 -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 +23 -9
  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/schema/autogeneratedSchema.json +204 -15
  73. package/lib/typings/configEntry/cli.d.ts +5 -0
  74. package/lib/typings/configEntry/cli.d.ts.map +1 -1
  75. package/lib/utils/dev-app/request.d.ts +1 -0
  76. package/lib/utils/dev-app/request.d.ts.map +1 -1
  77. package/lib/utils/dev-app/request.js +10 -1
  78. package/lib/utils/dev-app/request.js.map +1 -1
  79. package/package.json +37 -37
  80. package/schema.json +204 -15
  81. package/src/api/analyze/index.ts +3 -16
  82. package/src/api/index.ts +1 -1
  83. package/src/api/start/application.experimental.ts +14 -0
  84. package/src/api/start/index.ts +1 -0
  85. package/src/builder/webpack/analyzePlugins/rsdoctor.ts +6 -3
  86. package/src/builder/webpack/index.ts +16 -21
  87. package/src/builder/webpack/providers/build/client.ts +7 -2
  88. package/src/builder/webpack/providers/build/server.ts +7 -2
  89. package/src/builder/webpack/providers/shared.ts +45 -1
  90. package/src/builder/webpack/providers/start/shared.ts +7 -2
  91. package/src/cli/index.ts +3 -2
  92. package/src/commands/analyze/command.ts +1 -1
  93. package/src/commands/build/command.ts +6 -0
  94. package/src/commands/new/steps/installDependencies.ts +3 -4
  95. package/src/commands/new/templates/app/block/shared/header/Header.spec.tsx.hbs +7 -5
  96. package/src/commands/new/templates/shared/package.json.hbs +1 -1
  97. package/src/commands/start/command.ts +6 -0
  98. package/src/commands/static/application.ts +11 -4
  99. package/src/commands/static/generate.ts +19 -12
  100. package/src/config/configManager.ts +2 -0
  101. package/src/library/webpack/blocks/css.ts +24 -8
  102. package/src/library/webpack/blocks/js.ts +59 -12
  103. package/src/library/webpack/common/main.ts +6 -2
  104. package/src/models/config.spec.ts +4 -0
  105. package/src/schema/autogeneratedSchema.json +204 -15
  106. package/src/schema/tramvai.spec.ts +2 -0
  107. package/src/typings/configEntry/cli.ts +6 -0
  108. package/src/utils/dev-app/request.ts +15 -0
  109. package/lib/api/analyze/providers/shared.d.ts +0 -3
  110. package/lib/api/analyze/providers/shared.d.ts.map +0 -1
  111. package/lib/api/analyze/providers/shared.js +0 -23
  112. package/lib/api/analyze/providers/shared.js.map +0 -1
  113. package/lib/builder/webpack/providers/analyze/shared.d.ts +0 -3
  114. package/lib/builder/webpack/providers/analyze/shared.d.ts.map +0 -1
  115. package/lib/builder/webpack/providers/analyze/shared.js +0 -137
  116. package/lib/builder/webpack/providers/analyze/shared.js.map +0 -1
  117. package/src/api/analyze/providers/shared.ts +0 -26
  118. package/src/builder/webpack/providers/analyze/shared.ts +0 -156
@@ -1,156 +0,0 @@
1
- import type { Provider } from '@tinkoff/dippy';
2
- import { provide } from '@tinkoff/dippy';
3
- import chalk from 'chalk';
4
- import rimraf from 'rimraf';
5
- import webpack from 'webpack';
6
- import {
7
- CLI_PACKAGE_MANAGER,
8
- CLI_ROOT_DIR_TOKEN,
9
- CONFIG_MANAGER_TOKEN,
10
- } from '../../../../di/tokens';
11
- import { toWebpackConfig } from '../../../../library/webpack/utils/toWebpackConfig';
12
- import { npmRequire, npmRequireList } from '../../../../utils/npmRequire';
13
- import {
14
- CLIENT_CONFIG_MANAGER_TOKEN,
15
- INIT_HANDLER_TOKEN,
16
- CLOSE_HANDLER_TOKEN,
17
- PROCESS_HANDLER_TOKEN,
18
- WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
19
- WEBPACK_ANALYZE_PLUGIN_TOKEN,
20
- WEBPACK_CLIENT_COMPILER_TOKEN,
21
- WEBPACK_CLIENT_CONFIG_TOKEN,
22
- } from '../../tokens';
23
- import type { AnalyzePlugin } from '../../types';
24
- import { runWebpack } from '../../utils/runWebpack';
25
-
26
- interface Type<T> extends Function {
27
- new (...args: any[]): T;
28
- }
29
-
30
- const pluginMap: Record<string, () => Type<AnalyzePlugin>> = {
31
- bundle: () => require('../../analyzePlugins/bundle').BundleAnalyzePlugin,
32
- whybundled: () => require('../../analyzePlugins/whyBundled').WhyBundledAnalyzePlugin,
33
- statoscope: () => require('../../analyzePlugins/statoscope').StatoscopeAnalyzePlugin,
34
- rsdoctor: () => require('../../analyzePlugins/rsdoctor').RsdoctorAnalyzePlugin,
35
- };
36
-
37
- export const analyzeSharedProviders: Provider[] = [
38
- provide({
39
- provide: WEBPACK_ANALYZE_PLUGIN_TOKEN,
40
- useFactory: ({ pluginName }) => {
41
- const PluginClass = pluginMap[pluginName]();
42
-
43
- if (!PluginClass) {
44
- throw new Error('Set correct plugin option');
45
- }
46
-
47
- return new PluginClass();
48
- },
49
- deps: {
50
- pluginName: WEBPACK_ANALYZE_PLUGIN_NAME_TOKEN,
51
- },
52
- }),
53
- provide({
54
- provide: CLIENT_CONFIG_MANAGER_TOKEN,
55
- useFactory: ({ configManager }) => {
56
- return configManager.withSettings({
57
- buildType: 'client',
58
- });
59
- },
60
- deps: {
61
- configManager: CONFIG_MANAGER_TOKEN,
62
- },
63
- }),
64
- provide({
65
- provide: WEBPACK_CLIENT_COMPILER_TOKEN,
66
- useFactory: ({ webpackConfig, analyzePlugin }) => {
67
- return webpack(toWebpackConfig(analyzePlugin.patchConfig(webpackConfig)));
68
- },
69
- deps: {
70
- webpackConfig: WEBPACK_CLIENT_CONFIG_TOKEN,
71
- analyzePlugin: WEBPACK_ANALYZE_PLUGIN_TOKEN,
72
- },
73
- }),
74
- provide({
75
- provide: INIT_HANDLER_TOKEN,
76
- multi: true,
77
- useFactory: ({ configManager }) => {
78
- return function clearBuildDir() {
79
- return rimraf.sync(`${configManager.buildPath}/**`, {});
80
- };
81
- },
82
- deps: {
83
- configManager: CLIENT_CONFIG_MANAGER_TOKEN,
84
- },
85
- }),
86
- provide({
87
- provide: INIT_HANDLER_TOKEN,
88
- multi: true,
89
- useFactory: ({ configManager, rootDir, packageManager }) => {
90
- return async function prepareImageOptimization() {
91
- if (configManager.imageOptimization?.enabled) {
92
- await npmRequire({
93
- cliRootDir: rootDir,
94
- packageManager,
95
- packageName: 'image-webpack-loader',
96
- description: 'Устанавливаем зависимости для опции imageOptimization',
97
- });
98
- }
99
- };
100
- },
101
- deps: {
102
- configManager: CLIENT_CONFIG_MANAGER_TOKEN,
103
- rootDir: CLI_ROOT_DIR_TOKEN,
104
- packageManager: CLI_PACKAGE_MANAGER,
105
- },
106
- }),
107
- provide({
108
- provide: INIT_HANDLER_TOKEN,
109
- multi: true,
110
- useFactory: ({ analyzePlugin, rootDir, packageManager }) => {
111
- const { requireDeps } = analyzePlugin;
112
-
113
- return async () => {
114
- if (requireDeps) {
115
- await npmRequireList({
116
- cliRootDir: rootDir,
117
- packageManager,
118
- dependencies: requireDeps,
119
- description: 'Install dependencies for the analyze command',
120
- });
121
- }
122
- };
123
- },
124
- deps: {
125
- analyzePlugin: WEBPACK_ANALYZE_PLUGIN_TOKEN,
126
- rootDir: CLI_ROOT_DIR_TOKEN,
127
- packageManager: CLI_PACKAGE_MANAGER,
128
- },
129
- }),
130
- provide({
131
- provide: PROCESS_HANDLER_TOKEN,
132
- multi: true,
133
- useFactory: ({ webpackCompiler, configManager }) => {
134
- return function webpackBuild() {
135
- console.log(chalk.green('Starting build with analyze tool'));
136
- return runWebpack(webpackCompiler, { verboseWebpack: configManager.verboseWebpack });
137
- };
138
- },
139
- deps: {
140
- webpackCompiler: WEBPACK_CLIENT_COMPILER_TOKEN,
141
- configManager: CONFIG_MANAGER_TOKEN,
142
- },
143
- }),
144
- provide({
145
- provide: CLOSE_HANDLER_TOKEN,
146
- multi: true,
147
- useFactory: ({ analyzePlugin }) => {
148
- return () => {
149
- return analyzePlugin.afterBuild();
150
- };
151
- },
152
- deps: {
153
- analyzePlugin: WEBPACK_ANALYZE_PLUGIN_TOKEN,
154
- },
155
- }),
156
- ];