@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,26 +0,0 @@
1
- import type { Provider } from '@tinkoff/dippy';
2
- import { provide } from '@tinkoff/dippy';
3
- import {
4
- CONFIG_MANAGER_TOKEN,
5
- COMMAND_PARAMETERS_TOKEN,
6
- CONFIG_ENTRY_TOKEN,
7
- } from '../../../di/tokens';
8
- import { createConfigManager } from '../../../config/configManager';
9
- import type { CliConfigEntry } from '../../../typings/configEntry/cli';
10
-
11
- export const sharedProviders: readonly Provider[] = [
12
- provide({
13
- provide: CONFIG_MANAGER_TOKEN,
14
- useFactory: ({ configEntry, parameters }) => {
15
- return createConfigManager(configEntry as CliConfigEntry, {
16
- ...parameters,
17
- env: 'production',
18
- buildType: 'client',
19
- });
20
- },
21
- deps: {
22
- configEntry: CONFIG_ENTRY_TOKEN,
23
- parameters: COMMAND_PARAMETERS_TOKEN,
24
- },
25
- }),
26
- ];
@@ -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
- ];