@tramvai/cli 5.50.0 → 5.53.78

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 (423) hide show
  1. package/__migrations__/d2023-02-01b-tramvai-config-refactoring.js +78 -80
  2. package/__migrations__/d2025-04-11b-tramvai-config-remove-modern.js +13 -0
  3. package/bin/spawn.js +69 -3
  4. package/lib/api/analyze/index.d.ts +0 -1
  5. package/lib/api/analyze/index.d.ts.map +1 -1
  6. package/lib/api/analyze/index.js +2 -2
  7. package/lib/api/analyze/index.js.map +1 -1
  8. package/lib/api/build/application.d.ts.map +1 -1
  9. package/lib/api/build/application.js +2 -5
  10. package/lib/api/build/application.js.map +1 -1
  11. package/lib/api/build/child-app.d.ts.map +1 -1
  12. package/lib/api/build/child-app.js +1 -5
  13. package/lib/api/build/child-app.js.map +1 -1
  14. package/lib/api/build/index.d.ts +0 -2
  15. package/lib/api/build/index.d.ts.map +1 -1
  16. package/lib/api/build/index.js.map +1 -1
  17. package/lib/api/build/module.d.ts.map +1 -1
  18. package/lib/api/build/module.js +1 -3
  19. package/lib/api/build/module.js.map +1 -1
  20. package/lib/api/index.d.ts.map +1 -1
  21. package/lib/api/index.js +0 -4
  22. package/lib/api/index.js.map +1 -1
  23. package/lib/api/start/index.d.ts +0 -1
  24. package/lib/api/start/index.d.ts.map +1 -1
  25. package/lib/api/start/index.js.map +1 -1
  26. package/lib/api/start/utils/banner.d.ts.map +1 -1
  27. package/lib/api/start/utils/banner.js +0 -1
  28. package/lib/api/start/utils/banner.js.map +1 -1
  29. package/lib/api/start/utils/tips/tips.d.ts.map +1 -1
  30. package/lib/api/start/utils/tips/tips.js +0 -8
  31. package/lib/api/start/utils/tips/tips.js.map +1 -1
  32. package/lib/builder/webpack/devServer/pool/process/pool.d.ts.map +1 -1
  33. package/lib/builder/webpack/devServer/pool/process/pool.js +0 -2
  34. package/lib/builder/webpack/devServer/pool/process/pool.js.map +1 -1
  35. package/lib/builder/webpack/devServer/server.d.ts.map +1 -1
  36. package/lib/builder/webpack/devServer/server.js +4 -0
  37. package/lib/builder/webpack/devServer/server.js.map +1 -1
  38. package/lib/builder/webpack/index.d.ts.map +1 -1
  39. package/lib/builder/webpack/index.js +3 -5
  40. package/lib/builder/webpack/index.js.map +1 -1
  41. package/lib/builder/webpack/providers/build/client.d.ts.map +1 -1
  42. package/lib/builder/webpack/providers/build/client.js +0 -1
  43. package/lib/builder/webpack/providers/build/client.js.map +1 -1
  44. package/lib/builder/webpack/providers/build/clientShared.d.ts.map +1 -1
  45. package/lib/builder/webpack/providers/build/clientShared.js +4 -6
  46. package/lib/builder/webpack/providers/build/clientShared.js.map +1 -1
  47. package/lib/builder/webpack/providers/client.d.ts.map +1 -1
  48. package/lib/builder/webpack/providers/client.js +0 -13
  49. package/lib/builder/webpack/providers/client.js.map +1 -1
  50. package/lib/builder/webpack/providers/shared.d.ts.map +1 -1
  51. package/lib/builder/webpack/providers/shared.js +2 -8
  52. package/lib/builder/webpack/providers/shared.js.map +1 -1
  53. package/lib/builder/webpack/tokens.d.ts +4 -139
  54. package/lib/builder/webpack/tokens.d.ts.map +1 -1
  55. package/lib/builder/webpack/tokens.js +1 -4
  56. package/lib/builder/webpack/tokens.js.map +1 -1
  57. package/lib/builder/webpack/utils/copyStatsJsonFile.d.ts.map +1 -1
  58. package/lib/builder/webpack/utils/copyStatsJsonFile.js +0 -11
  59. package/lib/builder/webpack/utils/copyStatsJsonFile.js.map +1 -1
  60. package/lib/cli/CLI.d.ts +2 -2
  61. package/lib/cli/CLI.d.ts.map +1 -1
  62. package/lib/cli/CLI.js +2 -2
  63. package/lib/cli/CLI.js.map +1 -1
  64. package/lib/cli/index.d.ts.map +1 -1
  65. package/lib/cli/index.js +28 -7
  66. package/lib/cli/index.js.map +1 -1
  67. package/lib/cli/runCLI.d.ts +3 -0
  68. package/lib/cli/runCLI.d.ts.map +1 -1
  69. package/lib/cli/runCLI.js +18 -6
  70. package/lib/cli/runCLI.js.map +1 -1
  71. package/lib/commands/build/command.d.ts +1 -1
  72. package/lib/commands/build/command.d.ts.map +1 -1
  73. package/lib/commands/build/command.js +41 -13
  74. package/lib/commands/build/command.js.map +1 -1
  75. package/lib/commands/createApp.d.ts.map +1 -1
  76. package/lib/commands/createApp.js +0 -1
  77. package/lib/commands/createApp.js.map +1 -1
  78. package/lib/commands/new/new.d.ts.map +1 -1
  79. package/lib/commands/new/new.js +28 -3
  80. package/lib/commands/new/new.js.map +1 -1
  81. package/lib/commands/start/command.d.ts +1 -1
  82. package/lib/commands/start/command.d.ts.map +1 -1
  83. package/lib/commands/start/command.js +39 -7
  84. package/lib/commands/start/command.js.map +1 -1
  85. package/lib/commands/start/start.d.ts +1 -1
  86. package/lib/commands/start/start.d.ts.map +1 -1
  87. package/lib/commands/start/start.js +2 -1
  88. package/lib/commands/start/start.js.map +1 -1
  89. package/lib/commands/static/application.d.ts.map +1 -1
  90. package/lib/commands/static/application.js +0 -1
  91. package/lib/commands/static/application.js.map +1 -1
  92. package/lib/commands/update/command.d.ts +6 -1
  93. package/lib/commands/update/command.d.ts.map +1 -1
  94. package/lib/commands/update/command.js +8 -1
  95. package/lib/commands/update/command.js.map +1 -1
  96. package/lib/commands/update/dependantLibs.d.ts +2 -1
  97. package/lib/commands/update/dependantLibs.d.ts.map +1 -1
  98. package/lib/commands/update/dependantLibs.js +17 -4
  99. package/lib/commands/update/dependantLibs.js.map +1 -1
  100. package/lib/commands/update/update.d.ts +2 -1
  101. package/lib/commands/update/update.d.ts.map +1 -1
  102. package/lib/commands/update/update.js +6 -6
  103. package/lib/commands/update/update.js.map +1 -1
  104. package/lib/commands/update/updatePackageJson.d.ts +1 -1
  105. package/lib/commands/update/updatePackageJson.d.ts.map +1 -1
  106. package/lib/commands/update/updatePackageJson.js +10 -14
  107. package/lib/commands/update/updatePackageJson.js.map +1 -1
  108. package/lib/config/configManager.d.ts +0 -1
  109. package/lib/config/configManager.d.ts.map +1 -1
  110. package/lib/config/configManager.js +2 -17
  111. package/lib/config/configManager.js.map +1 -1
  112. package/lib/config/validate.d.ts.map +1 -1
  113. package/lib/config/validate.js +8 -1
  114. package/lib/config/validate.js.map +1 -1
  115. package/lib/di/providers/index.d.ts +0 -1
  116. package/lib/di/providers/index.d.ts.map +1 -1
  117. package/lib/di/providers/index.js +0 -1
  118. package/lib/di/providers/index.js.map +1 -1
  119. package/lib/di/tokens/config.d.ts +2 -0
  120. package/lib/di/tokens/config.d.ts.map +1 -1
  121. package/lib/di/tokens/index.d.ts +0 -1
  122. package/lib/di/tokens/index.d.ts.map +1 -1
  123. package/lib/di/tokens/index.js +0 -1
  124. package/lib/di/tokens/index.js.map +1 -1
  125. package/lib/library/babel/index.d.ts +0 -44
  126. package/lib/library/babel/index.d.ts.map +1 -1
  127. package/lib/library/babel/index.js +6 -13
  128. package/lib/library/babel/index.js.map +1 -1
  129. package/lib/library/swc/index.js +1 -1
  130. package/lib/library/swc/index.js.map +1 -1
  131. package/lib/library/typescript/index.d.ts +0 -23
  132. package/lib/library/typescript/index.d.ts.map +1 -1
  133. package/lib/library/typescript/index.js +1 -2
  134. package/lib/library/typescript/index.js.map +1 -1
  135. package/lib/library/webpack/application/client/common.d.ts.map +1 -1
  136. package/lib/library/webpack/application/client/common.js +40 -6
  137. package/lib/library/webpack/application/client/common.js.map +1 -1
  138. package/lib/library/webpack/application/client/dev.js +2 -2
  139. package/lib/library/webpack/application/client/dev.js.map +1 -1
  140. package/lib/library/webpack/application/client/prod.d.ts.map +1 -1
  141. package/lib/library/webpack/application/client/prod.js +1 -2
  142. package/lib/library/webpack/application/client/prod.js.map +1 -1
  143. package/lib/library/webpack/application/common.js +1 -1
  144. package/lib/library/webpack/application/common.js.map +1 -1
  145. package/lib/library/webpack/application/server/common.js +1 -1
  146. package/lib/library/webpack/application/server/common.js.map +1 -1
  147. package/lib/library/webpack/application/server/dev.js +1 -1
  148. package/lib/library/webpack/application/server/dev.js.map +1 -1
  149. package/lib/library/webpack/application/server/prod.js +1 -1
  150. package/lib/library/webpack/application/server/prod.js.map +1 -1
  151. package/lib/library/webpack/blocks/css.d.ts.map +1 -1
  152. package/lib/library/webpack/blocks/css.js +15 -11
  153. package/lib/library/webpack/blocks/css.js.map +1 -1
  154. package/lib/library/webpack/blocks/optimize.js +2 -2
  155. package/lib/library/webpack/blocks/optimize.js.map +1 -1
  156. package/lib/library/webpack/blocks/pwa/client.d.ts.map +1 -1
  157. package/lib/library/webpack/blocks/pwa/client.js +2 -5
  158. package/lib/library/webpack/blocks/pwa/client.js.map +1 -1
  159. package/lib/library/webpack/blocks/pwa/shared.d.ts.map +1 -1
  160. package/lib/library/webpack/blocks/pwa/shared.js +2 -3
  161. package/lib/library/webpack/blocks/pwa/shared.js.map +1 -1
  162. package/lib/library/webpack/blocks/resolve.js +2 -2
  163. package/lib/library/webpack/blocks/resolve.js.map +1 -1
  164. package/lib/library/webpack/blocks/serverInline.d.ts.map +1 -1
  165. package/lib/library/webpack/blocks/serverInline.js +1 -2
  166. package/lib/library/webpack/blocks/serverInline.js.map +1 -1
  167. package/lib/library/webpack/blocks/sourcemaps.d.ts +1 -1
  168. package/lib/library/webpack/blocks/sourcemaps.d.ts.map +1 -1
  169. package/lib/library/webpack/blocks/sourcemaps.js +4 -2
  170. package/lib/library/webpack/blocks/sourcemaps.js.map +1 -1
  171. package/lib/library/webpack/child-app/client/common.d.ts.map +1 -1
  172. package/lib/library/webpack/child-app/client/common.js +8 -3
  173. package/lib/library/webpack/child-app/client/common.js.map +1 -1
  174. package/lib/library/webpack/child-app/client/dev.d.ts.map +1 -1
  175. package/lib/library/webpack/child-app/client/dev.js +5 -1
  176. package/lib/library/webpack/child-app/client/dev.js.map +1 -1
  177. package/lib/library/webpack/child-app/client/prod.d.ts.map +1 -1
  178. package/lib/library/webpack/child-app/client/prod.js +4 -0
  179. package/lib/library/webpack/child-app/client/prod.js.map +1 -1
  180. package/lib/library/webpack/child-app/common.d.ts.map +1 -1
  181. package/lib/library/webpack/child-app/common.js +1 -5
  182. package/lib/library/webpack/child-app/common.js.map +1 -1
  183. package/lib/library/webpack/child-app/server/dev.d.ts.map +1 -1
  184. package/lib/library/webpack/child-app/server/dev.js +4 -0
  185. package/lib/library/webpack/child-app/server/dev.js.map +1 -1
  186. package/lib/library/webpack/child-app/server/prod.d.ts.map +1 -1
  187. package/lib/library/webpack/child-app/server/prod.js +4 -0
  188. package/lib/library/webpack/child-app/server/prod.js.map +1 -1
  189. package/lib/library/webpack/common/client/prod.js +1 -1
  190. package/lib/library/webpack/common/client/prod.js.map +1 -1
  191. package/lib/library/webpack/common/main.d.ts.map +1 -1
  192. package/lib/library/webpack/common/main.js +1 -2
  193. package/lib/library/webpack/common/main.js.map +1 -1
  194. package/lib/library/webpack/constants/stats.d.ts.map +1 -1
  195. package/lib/library/webpack/constants/stats.js +2 -0
  196. package/lib/library/webpack/constants/stats.js.map +1 -1
  197. package/lib/library/webpack/loaders/image-loader/getImageMiniatureURL.js +1 -1
  198. package/lib/library/webpack/loaders/image-loader/getImageMiniatureURL.js.map +1 -1
  199. package/lib/library/webpack/module/client/common.js +1 -1
  200. package/lib/library/webpack/module/client/common.js.map +1 -1
  201. package/lib/library/webpack/module/externals.js +1 -1
  202. package/lib/library/webpack/module/externals.js.map +1 -1
  203. package/lib/library/webpack/module/server/common.js +1 -1
  204. package/lib/library/webpack/module/server/common.js.map +1 -1
  205. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.d.ts +8 -0
  206. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.d.ts.map +1 -0
  207. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.js +29 -0
  208. package/lib/library/webpack/plugins/AssetsIntegritiesPlugin.js.map +1 -0
  209. package/lib/library/webpack/plugins/PurifyStatsPlugin.d.ts +15 -0
  210. package/lib/library/webpack/plugins/PurifyStatsPlugin.d.ts.map +1 -0
  211. package/lib/library/webpack/plugins/PurifyStatsPlugin.js +47 -0
  212. package/lib/library/webpack/plugins/PurifyStatsPlugin.js.map +1 -0
  213. package/lib/library/webpack/plugins/RuntimePathPlugin.d.ts.map +1 -1
  214. package/lib/library/webpack/plugins/RuntimePathPlugin.js +7 -3
  215. package/lib/library/webpack/plugins/RuntimePathPlugin.js.map +1 -1
  216. package/lib/library/webpack/utils/transpiler.d.ts +0 -1
  217. package/lib/library/webpack/utils/transpiler.d.ts.map +1 -1
  218. package/lib/library/webpack/utils/transpiler.js +1 -5
  219. package/lib/library/webpack/utils/transpiler.js.map +1 -1
  220. package/lib/models/analytics/analytics.d.ts +156 -0
  221. package/lib/models/analytics/analytics.d.ts.map +1 -0
  222. package/lib/models/analytics/analytics.js +259 -0
  223. package/lib/models/analytics/analytics.js.map +1 -0
  224. package/lib/models/analytics/analytics.worker.d.ts +5 -0
  225. package/lib/models/analytics/analytics.worker.d.ts.map +1 -0
  226. package/lib/models/analytics/analytics.worker.js +87 -0
  227. package/lib/models/analytics/analytics.worker.js.map +1 -0
  228. package/lib/models/analytics/utils.d.ts +15 -0
  229. package/lib/models/analytics/utils.d.ts.map +1 -0
  230. package/lib/models/analytics/utils.js +85 -0
  231. package/lib/models/analytics/utils.js.map +1 -0
  232. package/lib/models/command.d.ts.map +1 -1
  233. package/lib/models/command.js +1 -7
  234. package/lib/models/command.js.map +1 -1
  235. package/lib/models/context.d.ts +4 -4
  236. package/lib/models/context.d.ts.map +1 -1
  237. package/lib/models/context.js +3 -2
  238. package/lib/models/context.js.map +1 -1
  239. package/lib/models/logger.d.ts +1 -0
  240. package/lib/models/logger.d.ts.map +1 -1
  241. package/lib/models/logger.js +2 -1
  242. package/lib/models/logger.js.map +1 -1
  243. package/lib/models/task.d.ts.map +1 -1
  244. package/lib/models/task.js +1 -7
  245. package/lib/models/task.js.map +1 -1
  246. package/lib/schema/autogeneratedSchema.json +161 -20
  247. package/lib/schema/topLevelSchema.d.ts +14 -0
  248. package/lib/schema/topLevelSchema.d.ts.map +1 -1
  249. package/lib/schema/topLevelSchema.js +14 -0
  250. package/lib/schema/topLevelSchema.js.map +1 -1
  251. package/lib/typings/build/Builder.d.ts +2 -6
  252. package/lib/typings/build/Builder.d.ts.map +1 -1
  253. package/lib/typings/configEntry/application.d.ts +10 -5
  254. package/lib/typings/configEntry/application.d.ts.map +1 -1
  255. package/lib/typings/configEntry/cli.d.ts +13 -0
  256. package/lib/typings/configEntry/cli.d.ts.map +1 -1
  257. package/lib/typings/projectType.d.ts +5 -0
  258. package/lib/typings/projectType.d.ts.map +1 -1
  259. package/lib/typings/target.d.ts +1 -1
  260. package/lib/typings/target.d.ts.map +1 -1
  261. package/lib/utils/commands/dependencies/findTramvaiVersion.d.ts +1 -1
  262. package/lib/utils/commands/dependencies/findTramvaiVersion.d.ts.map +1 -1
  263. package/lib/utils/commands/dependencies/findTramvaiVersion.js +4 -11
  264. package/lib/utils/commands/dependencies/findTramvaiVersion.js.map +1 -1
  265. package/lib/utils/commands/dependencies/getLatestPackageVersion.d.ts +1 -1
  266. package/lib/utils/commands/dependencies/getLatestPackageVersion.d.ts.map +1 -1
  267. package/lib/utils/commands/dependencies/getLatestPackageVersion.js +7 -3
  268. package/lib/utils/commands/dependencies/getLatestPackageVersion.js.map +1 -1
  269. package/lib/utils/cpu-profile.d.ts +3 -0
  270. package/lib/utils/cpu-profile.d.ts.map +1 -1
  271. package/lib/utils/cpu-profile.js +8 -3
  272. package/lib/utils/cpu-profile.js.map +1 -1
  273. package/lib/utils/errors.d.ts +7 -0
  274. package/lib/utils/errors.d.ts.map +1 -0
  275. package/lib/utils/errors.js +43 -0
  276. package/lib/utils/errors.js.map +1 -0
  277. package/lib/utils/memoryUsage.d.ts +20 -0
  278. package/lib/utils/memoryUsage.d.ts.map +1 -0
  279. package/lib/utils/memoryUsage.js +51 -0
  280. package/lib/utils/memoryUsage.js.map +1 -0
  281. package/lib/utils/safeRequire.d.ts +1 -1
  282. package/lib/utils/safeRequire.d.ts.map +1 -1
  283. package/lib/utils/safeRequire.js +13 -3
  284. package/lib/utils/safeRequire.js.map +1 -1
  285. package/package.json +13 -15
  286. package/schema.json +175 -20
  287. package/src/api/analyze/index.ts +2 -3
  288. package/src/api/benchmark/__integration__/__fixtures__/tramvai.json +3 -0
  289. package/src/api/build/__integration__/__fixtures__/tramvai.json +4 -2
  290. package/src/api/build/__integration__/build.test.ts +0 -1
  291. package/src/api/build/application.ts +2 -5
  292. package/src/api/build/child-app.ts +1 -5
  293. package/src/api/build/index.ts +0 -2
  294. package/src/api/build/module.ts +1 -3
  295. package/src/api/index.ts +1 -10
  296. package/src/api/start/__integration__/__fixtures__/app/server.tsx +1 -0
  297. package/src/api/start/__integration__/__fixtures__/package.json +0 -3
  298. package/src/api/start/__integration__/__fixtures__/tramvai.json +3 -0
  299. package/src/api/start/__integration__/start.test.ts +2 -1
  300. package/src/api/start/index.ts +0 -1
  301. package/src/api/start/utils/banner.ts +0 -1
  302. package/src/api/start/utils/tips/tips.ts +0 -9
  303. package/src/builder/webpack/devServer/pool/process/pool.ts +0 -2
  304. package/src/builder/webpack/devServer/server.ts +5 -0
  305. package/src/builder/webpack/index.ts +3 -5
  306. package/src/builder/webpack/providers/build/client.ts +0 -1
  307. package/src/builder/webpack/providers/build/clientShared.ts +5 -11
  308. package/src/builder/webpack/providers/client.ts +1 -19
  309. package/src/builder/webpack/providers/shared.ts +2 -9
  310. package/src/builder/webpack/tokens.ts +0 -9
  311. package/src/builder/webpack/utils/copyStatsJsonFile.ts +0 -17
  312. package/src/cli/CLI.ts +6 -4
  313. package/src/cli/index.ts +33 -8
  314. package/src/cli/runCLI.ts +26 -5
  315. package/src/commands/build/command.ts +45 -13
  316. package/src/commands/createApp.ts +0 -2
  317. package/src/commands/new/new.ts +39 -7
  318. package/src/commands/new/templates/packageManagerConfig/yarnPackageManagerConfig/_yarnrc.yml.hbs +9 -0
  319. package/src/commands/new/templates/shared/_gitignore.hbs +10 -0
  320. package/src/commands/new/templates/shared/package.json.hbs +5 -1
  321. package/src/commands/start/command.ts +42 -7
  322. package/src/commands/start/start.ts +7 -1
  323. package/src/commands/static/application.ts +0 -1
  324. package/src/commands/update/command.ts +9 -1
  325. package/src/commands/update/dependantLibs.ts +23 -8
  326. package/src/commands/update/update.ts +7 -6
  327. package/src/commands/update/updatePackageJson.spec.ts +66 -3
  328. package/src/commands/update/updatePackageJson.ts +28 -16
  329. package/src/config/__integration__/__fixtures__/relative/src/index.ts +0 -0
  330. package/src/config/__integration__/__fixtures__/relative/src/polyfill.ts +0 -0
  331. package/src/config/__integration__/validate.test.ts +94 -0
  332. package/src/config/configManager.ts +2 -19
  333. package/src/config/validate.ts +8 -1
  334. package/src/di/providers/index.ts +0 -1
  335. package/src/di/tokens/index.ts +0 -1
  336. package/src/library/babel/index.ts +8 -14
  337. package/src/library/babel/plugins/__snapshots__/create-token-pure.spec.ts.snap +6 -6
  338. package/src/library/babel/plugins/__snapshots__/fill-declare-action-name.spec.ts.snap +24 -26
  339. package/src/library/babel/plugins/__snapshots__/provider-stack.spec.ts.snap +40 -59
  340. package/src/library/babel/plugins/lazy-component/lazy-component.spec.ts +0 -1
  341. package/src/library/babel/plugins/lazy-component/legacy-universal-replace.spec.ts +0 -1
  342. package/src/library/swc/__integration__/__snapshots__/swc.build.test.ts.snap +15 -208
  343. package/src/library/swc/__integration__/__snapshots__/swc.start.test.ts.snap +7 -10
  344. package/src/library/swc/__integration__/swc.build.test.ts +1 -13
  345. package/src/library/swc/__integration__/swc.start.test.ts +3 -0
  346. package/src/library/swc/index.ts +1 -1
  347. package/src/library/typescript/index.ts +1 -3
  348. package/src/library/webpack/application/client/common.ts +63 -6
  349. package/src/library/webpack/application/client/dev.ts +2 -2
  350. package/src/library/webpack/application/client/prod.ts +1 -2
  351. package/src/library/webpack/application/common.ts +1 -1
  352. package/src/library/webpack/application/server/common.ts +1 -1
  353. package/src/library/webpack/application/server/dev.ts +1 -1
  354. package/src/library/webpack/application/server/prod.ts +1 -1
  355. package/src/library/webpack/blocks/css.ts +17 -11
  356. package/src/library/webpack/blocks/optimize.ts +2 -2
  357. package/src/library/webpack/blocks/pwa/client.ts +1 -6
  358. package/src/library/webpack/blocks/pwa/shared.ts +1 -3
  359. package/src/library/webpack/blocks/resolve.ts +2 -2
  360. package/src/library/webpack/blocks/serverInline.ts +1 -2
  361. package/src/library/webpack/blocks/sourcemaps.ts +4 -2
  362. package/src/library/webpack/child-app/client/common.ts +9 -3
  363. package/src/library/webpack/child-app/client/dev.ts +6 -1
  364. package/src/library/webpack/child-app/client/prod.ts +5 -0
  365. package/src/library/webpack/child-app/common.ts +1 -7
  366. package/src/library/webpack/child-app/server/dev.ts +5 -0
  367. package/src/library/webpack/child-app/server/prod.ts +5 -0
  368. package/src/library/webpack/common/client/prod.ts +1 -1
  369. package/src/library/webpack/common/main.ts +1 -5
  370. package/src/library/webpack/constants/stats.ts +2 -0
  371. package/src/library/webpack/loaders/image-loader/getImageMiniatureURL.ts +1 -1
  372. package/src/library/webpack/module/client/common.ts +1 -1
  373. package/src/library/webpack/module/externals.ts +1 -1
  374. package/src/library/webpack/module/server/common.ts +1 -1
  375. package/src/library/webpack/plugins/AssetsIntegritiesPlugin.ts +34 -0
  376. package/src/library/webpack/plugins/PurifyStatsPlugin.ts +57 -0
  377. package/src/library/webpack/plugins/RuntimePathPlugin.ts +8 -3
  378. package/src/library/webpack/utils/polyfills/__integration__/__snapshots__/condition.test.ts.snap +16 -16
  379. package/src/library/webpack/utils/transpiler.ts +1 -5
  380. package/src/models/analytics/analytics.ts +488 -0
  381. package/src/models/analytics/analytics.worker.ts +102 -0
  382. package/src/models/analytics/utils.ts +122 -0
  383. package/src/models/command.ts +1 -8
  384. package/src/models/config.spec.ts +6 -2
  385. package/src/models/context.ts +4 -5
  386. package/src/models/logger.ts +2 -0
  387. package/src/models/task.ts +1 -7
  388. package/src/schema/autogeneratedSchema.json +161 -20
  389. package/src/schema/topLevelSchema.js +14 -0
  390. package/src/schema/tramvai.spec.ts +3 -1
  391. package/src/typings/build/Builder.ts +3 -8
  392. package/src/typings/configEntry/application.ts +11 -6
  393. package/src/typings/configEntry/cli.ts +14 -0
  394. package/src/typings/projectType.ts +5 -0
  395. package/src/typings/target.ts +1 -1
  396. package/src/utils/commands/dependencies/findTramvaiVersion.ts +5 -12
  397. package/src/utils/commands/dependencies/getLatestPackageVersion.ts +11 -3
  398. package/src/utils/cpu-profile.ts +14 -3
  399. package/src/utils/errors.ts +39 -0
  400. package/src/utils/memoryUsage.ts +58 -0
  401. package/src/utils/safeRequire.spec.ts +36 -0
  402. package/src/utils/safeRequire.ts +12 -3
  403. package/lib/builder/webpack/providers/build/clientModern.d.ts +0 -3
  404. package/lib/builder/webpack/providers/build/clientModern.d.ts.map +0 -1
  405. package/lib/builder/webpack/providers/build/clientModern.js +0 -60
  406. package/lib/builder/webpack/providers/build/clientModern.js.map +0 -1
  407. package/lib/di/providers/analytics.d.ts +0 -3
  408. package/lib/di/providers/analytics.d.ts.map +0 -1
  409. package/lib/di/providers/analytics.js +0 -20
  410. package/lib/di/providers/analytics.js.map +0 -1
  411. package/lib/di/tokens/analytics.d.ts +0 -14
  412. package/lib/di/tokens/analytics.d.ts.map +0 -1
  413. package/lib/di/tokens/analytics.js +0 -8
  414. package/lib/di/tokens/analytics.js.map +0 -1
  415. package/lib/models/analytics.d.ts +0 -31
  416. package/lib/models/analytics.d.ts.map +0 -1
  417. package/lib/models/analytics.js +0 -79
  418. package/lib/models/analytics.js.map +0 -1
  419. package/src/builder/webpack/providers/build/clientModern.ts +0 -64
  420. package/src/di/providers/analytics.ts +0 -22
  421. package/src/di/tokens/analytics.ts +0 -8
  422. package/src/models/analytics.ts +0 -116
  423. /package/src/commands/new/templates/{shared → packageManagerConfig/defaultPackageManagerConfig}/_npmrc.hbs +0 -0
@@ -27,9 +27,14 @@ function enableCpuProfile(key) {
27
27
  process.exit(0);
28
28
  });
29
29
  }
30
- process.on('SIGINT', saveProfile);
31
- process.on('SIGTERM', saveProfile);
32
- process.on('exit', saveProfile);
30
+ // CLI will wait for this handlers before exiting
31
+ // @reference `packages/cli/src/cli/runCLI.ts`
32
+ if (!global.__TRAMVAI_EXIT_HANDLERS__) {
33
+ global.__TRAMVAI_EXIT_HANDLERS__ = [];
34
+ }
35
+ global.__TRAMVAI_EXIT_HANDLERS__.push(async () => {
36
+ saveProfile();
37
+ });
33
38
  }
34
39
  exports.enableCpuProfile = enableCpuProfile;
35
40
  //# sourceMappingURL=cpu-profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cpu-profile.js","sourceRoot":"","sources":["../../src/utils/cpu-profile.ts"],"names":[],"mappings":";;;;AAAA,yCAAoC;AACpC,oDAAoB;AAEpB,wGAAwG;AACxG,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,OAAO,CAAC,OAAO,EAAE,CAAC;IAElB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE/B,SAAS,WAAW;QAClB,IAAI,KAAK,EAAE;YACT,OAAO;SACR;QACD,KAAK,GAAG,IAAI,CAAC;QAEb,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACvD,OAAO;aACR;YAED,wBAAwB;YACxB,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC;YACnD,YAAE,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAClC,CAAC;AA/BD,4CA+BC"}
1
+ {"version":3,"file":"cpu-profile.js","sourceRoot":"","sources":["../../src/utils/cpu-profile.ts"],"names":[],"mappings":";;;;AAAA,yCAAoC;AACpC,oDAAoB;AAOpB,wGAAwG;AACxG,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;IAC9B,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,OAAO,CAAC,OAAO,EAAE,CAAC;IAElB,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAE/B,SAAS,WAAW;QAClB,IAAI,KAAK,EAAE;YACT,OAAO;SACR;QACD,KAAK,GAAG,IAAI,CAAC;QAEb,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,KAAK,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACvD,OAAO;aACR;YAED,wBAAwB;YACxB,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC;YACnD,YAAE,CAAC,aAAa,CAAC,KAAK,QAAQ,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,iDAAiD;IACjD,8CAA8C;IAC9C,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE;QACrC,MAAM,CAAC,yBAAyB,GAAG,EAAE,CAAC;KACvC;IAED,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAC/C,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC;AArCD,4CAqCC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @description By default, `Error` properties are not enumerable.
3
+ * So when you use `Object.keys()`, `JSON.stringify()`, or `postMessage()`,
4
+ * the `message`, `stack`, and `cause` properties are not included.
5
+ */
6
+ export declare function enumerateErrorProperties(error: Error): void;
7
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,QAiCpD"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.enumerateErrorProperties = void 0;
4
+ /**
5
+ * @description By default, `Error` properties are not enumerable.
6
+ * So when you use `Object.keys()`, `JSON.stringify()`, or `postMessage()`,
7
+ * the `message`, `stack`, and `cause` properties are not included.
8
+ */
9
+ function enumerateErrorProperties(error) {
10
+ Object.defineProperties(error, {
11
+ message: {
12
+ configurable: true,
13
+ enumerable: true,
14
+ writable: true,
15
+ },
16
+ stack: {
17
+ configurable: true,
18
+ enumerable: true,
19
+ // stack is getter
20
+ },
21
+ cause: {
22
+ configurable: true,
23
+ enumerable: true,
24
+ writable: true,
25
+ },
26
+ });
27
+ if ('cause' in error && typeof error.cause === 'object') {
28
+ Object.defineProperties(error.cause, {
29
+ message: {
30
+ configurable: true,
31
+ enumerable: true,
32
+ writable: true,
33
+ },
34
+ stack: {
35
+ configurable: true,
36
+ enumerable: true,
37
+ // stack is getter
38
+ },
39
+ });
40
+ }
41
+ }
42
+ exports.enumerateErrorProperties = enumerateErrorProperties;
43
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAY;IACnD,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE;QAC7B,OAAO,EAAE;YACP,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;SACf;QACD,KAAK,EAAE;YACL,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,kBAAkB;SACnB;QACD,KAAK,EAAE;YACL,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,IAAI;SACf;KACF,CAAC,CAAC;IAEH,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;QACvD,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE;YACnC,OAAO,EAAE;gBACP,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,IAAI;aACf;YACD,KAAK,EAAE;gBACL,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,kBAAkB;aACnB;SACF,CAAC,CAAC;KACJ;AACH,CAAC;AAjCD,4DAiCC"}
@@ -0,0 +1,20 @@
1
+ export type MemoryStats = {
2
+ maxHeapTotal: number;
3
+ maxHeapUsed: number;
4
+ maxRss: number;
5
+ };
6
+ /**
7
+ * Creates a memory monitor that tracks maximum memory consumption
8
+ *
9
+ * @param options Configuration options
10
+ * @param options.sampleInterval Interval between memory samples in milliseconds (default: 1000)
11
+ * @returns An object with start and stop methods
12
+ */
13
+ export declare function createMemoryMonitor(options?: {
14
+ sampleInterval?: number;
15
+ }): {
16
+ start(): void;
17
+ read(): MemoryStats;
18
+ stop(): void;
19
+ };
20
+ //# sourceMappingURL=memoryUsage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryUsage.d.ts","sourceRoot":"","sources":["../../src/utils/memoryUsage.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,GAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAO;;YAuBjE,WAAW;;EAqBtB"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createMemoryMonitor = void 0;
4
+ /**
5
+ * Creates a memory monitor that tracks maximum memory consumption
6
+ *
7
+ * @param options Configuration options
8
+ * @param options.sampleInterval Interval between memory samples in milliseconds (default: 1000)
9
+ * @returns An object with start and stop methods
10
+ */
11
+ function createMemoryMonitor(options = {}) {
12
+ const { sampleInterval = 1000 } = options;
13
+ let maxHeapTotal = 0;
14
+ let maxHeapUsed = 0;
15
+ let maxRss = 0;
16
+ let intervalId = null;
17
+ return {
18
+ start() {
19
+ intervalId = setInterval(() => {
20
+ const memoryUsage = process.memoryUsage();
21
+ maxHeapTotal = Math.max(maxHeapTotal, memoryUsage.heapTotal);
22
+ maxHeapUsed = Math.max(maxHeapUsed, memoryUsage.heapUsed);
23
+ maxRss = Math.max(maxRss, memoryUsage.rss);
24
+ }, sampleInterval);
25
+ // Make sure the interval doesn't prevent the process from exiting
26
+ if (intervalId.unref) {
27
+ intervalId.unref();
28
+ }
29
+ },
30
+ read() {
31
+ // Take one final sample to capture the latest memory usage
32
+ const memoryUsage = process.memoryUsage();
33
+ maxHeapTotal = Math.max(maxHeapTotal, memoryUsage.heapTotal);
34
+ maxHeapUsed = Math.max(maxHeapUsed, memoryUsage.heapUsed);
35
+ maxRss = Math.max(maxRss, memoryUsage.rss);
36
+ return {
37
+ maxHeapTotal,
38
+ maxHeapUsed,
39
+ maxRss,
40
+ };
41
+ },
42
+ stop() {
43
+ if (intervalId) {
44
+ clearInterval(intervalId);
45
+ intervalId = null;
46
+ }
47
+ },
48
+ };
49
+ }
50
+ exports.createMemoryMonitor = createMemoryMonitor;
51
+ //# sourceMappingURL=memoryUsage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memoryUsage.js","sourceRoot":"","sources":["../../src/utils/memoryUsage.ts"],"names":[],"mappings":";;;AAMA;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,UAAuC,EAAE;IAC3E,MAAM,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE1C,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,UAAU,GAA0B,IAAI,CAAC;IAE7C,OAAO;QACL,KAAK;YACH,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;gBAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;gBAE1C,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC7D,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC1D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,CAAC,EAAE,cAAc,CAAC,CAAC;YAEnB,kEAAkE;YAClE,IAAI,UAAU,CAAC,KAAK,EAAE;gBACpB,UAAU,CAAC,KAAK,EAAE,CAAC;aACpB;QACH,CAAC;QACD,IAAI;YACF,2DAA2D;YAC3D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;YAE1C,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;YAC7D,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC;YAE3C,OAAO;gBACL,YAAY;gBACZ,WAAW;gBACX,MAAM;aACP,CAAC;QACJ,CAAC;QACD,IAAI;YACF,IAAI,UAAU,EAAE;gBACd,aAAa,CAAC,UAAU,CAAC,CAAC;gBAC1B,UAAU,GAAG,IAAI,CAAC;aACnB;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AA5CD,kDA4CC"}
@@ -1,3 +1,3 @@
1
1
  export declare const safeRequire: (path: string, silent?: boolean) => any;
2
- export declare const safeRequireResolve: (path: string, silent?: boolean) => string;
2
+ export declare const safeRequireResolve: (targetPath: string, basedir: string, silent?: boolean) => string;
3
3
  //# sourceMappingURL=safeRequire.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"safeRequire.d.ts","sourceRoot":"","sources":["../../src/utils/safeRequire.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,SAAU,MAAM,WAAW,OAAO,QASzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,SAAU,MAAM,WAAW,OAAO,WAahE,CAAC"}
1
+ {"version":3,"file":"safeRequire.d.ts","sourceRoot":"","sources":["../../src/utils/safeRequire.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,WAAW,SAAU,MAAM,WAAW,OAAO,QASzD,CAAC;AAEF,eAAO,MAAM,kBAAkB,eAAgB,MAAM,WAAW,MAAM,WAAW,OAAO,WAqBvF,CAAC"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.safeRequireResolve = exports.safeRequire = void 0;
4
+ const tslib_1 = require("tslib");
4
5
  const resolve_1 = require("resolve");
6
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
5
7
  const constants_1 = require("../config/constants");
6
8
  const safeRequire = (path, silent) => {
7
9
  try {
@@ -15,16 +17,24 @@ const safeRequire = (path, silent) => {
15
17
  }
16
18
  };
17
19
  exports.safeRequire = safeRequire;
18
- const safeRequireResolve = (path, silent) => {
20
+ const safeRequireResolve = (targetPath, basedir, silent) => {
19
21
  try {
20
- return (0, resolve_1.sync)(path, {
22
+ return (0, resolve_1.sync)(targetPath, {
21
23
  extensions: constants_1.extensions,
24
+ basedir,
22
25
  });
23
26
  }
24
27
  catch (error) {
28
+ try {
29
+ return (0, resolve_1.sync)(node_path_1.default.resolve(basedir, targetPath), {
30
+ extensions: constants_1.extensions,
31
+ basedir,
32
+ });
33
+ }
34
+ catch (_e) { }
25
35
  if (!silent) {
26
36
  // TODO: replace with logger from di
27
- console.error(`Require for path ${path} failed`, error);
37
+ console.error(`Require for path ${targetPath} failed`, error);
28
38
  }
29
39
  return '';
30
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"safeRequire.js","sourceRoot":"","sources":["../../src/utils/safeRequire.ts"],"names":[],"mappings":";;;AAAA,qCAA0C;AAC1C,mDAAiD;AAE1C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAgB,EAAE,EAAE;IAC5D,IAAI;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,MAAM,EAAE;YACX,oCAAoC;YACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,SAAS,EAAE,KAAK,CAAC,CAAC;SACzD;KACF;AACH,CAAC,CAAC;AATW,QAAA,WAAW,eAStB;AAEK,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,MAAgB,EAAE,EAAE;IACnE,IAAI;QACF,OAAO,IAAA,cAAO,EAAC,IAAI,EAAE;YACnB,UAAU,EAAV,sBAAU;SACX,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,MAAM,EAAE;YACX,oCAAoC;YACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,SAAS,EAAE,KAAK,CAAC,CAAC;SACzD;QAED,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AAbW,QAAA,kBAAkB,sBAa7B"}
1
+ {"version":3,"file":"safeRequire.js","sourceRoot":"","sources":["../../src/utils/safeRequire.ts"],"names":[],"mappings":";;;;AAAA,qCAA0C;AAC1C,kEAA6B;AAC7B,mDAAiD;AAE1C,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,MAAgB,EAAE,EAAE;IAC5D,IAAI;QACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;KACtB;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,CAAC,MAAM,EAAE;YACX,oCAAoC;YACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,IAAI,SAAS,EAAE,KAAK,CAAC,CAAC;SACzD;KACF;AACH,CAAC,CAAC;AATW,QAAA,WAAW,eAStB;AAEK,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAE,OAAe,EAAE,MAAgB,EAAE,EAAE;IAC1F,IAAI;QACF,OAAO,IAAA,cAAO,EAAC,UAAU,EAAE;YACzB,UAAU,EAAV,sBAAU;YACV,OAAO;SACR,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,IAAI;YACF,OAAO,IAAA,cAAO,EAAC,mBAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;gBAChD,UAAU,EAAV,sBAAU;gBACV,OAAO;aACR,CAAC,CAAC;SACJ;QAAC,OAAO,EAAE,EAAE,GAAE;QAEf,IAAI,CAAC,MAAM,EAAE;YACX,oCAAoC;YACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,UAAU,SAAS,EAAE,KAAK,CAAC,CAAC;SAC/D;QAED,OAAO,EAAE,CAAC;KACX;AACH,CAAC,CAAC;AArBW,QAAA,kBAAkB,sBAqB7B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tramvai/cli",
3
- "version": "5.50.0",
3
+ "version": "5.53.78",
4
4
  "description": "Cli инструмент для сборки и запуска приложений",
5
5
  "files": [
6
6
  "src",
@@ -35,7 +35,6 @@
35
35
  "@babel/core": "^7.18.10",
36
36
  "@babel/helper-annotate-as-pure": "^7.18.6",
37
37
  "@babel/plugin-external-helpers": "^7.18.6",
38
- "@babel/plugin-proposal-class-properties": "^7.18.6",
39
38
  "@babel/plugin-proposal-decorators": "^7.18.10",
40
39
  "@babel/plugin-proposal-export-default-from": "^7.18.10",
41
40
  "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
@@ -63,21 +62,21 @@
63
62
  "@sentry/node": "^6.2.5",
64
63
  "@svgr/webpack": "^8.1.0",
65
64
  "@tinkoff/babel-plugin-lodash": "^0.1.0",
66
- "@tinkoff/browserslist-config": "0.5.3",
67
- "@tinkoff/dippy": "0.11.4",
68
- "@tinkoff/is-modern-lib": "5.0.2",
69
- "@tinkoff/logger": "0.10.507",
65
+ "@tinkoff/browserslist-config": "0.5.7",
66
+ "@tinkoff/dippy": "0.11.5",
67
+ "@tinkoff/is-modern-lib": "5.0.3",
68
+ "@tinkoff/logger": "^0.10.507",
70
69
  "@tinkoff/minicss-class-generator": "0.5.3",
71
- "@tinkoff/package-manager-wrapper": "0.4.5",
70
+ "@tinkoff/package-manager-wrapper": "0.4.6",
72
71
  "@tinkoff/request-core": "^0.10.0",
73
72
  "@tinkoff/request-plugin-protocol-http": "^0.12.1",
74
73
  "@tinkoff/request-plugin-retry": "^0.3.0",
75
74
  "@tinkoff/utils": "^2.1.3",
76
- "@tinkoff/webpack-dedupe-plugin": "4.0.3",
77
- "@tramvai/build": "6.1.1",
78
- "@tramvai/react": "5.50.0",
79
- "@tramvai/tools-check-versions": "0.7.8",
80
- "@tramvai/tools-migrate": "0.9.10",
75
+ "@tinkoff/webpack-dedupe-plugin": "4.1.0",
76
+ "@tramvai/build": "6.1.2",
77
+ "@tramvai/react": "5.53.78",
78
+ "@tramvai/tools-check-versions": "0.7.9",
79
+ "@tramvai/tools-migrate": "0.9.12",
81
80
  "ajv": "^8.12.0",
82
81
  "ansi-escapes": "^4.3.2",
83
82
  "autoprefixer": "^10.4.8",
@@ -104,7 +103,7 @@
104
103
  "env-ci": "^5.0.2",
105
104
  "execa": "^5.1.1",
106
105
  "exit": "^0.1.2",
107
- "express": "^4.18.1",
106
+ "express": "^4.21.2",
108
107
  "fastify": "^4.14.1",
109
108
  "figures": "^3.2.0",
110
109
  "file-loader": "^6.2.0",
@@ -161,7 +160,6 @@
161
160
  "text-table": "^0.2.0",
162
161
  "thread-loader": "^3.0.4",
163
162
  "tsconfig-paths-webpack-plugin": "^4.0.1",
164
- "universal-analytics": "^0.4.23",
165
163
  "utility-types": "^3.10.0",
166
164
  "v8-compile-cache": "^2.3.0",
167
165
  "validate-npm-package-name": "^3.0.0",
@@ -173,6 +171,7 @@
173
171
  "webpack-hot-middleware": "^2.26.0",
174
172
  "webpack-sources": "^3.2.3",
175
173
  "webpack-stats-plugin": "^1.1.3",
174
+ "webpack-subresource-integrity": "^5.2.0-rc.1",
176
175
  "webpackbar": "^5.0.2",
177
176
  "workbox-build": "^6.6.1",
178
177
  "workbox-webpack-plugin": "^6.6.1",
@@ -195,7 +194,6 @@
195
194
  "@types/rimraf": "^3.0.2",
196
195
  "@types/semver": "^7.3.12",
197
196
  "@types/stoppable": "^1.1.1",
198
- "@types/universal-analytics": "^0.4.5",
199
197
  "@types/webpack": ">=5.28",
200
198
  "@types/webpack-dev-middleware": "^5.0.2",
201
199
  "@types/webpack-stats-plugin": "^0.3.2",
package/schema.json CHANGED
@@ -44,6 +44,10 @@
44
44
  "title": "Path to polyfill file. By default, looks for the `src/polyfill`",
45
45
  "type": "string"
46
46
  },
47
+ "modernPolyfill": {
48
+ "title": "Path to modern polyfill file. By default, looks for the `src/modern-polyfill`",
49
+ "type": "string"
50
+ },
47
51
  "serverApiDir": {
48
52
  "title": "Path to folder with papi handlers",
49
53
  "default": "src/api",
@@ -72,11 +76,6 @@
72
76
  },
73
77
  "additionalProperties": false
74
78
  },
75
- "modern": {
76
- "title": "Enable build for modern browsers",
77
- "default": true,
78
- "type": "boolean"
79
- },
80
79
  "fileSystemPages": {
81
80
  "title": "File-System Routing feature",
82
81
  "default": {},
@@ -808,6 +807,16 @@
808
807
  "default": false,
809
808
  "type": "boolean"
810
809
  },
810
+ "runtimeChunk": {
811
+ "title": "Webpack Runtime Chunk settings",
812
+ "default": false,
813
+ "enum": [
814
+ false,
815
+ "multiple",
816
+ "single",
817
+ true
818
+ ]
819
+ },
811
820
  "webpack": {
812
821
  "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
813
822
  "default": {},
@@ -848,6 +857,10 @@
848
857
  "topLevelAwait": {
849
858
  "description": "Allow using top-level-await in EcmaScript Modules.",
850
859
  "type": "boolean"
860
+ },
861
+ "deferImport": {
862
+ "description": "Enable experimental tc39 proposal https://github.com/tc39/proposal-defer-import-eval. This allows to defer execution of a module until it's first use.",
863
+ "type": "boolean"
851
864
  }
852
865
  },
853
866
  "additionalProperties": false
@@ -1037,6 +1050,46 @@
1037
1050
  }
1038
1051
  ]
1039
1052
  },
1053
+ "integrity": {
1054
+ "title": "Integrity generation options",
1055
+ "default": false,
1056
+ "anyOf": [
1057
+ {
1058
+ "type": "object",
1059
+ "properties": {
1060
+ "enabled": {
1061
+ "enum": [
1062
+ "auto",
1063
+ false,
1064
+ true
1065
+ ]
1066
+ },
1067
+ "hashFuncNames": {
1068
+ "type": "array",
1069
+ "items": {
1070
+ "enum": [
1071
+ "sha256",
1072
+ "sha384",
1073
+ "sha512"
1074
+ ],
1075
+ "type": "string"
1076
+ }
1077
+ },
1078
+ "hashLoading": {
1079
+ "enum": [
1080
+ "eager",
1081
+ "lazy"
1082
+ ],
1083
+ "type": "string"
1084
+ }
1085
+ },
1086
+ "additionalProperties": false
1087
+ },
1088
+ {
1089
+ "type": "boolean"
1090
+ }
1091
+ ]
1092
+ },
1040
1093
  "excludesPresetEnv": {
1041
1094
  "title": "List of modules to exclude from `@babel/preset-env` and `swc-loader`",
1042
1095
  "type": "array",
@@ -1258,23 +1311,23 @@
1258
1311
  "dotAll": {
1259
1312
  "type": "boolean"
1260
1313
  },
1261
- "__@match@7844": {
1314
+ "__@match@8074": {
1262
1315
  "type": "object",
1263
1316
  "additionalProperties": false
1264
1317
  },
1265
- "__@replace@7846": {
1318
+ "__@replace@8076": {
1266
1319
  "type": "object",
1267
1320
  "additionalProperties": false
1268
1321
  },
1269
- "__@search@7849": {
1322
+ "__@search@8079": {
1270
1323
  "type": "object",
1271
1324
  "additionalProperties": false
1272
1325
  },
1273
- "__@split@7851": {
1326
+ "__@split@8081": {
1274
1327
  "type": "object",
1275
1328
  "additionalProperties": false
1276
1329
  },
1277
- "__@matchAll@7853": {
1330
+ "__@matchAll@8083": {
1278
1331
  "type": "object",
1279
1332
  "additionalProperties": false
1280
1333
  }
@@ -1630,6 +1683,46 @@
1630
1683
  }
1631
1684
  ]
1632
1685
  },
1686
+ "integrity": {
1687
+ "title": "Integrity generation options",
1688
+ "default": false,
1689
+ "anyOf": [
1690
+ {
1691
+ "type": "object",
1692
+ "properties": {
1693
+ "enabled": {
1694
+ "enum": [
1695
+ "auto",
1696
+ false,
1697
+ true
1698
+ ]
1699
+ },
1700
+ "hashFuncNames": {
1701
+ "type": "array",
1702
+ "items": {
1703
+ "enum": [
1704
+ "sha256",
1705
+ "sha384",
1706
+ "sha512"
1707
+ ],
1708
+ "type": "string"
1709
+ }
1710
+ },
1711
+ "hashLoading": {
1712
+ "enum": [
1713
+ "eager",
1714
+ "lazy"
1715
+ ],
1716
+ "type": "string"
1717
+ }
1718
+ },
1719
+ "additionalProperties": false
1720
+ },
1721
+ {
1722
+ "type": "boolean"
1723
+ }
1724
+ ]
1725
+ },
1633
1726
  "experiments": {
1634
1727
  "title": "Change different experimental cli settings",
1635
1728
  "default": {},
@@ -1675,6 +1768,10 @@
1675
1768
  "topLevelAwait": {
1676
1769
  "description": "Allow using top-level-await in EcmaScript Modules.",
1677
1770
  "type": "boolean"
1771
+ },
1772
+ "deferImport": {
1773
+ "description": "Enable experimental tc39 proposal https://github.com/tc39/proposal-defer-import-eval. This allows to defer execution of a module until it's first use.",
1774
+ "type": "boolean"
1678
1775
  }
1679
1776
  },
1680
1777
  "additionalProperties": false
@@ -2018,23 +2115,23 @@
2018
2115
  "dotAll": {
2019
2116
  "type": "boolean"
2020
2117
  },
2021
- "__@match@7844": {
2118
+ "__@match@8074": {
2022
2119
  "type": "object",
2023
2120
  "additionalProperties": false
2024
2121
  },
2025
- "__@replace@7846": {
2122
+ "__@replace@8076": {
2026
2123
  "type": "object",
2027
2124
  "additionalProperties": false
2028
2125
  },
2029
- "__@search@7849": {
2126
+ "__@search@8079": {
2030
2127
  "type": "object",
2031
2128
  "additionalProperties": false
2032
2129
  },
2033
- "__@split@7851": {
2130
+ "__@split@8081": {
2034
2131
  "type": "object",
2035
2132
  "additionalProperties": false
2036
2133
  },
2037
- "__@matchAll@7853": {
2134
+ "__@matchAll@8083": {
2038
2135
  "type": "object",
2039
2136
  "additionalProperties": false
2040
2137
  }
@@ -2390,6 +2487,46 @@
2390
2487
  }
2391
2488
  ]
2392
2489
  },
2490
+ "integrity": {
2491
+ "title": "Integrity generation options",
2492
+ "default": false,
2493
+ "anyOf": [
2494
+ {
2495
+ "type": "object",
2496
+ "properties": {
2497
+ "enabled": {
2498
+ "enum": [
2499
+ "auto",
2500
+ false,
2501
+ true
2502
+ ]
2503
+ },
2504
+ "hashFuncNames": {
2505
+ "type": "array",
2506
+ "items": {
2507
+ "enum": [
2508
+ "sha256",
2509
+ "sha384",
2510
+ "sha512"
2511
+ ],
2512
+ "type": "string"
2513
+ }
2514
+ },
2515
+ "hashLoading": {
2516
+ "enum": [
2517
+ "eager",
2518
+ "lazy"
2519
+ ],
2520
+ "type": "string"
2521
+ }
2522
+ },
2523
+ "additionalProperties": false
2524
+ },
2525
+ {
2526
+ "type": "boolean"
2527
+ }
2528
+ ]
2529
+ },
2393
2530
  "experiments": {
2394
2531
  "title": "Change different experimental cli settings",
2395
2532
  "default": {},
@@ -2435,6 +2572,10 @@
2435
2572
  "topLevelAwait": {
2436
2573
  "description": "Allow using top-level-await in EcmaScript Modules.",
2437
2574
  "type": "boolean"
2575
+ },
2576
+ "deferImport": {
2577
+ "description": "Enable experimental tc39 proposal https://github.com/tc39/proposal-defer-import-eval. This allows to defer execution of a module until it's first use.",
2578
+ "type": "boolean"
2438
2579
  }
2439
2580
  },
2440
2581
  "additionalProperties": false
@@ -2778,23 +2919,23 @@
2778
2919
  "dotAll": {
2779
2920
  "type": "boolean"
2780
2921
  },
2781
- "__@match@7844": {
2922
+ "__@match@8074": {
2782
2923
  "type": "object",
2783
2924
  "additionalProperties": false
2784
2925
  },
2785
- "__@replace@7846": {
2926
+ "__@replace@8076": {
2786
2927
  "type": "object",
2787
2928
  "additionalProperties": false
2788
2929
  },
2789
- "__@search@7849": {
2930
+ "__@search@8079": {
2790
2931
  "type": "object",
2791
2932
  "additionalProperties": false
2792
2933
  },
2793
- "__@split@7851": {
2934
+ "__@split@8081": {
2794
2935
  "type": "object",
2795
2936
  "additionalProperties": false
2796
2937
  },
2797
- "__@matchAll@7853": {
2938
+ "__@matchAll@8083": {
2798
2939
  "type": "object",
2799
2940
  "additionalProperties": false
2800
2941
  }
@@ -3105,6 +3246,20 @@
3105
3246
  }
3106
3247
  }
3107
3248
  }
3249
+ },
3250
+ "analytics": {
3251
+ "type": "object",
3252
+ "additionalProperties": false,
3253
+ "properties": {
3254
+ "enabled": {
3255
+ "title": "enable @tramvai/cli monitoring",
3256
+ "type": "boolean"
3257
+ },
3258
+ "endpoint": {
3259
+ "title": "@tramvai/cli monitoring collector endpoint",
3260
+ "type": "string"
3261
+ }
3262
+ }
3108
3263
  }
3109
3264
  }
3110
3265
  }
@@ -7,7 +7,6 @@ import { sharedProviders } from './providers/shared';
7
7
  export interface Params {
8
8
  target: string;
9
9
  plugin?: 'bundle' | 'whybundled' | 'statoscope';
10
- modern?: boolean;
11
10
  showConfig?: boolean;
12
11
  fileCache?: boolean;
13
12
  verboseWebpack?: boolean;
@@ -18,7 +17,7 @@ export type AnalyzeCommand = (params: Params, providers?: Provider[]) => Promise
18
17
  export default createCommand({
19
18
  name: 'analyze',
20
19
  command: async (di): Promise<void> => {
21
- const { plugin, modern } = di.get(COMMAND_PARAMETERS_TOKEN) as Params;
20
+ const { plugin } = di.get(COMMAND_PARAMETERS_TOKEN) as Params;
22
21
 
23
22
  registerProviders(di, sharedProviders);
24
23
 
@@ -30,6 +29,6 @@ export default createCommand({
30
29
  },
31
30
  });
32
31
 
33
- await builder.analyze({ plugin, modern });
32
+ await builder.analyze({ plugin });
34
33
  },
35
34
  });
@@ -1,5 +1,8 @@
1
1
  {
2
2
  "$schema": "../../../../../schema.json",
3
+ "analytics": {
4
+ "enabled": false
5
+ },
3
6
  "projects": {
4
7
  "app": {
5
8
  "name": "app",