@tramvai/cli 2.63.0 → 2.65.9

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 (416) hide show
  1. package/README.md +46 -38
  2. package/lib/api/analyze/providers/shared.js +1 -1
  3. package/lib/api/analyze/providers/shared.js.map +1 -1
  4. package/lib/api/benchmark/index.d.ts +1 -1
  5. package/lib/api/build/child-app.js +3 -2
  6. package/lib/api/build/child-app.js.map +1 -1
  7. package/lib/api/build/module.js +1 -2
  8. package/lib/api/build/module.js.map +1 -1
  9. package/lib/api/build/providers/shared.js +1 -1
  10. package/lib/api/build/providers/shared.js.map +1 -1
  11. package/lib/api/index.d.ts +6 -2
  12. package/lib/api/index.js +3 -3
  13. package/lib/api/index.js.map +1 -1
  14. package/lib/api/shared/types/withConfig.d.ts +3 -2
  15. package/lib/api/start/providers/application/shared.js +1 -1
  16. package/lib/api/start/providers/application/shared.js.map +1 -1
  17. package/lib/api/start/providers/child-app/shared.js +8 -7
  18. package/lib/api/start/providers/child-app/shared.js.map +1 -1
  19. package/lib/api/start/providers/module/shared.js +14 -13
  20. package/lib/api/start/providers/module/shared.js.map +1 -1
  21. package/lib/api/start/utils/banner.js +3 -2
  22. package/lib/api/start/utils/banner.js.map +1 -1
  23. package/lib/api/start/utils/tips/tips.js +10 -8
  24. package/lib/api/start/utils/tips/tips.js.map +1 -1
  25. package/lib/api/start-prod/providers/application.js +5 -5
  26. package/lib/api/start-prod/providers/application.js.map +1 -1
  27. package/lib/api/start-prod/providers/child-app.js +2 -2
  28. package/lib/api/start-prod/providers/child-app.js.map +1 -1
  29. package/lib/api/start-prod/providers/shared.js +3 -3
  30. package/lib/api/start-prod/providers/shared.js.map +1 -1
  31. package/lib/builder/webpack/devServer/client.js +18 -15
  32. package/lib/builder/webpack/devServer/client.js.map +1 -1
  33. package/lib/builder/webpack/devServer/notifier.d.ts +2 -2
  34. package/lib/builder/webpack/devServer/notifier.js +3 -3
  35. package/lib/builder/webpack/devServer/notifier.js.map +1 -1
  36. package/lib/builder/webpack/devServer/pool/process/pool.js +3 -2
  37. package/lib/builder/webpack/devServer/pool/process/pool.js.map +1 -1
  38. package/lib/builder/webpack/devServer/pool/thread/pool.js +7 -0
  39. package/lib/builder/webpack/devServer/pool/thread/pool.js.map +1 -1
  40. package/lib/builder/webpack/devServer/server.js +7 -2
  41. package/lib/builder/webpack/devServer/server.js.map +1 -1
  42. package/lib/builder/webpack/providers/analyze/shared.js +3 -3
  43. package/lib/builder/webpack/providers/analyze/shared.js.map +1 -1
  44. package/lib/builder/webpack/providers/build/application/server.js.map +1 -1
  45. package/lib/builder/webpack/providers/build/client.js +3 -3
  46. package/lib/builder/webpack/providers/build/client.js.map +1 -1
  47. package/lib/builder/webpack/providers/build/server.js +1 -1
  48. package/lib/builder/webpack/providers/build/server.js.map +1 -1
  49. package/lib/builder/webpack/tokens.d.ts +313 -3
  50. package/lib/builder/webpack/tokens.js.map +1 -1
  51. package/lib/builder/webpack/utils/copyBuildFile.d.ts +2 -1
  52. package/lib/builder/webpack/utils/copyBuildFile.js +2 -3
  53. package/lib/builder/webpack/utils/copyBuildFile.js.map +1 -1
  54. package/lib/builder/webpack/utils/copyStatsJsonFile.d.ts +2 -1
  55. package/lib/builder/webpack/utils/copyStatsJsonFile.js +1 -1
  56. package/lib/builder/webpack/utils/copyStatsJsonFile.js.map +1 -1
  57. package/lib/cli/CLI.d.ts +2 -2
  58. package/lib/cli/CLI.js +2 -2
  59. package/lib/cli/CLI.js.map +1 -1
  60. package/lib/cli/index.js.map +1 -1
  61. package/lib/commands/analyze/command.d.ts +1 -1
  62. package/lib/commands/analyze/command.js.map +1 -1
  63. package/lib/commands/benchmark/command.d.ts +1 -1
  64. package/lib/commands/benchmark/command.js.map +1 -1
  65. package/lib/commands/build/command.d.ts +1 -1
  66. package/lib/commands/build/command.js.map +1 -1
  67. package/lib/commands/new/new.js +0 -1
  68. package/lib/commands/new/new.js.map +1 -1
  69. package/lib/commands/new/questions/packageManager.d.ts +1 -1
  70. package/lib/commands/new/questions/packageManager.js.map +1 -1
  71. package/lib/commands/new/questions/template.d.ts +1 -1
  72. package/lib/commands/new/questions/template.js.map +1 -1
  73. package/lib/commands/new/questions/testingFramework.d.ts +1 -1
  74. package/lib/commands/new/questions/testingFramework.js.map +1 -1
  75. package/lib/commands/new/questions/type.d.ts +1 -1
  76. package/lib/commands/new/questions/type.js.map +1 -1
  77. package/lib/commands/new/steps/initializationGit.d.ts +1 -1
  78. package/lib/commands/new/steps/initializationGit.js.map +1 -1
  79. package/lib/commands/start/command.d.ts +1 -1
  80. package/lib/commands/start/command.js.map +1 -1
  81. package/lib/commands/start-prod/command.d.ts +1 -1
  82. package/lib/commands/start-prod/command.js.map +1 -1
  83. package/lib/commands/static/application.js +4 -4
  84. package/lib/commands/static/application.js.map +1 -1
  85. package/lib/commands/static/command.d.ts +1 -1
  86. package/lib/commands/static/command.js.map +1 -1
  87. package/lib/commands/static/generate.js +2 -2
  88. package/lib/commands/static/generate.js.map +1 -1
  89. package/lib/commands/static/server.d.ts +2 -1
  90. package/lib/commands/static/server.js +1 -1
  91. package/lib/commands/static/server.js.map +1 -1
  92. package/lib/commands/static/staticServer.d.ts +2 -1
  93. package/lib/commands/static/staticServer.js +1 -1
  94. package/lib/commands/static/staticServer.js.map +1 -1
  95. package/lib/commands/update/updatePackageJson.js +3 -0
  96. package/lib/commands/update/updatePackageJson.js.map +1 -1
  97. package/lib/config/configManager.d.ts +12 -73
  98. package/lib/config/configManager.js +61 -92
  99. package/lib/config/configManager.js.map +1 -1
  100. package/lib/config/showConfig.d.ts +1 -1
  101. package/lib/config/showConfig.js +1 -1
  102. package/lib/config/showConfig.js.map +1 -1
  103. package/lib/config/validate.d.ts +5 -4
  104. package/lib/config/validate.js +2 -9
  105. package/lib/config/validate.js.map +1 -1
  106. package/lib/di/tokens/config.d.ts +106 -1
  107. package/lib/di/tokens/config.js.map +1 -1
  108. package/lib/external/config.d.ts +2 -2
  109. package/lib/library/babel/index.js +1 -0
  110. package/lib/library/babel/index.js.map +1 -1
  111. package/lib/library/swc/index.js +1 -1
  112. package/lib/library/swc/index.js.map +1 -1
  113. package/lib/library/webpack/application/client/common.js +6 -4
  114. package/lib/library/webpack/application/client/common.js.map +1 -1
  115. package/lib/library/webpack/application/client/dev.js +9 -8
  116. package/lib/library/webpack/application/client/dev.js.map +1 -1
  117. package/lib/library/webpack/application/client/prod/optimization/splitChunks.js +40 -39
  118. package/lib/library/webpack/application/client/prod/optimization/splitChunks.js.map +1 -1
  119. package/lib/library/webpack/application/client/prod.js +3 -4
  120. package/lib/library/webpack/application/client/prod.js.map +1 -1
  121. package/lib/library/webpack/application/server/common.js +5 -5
  122. package/lib/library/webpack/application/server/common.js.map +1 -1
  123. package/lib/library/webpack/application/server/dev.js +3 -6
  124. package/lib/library/webpack/application/server/dev.js.map +1 -1
  125. package/lib/library/webpack/application/server/prod.js +3 -4
  126. package/lib/library/webpack/application/server/prod.js.map +1 -1
  127. package/lib/library/webpack/blocks/apiResolve.js +1 -1
  128. package/lib/library/webpack/blocks/apiResolve.js.map +1 -1
  129. package/lib/library/webpack/blocks/configResolve.js +2 -2
  130. package/lib/library/webpack/blocks/configResolve.js.map +1 -1
  131. package/lib/library/webpack/blocks/configToEnv.js +5 -2
  132. package/lib/library/webpack/blocks/configToEnv.js.map +1 -1
  133. package/lib/library/webpack/blocks/css.d.ts +3 -1
  134. package/lib/library/webpack/blocks/css.js +17 -6
  135. package/lib/library/webpack/blocks/css.js.map +1 -1
  136. package/lib/library/webpack/blocks/extractCssPlugin.d.ts +4 -3
  137. package/lib/library/webpack/blocks/extractCssPlugin.js +4 -6
  138. package/lib/library/webpack/blocks/extractCssPlugin.js.map +1 -1
  139. package/lib/library/webpack/blocks/filesClient.d.ts +3 -2
  140. package/lib/library/webpack/blocks/filesClient.js +7 -7
  141. package/lib/library/webpack/blocks/filesClient.js.map +1 -1
  142. package/lib/library/webpack/blocks/filesServer.d.ts +2 -1
  143. package/lib/library/webpack/blocks/filesServer.js +3 -3
  144. package/lib/library/webpack/blocks/filesServer.js.map +1 -1
  145. package/lib/library/webpack/blocks/js.d.ts +2 -1
  146. package/lib/library/webpack/blocks/js.js +1 -1
  147. package/lib/library/webpack/blocks/js.js.map +1 -1
  148. package/lib/library/webpack/blocks/nodeClient.d.ts +2 -1
  149. package/lib/library/webpack/blocks/nodeClient.js +2 -2
  150. package/lib/library/webpack/blocks/nodeClient.js.map +1 -1
  151. package/lib/library/webpack/blocks/optimize.d.ts +2 -1
  152. package/lib/library/webpack/blocks/optimize.js +3 -3
  153. package/lib/library/webpack/blocks/optimize.js.map +1 -1
  154. package/lib/library/webpack/blocks/pagesResolve.js +1 -1
  155. package/lib/library/webpack/blocks/pagesResolve.js.map +1 -1
  156. package/lib/library/webpack/blocks/postcssAssets.d.ts +2 -1
  157. package/lib/library/webpack/blocks/postcssAssets.js +2 -2
  158. package/lib/library/webpack/blocks/postcssAssets.js.map +1 -1
  159. package/lib/library/webpack/blocks/serverInline.d.ts +2 -1
  160. package/lib/library/webpack/blocks/serverInline.js.map +1 -1
  161. package/lib/library/webpack/blocks/ts.d.ts +2 -1
  162. package/lib/library/webpack/blocks/ts.js.map +1 -1
  163. package/lib/library/webpack/child-app/client/common.d.ts +2 -2
  164. package/lib/library/webpack/child-app/client/common.js +1 -1
  165. package/lib/library/webpack/child-app/client/common.js.map +1 -1
  166. package/lib/library/webpack/child-app/client/dev.d.ts +2 -2
  167. package/lib/library/webpack/child-app/client/dev.js +6 -5
  168. package/lib/library/webpack/child-app/client/dev.js.map +1 -1
  169. package/lib/library/webpack/child-app/client/prod.d.ts +2 -2
  170. package/lib/library/webpack/child-app/client/prod.js.map +1 -1
  171. package/lib/library/webpack/child-app/common.d.ts +2 -2
  172. package/lib/library/webpack/child-app/common.js.map +1 -1
  173. package/lib/library/webpack/child-app/server/common.d.ts +2 -2
  174. package/lib/library/webpack/child-app/server/common.js +1 -1
  175. package/lib/library/webpack/child-app/server/common.js.map +1 -1
  176. package/lib/library/webpack/child-app/server/dev.d.ts +2 -2
  177. package/lib/library/webpack/child-app/server/dev.js.map +1 -1
  178. package/lib/library/webpack/child-app/server/prod.d.ts +2 -2
  179. package/lib/library/webpack/child-app/server/prod.js.map +1 -1
  180. package/lib/library/webpack/common/client/prod.d.ts +2 -1
  181. package/lib/library/webpack/common/client/prod.js +4 -5
  182. package/lib/library/webpack/common/client/prod.js.map +1 -1
  183. package/lib/library/webpack/common/main.d.ts +2 -1
  184. package/lib/library/webpack/common/main.js +3 -3
  185. package/lib/library/webpack/common/main.js.map +1 -1
  186. package/lib/library/webpack/common/server/prod.d.ts +2 -1
  187. package/lib/library/webpack/common/server/prod.js +4 -5
  188. package/lib/library/webpack/common/server/prod.js.map +1 -1
  189. package/lib/library/webpack/index.js +1 -2
  190. package/lib/library/webpack/index.js.map +1 -1
  191. package/lib/library/webpack/loaders/image-loader/index.d.ts +2 -1
  192. package/lib/library/webpack/loaders/image-loader/index.js.map +1 -1
  193. package/lib/library/webpack/loaders/pagesResolve.d.ts +10 -1
  194. package/lib/library/webpack/loaders/pagesResolve.js +4 -3
  195. package/lib/library/webpack/loaders/pagesResolve.js.map +1 -1
  196. package/lib/library/webpack/loaders/replaceContent.d.ts +6 -1
  197. package/lib/library/webpack/loaders/replaceContent.js +4 -3
  198. package/lib/library/webpack/loaders/replaceContent.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.d.ts +1 -1
  202. package/lib/library/webpack/module/externals.js.map +1 -1
  203. package/lib/library/webpack/module/resolveExternal.d.ts +1 -1
  204. package/lib/library/webpack/module/resolveExternal.js.map +1 -1
  205. package/lib/library/webpack/module/server/common.js +1 -1
  206. package/lib/library/webpack/module/server/common.js.map +1 -1
  207. package/lib/library/webpack/plugins/LazyModuleInitialization.d.ts +2 -2
  208. package/lib/library/webpack/plugins/LazyModuleInitialization.js +1 -0
  209. package/lib/library/webpack/plugins/LazyModuleInitialization.js.map +1 -1
  210. package/lib/library/webpack/plugins/WebpackBar/utils/index.d.ts +7 -7
  211. package/lib/library/webpack/plugins/WebpackBar/utils/index.js.map +1 -1
  212. package/lib/library/webpack/plugins/WebpackBar/utils/webpack.d.ts +2 -2
  213. package/lib/library/webpack/plugins/WebpackBar/utils/webpack.js.map +1 -1
  214. package/lib/library/webpack/types/webpack.d.ts +2 -2
  215. package/lib/library/webpack/utils/files.d.ts +4 -3
  216. package/lib/library/webpack/utils/files.js +2 -2
  217. package/lib/library/webpack/utils/files.js.map +1 -1
  218. package/lib/library/webpack/utils/transpiler.d.ts +3 -2
  219. package/lib/library/webpack/utils/transpiler.js +2 -2
  220. package/lib/library/webpack/utils/transpiler.js.map +1 -1
  221. package/lib/library/webpack/utils/workersPool.d.ts +3 -6
  222. package/lib/library/webpack/utils/workersPool.js +1 -1
  223. package/lib/library/webpack/utils/workersPool.js.map +1 -1
  224. package/lib/models/config.d.ts +2 -3
  225. package/lib/models/config.js +32 -3
  226. package/lib/models/config.js.map +1 -1
  227. package/lib/schema/ConfigSchema.d.ts +13 -4
  228. package/lib/schema/autogeneratedSchema.json +1808 -2074
  229. package/lib/typings/configEntry/application.d.ts +81 -86
  230. package/lib/typings/configEntry/child-app.d.ts +10 -29
  231. package/lib/typings/configEntry/cli.d.ts +254 -0
  232. package/lib/typings/configEntry/{CheckAsyncTsConfig.js → cli.js} +1 -1
  233. package/lib/typings/configEntry/cli.js.map +1 -0
  234. package/lib/typings/configEntry/common.d.ts +16 -276
  235. package/lib/typings/configEntry/common.js +15 -0
  236. package/lib/typings/configEntry/common.js.map +1 -1
  237. package/lib/typings/configEntry/module.d.ts +10 -29
  238. package/lib/typings/configEntry/package.d.ts +2 -1
  239. package/lib/ui/commander.js +1 -1
  240. package/lib/ui/commander.js.map +1 -1
  241. package/lib/utils/applyTemplate.js.map +1 -1
  242. package/lib/utils/safeRequire.js +5 -1
  243. package/lib/utils/safeRequire.js.map +1 -1
  244. package/lib/utils/webpackBuild.d.ts +2 -1
  245. package/lib/utils/webpackBuild.js +3 -3
  246. package/lib/utils/webpackBuild.js.map +1 -1
  247. package/package.json +13 -9
  248. package/schema.json +1802 -2068
  249. package/src/api/analyze/providers/shared.ts +3 -2
  250. package/src/api/benchmark/__integration__/__fixtures__/tramvai.json +1 -8
  251. package/src/api/benchmark/index.ts +1 -1
  252. package/src/api/build/__integration__/__fixtures__/app/App.tsx +0 -1
  253. package/src/api/build/__integration__/__fixtures__/app/index.tsx +14 -8
  254. package/src/api/build/__integration__/__fixtures__/app/server.tsx +0 -1
  255. package/src/api/build/__integration__/__fixtures__/tramvai.json +1 -10
  256. package/src/api/build/__integration__/build.test.ts +4 -13
  257. package/src/api/build/child-app.ts +4 -4
  258. package/src/api/build/module.ts +2 -4
  259. package/src/api/build/providers/shared.ts +2 -2
  260. package/src/api/index.ts +6 -2
  261. package/src/api/shared/types/withConfig.ts +5 -6
  262. package/src/api/start/__integration__/__fixtures__/app/index.tsx +11 -7
  263. package/src/api/start/__integration__/__fixtures__/tramvai.json +6 -17
  264. package/src/api/start/__integration__/start.test.ts +1 -12
  265. package/src/api/start/providers/application/shared.ts +2 -2
  266. package/src/api/start/providers/child-app/shared.ts +9 -14
  267. package/src/api/start/providers/module/shared.ts +19 -30
  268. package/src/api/start/utils/banner.ts +3 -2
  269. package/src/api/start/utils/tips/tips.ts +11 -8
  270. package/src/api/start-prod/providers/application.ts +10 -14
  271. package/src/api/start-prod/providers/child-app.ts +4 -5
  272. package/src/api/start-prod/providers/shared.ts +4 -8
  273. package/src/builder/webpack/devServer/client.ts +22 -15
  274. package/src/builder/webpack/devServer/notifier.ts +6 -6
  275. package/src/builder/webpack/devServer/pool/process/pool.ts +3 -3
  276. package/src/builder/webpack/devServer/pool/thread/pool.ts +7 -0
  277. package/src/builder/webpack/devServer/server.ts +13 -6
  278. package/src/builder/webpack/providers/analyze/shared.ts +3 -2
  279. package/src/builder/webpack/providers/build/application/server.ts +5 -1
  280. package/src/builder/webpack/providers/build/client.ts +3 -2
  281. package/src/builder/webpack/providers/build/server.ts +1 -1
  282. package/src/builder/webpack/tokens.ts +4 -3
  283. package/src/builder/webpack/utils/copyBuildFile.ts +4 -5
  284. package/src/builder/webpack/utils/copyStatsJsonFile.ts +5 -2
  285. package/src/cli/CLI.ts +6 -6
  286. package/src/cli/index.ts +1 -1
  287. package/src/commands/analyze/command.ts +1 -1
  288. package/src/commands/benchmark/command.ts +1 -1
  289. package/src/commands/build/command.ts +2 -2
  290. package/src/commands/new/new.ts +0 -1
  291. package/src/commands/new/questions/packageManager.ts +1 -1
  292. package/src/commands/new/questions/template.ts +1 -1
  293. package/src/commands/new/questions/testingFramework.ts +1 -1
  294. package/src/commands/new/questions/type.ts +1 -1
  295. package/src/commands/new/steps/initializationGit.ts +1 -1
  296. package/src/commands/new/templates/app/monorepo/tramvai.json.hbs +6 -32
  297. package/src/commands/new/templates/app/multirepo/tramvai.json.hbs +6 -23
  298. package/src/commands/new/templates/child-app/monorepo/tramvai.json.hbs +3 -18
  299. package/src/commands/new/templates/child-app/multirepo/tramvai.json.hbs +3 -9
  300. package/src/commands/start/command.ts +2 -2
  301. package/src/commands/start-prod/command.ts +2 -2
  302. package/src/commands/static/application.ts +5 -14
  303. package/src/commands/static/command.ts +1 -1
  304. package/src/commands/static/generate.ts +2 -2
  305. package/src/commands/static/server.ts +5 -2
  306. package/src/commands/static/staticServer.ts +6 -3
  307. package/src/commands/update/updatePackageJson.ts +6 -2
  308. package/src/config/configManager.spec.ts +49 -0
  309. package/src/config/configManager.ts +123 -197
  310. package/src/config/showConfig.ts +2 -2
  311. package/src/config/validate.ts +14 -25
  312. package/src/di/tokens/config.ts +2 -1
  313. package/src/library/babel/index.ts +1 -0
  314. package/src/library/swc/__integration__/swc.build.test.ts +3 -21
  315. package/src/library/swc/__integration__/swc.start.test.ts +3 -21
  316. package/src/library/swc/index.ts +1 -1
  317. package/src/library/webpack/application/client/common.ts +7 -7
  318. package/src/library/webpack/application/client/dev.ts +9 -9
  319. package/src/library/webpack/application/client/prod/optimization/splitChunks.ts +43 -44
  320. package/src/library/webpack/application/client/prod.ts +3 -5
  321. package/src/library/webpack/application/server/common.ts +5 -8
  322. package/src/library/webpack/application/server/dev.ts +5 -6
  323. package/src/library/webpack/application/server/prod.ts +3 -9
  324. package/src/library/webpack/blocks/apiResolve.ts +1 -1
  325. package/src/library/webpack/blocks/configResolve.ts +2 -2
  326. package/src/library/webpack/blocks/configToEnv.ts +5 -2
  327. package/src/library/webpack/blocks/css.ts +26 -17
  328. package/src/library/webpack/blocks/extractCssPlugin.ts +11 -10
  329. package/src/library/webpack/blocks/filesClient.ts +52 -50
  330. package/src/library/webpack/blocks/filesServer.ts +4 -3
  331. package/src/library/webpack/blocks/js.ts +3 -2
  332. package/src/library/webpack/blocks/nodeClient.ts +4 -3
  333. package/src/library/webpack/blocks/optimize.ts +5 -6
  334. package/src/library/webpack/blocks/pagesResolve.ts +1 -1
  335. package/src/library/webpack/blocks/postcssAssets.ts +6 -7
  336. package/src/library/webpack/blocks/serverInline.ts +2 -1
  337. package/src/library/webpack/blocks/ts.ts +2 -1
  338. package/src/library/webpack/child-app/client/common.ts +3 -3
  339. package/src/library/webpack/child-app/client/dev.ts +8 -8
  340. package/src/library/webpack/child-app/client/prod.ts +2 -2
  341. package/src/library/webpack/child-app/common.ts +2 -2
  342. package/src/library/webpack/child-app/server/common.ts +3 -3
  343. package/src/library/webpack/child-app/server/dev.ts +2 -2
  344. package/src/library/webpack/child-app/server/prod.ts +2 -2
  345. package/src/library/webpack/common/client/prod.ts +10 -6
  346. package/src/library/webpack/common/main.ts +9 -4
  347. package/src/library/webpack/common/server/prod.ts +10 -6
  348. package/src/library/webpack/index.ts +2 -3
  349. package/src/library/webpack/loaders/image-loader/index.ts +2 -1
  350. package/src/library/webpack/loaders/pagesResolve.ts +17 -5
  351. package/src/library/webpack/loaders/replaceContent.ts +11 -2
  352. package/src/library/webpack/module/client/common.ts +1 -1
  353. package/src/library/webpack/module/externals.ts +1 -1
  354. package/src/library/webpack/module/resolveExternal.ts +1 -1
  355. package/src/library/webpack/module/server/common.ts +1 -1
  356. package/src/library/webpack/plugins/LazyModuleInitialization.ts +6 -1
  357. package/src/library/webpack/plugins/WebpackBar/utils/index.ts +8 -8
  358. package/src/library/webpack/plugins/WebpackBar/utils/webpack.ts +1 -1
  359. package/src/library/webpack/types/webpack.ts +2 -2
  360. package/src/library/webpack/utils/files.ts +4 -3
  361. package/src/library/webpack/utils/transpiler.ts +6 -11
  362. package/src/library/webpack/utils/workersPool.ts +6 -9
  363. package/src/models/config.spec.ts +352 -0
  364. package/src/models/config.ts +41 -9
  365. package/src/schema/ConfigSchema.ts +15 -4
  366. package/src/schema/autogeneratedSchema.json +1808 -2074
  367. package/src/schema/tramvai.spec.ts +89 -184
  368. package/src/typings/configEntry/application.ts +85 -87
  369. package/src/typings/configEntry/child-app.ts +10 -30
  370. package/src/typings/configEntry/cli.ts +271 -0
  371. package/src/typings/configEntry/common.ts +26 -278
  372. package/src/typings/configEntry/module.ts +11 -30
  373. package/src/typings/configEntry/package.ts +3 -1
  374. package/src/ui/commander.ts +1 -1
  375. package/src/utils/applyTemplate.ts +2 -2
  376. package/src/utils/safeRequire.ts +6 -1
  377. package/src/utils/webpackBuild.ts +4 -3
  378. package/lib/library/webpack/plugins/DedupePlugin/DedupePlugin.d.ts +0 -37
  379. package/lib/library/webpack/plugins/DedupePlugin/DedupePlugin.js +0 -241
  380. package/lib/library/webpack/plugins/DedupePlugin/DedupePlugin.js.map +0 -1
  381. package/lib/library/webpack/plugins/DedupePlugin/index.d.ts +0 -1
  382. package/lib/library/webpack/plugins/DedupePlugin/index.js +0 -6
  383. package/lib/library/webpack/plugins/DedupePlugin/index.js.map +0 -1
  384. package/lib/typings/configEntry/CheckAsyncTsConfig.d.ts +0 -13
  385. package/lib/typings/configEntry/CheckAsyncTsConfig.js.map +0 -1
  386. package/src/library/webpack/plugins/DedupePlugin/DedupePlugin.spec.ts +0 -95
  387. package/src/library/webpack/plugins/DedupePlugin/DedupePlugin.ts +0 -307
  388. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-1/index.js +0 -3
  389. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-1/node_modules/package-dep/index.js +0 -1
  390. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-1/node_modules/package-dep/package.json +0 -7
  391. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-1/package.json +0 -7
  392. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-2/index.js +0 -3
  393. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-2/node_modules/package-dep/index.js +0 -1
  394. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-2/node_modules/package-dep/package.json +0 -7
  395. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-2/package.json +0 -7
  396. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-3/index.js +0 -3
  397. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-3/node_modules/package-dep/index.js +0 -1
  398. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-3/node_modules/package-dep/package.json +0 -7
  399. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-3/package.json +0 -7
  400. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-dep/index.js +0 -1
  401. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-dep/package.json +0 -7
  402. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-1/index.js +0 -3
  403. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-1/node_modules/package-esm-dep/index.js +0 -1
  404. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-1/node_modules/package-esm-dep/package.json +0 -8
  405. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-1/package.json +0 -8
  406. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-2/index.js +0 -3
  407. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-2/node_modules/package-esm-dep/index.js +0 -1
  408. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-2/node_modules/package-esm-dep/package.json +0 -8
  409. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/node_modules/package-esm-2/package.json +0 -8
  410. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/package-lock.json +0 -0
  411. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/package.json +0 -14
  412. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/src/index.js +0 -9
  413. package/src/library/webpack/plugins/DedupePlugin/__fixtures__/dedupe/tramvai.json +0 -67
  414. package/src/library/webpack/plugins/DedupePlugin/__integration__/DedupePlugin.test.ts +0 -90
  415. package/src/library/webpack/plugins/DedupePlugin/index.ts +0 -1
  416. package/src/typings/configEntry/CheckAsyncTsConfig.ts +0 -15
@@ -3,411 +3,250 @@
3
3
  "type": "object",
4
4
  "properties": {
5
5
  "application": {
6
+ "additionalProperties": false,
6
7
  "type": "object",
7
8
  "properties": {
9
+ "name": {
10
+ "title": "name of the project",
11
+ "type": "string"
12
+ },
13
+ "root": {
14
+ "title": "path to the root directory relative to the tramvai.json",
15
+ "type": "string"
16
+ },
8
17
  "type": {
9
18
  "type": "string",
10
19
  "enum": [
11
20
  "application"
12
21
  ]
13
22
  },
14
- "commands": {
23
+ "polyfill": {
24
+ "title": "Path to polyfill file. By default, looks for the `src/polyfill`",
25
+ "type": "string"
26
+ },
27
+ "serverApiDir": {
28
+ "title": "Path to folder with papi handlers",
29
+ "default": "src/api",
30
+ "type": "string"
31
+ },
32
+ "output": {
33
+ "title": "Controls the cli output locations",
15
34
  "default": {},
16
35
  "type": "object",
17
36
  "properties": {
18
- "build": {
19
- "default": {},
37
+ "server": {
38
+ "title": "Path to build assets for server",
39
+ "default": "dist/server",
40
+ "type": "string"
41
+ },
42
+ "client": {
43
+ "title": "Path to build assets for client",
44
+ "default": "dist/client",
45
+ "type": "string"
46
+ },
47
+ "static": {
48
+ "title": "Path to build static assets",
49
+ "default": "dist/static",
50
+ "type": "string"
51
+ }
52
+ },
53
+ "additionalProperties": false
54
+ },
55
+ "modern": {
56
+ "title": "Enable build for modern browsers",
57
+ "default": true,
58
+ "type": "boolean"
59
+ },
60
+ "fileSystemPages": {
61
+ "title": "File-System Routing feature",
62
+ "default": {},
63
+ "type": "object",
64
+ "properties": {
65
+ "enabled": {
66
+ "title": "Read pages from file system",
67
+ "default": false,
68
+ "type": "boolean"
69
+ },
70
+ "routesDir": {
71
+ "title": "Folder with pages from which static routers are generated",
72
+ "default": "routes",
73
+ "anyOf": [
74
+ {
75
+ "enum": [
76
+ false
77
+ ],
78
+ "type": "boolean"
79
+ },
80
+ {
81
+ "type": "string"
82
+ }
83
+ ]
84
+ },
85
+ "pagesDir": {
86
+ "title": "Folder with components which can be manually added to static routers",
87
+ "default": "pages",
88
+ "anyOf": [
89
+ {
90
+ "enum": [
91
+ false
92
+ ],
93
+ "type": "boolean"
94
+ },
95
+ {
96
+ "type": "string"
97
+ }
98
+ ]
99
+ }
100
+ },
101
+ "additionalProperties": false
102
+ },
103
+ "splitChunks": {
104
+ "title": "Configure the options on webpack splitChunks",
105
+ "default": {},
106
+ "type": "object",
107
+ "properties": {
108
+ "mode": {
109
+ "default": "granularChunks",
110
+ "enum": [
111
+ "commonChunk",
112
+ false,
113
+ "granularChunks"
114
+ ]
115
+ },
116
+ "granularChunksSplitNumber": {
117
+ "title": "Move module to shared chunk if used at least as many times in other chunks",
118
+ "default": 2,
119
+ "type": "number"
120
+ },
121
+ "granularChunksMinSize": {
122
+ "title": "Minimum shared chunk size in bytes",
123
+ "default": 20000,
124
+ "type": "number"
125
+ },
126
+ "commonChunkSplitNumber": {
127
+ "title": "`@deprecated will be removed in next major release` Move module to common chunk if used at least as many times in other chunks",
128
+ "default": 3,
129
+ "type": "number"
130
+ }
131
+ },
132
+ "additionalProperties": false
133
+ },
134
+ "checkAsyncTs": {
135
+ "title": "Configuration for fork-ts-checker-webpack-plugin",
136
+ "default": false,
137
+ "anyOf": [
138
+ {
20
139
  "type": "object",
21
140
  "properties": {
22
- "options": {
23
- "default": {},
24
- "type": "object",
25
- "properties": {
26
- "vendor": {
27
- "title": "`@deprecated` Vendor is not used anymore",
28
- "type": "string"
29
- },
30
- "polyfill": {
31
- "title": "Path to polyfill file",
32
- "default": "",
33
- "type": "string"
34
- },
35
- "server": {
36
- "title": "Path to server entry point",
37
- "default": "src/server",
38
- "type": "string"
39
- },
40
- "serverApiDir": {
41
- "title": "Path to folder with papi handlers",
42
- "default": "src/api",
43
- "type": "string"
44
- },
45
- "outputServer": {
46
- "title": "Path to build assets for server",
47
- "default": "dist/server",
48
- "type": "string"
49
- },
50
- "outputClient": {
51
- "title": "Path to build assets for client",
52
- "default": "dist/client",
53
- "type": "string"
54
- },
55
- "outputStatic": {
56
- "title": "Path to build static assets",
57
- "default": "dist/static",
58
- "type": "string"
59
- }
60
- },
61
- "additionalProperties": false
141
+ "failOnBuild": {
142
+ "description": "при включении этого флага в build-сборку добавляется проверка типов\nпри невалидных типах сборка падает",
143
+ "type": "boolean"
62
144
  },
63
- "configurations": {
64
- "default": {},
65
- "additionalProperties": false,
145
+ "pluginOptions": {
146
+ "description": "дополнительные опции",
66
147
  "type": "object",
67
148
  "properties": {
68
- "modern": {
69
- "title": "Enable production build for modern browsers",
70
- "default": true,
71
- "type": "boolean"
72
- },
73
- "dedupe": {
74
- "title": "Enable DedupePlugin",
75
- "default": "equality",
76
- "enum": [
77
- "equality",
78
- false,
79
- "semver"
80
- ]
81
- },
82
- "dedupeIgnore": {
83
- "title": "Sets ignore to DedupePlugin",
84
- "type": "array",
85
- "items": {
86
- "type": "string"
87
- }
88
- },
89
- "removeTypeofWindow": {
90
- "title": "Enable replacing `typeof window` expression",
91
- "default": true,
92
- "type": "boolean"
93
- },
94
- "sourceMap": {
95
- "title": "Enable source maps in production build",
96
- "default": false,
97
- "type": "boolean"
98
- },
99
- "sourceMapServer": {
100
- "title": "Enable source maps for server assets in production build",
101
- "default": false,
102
- "type": "boolean"
103
- },
104
- "terserParallel": {
105
- "title": "Configuration for enabling parallel compression for terser plugin",
106
- "default": true,
107
- "type": "boolean"
108
- },
109
- "excludesPresetEnv": {
110
- "title": "List of modules to exclude from",
111
- "type": "array",
112
- "items": {
113
- "type": "string"
114
- }
115
- },
116
- "threadLoader": {
117
- "title": "thread-loader config",
118
- "additionalProperties": true,
119
- "type": "object"
120
- },
121
- "definePlugin": {
122
- "title": "Define plugin config",
123
- "default": {
124
- "prod": {},
125
- "dev": {}
126
- },
127
- "additionalProperties": true,
128
- "type": "object"
129
- },
130
- "generateDataQaTag": {
131
- "default": false,
132
- "type": "boolean"
133
- },
134
- "enableFillActionNamePlugin": {
135
- "default": false,
136
- "type": "boolean"
137
- },
138
- "cssMinimize": {
139
- "title": "Set minimizer for css",
140
- "type": "string",
141
- "enum": [
142
- "csso"
143
- ]
144
- },
145
- "postcss": {
146
- "default": {
147
- "config": "postcss.config"
148
- },
149
- "type": "object",
150
- "properties": {
151
- "config": {
152
- "title": "Path to postcss config file",
153
- "type": "string"
154
- },
155
- "cssLocalIdentName": {
156
- "title": "CSS identifiers build algorythm",
157
- "type": "string"
158
- },
159
- "cssLocalIdentNameDev": {
160
- "title": "CSS identifiers build algorythm for development buld",
161
- "type": "string"
162
- },
163
- "cssLocalIdentNameProd": {
164
- "title": "CSS identifiers build algorythm for production build",
165
- "type": "string"
166
- },
167
- "assetsConfig": {
168
- "title": "Path to postcss config file for assets",
169
- "type": "string"
170
- }
171
- },
172
- "additionalProperties": false
173
- },
174
- "alias": {
175
- "title": "`@@deprecated @tramvai/cli now supports baseUrl and paths from the app's tsconfig.json file.\nJust check or add configuration to your tsconfig file and remove alias from tramvai.json`",
176
- "additionalProperties": true,
177
- "type": "object"
178
- },
179
- "svgo": {
180
- "title": "svgo-loader options",
181
- "type": "object",
182
- "properties": {
183
- "plugins": {
184
- "title": "svgo plugins",
185
- "type": "array",
186
- "items": {
187
- "type": "object",
188
- "additionalProperties": false
189
- }
190
- }
191
- },
192
- "additionalProperties": false
193
- },
194
- "imageOptimization": {
195
- "title": "Settings for image-webpack-loader",
196
- "type": "object",
197
- "properties": {
198
- "enabled": {
199
- "title": "Enable image-webpack-loader",
200
- "type": "boolean"
201
- },
202
- "options": {
203
- "title": "Pass options to image-webpack-loader",
204
- "additionalProperties": true,
205
- "type": "object"
206
- }
207
- },
208
- "additionalProperties": false
209
- },
210
- "transpileOnlyModernLibs": {
211
- "title": "transpile libs based only on @tinkoff/is-modern-lib",
212
- "default": true,
149
+ "async": {
213
150
  "type": "boolean"
214
151
  },
215
- "webpackResolveAlias": {
216
- "title": "Browser package resolve aliases. E.g. { \"stream\": \"stream-browserify\" }",
217
- "additionalProperties": true,
218
- "type": "object"
219
- },
220
- "webpackProvide": {
221
- "title": "Browser packages to provide with ProvidePlugin. E.g. { \"Buffer\": [\"buffer\", \"Buffer\"] }",
222
- "additionalProperties": true,
223
- "type": "object"
224
- },
225
- "fileSystemPages": {
226
- "title": "experimental settings for File-System Routing feature",
227
- "default": {},
228
- "type": "object",
229
- "properties": {
230
- "enable": {
231
- "title": "Read pages from file system",
232
- "default": false,
233
- "type": "boolean"
234
- },
235
- "routesDir": {
236
- "title": "Folder with pages from which static routers are generated",
237
- "default": "routes",
238
- "anyOf": [
239
- {
240
- "enum": [
241
- false
242
- ],
243
- "type": "boolean"
244
- },
245
- {
246
- "type": "string"
247
- }
248
- ]
249
- },
250
- "pagesDir": {
251
- "title": "Folder with components which can be manually added to static routers",
252
- "default": "pages",
253
- "anyOf": [
254
- {
255
- "enum": [
256
- false
257
- ],
258
- "type": "boolean"
259
- },
260
- {
261
- "type": "string"
262
- }
263
- ]
264
- }
265
- },
266
- "additionalProperties": false
267
- },
268
- "experiments": {
269
- "title": "Experimental settings",
270
- "default": {},
271
- "type": "object",
272
- "properties": {
273
- "webpack": {
274
- "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
275
- "default": {},
276
- "additionalProperties": false,
152
+ "typescript": {
153
+ "anyOf": [
154
+ {
277
155
  "type": "object",
278
156
  "properties": {
279
- "asyncWebAssembly": {
280
- "description": "Support WebAssembly as asynchronous EcmaScript Module.",
281
- "type": "boolean"
282
- },
283
- "backCompat": {
284
- "title": "Enable backward compatibility with webpack previous major versions",
285
- "default": false,
286
- "type": "boolean"
287
- },
288
- "cacheUnaffected": {
289
- "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
290
- "default": true,
291
- "type": "boolean"
292
- },
293
- "futureDefaults": {
294
- "description": "Apply defaults of next major version.",
295
- "type": "boolean"
296
- },
297
- "layers": {
298
- "description": "Enable module layers.",
299
- "type": "boolean"
300
- },
301
- "outputModule": {
302
- "description": "Allow output javascript files as module source type.",
157
+ "enabled": {
303
158
  "type": "boolean"
304
159
  },
305
- "syncWebAssembly": {
306
- "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
307
- "type": "boolean"
160
+ "memoryLimit": {
161
+ "type": "number"
308
162
  },
309
- "topLevelAwait": {
310
- "description": "Allow using top-level-await in EcmaScript Modules.",
311
- "type": "boolean"
163
+ "configFile": {
164
+ "type": "string"
312
165
  },
313
- "css": {
314
- "description": "Enable css support.",
315
- "anyOf": [
316
- {
317
- "description": "Options for css handling.",
166
+ "configOverwrite": {
167
+ "type": "object",
168
+ "properties": {
169
+ "extends": {
170
+ "type": "string"
171
+ },
172
+ "compilerOptions": {
318
173
  "type": "object",
319
- "properties": {
320
- "exportsOnly": {
321
- "description": "Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.",
322
- "type": "boolean"
323
- }
324
- },
325
- "additionalProperties": false
174
+ "properties": {},
175
+ "additionalProperties": true
326
176
  },
327
- {
328
- "type": "boolean"
177
+ "include": {
178
+ "type": "array",
179
+ "items": {
180
+ "type": "string"
181
+ }
182
+ },
183
+ "exclude": {
184
+ "type": "array",
185
+ "items": {
186
+ "type": "string"
187
+ }
188
+ },
189
+ "files": {
190
+ "type": "array",
191
+ "items": {
192
+ "type": "string"
193
+ }
194
+ },
195
+ "references": {
196
+ "type": "array",
197
+ "items": {
198
+ "type": "object",
199
+ "properties": {
200
+ "path": {
201
+ "type": "string"
202
+ },
203
+ "prepend": {
204
+ "type": "boolean"
205
+ }
206
+ },
207
+ "additionalProperties": false
208
+ }
329
209
  }
330
- ]
331
- }
332
- }
333
- },
334
- "minicss": {
335
- "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
336
- "default": {},
337
- "type": "object",
338
- "properties": {
339
- "useImportModule": {
340
- "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
341
- "default": true,
210
+ },
211
+ "additionalProperties": false
212
+ },
213
+ "context": {
214
+ "type": "string"
215
+ },
216
+ "build": {
342
217
  "type": "boolean"
343
- }
344
- },
345
- "additionalProperties": false
346
- },
347
- "transpilation": {
348
- "title": "experimental settings for code transpilation",
349
- "default": {},
350
- "type": "object",
351
- "properties": {
352
- "loader": {
353
- "title": "specify loader to transpile js-ts code",
354
- "default": "babel",
218
+ },
219
+ "mode": {
355
220
  "enum": [
356
- "babel",
357
- "swc"
221
+ "readonly",
222
+ "write-dts",
223
+ "write-references",
224
+ "write-tsbuildinfo"
358
225
  ],
359
226
  "type": "string"
360
- }
361
- },
362
- "additionalProperties": false
363
- }
364
- },
365
- "additionalProperties": false
366
- },
367
- "granularChunks": {
368
- "title": "Separate one common chunk to many small dynamic chunks",
369
- "default": true,
370
- "type": "boolean"
371
- },
372
- "granularChunksSplitNumber": {
373
- "title": "Move module to shared chunk if used at least as many times in other chunks",
374
- "default": 2,
375
- "type": "number"
376
- },
377
- "granularChunksMinSize": {
378
- "title": "Minimum shared chunk size in bytes",
379
- "default": 20000,
380
- "type": "number"
381
- },
382
- "commonChunk": {
383
- "title": "Enable auto chunk splitting (`granularChunks` option alternative)",
384
- "default": false,
385
- "type": "boolean"
386
- },
387
- "commonChunkSplitNumber": {
388
- "title": "Move module to common chunk if used at least as many times in other chunks",
389
- "default": 3,
390
- "type": "number"
391
- },
392
- "checkAsyncTs": {
393
- "title": "Configuration for fork-ts-checker-webpack-plugin",
394
- "default": false,
395
- "anyOf": [
396
- {
397
- "type": "object",
398
- "properties": {
399
- "failOnBuild": {
400
- "description": "при включении этого флага в build-сборку добавляется проверка типов\nпри невалидных типах сборка падает",
401
- "type": "boolean"
402
227
  },
403
- "pluginOptions": {
404
- "description": "дополнительные опции",
228
+ "diagnosticOptions": {
405
229
  "type": "object",
406
230
  "properties": {
407
- "async": {
231
+ "syntactic": {
232
+ "type": "boolean"
233
+ },
234
+ "semantic": {
235
+ "type": "boolean"
236
+ },
237
+ "declaration": {
408
238
  "type": "boolean"
409
239
  },
410
- "typescript": {
240
+ "global": {
241
+ "type": "boolean"
242
+ }
243
+ },
244
+ "additionalProperties": false
245
+ },
246
+ "extensions": {
247
+ "type": "object",
248
+ "properties": {
249
+ "vue": {
411
250
  "anyOf": [
412
251
  {
413
252
  "type": "object",
@@ -415,124 +254,7 @@
415
254
  "enabled": {
416
255
  "type": "boolean"
417
256
  },
418
- "memoryLimit": {
419
- "type": "number"
420
- },
421
- "configFile": {
422
- "type": "string"
423
- },
424
- "configOverwrite": {
425
- "type": "object",
426
- "properties": {
427
- "extends": {
428
- "type": "string"
429
- },
430
- "compilerOptions": {
431
- "type": "object",
432
- "properties": {},
433
- "additionalProperties": true
434
- },
435
- "include": {
436
- "type": "array",
437
- "items": {
438
- "type": "string"
439
- }
440
- },
441
- "exclude": {
442
- "type": "array",
443
- "items": {
444
- "type": "string"
445
- }
446
- },
447
- "files": {
448
- "type": "array",
449
- "items": {
450
- "type": "string"
451
- }
452
- },
453
- "references": {
454
- "type": "array",
455
- "items": {
456
- "type": "object",
457
- "properties": {
458
- "path": {
459
- "type": "string"
460
- },
461
- "prepend": {
462
- "type": "boolean"
463
- }
464
- },
465
- "additionalProperties": false,
466
- "required": [
467
- "path"
468
- ]
469
- }
470
- }
471
- },
472
- "additionalProperties": false
473
- },
474
- "context": {
475
- "type": "string"
476
- },
477
- "build": {
478
- "type": "boolean"
479
- },
480
- "mode": {
481
- "enum": [
482
- "readonly",
483
- "write-dts",
484
- "write-references",
485
- "write-tsbuildinfo"
486
- ],
487
- "type": "string"
488
- },
489
- "diagnosticOptions": {
490
- "type": "object",
491
- "properties": {
492
- "syntactic": {
493
- "type": "boolean"
494
- },
495
- "semantic": {
496
- "type": "boolean"
497
- },
498
- "declaration": {
499
- "type": "boolean"
500
- },
501
- "global": {
502
- "type": "boolean"
503
- }
504
- },
505
- "additionalProperties": false
506
- },
507
- "extensions": {
508
- "type": "object",
509
- "properties": {
510
- "vue": {
511
- "anyOf": [
512
- {
513
- "type": "object",
514
- "properties": {
515
- "enabled": {
516
- "type": "boolean"
517
- },
518
- "compiler": {
519
- "type": "string"
520
- }
521
- },
522
- "additionalProperties": false
523
- },
524
- {
525
- "type": "boolean"
526
- }
527
- ]
528
- }
529
- },
530
- "additionalProperties": false
531
- },
532
- "profile": {
533
- "type": "boolean"
534
- },
535
- "typescriptPath": {
257
+ "compiler": {
536
258
  "type": "string"
537
259
  }
538
260
  },
@@ -542,331 +264,15 @@
542
264
  "type": "boolean"
543
265
  }
544
266
  ]
545
- },
546
- "eslint": {
547
- "type": "object",
548
- "properties": {
549
- "files": {
550
- "anyOf": [
551
- {
552
- "type": "array",
553
- "items": {
554
- "type": "string"
555
- }
556
- },
557
- {
558
- "type": "string"
559
- }
560
- ]
561
- },
562
- "enabled": {
563
- "type": "boolean"
564
- },
565
- "memoryLimit": {
566
- "type": "number"
567
- },
568
- "options": {
569
- "type": "object",
570
- "additionalProperties": {},
571
- "properties": {
572
- "cwd": {
573
- "type": "string"
574
- },
575
- "extensions": {
576
- "type": "array",
577
- "items": {
578
- "type": "string"
579
- }
580
- },
581
- "fix": {
582
- "type": "boolean"
583
- }
584
- }
585
- }
586
- },
587
- "additionalProperties": false,
588
- "required": [
589
- "files"
590
- ]
591
- },
592
- "formatter": {
593
- "anyOf": [
594
- {
595
- "type": "object",
596
- "additionalProperties": false
597
- },
598
- {
599
- "type": "object",
600
- "properties": {
601
- "type": {
602
- "anyOf": [
603
- {
604
- "type": "object",
605
- "additionalProperties": false
606
- },
607
- {
608
- "enum": [
609
- "basic",
610
- "codeframe"
611
- ],
612
- "type": "string"
613
- }
614
- ]
615
- },
616
- "options": {
617
- "type": "object",
618
- "properties": {
619
- "highlightCode": {
620
- "description": "Syntax highlight the code as JavaScript for terminals. default: false",
621
- "type": "boolean"
622
- },
623
- "linesAbove": {
624
- "description": "The number of lines to show above the error. default: 2",
625
- "type": "number"
626
- },
627
- "linesBelow": {
628
- "description": "The number of lines to show below the error. default: 3",
629
- "type": "number"
630
- },
631
- "forceColor": {
632
- "description": "Forcibly syntax highlight the code as JavaScript (for non-terminals);\noverrides highlightCode.\ndefault: false",
633
- "type": "boolean"
634
- },
635
- "message": {
636
- "description": "Pass in a string to be displayed inline (if possible) next to the\nhighlighted location in the code. If it can't be positioned inline,\nit will be placed above the code frame.\ndefault: nothing",
637
- "type": "string"
638
- }
639
- },
640
- "additionalProperties": false
641
- }
642
- },
643
- "additionalProperties": false,
644
- "required": [
645
- "type"
646
- ]
647
- },
648
- {
649
- "enum": [
650
- "basic",
651
- "codeframe"
652
- ],
653
- "type": "string"
654
- }
655
- ]
656
- },
657
- "issue": {
658
- "type": "object",
659
- "properties": {
660
- "include": {
661
- "anyOf": [
662
- {
663
- "type": "object",
664
- "additionalProperties": false
665
- },
666
- {
667
- "type": "object",
668
- "properties": {
669
- "code": {
670
- "type": "string"
671
- },
672
- "file": {
673
- "type": "string"
674
- },
675
- "origin": {
676
- "type": "string"
677
- },
678
- "severity": {
679
- "enum": [
680
- "error",
681
- "warning"
682
- ],
683
- "type": "string"
684
- }
685
- },
686
- "additionalProperties": false
687
- },
688
- {
689
- "type": "array",
690
- "items": {
691
- "anyOf": [
692
- {
693
- "type": "object",
694
- "additionalProperties": false
695
- },
696
- {
697
- "type": "object",
698
- "properties": {
699
- "code": {
700
- "type": "string"
701
- },
702
- "file": {
703
- "type": "string"
704
- },
705
- "origin": {
706
- "type": "string"
707
- },
708
- "severity": {
709
- "enum": [
710
- "error",
711
- "warning"
712
- ],
713
- "type": "string"
714
- }
715
- },
716
- "additionalProperties": false
717
- }
718
- ]
719
- }
720
- }
721
- ]
722
- },
723
- "exclude": {
724
- "anyOf": [
725
- {
726
- "type": "object",
727
- "additionalProperties": false
728
- },
729
- {
730
- "type": "object",
731
- "properties": {
732
- "code": {
733
- "type": "string"
734
- },
735
- "file": {
736
- "type": "string"
737
- },
738
- "origin": {
739
- "type": "string"
740
- },
741
- "severity": {
742
- "enum": [
743
- "error",
744
- "warning"
745
- ],
746
- "type": "string"
747
- }
748
- },
749
- "additionalProperties": false
750
- },
751
- {
752
- "type": "array",
753
- "items": {
754
- "anyOf": [
755
- {
756
- "type": "object",
757
- "additionalProperties": false
758
- },
759
- {
760
- "type": "object",
761
- "properties": {
762
- "code": {
763
- "type": "string"
764
- },
765
- "file": {
766
- "type": "string"
767
- },
768
- "origin": {
769
- "type": "string"
770
- },
771
- "severity": {
772
- "enum": [
773
- "error",
774
- "warning"
775
- ],
776
- "type": "string"
777
- }
778
- },
779
- "additionalProperties": false
780
- }
781
- ]
782
- }
783
- }
784
- ]
785
- }
786
- },
787
- "additionalProperties": false
788
- },
789
- "logger": {
790
- "type": "object",
791
- "properties": {
792
- "infrastructure": {
793
- "anyOf": [
794
- {
795
- "type": "object",
796
- "properties": {
797
- "info": {
798
- "type": "object",
799
- "additionalProperties": false
800
- },
801
- "log": {
802
- "type": "object",
803
- "additionalProperties": false
804
- },
805
- "error": {
806
- "type": "object",
807
- "additionalProperties": false
808
- }
809
- },
810
- "additionalProperties": false,
811
- "required": [
812
- "error",
813
- "info",
814
- "log"
815
- ]
816
- },
817
- {
818
- "enum": [
819
- "console",
820
- "silent",
821
- "webpack-infrastructure"
822
- ],
823
- "type": "string"
824
- }
825
- ]
826
- },
827
- "issues": {
828
- "anyOf": [
829
- {
830
- "type": "object",
831
- "properties": {
832
- "info": {
833
- "type": "object",
834
- "additionalProperties": false
835
- },
836
- "log": {
837
- "type": "object",
838
- "additionalProperties": false
839
- },
840
- "error": {
841
- "type": "object",
842
- "additionalProperties": false
843
- }
844
- },
845
- "additionalProperties": false,
846
- "required": [
847
- "error",
848
- "info",
849
- "log"
850
- ]
851
- },
852
- {
853
- "enum": [
854
- "console",
855
- "silent",
856
- "webpack-infrastructure"
857
- ],
858
- "type": "string"
859
- }
860
- ]
861
- },
862
- "devServer": {
863
- "type": "boolean"
864
- }
865
- },
866
- "additionalProperties": false
867
267
  }
868
268
  },
869
269
  "additionalProperties": false
270
+ },
271
+ "profile": {
272
+ "type": "boolean"
273
+ },
274
+ "typescriptPath": {
275
+ "type": "string"
870
276
  }
871
277
  },
872
278
  "additionalProperties": false
@@ -876,828 +282,1198 @@
876
282
  }
877
283
  ]
878
284
  },
879
- "externals": {
880
- "title": "Pass list to Webpack config externals field",
881
- "default": [],
882
- "type": "array",
883
- "items": {
884
- "type": "string"
885
- }
886
- }
887
- }
888
- }
889
- },
890
- "additionalProperties": false
891
- },
892
- "serve": {
893
- "default": {},
894
- "additionalProperties": false,
895
- "type": "object",
896
- "properties": {
897
- "notifications": {
898
- "default": {},
899
- "additionalProperties": false,
900
- "type": "object",
901
- "properties": {
902
- "suppressSuccess": {
903
- "title": "Defines when success notifications are shown",
904
- "enum": [
905
- "always",
906
- false,
907
- "initial",
908
- true
909
- ]
910
- },
911
- "suppressWarning": {
912
- "title": "True to suppress the warning notifications, otherwise false",
913
- "type": "boolean"
914
- },
915
- "activateTerminalOnError": {
916
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
917
- "type": "boolean"
918
- },
919
- "client": {
285
+ "eslint": {
920
286
  "type": "object",
921
287
  "properties": {
922
- "suppressSuccess": {
923
- "title": "Defines when success notifications are shown",
924
- "enum": [
925
- "always",
926
- false,
927
- "initial",
928
- true
288
+ "files": {
289
+ "anyOf": [
290
+ {
291
+ "type": "array",
292
+ "items": {
293
+ "type": "string"
294
+ }
295
+ },
296
+ {
297
+ "type": "string"
298
+ }
929
299
  ]
930
300
  },
931
- "suppressWarning": {
932
- "title": "True to suppress the warning notifications, otherwise false",
301
+ "enabled": {
933
302
  "type": "boolean"
934
303
  },
935
- "activateTerminalOnError": {
936
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
937
- "type": "boolean"
304
+ "memoryLimit": {
305
+ "type": "number"
306
+ },
307
+ "options": {
308
+ "type": "object",
309
+ "properties": {
310
+ "cwd": {
311
+ "type": "string"
312
+ },
313
+ "extensions": {
314
+ "type": "array",
315
+ "items": {
316
+ "type": "string"
317
+ }
318
+ },
319
+ "fix": {
320
+ "type": "boolean"
321
+ }
322
+ },
323
+ "additionalProperties": false
938
324
  }
939
325
  },
940
326
  "additionalProperties": false
941
327
  },
942
- "server": {
943
- "type": "object",
944
- "properties": {
945
- "suppressSuccess": {
946
- "title": "Defines when success notifications are shown",
947
- "enum": [
948
- "always",
949
- false,
950
- "initial",
951
- true
952
- ]
328
+ "formatter": {
329
+ "anyOf": [
330
+ {
331
+ "type": "object",
332
+ "additionalProperties": false
953
333
  },
954
- "suppressWarning": {
955
- "title": "True to suppress the warning notifications, otherwise false",
956
- "type": "boolean"
334
+ {
335
+ "type": "object",
336
+ "properties": {
337
+ "type": {
338
+ "anyOf": [
339
+ {
340
+ "type": "object",
341
+ "additionalProperties": false
342
+ },
343
+ {
344
+ "enum": [
345
+ "basic",
346
+ "codeframe"
347
+ ],
348
+ "type": "string"
349
+ }
350
+ ]
351
+ },
352
+ "options": {
353
+ "type": "object",
354
+ "properties": {
355
+ "highlightCode": {
356
+ "description": "Syntax highlight the code as JavaScript for terminals. default: false",
357
+ "type": "boolean"
358
+ },
359
+ "linesAbove": {
360
+ "description": "The number of lines to show above the error. default: 2",
361
+ "type": "number"
362
+ },
363
+ "linesBelow": {
364
+ "description": "The number of lines to show below the error. default: 3",
365
+ "type": "number"
366
+ },
367
+ "forceColor": {
368
+ "description": "Forcibly syntax highlight the code as JavaScript (for non-terminals);\noverrides highlightCode.\ndefault: false",
369
+ "type": "boolean"
370
+ },
371
+ "message": {
372
+ "description": "Pass in a string to be displayed inline (if possible) next to the\nhighlighted location in the code. If it can't be positioned inline,\nit will be placed above the code frame.\ndefault: nothing",
373
+ "type": "string"
374
+ }
375
+ },
376
+ "additionalProperties": false
377
+ }
378
+ },
379
+ "additionalProperties": false
957
380
  },
958
- "activateTerminalOnError": {
959
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
960
- "type": "boolean"
381
+ {
382
+ "enum": [
383
+ "basic",
384
+ "codeframe"
385
+ ],
386
+ "type": "string"
961
387
  }
962
- },
963
- "additionalProperties": false
964
- }
965
- }
966
- },
967
- "configurations": {
968
- "default": {},
969
- "additionalProperties": false,
970
- "type": "object",
971
- "properties": {
972
- "sourceMap": {
973
- "title": "Enable source maps in development build (for client and server build)",
974
- "default": false,
975
- "type": "boolean"
976
- },
977
- "modern": {
978
- "title": "Enable development build for modern browsers",
979
- "default": true,
980
- "type": "boolean"
981
- },
982
- "hotRefresh": {
983
- "title": "Enable react hot-refresh",
984
- "default": true,
985
- "type": "boolean"
388
+ ]
986
389
  },
987
- "hotRefreshOptions": {
988
- "title": "Configure react hot-refresh https://github.com/pmmmwh/react-refresh-webpack-plugin#options",
390
+ "issue": {
989
391
  "type": "object",
990
- "additionalProperties": {},
991
392
  "properties": {
992
- "overlay": {
393
+ "include": {
993
394
  "anyOf": [
994
395
  {
995
396
  "type": "object",
996
397
  "additionalProperties": false
997
398
  },
998
399
  {
999
- "type": "boolean"
400
+ "type": "object",
401
+ "properties": {
402
+ "code": {
403
+ "type": "string"
404
+ },
405
+ "file": {
406
+ "type": "string"
407
+ },
408
+ "origin": {
409
+ "type": "string"
410
+ },
411
+ "severity": {
412
+ "enum": [
413
+ "error",
414
+ "warning"
415
+ ],
416
+ "type": "string"
417
+ }
418
+ },
419
+ "additionalProperties": false
420
+ },
421
+ {
422
+ "type": "array",
423
+ "items": {
424
+ "anyOf": [
425
+ {
426
+ "type": "object",
427
+ "additionalProperties": false
428
+ },
429
+ {
430
+ "type": "object",
431
+ "properties": {
432
+ "code": {
433
+ "type": "string"
434
+ },
435
+ "file": {
436
+ "type": "string"
437
+ },
438
+ "origin": {
439
+ "type": "string"
440
+ },
441
+ "severity": {
442
+ "enum": [
443
+ "error",
444
+ "warning"
445
+ ],
446
+ "type": "string"
447
+ }
448
+ },
449
+ "additionalProperties": false
450
+ }
451
+ ]
452
+ }
453
+ }
454
+ ]
455
+ },
456
+ "exclude": {
457
+ "anyOf": [
458
+ {
459
+ "type": "object",
460
+ "additionalProperties": false
461
+ },
462
+ {
463
+ "type": "object",
464
+ "properties": {
465
+ "code": {
466
+ "type": "string"
467
+ },
468
+ "file": {
469
+ "type": "string"
470
+ },
471
+ "origin": {
472
+ "type": "string"
473
+ },
474
+ "severity": {
475
+ "enum": [
476
+ "error",
477
+ "warning"
478
+ ],
479
+ "type": "string"
480
+ }
481
+ },
482
+ "additionalProperties": false
483
+ },
484
+ {
485
+ "type": "array",
486
+ "items": {
487
+ "anyOf": [
488
+ {
489
+ "type": "object",
490
+ "additionalProperties": false
491
+ },
492
+ {
493
+ "type": "object",
494
+ "properties": {
495
+ "code": {
496
+ "type": "string"
497
+ },
498
+ "file": {
499
+ "type": "string"
500
+ },
501
+ "origin": {
502
+ "type": "string"
503
+ },
504
+ "severity": {
505
+ "enum": [
506
+ "error",
507
+ "warning"
508
+ ],
509
+ "type": "string"
510
+ }
511
+ },
512
+ "additionalProperties": false
513
+ }
514
+ ]
515
+ }
1000
516
  }
1001
517
  ]
1002
518
  }
1003
- }
519
+ },
520
+ "additionalProperties": false
1004
521
  },
1005
- "experiments": {
1006
- "default": {},
1007
- "additionalProperties": false,
522
+ "logger": {
1008
523
  "type": "object",
1009
524
  "properties": {
1010
- "webpack": {
1011
- "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
1012
- "default": {},
1013
- "additionalProperties": false,
1014
- "type": "object",
1015
- "properties": {
1016
- "asyncWebAssembly": {
1017
- "description": "Support WebAssembly as asynchronous EcmaScript Module.",
1018
- "type": "boolean"
1019
- },
1020
- "backCompat": {
1021
- "title": "Enable backward compatibility with webpack previous major versions",
1022
- "default": false,
1023
- "type": "boolean"
1024
- },
1025
- "cacheUnaffected": {
1026
- "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
1027
- "default": true,
1028
- "type": "boolean"
1029
- },
1030
- "futureDefaults": {
1031
- "description": "Apply defaults of next major version.",
1032
- "type": "boolean"
1033
- },
1034
- "layers": {
1035
- "description": "Enable module layers.",
1036
- "type": "boolean"
1037
- },
1038
- "outputModule": {
1039
- "description": "Allow output javascript files as module source type.",
1040
- "type": "boolean"
1041
- },
1042
- "syncWebAssembly": {
1043
- "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1044
- "type": "boolean"
1045
- },
1046
- "topLevelAwait": {
1047
- "description": "Allow using top-level-await in EcmaScript Modules.",
1048
- "type": "boolean"
1049
- },
1050
- "css": {
1051
- "description": "Enable css support.",
1052
- "anyOf": [
1053
- {
1054
- "description": "Options for css handling.",
525
+ "infrastructure": {
526
+ "anyOf": [
527
+ {
528
+ "type": "object",
529
+ "properties": {
530
+ "info": {
1055
531
  "type": "object",
1056
- "properties": {
1057
- "exportsOnly": {
1058
- "description": "Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.",
1059
- "type": "boolean"
1060
- }
1061
- },
1062
532
  "additionalProperties": false
1063
533
  },
1064
- {
1065
- "type": "boolean"
534
+ "log": {
535
+ "type": "object",
536
+ "additionalProperties": false
537
+ },
538
+ "error": {
539
+ "type": "object",
540
+ "additionalProperties": false
1066
541
  }
1067
- ]
1068
- }
1069
- }
1070
- },
1071
- "minicss": {
1072
- "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
1073
- "default": {},
1074
- "type": "object",
1075
- "properties": {
1076
- "useImportModule": {
1077
- "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
1078
- "default": true,
1079
- "type": "boolean"
1080
- }
1081
- },
1082
- "additionalProperties": false
1083
- },
1084
- "transpilation": {
1085
- "title": "experimental settings for code transpilation",
1086
- "default": {},
1087
- "type": "object",
1088
- "properties": {
1089
- "loader": {
1090
- "title": "specify loader to transpile js-ts code",
1091
- "default": "babel",
542
+ },
543
+ "additionalProperties": false
544
+ },
545
+ {
1092
546
  "enum": [
1093
- "babel",
1094
- "swc"
547
+ "console",
548
+ "silent",
549
+ "webpack-infrastructure"
1095
550
  ],
1096
551
  "type": "string"
1097
552
  }
1098
- },
1099
- "additionalProperties": false
553
+ ]
1100
554
  },
1101
- "serverRunner": {
1102
- "title": "How to run server build",
1103
- "default": "process",
1104
- "enum": [
1105
- "process",
1106
- "thread"
1107
- ],
1108
- "type": "string"
1109
- }
1110
- }
1111
- },
1112
- "externals": {
1113
- "title": "Pass list to Webpack config externals field",
1114
- "default": [
1115
- "react$",
1116
- "react-dom",
1117
- "prop-types",
1118
- "express",
1119
- "core-js"
1120
- ],
1121
- "type": "array",
1122
- "items": {
1123
- "type": "string"
1124
- }
1125
- }
1126
- }
1127
- }
1128
- }
1129
- }
1130
- },
1131
- "additionalProperties": false
1132
- },
1133
- "name": {
1134
- "type": "string"
1135
- },
1136
- "root": {
1137
- "type": "string"
1138
- },
1139
- "version": {
1140
- "type": "string"
1141
- }
1142
- },
1143
- "additionalProperties": false,
1144
- "required": [
1145
- "name",
1146
- "root",
1147
- "type"
1148
- ]
1149
- },
1150
- "module": {
1151
- "type": "object",
1152
- "properties": {
1153
- "type": {
1154
- "type": "string",
1155
- "enum": [
1156
- "module"
1157
- ]
1158
- },
1159
- "commands": {
1160
- "default": {},
1161
- "type": "object",
1162
- "properties": {
1163
- "build": {
1164
- "default": {},
1165
- "type": "object",
1166
- "properties": {
1167
- "options": {
1168
- "default": {},
1169
- "type": "object",
1170
- "properties": {
1171
- "output": {
1172
- "title": "Path to build module assets",
1173
- "default": "dist/modules",
1174
- "type": "string"
1175
- }
1176
- },
1177
- "additionalProperties": false
1178
- },
1179
- "configurations": {
1180
- "default": {},
1181
- "additionalProperties": false,
1182
- "type": "object",
1183
- "properties": {
1184
- "modern": {
1185
- "title": "Enable production build for modern browsers",
1186
- "default": true,
1187
- "type": "boolean"
1188
- },
1189
- "dedupe": {
1190
- "title": "Enable DedupePlugin",
1191
- "default": "equality",
1192
- "enum": [
1193
- "equality",
1194
- false,
1195
- "semver"
1196
- ]
1197
- },
1198
- "dedupeIgnore": {
1199
- "title": "Sets ignore to DedupePlugin",
1200
- "type": "array",
1201
- "items": {
1202
- "type": "string"
1203
- }
1204
- },
1205
- "removeTypeofWindow": {
1206
- "title": "Enable replacing `typeof window` expression",
1207
- "default": true,
1208
- "type": "boolean"
1209
- },
1210
- "sourceMap": {
1211
- "title": "Enable source maps in production build",
1212
- "default": false,
1213
- "type": "boolean"
1214
- },
1215
- "sourceMapServer": {
1216
- "title": "Enable source maps for server assets in production build",
1217
- "default": false,
1218
- "type": "boolean"
1219
- },
1220
- "terserParallel": {
1221
- "title": "Configuration for enabling parallel compression for terser plugin",
1222
- "default": true,
1223
- "type": "boolean"
1224
- },
1225
- "excludesPresetEnv": {
1226
- "title": "List of modules to exclude from",
1227
- "type": "array",
1228
- "items": {
1229
- "type": "string"
1230
- }
1231
- },
1232
- "threadLoader": {
1233
- "title": "thread-loader config",
1234
- "additionalProperties": true,
1235
- "type": "object"
1236
- },
1237
- "definePlugin": {
1238
- "title": "Define plugin config",
1239
- "default": {
1240
- "prod": {},
1241
- "dev": {}
1242
- },
1243
- "additionalProperties": true,
1244
- "type": "object"
1245
- },
1246
- "generateDataQaTag": {
1247
- "default": false,
1248
- "type": "boolean"
1249
- },
1250
- "enableFillActionNamePlugin": {
1251
- "default": false,
1252
- "type": "boolean"
1253
- },
1254
- "cssMinimize": {
1255
- "title": "Set minimizer for css",
1256
- "type": "string",
1257
- "enum": [
1258
- "csso"
1259
- ]
1260
- },
1261
- "postcss": {
1262
- "default": {
1263
- "config": "postcss.config",
1264
- "cssLocalIdentName": "[hash:base64:5]"
1265
- },
1266
- "type": "object",
1267
- "properties": {
1268
- "config": {
1269
- "title": "Path to postcss config file",
1270
- "type": "string"
1271
- },
1272
- "cssLocalIdentName": {
1273
- "title": "CSS identifiers build algorythm",
1274
- "type": "string"
1275
- },
1276
- "cssLocalIdentNameDev": {
1277
- "title": "CSS identifiers build algorythm for development buld",
1278
- "type": "string"
1279
- },
1280
- "cssLocalIdentNameProd": {
1281
- "title": "CSS identifiers build algorythm for production build",
1282
- "type": "string"
1283
- },
1284
- "assetsConfig": {
1285
- "title": "Path to postcss config file for assets",
1286
- "type": "string"
1287
- }
1288
- },
1289
- "additionalProperties": false
1290
- },
1291
- "alias": {
1292
- "title": "`@@deprecated @tramvai/cli now supports baseUrl and paths from the app's tsconfig.json file.\nJust check or add configuration to your tsconfig file and remove alias from tramvai.json`",
1293
- "additionalProperties": true,
1294
- "type": "object"
1295
- },
1296
- "svgo": {
1297
- "title": "svgo-loader options",
1298
- "type": "object",
1299
- "properties": {
1300
- "plugins": {
1301
- "title": "svgo plugins",
1302
- "type": "array",
1303
- "items": {
1304
- "type": "object",
1305
- "additionalProperties": false
1306
- }
1307
- }
1308
- },
1309
- "additionalProperties": false
1310
- },
1311
- "imageOptimization": {
1312
- "title": "Settings for image-webpack-loader",
1313
- "type": "object",
1314
- "properties": {
1315
- "enabled": {
1316
- "title": "Enable image-webpack-loader",
1317
- "type": "boolean"
1318
- },
1319
- "options": {
1320
- "title": "Pass options to image-webpack-loader",
1321
- "additionalProperties": true,
1322
- "type": "object"
1323
- }
1324
- },
1325
- "additionalProperties": false
1326
- },
1327
- "transpileOnlyModernLibs": {
1328
- "title": "transpile libs based only on @tinkoff/is-modern-lib",
1329
- "default": true,
1330
- "type": "boolean"
1331
- },
1332
- "webpackResolveAlias": {
1333
- "title": "Browser package resolve aliases. E.g. { \"stream\": \"stream-browserify\" }",
1334
- "additionalProperties": true,
1335
- "type": "object"
1336
- },
1337
- "webpackProvide": {
1338
- "title": "Browser packages to provide with ProvidePlugin. E.g. { \"Buffer\": [\"buffer\", \"Buffer\"] }",
1339
- "additionalProperties": true,
1340
- "type": "object"
1341
- },
1342
- "fileSystemPages": {
1343
- "title": "experimental settings for File-System Routing feature",
1344
- "default": {},
1345
- "type": "object",
1346
- "properties": {
1347
- "enable": {
1348
- "title": "Read pages from file system",
1349
- "default": false,
1350
- "type": "boolean"
1351
- },
1352
- "routesDir": {
1353
- "title": "Folder with pages from which static routers are generated",
1354
- "default": "routes",
1355
- "anyOf": [
1356
- {
1357
- "enum": [
1358
- false
1359
- ],
1360
- "type": "boolean"
1361
- },
1362
- {
1363
- "type": "string"
1364
- }
1365
- ]
1366
- },
1367
- "pagesDir": {
1368
- "title": "Folder with components which can be manually added to static routers",
1369
- "default": "pages",
555
+ "issues": {
1370
556
  "anyOf": [
1371
557
  {
1372
- "enum": [
1373
- false
1374
- ],
1375
- "type": "boolean"
1376
- },
1377
- {
1378
- "type": "string"
1379
- }
1380
- ]
1381
- }
1382
- },
1383
- "additionalProperties": false
1384
- },
1385
- "experiments": {
1386
- "title": "Experimental settings",
1387
- "default": {},
1388
- "type": "object",
1389
- "properties": {
1390
- "webpack": {
1391
- "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
1392
- "default": {},
1393
- "additionalProperties": false,
1394
- "type": "object",
1395
- "properties": {
1396
- "asyncWebAssembly": {
1397
- "description": "Support WebAssembly as asynchronous EcmaScript Module.",
1398
- "type": "boolean"
1399
- },
1400
- "backCompat": {
1401
- "title": "Enable backward compatibility with webpack previous major versions",
1402
- "default": false,
1403
- "type": "boolean"
1404
- },
1405
- "cacheUnaffected": {
1406
- "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
1407
- "default": true,
1408
- "type": "boolean"
1409
- },
1410
- "futureDefaults": {
1411
- "description": "Apply defaults of next major version.",
1412
- "type": "boolean"
1413
- },
1414
- "layers": {
1415
- "description": "Enable module layers.",
1416
- "type": "boolean"
1417
- },
1418
- "outputModule": {
1419
- "description": "Allow output javascript files as module source type.",
1420
- "type": "boolean"
1421
- },
1422
- "syncWebAssembly": {
1423
- "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1424
- "type": "boolean"
1425
- },
1426
- "topLevelAwait": {
1427
- "description": "Allow using top-level-await in EcmaScript Modules.",
1428
- "type": "boolean"
1429
- },
1430
- "css": {
1431
- "description": "Enable css support.",
1432
- "anyOf": [
1433
- {
1434
- "description": "Options for css handling.",
558
+ "type": "object",
559
+ "properties": {
560
+ "info": {
1435
561
  "type": "object",
1436
- "properties": {
1437
- "exportsOnly": {
1438
- "description": "Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.",
1439
- "type": "boolean"
1440
- }
1441
- },
1442
562
  "additionalProperties": false
1443
563
  },
1444
- {
1445
- "type": "boolean"
564
+ "log": {
565
+ "type": "object",
566
+ "additionalProperties": false
567
+ },
568
+ "error": {
569
+ "type": "object",
570
+ "additionalProperties": false
1446
571
  }
1447
- ]
1448
- }
1449
- }
1450
- },
1451
- "minicss": {
1452
- "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
1453
- "default": {},
1454
- "type": "object",
1455
- "properties": {
1456
- "useImportModule": {
1457
- "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
1458
- "default": true,
1459
- "type": "boolean"
1460
- }
1461
- },
1462
- "additionalProperties": false
1463
- },
1464
- "transpilation": {
1465
- "title": "experimental settings for code transpilation",
1466
- "default": {},
1467
- "type": "object",
1468
- "properties": {
1469
- "loader": {
1470
- "title": "specify loader to transpile js-ts code",
1471
- "default": "babel",
572
+ },
573
+ "additionalProperties": false
574
+ },
575
+ {
1472
576
  "enum": [
1473
- "babel",
1474
- "swc"
577
+ "console",
578
+ "silent",
579
+ "webpack-infrastructure"
1475
580
  ],
1476
581
  "type": "string"
1477
582
  }
1478
- },
1479
- "additionalProperties": false
583
+ ]
584
+ },
585
+ "devServer": {
586
+ "type": "boolean"
1480
587
  }
1481
588
  },
1482
589
  "additionalProperties": false
1483
590
  }
591
+ },
592
+ "additionalProperties": false
593
+ }
594
+ },
595
+ "additionalProperties": false
596
+ },
597
+ {
598
+ "type": "boolean"
599
+ }
600
+ ]
601
+ },
602
+ "externals": {
603
+ "cli_overridable": "",
604
+ "title": "Pass list to Webpack config externals field",
605
+ "default": [],
606
+ "anyOf": [
607
+ {
608
+ "type": "array",
609
+ "items": {
610
+ "type": "string"
611
+ }
612
+ },
613
+ {
614
+ "type": "object",
615
+ "properties": {
616
+ "development": {
617
+ "type": "array",
618
+ "items": {
619
+ "type": "string"
620
+ }
621
+ },
622
+ "production": {
623
+ "type": "array",
624
+ "items": {
625
+ "type": "string"
1484
626
  }
1485
627
  }
1486
628
  },
1487
629
  "additionalProperties": false
630
+ }
631
+ ]
632
+ },
633
+ "experiments": {
634
+ "title": "Experimental settings",
635
+ "default": {},
636
+ "type": "object",
637
+ "properties": {
638
+ "serverRunner": {
639
+ "title": "How to run server build",
640
+ "default": "process",
641
+ "enum": [
642
+ "process",
643
+ "thread"
644
+ ],
645
+ "type": "string"
1488
646
  },
1489
- "serve": {
647
+ "webpack": {
648
+ "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
1490
649
  "default": {},
1491
650
  "type": "object",
1492
651
  "properties": {
1493
- "notifications": {
1494
- "default": {},
1495
- "additionalProperties": false,
1496
- "type": "object",
1497
- "properties": {
1498
- "suppressSuccess": {
1499
- "title": "Defines when success notifications are shown",
1500
- "enum": [
1501
- "always",
1502
- false,
1503
- "initial",
1504
- true
1505
- ]
1506
- },
1507
- "suppressWarning": {
1508
- "title": "True to suppress the warning notifications, otherwise false",
1509
- "type": "boolean"
1510
- },
1511
- "activateTerminalOnError": {
1512
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
1513
- "type": "boolean"
1514
- },
1515
- "client": {
652
+ "asyncWebAssembly": {
653
+ "description": "Support WebAssembly as asynchronous EcmaScript Module.",
654
+ "type": "boolean"
655
+ },
656
+ "backCompat": {
657
+ "description": "Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.",
658
+ "title": "Enable backward compatibility with webpack previous major versions",
659
+ "default": false,
660
+ "type": "boolean"
661
+ },
662
+ "cacheUnaffected": {
663
+ "description": "Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.",
664
+ "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
665
+ "default": true,
666
+ "type": "boolean"
667
+ },
668
+ "futureDefaults": {
669
+ "description": "Apply defaults of next major version.",
670
+ "type": "boolean"
671
+ },
672
+ "layers": {
673
+ "description": "Enable module layers.",
674
+ "type": "boolean"
675
+ },
676
+ "outputModule": {
677
+ "description": "Allow output javascript files as module source type.",
678
+ "type": "boolean"
679
+ },
680
+ "syncWebAssembly": {
681
+ "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
682
+ "type": "boolean"
683
+ },
684
+ "topLevelAwait": {
685
+ "description": "Allow using top-level-await in EcmaScript Modules.",
686
+ "type": "boolean"
687
+ }
688
+ },
689
+ "additionalProperties": false
690
+ },
691
+ "minicss": {
692
+ "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
693
+ "default": {},
694
+ "type": "object",
695
+ "properties": {
696
+ "useImportModule": {
697
+ "cli_overridable": "",
698
+ "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
699
+ "default": true,
700
+ "anyOf": [
701
+ {
1516
702
  "type": "object",
1517
703
  "properties": {
1518
- "suppressSuccess": {
1519
- "title": "Defines when success notifications are shown",
1520
- "enum": [
1521
- "always",
1522
- false,
1523
- "initial",
1524
- true
1525
- ]
1526
- },
1527
- "suppressWarning": {
1528
- "title": "True to suppress the warning notifications, otherwise false",
704
+ "development": {
1529
705
  "type": "boolean"
1530
706
  },
1531
- "activateTerminalOnError": {
1532
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
707
+ "production": {
1533
708
  "type": "boolean"
1534
709
  }
1535
710
  },
1536
711
  "additionalProperties": false
1537
712
  },
1538
- "server": {
713
+ {
714
+ "type": "boolean"
715
+ }
716
+ ]
717
+ }
718
+ },
719
+ "additionalProperties": false
720
+ },
721
+ "transpilation": {
722
+ "title": "experimental settings for code transpilation",
723
+ "default": {},
724
+ "type": "object",
725
+ "properties": {
726
+ "loader": {
727
+ "cli_overridable": "",
728
+ "title": "specify loader to transpile js-ts code",
729
+ "default": "babel",
730
+ "anyOf": [
731
+ {
1539
732
  "type": "object",
1540
733
  "properties": {
1541
- "suppressSuccess": {
1542
- "title": "Defines when success notifications are shown",
734
+ "development": {
1543
735
  "enum": [
1544
- "always",
1545
- false,
1546
- "initial",
1547
- true
1548
- ]
1549
- },
1550
- "suppressWarning": {
1551
- "title": "True to suppress the warning notifications, otherwise false",
1552
- "type": "boolean"
736
+ "babel",
737
+ "swc"
738
+ ],
739
+ "type": "string"
1553
740
  },
1554
- "activateTerminalOnError": {
1555
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
1556
- "type": "boolean"
741
+ "production": {
742
+ "enum": [
743
+ "babel",
744
+ "swc"
745
+ ],
746
+ "type": "string"
1557
747
  }
1558
748
  },
1559
749
  "additionalProperties": false
1560
- }
1561
- }
1562
- },
1563
- "configurations": {
1564
- "default": {},
1565
- "type": "object",
1566
- "properties": {
1567
- "sourceMap": {
1568
- "title": "Enable source maps in development build (for client and server build)",
1569
- "default": false,
1570
- "type": "boolean"
1571
750
  },
1572
- "modern": {
1573
- "title": "Enable development build for modern browsers",
1574
- "default": true,
1575
- "type": "boolean"
751
+ {
752
+ "enum": [
753
+ "babel",
754
+ "swc"
755
+ ],
756
+ "type": "string"
757
+ }
758
+ ]
759
+ }
760
+ },
761
+ "additionalProperties": false
762
+ }
763
+ },
764
+ "additionalProperties": false
765
+ },
766
+ "sourceMap": {
767
+ "cli_overridable": "",
768
+ "title": "Enable source maps",
769
+ "default": false,
770
+ "anyOf": [
771
+ {
772
+ "type": "object",
773
+ "properties": {
774
+ "development": {
775
+ "type": "boolean"
776
+ },
777
+ "production": {
778
+ "type": "boolean"
779
+ }
780
+ },
781
+ "additionalProperties": false
782
+ },
783
+ {
784
+ "type": "boolean"
785
+ }
786
+ ]
787
+ },
788
+ "excludesPresetEnv": {
789
+ "title": "List of modules to exclude from `@babel/preset-env`",
790
+ "description": "Option doesn't affect build with swc loader",
791
+ "type": "array",
792
+ "items": {
793
+ "type": "string"
794
+ }
795
+ },
796
+ "threadLoader": {
797
+ "title": "Webpack's thread-loader config",
798
+ "additionalProperties": true,
799
+ "type": "object"
800
+ },
801
+ "define": {
802
+ "title": "Define static variables that should be replaced by name with provided value",
803
+ "default": {},
804
+ "type": "object",
805
+ "properties": {
806
+ "shared": {
807
+ "default": {},
808
+ "additionalProperties": true,
809
+ "type": "object"
810
+ },
811
+ "development": {
812
+ "default": {},
813
+ "additionalProperties": true,
814
+ "type": "object"
815
+ },
816
+ "production": {
817
+ "default": {},
818
+ "additionalProperties": true,
819
+ "type": "object"
820
+ }
821
+ },
822
+ "additionalProperties": false
823
+ },
824
+ "generateDataQaTag": {
825
+ "title": "`@deprecated` will be removed in next major release.",
826
+ "default": false,
827
+ "type": "boolean"
828
+ },
829
+ "enableFillActionNamePlugin": {
830
+ "title": "`@deprecated` will be removed in next major release. Включает использование плагина fill-action-name",
831
+ "default": false,
832
+ "type": "boolean"
833
+ },
834
+ "postcss": {
835
+ "default": {},
836
+ "type": "object",
837
+ "properties": {
838
+ "config": {
839
+ "title": "Path to postcss config file. By default, `postcss.config.js` file is used",
840
+ "type": "string"
841
+ },
842
+ "cssLocalIdentName": {
843
+ "cli_overridable": "",
844
+ "title": "CSS identifiers build algorithm",
845
+ "anyOf": [
846
+ {
847
+ "type": "object",
848
+ "properties": {
849
+ "development": {
850
+ "type": "string"
851
+ },
852
+ "production": {
853
+ "type": "string"
854
+ }
855
+ },
856
+ "additionalProperties": false
857
+ },
858
+ {
859
+ "type": "string"
860
+ }
861
+ ]
862
+ },
863
+ "assetsConfig": {
864
+ "title": "Path to postcss config file for assets",
865
+ "type": "string"
866
+ },
867
+ "cssModulePattern": {
868
+ "title": "Enable CSS modules for all files matching /RegExp/i.test(filename) regexp.",
869
+ "type": "string"
870
+ }
871
+ },
872
+ "additionalProperties": false
873
+ },
874
+ "alias": {
875
+ "title": "`@deprecated` as cli now supports baseUrl and paths from the app's tsconfig.json file.\nJust check or add configuration to your tsconfig file and remove alias from tramvai.json",
876
+ "additionalProperties": true,
877
+ "type": "object"
878
+ },
879
+ "svgo": {
880
+ "title": "svgo-loader options",
881
+ "type": "object",
882
+ "properties": {
883
+ "plugins": {
884
+ "title": "svgo plugins",
885
+ "type": "array",
886
+ "items": {}
887
+ }
888
+ },
889
+ "additionalProperties": false
890
+ },
891
+ "imageOptimization": {
892
+ "title": "Settings for image-webpack-loader",
893
+ "type": "object",
894
+ "properties": {
895
+ "enabled": {
896
+ "title": "Enable image-webpack-loader",
897
+ "type": "boolean"
898
+ },
899
+ "options": {
900
+ "title": "Pass options to image-webpack-loader",
901
+ "additionalProperties": true,
902
+ "type": "object"
903
+ }
904
+ },
905
+ "additionalProperties": false
906
+ },
907
+ "transpileOnlyModernLibs": {
908
+ "title": "transpile libs based only on @tinkoff/is-modern-lib",
909
+ "default": true,
910
+ "type": "boolean"
911
+ },
912
+ "webpack": {
913
+ "title": "Webpack specific settings",
914
+ "default": {},
915
+ "type": "object",
916
+ "properties": {
917
+ "resolveAlias": {
918
+ "title": "Browser package resolve aliases. E.g. { \"stream\": \"stream-browserify\" }",
919
+ "additionalProperties": true,
920
+ "type": "object"
921
+ },
922
+ "provide": {
923
+ "title": "Browser packages to provide with ProvidePlugin. E.g. { \"Buffer\": [\"buffer\", \"Buffer\"] }",
924
+ "additionalProperties": true,
925
+ "type": "object"
926
+ }
927
+ },
928
+ "additionalProperties": false
929
+ },
930
+ "dedupe": {
931
+ "title": "Enable DedupePlugin",
932
+ "default": {},
933
+ "type": "object",
934
+ "properties": {
935
+ "enabled": {
936
+ "title": "Strategy for DedupePlugin",
937
+ "default": true,
938
+ "type": "boolean"
939
+ },
940
+ "strategy": {
941
+ "title": "Strategy for DedupePlugin",
942
+ "default": "equality",
943
+ "enum": [
944
+ "equality",
945
+ "semver"
946
+ ],
947
+ "type": "string"
948
+ },
949
+ "ignore": {
950
+ "title": "Sets ignore to DedupePlugin",
951
+ "type": "array",
952
+ "items": {
953
+ "type": "string"
954
+ }
955
+ }
956
+ },
957
+ "additionalProperties": false
958
+ },
959
+ "terser": {
960
+ "title": "terser settings",
961
+ "default": {},
962
+ "type": "object",
963
+ "properties": {
964
+ "parallel": {
965
+ "title": "Configuration for enabling parallel compression for terser plugin",
966
+ "default": true,
967
+ "type": "boolean"
968
+ }
969
+ },
970
+ "additionalProperties": false
971
+ },
972
+ "cssMinimize": {
973
+ "title": "Set minimizer for css",
974
+ "default": "css-minimizer",
975
+ "enum": [
976
+ "css-minimizer",
977
+ "csso"
978
+ ],
979
+ "type": "string"
980
+ },
981
+ "hotRefresh": {
982
+ "title": "React hot-refresh",
983
+ "default": {},
984
+ "type": "object",
985
+ "properties": {
986
+ "enabled": {
987
+ "title": "Enable react hot-refresh",
988
+ "default": true,
989
+ "type": "boolean"
990
+ },
991
+ "options": {
992
+ "title": "Configure react hot-refresh https://github.com/pmmmwh/react-refresh-webpack-plugin#options",
993
+ "type": "object",
994
+ "properties": {
995
+ "overlay": {
996
+ "anyOf": [
997
+ {
998
+ "type": "object",
999
+ "additionalProperties": false
1576
1000
  },
1577
- "hotRefresh": {
1578
- "title": "Enable react hot-refresh",
1579
- "default": true,
1001
+ {
1580
1002
  "type": "boolean"
1003
+ }
1004
+ ]
1005
+ }
1006
+ },
1007
+ "additionalProperties": false
1008
+ }
1009
+ },
1010
+ "additionalProperties": false
1011
+ },
1012
+ "notifications": {
1013
+ "title": "Controls build notifications settings during development",
1014
+ "default": {},
1015
+ "type": "object",
1016
+ "properties": {
1017
+ "suppressSuccess": {
1018
+ "title": "Defines when success notifications are shown",
1019
+ "enum": [
1020
+ "always",
1021
+ false,
1022
+ "initial",
1023
+ true
1024
+ ]
1025
+ },
1026
+ "suppressWarning": {
1027
+ "title": "True to suppress the warning notifications, otherwise false",
1028
+ "type": "boolean"
1029
+ },
1030
+ "activateTerminalOnError": {
1031
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1032
+ "type": "boolean"
1033
+ },
1034
+ "client": {
1035
+ "type": "object",
1036
+ "properties": {
1037
+ "suppressSuccess": {
1038
+ "title": "Defines when success notifications are shown",
1039
+ "enum": [
1040
+ "always",
1041
+ false,
1042
+ "initial",
1043
+ true
1044
+ ]
1045
+ },
1046
+ "suppressWarning": {
1047
+ "title": "True to suppress the warning notifications, otherwise false",
1048
+ "type": "boolean"
1049
+ },
1050
+ "activateTerminalOnError": {
1051
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1052
+ "type": "boolean"
1053
+ }
1054
+ },
1055
+ "additionalProperties": false
1056
+ },
1057
+ "server": {
1058
+ "type": "object",
1059
+ "properties": {
1060
+ "suppressSuccess": {
1061
+ "title": "Defines when success notifications are shown",
1062
+ "enum": [
1063
+ "always",
1064
+ false,
1065
+ "initial",
1066
+ true
1067
+ ]
1068
+ },
1069
+ "suppressWarning": {
1070
+ "title": "True to suppress the warning notifications, otherwise false",
1071
+ "type": "boolean"
1072
+ },
1073
+ "activateTerminalOnError": {
1074
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1075
+ "type": "boolean"
1076
+ }
1077
+ },
1078
+ "additionalProperties": false
1079
+ }
1080
+ },
1081
+ "additionalProperties": false
1082
+ }
1083
+ },
1084
+ "required": [
1085
+ "name",
1086
+ "root",
1087
+ "type"
1088
+ ]
1089
+ },
1090
+ "module": {
1091
+ "additionalProperties": false,
1092
+ "type": "object",
1093
+ "properties": {
1094
+ "name": {
1095
+ "title": "name of the project",
1096
+ "type": "string"
1097
+ },
1098
+ "root": {
1099
+ "title": "path to the root directory relative to the tramvai.json",
1100
+ "type": "string"
1101
+ },
1102
+ "type": {
1103
+ "type": "string",
1104
+ "enum": [
1105
+ "module"
1106
+ ]
1107
+ },
1108
+ "output": {
1109
+ "title": "Path to build module assets",
1110
+ "default": "dist/modules",
1111
+ "type": "string"
1112
+ },
1113
+ "postcss": {
1114
+ "default": {},
1115
+ "type": "object",
1116
+ "properties": {
1117
+ "config": {
1118
+ "title": "Path to postcss config file. By default, `postcss.config.js` file is used",
1119
+ "type": "string"
1120
+ },
1121
+ "cssLocalIdentName": {
1122
+ "cli_overridable": "",
1123
+ "title": "CSS identifiers build algorithm",
1124
+ "default": "[hash:base64:5]",
1125
+ "anyOf": [
1126
+ {
1127
+ "type": "object",
1128
+ "properties": {
1129
+ "development": {
1130
+ "type": "string"
1581
1131
  },
1582
- "hotRefreshOptions": {
1583
- "title": "Configure react hot-refresh https://github.com/pmmmwh/react-refresh-webpack-plugin#options",
1132
+ "production": {
1133
+ "type": "string"
1134
+ }
1135
+ },
1136
+ "additionalProperties": false
1137
+ },
1138
+ {
1139
+ "type": "string"
1140
+ }
1141
+ ]
1142
+ },
1143
+ "assetsConfig": {
1144
+ "title": "Path to postcss config file for assets",
1145
+ "type": "string"
1146
+ },
1147
+ "cssModulePattern": {
1148
+ "title": "Enable CSS modules for all files matching /RegExp/i.test(filename) regexp.",
1149
+ "type": "string"
1150
+ }
1151
+ },
1152
+ "additionalProperties": false
1153
+ },
1154
+ "sourceMap": {
1155
+ "cli_overridable": "",
1156
+ "title": "Enable source maps",
1157
+ "default": false,
1158
+ "anyOf": [
1159
+ {
1160
+ "type": "object",
1161
+ "properties": {
1162
+ "development": {
1163
+ "type": "boolean"
1164
+ },
1165
+ "production": {
1166
+ "type": "boolean"
1167
+ }
1168
+ },
1169
+ "additionalProperties": false
1170
+ },
1171
+ {
1172
+ "type": "boolean"
1173
+ }
1174
+ ]
1175
+ },
1176
+ "experiments": {
1177
+ "title": "Change different experimental cli settings",
1178
+ "default": {},
1179
+ "type": "object",
1180
+ "properties": {
1181
+ "webpack": {
1182
+ "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
1183
+ "default": {},
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "asyncWebAssembly": {
1187
+ "description": "Support WebAssembly as asynchronous EcmaScript Module.",
1188
+ "type": "boolean"
1189
+ },
1190
+ "backCompat": {
1191
+ "description": "Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.",
1192
+ "title": "Enable backward compatibility with webpack previous major versions",
1193
+ "default": false,
1194
+ "type": "boolean"
1195
+ },
1196
+ "cacheUnaffected": {
1197
+ "description": "Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.",
1198
+ "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
1199
+ "default": true,
1200
+ "type": "boolean"
1201
+ },
1202
+ "futureDefaults": {
1203
+ "description": "Apply defaults of next major version.",
1204
+ "type": "boolean"
1205
+ },
1206
+ "layers": {
1207
+ "description": "Enable module layers.",
1208
+ "type": "boolean"
1209
+ },
1210
+ "outputModule": {
1211
+ "description": "Allow output javascript files as module source type.",
1212
+ "type": "boolean"
1213
+ },
1214
+ "syncWebAssembly": {
1215
+ "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1216
+ "type": "boolean"
1217
+ },
1218
+ "topLevelAwait": {
1219
+ "description": "Allow using top-level-await in EcmaScript Modules.",
1220
+ "type": "boolean"
1221
+ }
1222
+ },
1223
+ "additionalProperties": false
1224
+ },
1225
+ "minicss": {
1226
+ "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
1227
+ "default": {},
1228
+ "type": "object",
1229
+ "properties": {
1230
+ "useImportModule": {
1231
+ "cli_overridable": "",
1232
+ "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
1233
+ "default": true,
1234
+ "anyOf": [
1235
+ {
1584
1236
  "type": "object",
1585
- "additionalProperties": {},
1586
1237
  "properties": {
1587
- "overlay": {
1588
- "anyOf": [
1589
- {
1590
- "type": "object",
1591
- "additionalProperties": false
1592
- },
1593
- {
1594
- "type": "boolean"
1595
- }
1596
- ]
1238
+ "development": {
1239
+ "type": "boolean"
1240
+ },
1241
+ "production": {
1242
+ "type": "boolean"
1243
+ }
1244
+ },
1245
+ "additionalProperties": false
1246
+ },
1247
+ {
1248
+ "type": "boolean"
1249
+ }
1250
+ ]
1251
+ }
1252
+ },
1253
+ "additionalProperties": false
1254
+ },
1255
+ "transpilation": {
1256
+ "title": "experimental settings for code transpilation",
1257
+ "default": {},
1258
+ "type": "object",
1259
+ "properties": {
1260
+ "loader": {
1261
+ "cli_overridable": "",
1262
+ "title": "specify loader to transpile js-ts code",
1263
+ "default": "babel",
1264
+ "anyOf": [
1265
+ {
1266
+ "type": "object",
1267
+ "properties": {
1268
+ "development": {
1269
+ "enum": [
1270
+ "babel",
1271
+ "swc"
1272
+ ],
1273
+ "type": "string"
1274
+ },
1275
+ "production": {
1276
+ "enum": [
1277
+ "babel",
1278
+ "swc"
1279
+ ],
1280
+ "type": "string"
1597
1281
  }
1598
- }
1282
+ },
1283
+ "additionalProperties": false
1599
1284
  },
1600
- "experiments": {
1601
- "title": "Experimental settings",
1602
- "default": {},
1285
+ {
1286
+ "enum": [
1287
+ "babel",
1288
+ "swc"
1289
+ ],
1290
+ "type": "string"
1291
+ }
1292
+ ]
1293
+ }
1294
+ },
1295
+ "additionalProperties": false
1296
+ }
1297
+ },
1298
+ "additionalProperties": false
1299
+ },
1300
+ "excludesPresetEnv": {
1301
+ "title": "List of modules to exclude from `@babel/preset-env`",
1302
+ "description": "Option doesn't affect build with swc loader",
1303
+ "type": "array",
1304
+ "items": {
1305
+ "type": "string"
1306
+ }
1307
+ },
1308
+ "threadLoader": {
1309
+ "title": "Webpack's thread-loader config",
1310
+ "additionalProperties": true,
1311
+ "type": "object"
1312
+ },
1313
+ "define": {
1314
+ "title": "Define static variables that should be replaced by name with provided value",
1315
+ "default": {},
1316
+ "type": "object",
1317
+ "properties": {
1318
+ "shared": {
1319
+ "default": {},
1320
+ "additionalProperties": true,
1321
+ "type": "object"
1322
+ },
1323
+ "development": {
1324
+ "default": {},
1325
+ "additionalProperties": true,
1326
+ "type": "object"
1327
+ },
1328
+ "production": {
1329
+ "default": {},
1330
+ "additionalProperties": true,
1331
+ "type": "object"
1332
+ }
1333
+ },
1334
+ "additionalProperties": false
1335
+ },
1336
+ "generateDataQaTag": {
1337
+ "title": "`@deprecated` will be removed in next major release.",
1338
+ "default": false,
1339
+ "type": "boolean"
1340
+ },
1341
+ "enableFillActionNamePlugin": {
1342
+ "title": "`@deprecated` will be removed in next major release. Включает использование плагина fill-action-name",
1343
+ "default": false,
1344
+ "type": "boolean"
1345
+ },
1346
+ "alias": {
1347
+ "title": "`@deprecated` as cli now supports baseUrl and paths from the app's tsconfig.json file.\nJust check or add configuration to your tsconfig file and remove alias from tramvai.json",
1348
+ "additionalProperties": true,
1349
+ "type": "object"
1350
+ },
1351
+ "svgo": {
1352
+ "title": "svgo-loader options",
1353
+ "type": "object",
1354
+ "properties": {
1355
+ "plugins": {
1356
+ "title": "svgo plugins",
1357
+ "type": "array",
1358
+ "items": {}
1359
+ }
1360
+ },
1361
+ "additionalProperties": false
1362
+ },
1363
+ "imageOptimization": {
1364
+ "title": "Settings for image-webpack-loader",
1365
+ "type": "object",
1366
+ "properties": {
1367
+ "enabled": {
1368
+ "title": "Enable image-webpack-loader",
1369
+ "type": "boolean"
1370
+ },
1371
+ "options": {
1372
+ "title": "Pass options to image-webpack-loader",
1373
+ "additionalProperties": true,
1374
+ "type": "object"
1375
+ }
1376
+ },
1377
+ "additionalProperties": false
1378
+ },
1379
+ "transpileOnlyModernLibs": {
1380
+ "title": "transpile libs based only on @tinkoff/is-modern-lib",
1381
+ "default": true,
1382
+ "type": "boolean"
1383
+ },
1384
+ "webpack": {
1385
+ "title": "Webpack specific settings",
1386
+ "default": {},
1387
+ "type": "object",
1388
+ "properties": {
1389
+ "resolveAlias": {
1390
+ "title": "Browser package resolve aliases. E.g. { \"stream\": \"stream-browserify\" }",
1391
+ "additionalProperties": true,
1392
+ "type": "object"
1393
+ },
1394
+ "provide": {
1395
+ "title": "Browser packages to provide with ProvidePlugin. E.g. { \"Buffer\": [\"buffer\", \"Buffer\"] }",
1396
+ "additionalProperties": true,
1397
+ "type": "object"
1398
+ }
1399
+ },
1400
+ "additionalProperties": false
1401
+ },
1402
+ "dedupe": {
1403
+ "title": "Enable DedupePlugin",
1404
+ "default": {},
1405
+ "type": "object",
1406
+ "properties": {
1407
+ "enabled": {
1408
+ "title": "Strategy for DedupePlugin",
1409
+ "default": true,
1410
+ "type": "boolean"
1411
+ },
1412
+ "strategy": {
1413
+ "title": "Strategy for DedupePlugin",
1414
+ "default": "equality",
1415
+ "enum": [
1416
+ "equality",
1417
+ "semver"
1418
+ ],
1419
+ "type": "string"
1420
+ },
1421
+ "ignore": {
1422
+ "title": "Sets ignore to DedupePlugin",
1423
+ "type": "array",
1424
+ "items": {
1425
+ "type": "string"
1426
+ }
1427
+ }
1428
+ },
1429
+ "additionalProperties": false
1430
+ },
1431
+ "terser": {
1432
+ "title": "terser settings",
1433
+ "default": {},
1434
+ "type": "object",
1435
+ "properties": {
1436
+ "parallel": {
1437
+ "title": "Configuration for enabling parallel compression for terser plugin",
1438
+ "default": true,
1439
+ "type": "boolean"
1440
+ }
1441
+ },
1442
+ "additionalProperties": false
1443
+ },
1444
+ "cssMinimize": {
1445
+ "title": "Set minimizer for css",
1446
+ "default": "css-minimizer",
1447
+ "enum": [
1448
+ "css-minimizer",
1449
+ "csso"
1450
+ ],
1451
+ "type": "string"
1452
+ },
1453
+ "hotRefresh": {
1454
+ "title": "React hot-refresh",
1455
+ "default": {},
1456
+ "type": "object",
1457
+ "properties": {
1458
+ "enabled": {
1459
+ "title": "Enable react hot-refresh",
1460
+ "default": true,
1461
+ "type": "boolean"
1462
+ },
1463
+ "options": {
1464
+ "title": "Configure react hot-refresh https://github.com/pmmmwh/react-refresh-webpack-plugin#options",
1465
+ "type": "object",
1466
+ "properties": {
1467
+ "overlay": {
1468
+ "anyOf": [
1469
+ {
1603
1470
  "type": "object",
1604
- "properties": {
1605
- "webpack": {
1606
- "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
1607
- "default": {},
1608
- "additionalProperties": false,
1609
- "type": "object",
1610
- "properties": {
1611
- "asyncWebAssembly": {
1612
- "description": "Support WebAssembly as asynchronous EcmaScript Module.",
1613
- "type": "boolean"
1614
- },
1615
- "backCompat": {
1616
- "title": "Enable backward compatibility with webpack previous major versions",
1617
- "default": false,
1618
- "type": "boolean"
1619
- },
1620
- "cacheUnaffected": {
1621
- "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
1622
- "default": true,
1623
- "type": "boolean"
1624
- },
1625
- "futureDefaults": {
1626
- "description": "Apply defaults of next major version.",
1627
- "type": "boolean"
1628
- },
1629
- "layers": {
1630
- "description": "Enable module layers.",
1631
- "type": "boolean"
1632
- },
1633
- "outputModule": {
1634
- "description": "Allow output javascript files as module source type.",
1635
- "type": "boolean"
1636
- },
1637
- "syncWebAssembly": {
1638
- "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1639
- "type": "boolean"
1640
- },
1641
- "topLevelAwait": {
1642
- "description": "Allow using top-level-await in EcmaScript Modules.",
1643
- "type": "boolean"
1644
- },
1645
- "css": {
1646
- "description": "Enable css support.",
1647
- "anyOf": [
1648
- {
1649
- "description": "Options for css handling.",
1650
- "type": "object",
1651
- "properties": {
1652
- "exportsOnly": {
1653
- "description": "Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.",
1654
- "type": "boolean"
1655
- }
1656
- },
1657
- "additionalProperties": false
1658
- },
1659
- {
1660
- "type": "boolean"
1661
- }
1662
- ]
1663
- }
1664
- }
1665
- },
1666
- "minicss": {
1667
- "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
1668
- "default": {},
1669
- "type": "object",
1670
- "properties": {
1671
- "useImportModule": {
1672
- "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
1673
- "default": true,
1674
- "type": "boolean"
1675
- }
1676
- },
1677
- "additionalProperties": false
1678
- },
1679
- "transpilation": {
1680
- "title": "experimental settings for code transpilation",
1681
- "default": {},
1682
- "type": "object",
1683
- "properties": {
1684
- "loader": {
1685
- "title": "specify loader to transpile js-ts code",
1686
- "default": "babel",
1687
- "enum": [
1688
- "babel",
1689
- "swc"
1690
- ],
1691
- "type": "string"
1692
- }
1693
- },
1694
- "additionalProperties": false
1695
- }
1696
- },
1697
1471
  "additionalProperties": false
1472
+ },
1473
+ {
1474
+ "type": "boolean"
1698
1475
  }
1699
- },
1700
- "additionalProperties": false
1476
+ ]
1701
1477
  }
1702
1478
  },
1703
1479
  "additionalProperties": false
@@ -1705,17 +1481,78 @@
1705
1481
  },
1706
1482
  "additionalProperties": false
1707
1483
  },
1708
- "name": {
1709
- "type": "string"
1710
- },
1711
- "root": {
1712
- "type": "string"
1713
- },
1714
- "version": {
1715
- "type": "string"
1484
+ "notifications": {
1485
+ "title": "Controls build notifications settings during development",
1486
+ "default": {},
1487
+ "type": "object",
1488
+ "properties": {
1489
+ "suppressSuccess": {
1490
+ "title": "Defines when success notifications are shown",
1491
+ "enum": [
1492
+ "always",
1493
+ false,
1494
+ "initial",
1495
+ true
1496
+ ]
1497
+ },
1498
+ "suppressWarning": {
1499
+ "title": "True to suppress the warning notifications, otherwise false",
1500
+ "type": "boolean"
1501
+ },
1502
+ "activateTerminalOnError": {
1503
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1504
+ "type": "boolean"
1505
+ },
1506
+ "client": {
1507
+ "type": "object",
1508
+ "properties": {
1509
+ "suppressSuccess": {
1510
+ "title": "Defines when success notifications are shown",
1511
+ "enum": [
1512
+ "always",
1513
+ false,
1514
+ "initial",
1515
+ true
1516
+ ]
1517
+ },
1518
+ "suppressWarning": {
1519
+ "title": "True to suppress the warning notifications, otherwise false",
1520
+ "type": "boolean"
1521
+ },
1522
+ "activateTerminalOnError": {
1523
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1524
+ "type": "boolean"
1525
+ }
1526
+ },
1527
+ "additionalProperties": false
1528
+ },
1529
+ "server": {
1530
+ "type": "object",
1531
+ "properties": {
1532
+ "suppressSuccess": {
1533
+ "title": "Defines when success notifications are shown",
1534
+ "enum": [
1535
+ "always",
1536
+ false,
1537
+ "initial",
1538
+ true
1539
+ ]
1540
+ },
1541
+ "suppressWarning": {
1542
+ "title": "True to suppress the warning notifications, otherwise false",
1543
+ "type": "boolean"
1544
+ },
1545
+ "activateTerminalOnError": {
1546
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1547
+ "type": "boolean"
1548
+ }
1549
+ },
1550
+ "additionalProperties": false
1551
+ }
1552
+ },
1553
+ "additionalProperties": false
1716
1554
  }
1717
1555
  },
1718
- "additionalProperties": false,
1719
1556
  "required": [
1720
1557
  "name",
1721
1558
  "root",
@@ -1723,556 +1560,208 @@
1723
1560
  ]
1724
1561
  },
1725
1562
  "child-app": {
1563
+ "additionalProperties": false,
1726
1564
  "type": "object",
1727
1565
  "properties": {
1566
+ "name": {
1567
+ "title": "name of the project",
1568
+ "type": "string"
1569
+ },
1570
+ "root": {
1571
+ "title": "path to the root directory relative to the tramvai.json",
1572
+ "type": "string"
1573
+ },
1728
1574
  "type": {
1729
1575
  "type": "string",
1730
1576
  "enum": [
1731
1577
  "child-app"
1732
1578
  ]
1733
1579
  },
1734
- "commands": {
1580
+ "output": {
1581
+ "title": "Path to build module assets",
1582
+ "default": "dist/child-app",
1583
+ "type": "string"
1584
+ },
1585
+ "postcss": {
1735
1586
  "default": {},
1736
1587
  "type": "object",
1737
1588
  "properties": {
1738
- "build": {
1739
- "default": {},
1740
- "type": "object",
1741
- "properties": {
1742
- "options": {
1743
- "default": {},
1589
+ "config": {
1590
+ "title": "Path to postcss config file. By default, `postcss.config.js` file is used",
1591
+ "type": "string"
1592
+ },
1593
+ "cssLocalIdentName": {
1594
+ "cli_overridable": "",
1595
+ "title": "CSS identifiers build algorithm",
1596
+ "default": "[hash:base64:5]",
1597
+ "anyOf": [
1598
+ {
1744
1599
  "type": "object",
1745
1600
  "properties": {
1746
- "output": {
1747
- "title": "Path to build module assets",
1748
- "default": "dist/child-app",
1601
+ "development": {
1602
+ "type": "string"
1603
+ },
1604
+ "production": {
1749
1605
  "type": "string"
1750
1606
  }
1751
1607
  },
1752
1608
  "additionalProperties": false
1753
1609
  },
1754
- "configurations": {
1755
- "default": {},
1756
- "additionalProperties": false,
1757
- "type": "object",
1758
- "properties": {
1759
- "modern": {
1760
- "title": "Enable production build for modern browsers",
1761
- "default": true,
1762
- "type": "boolean"
1763
- },
1764
- "dedupe": {
1765
- "title": "Enable DedupePlugin",
1766
- "default": "equality",
1767
- "enum": [
1768
- "equality",
1769
- false,
1770
- "semver"
1771
- ]
1772
- },
1773
- "dedupeIgnore": {
1774
- "title": "Sets ignore to DedupePlugin",
1775
- "type": "array",
1776
- "items": {
1777
- "type": "string"
1778
- }
1779
- },
1780
- "removeTypeofWindow": {
1781
- "title": "Enable replacing `typeof window` expression",
1782
- "default": true,
1783
- "type": "boolean"
1784
- },
1785
- "sourceMap": {
1786
- "title": "Enable source maps in production build",
1787
- "default": false,
1788
- "type": "boolean"
1789
- },
1790
- "sourceMapServer": {
1791
- "title": "Enable source maps for server assets in production build",
1792
- "default": false,
1793
- "type": "boolean"
1794
- },
1795
- "terserParallel": {
1796
- "title": "Configuration for enabling parallel compression for terser plugin",
1797
- "default": true,
1798
- "type": "boolean"
1799
- },
1800
- "excludesPresetEnv": {
1801
- "title": "List of modules to exclude from",
1802
- "type": "array",
1803
- "items": {
1804
- "type": "string"
1805
- }
1806
- },
1807
- "threadLoader": {
1808
- "title": "thread-loader config",
1809
- "additionalProperties": true,
1810
- "type": "object"
1811
- },
1812
- "definePlugin": {
1813
- "title": "Define plugin config",
1814
- "default": {
1815
- "prod": {},
1816
- "dev": {}
1817
- },
1818
- "additionalProperties": true,
1819
- "type": "object"
1820
- },
1821
- "generateDataQaTag": {
1822
- "default": false,
1823
- "type": "boolean"
1824
- },
1825
- "enableFillActionNamePlugin": {
1826
- "default": false,
1827
- "type": "boolean"
1828
- },
1829
- "cssMinimize": {
1830
- "title": "Set minimizer for css",
1831
- "type": "string",
1832
- "enum": [
1833
- "csso"
1834
- ]
1835
- },
1836
- "postcss": {
1837
- "default": {
1838
- "config": "postcss.config",
1839
- "cssLocalIdentName": "[hash:base64:5]"
1840
- },
1841
- "type": "object",
1842
- "properties": {
1843
- "config": {
1844
- "title": "Path to postcss config file",
1845
- "type": "string"
1846
- },
1847
- "cssLocalIdentName": {
1848
- "title": "CSS identifiers build algorythm",
1849
- "type": "string"
1850
- },
1851
- "cssLocalIdentNameDev": {
1852
- "title": "CSS identifiers build algorythm for development buld",
1853
- "type": "string"
1854
- },
1855
- "cssLocalIdentNameProd": {
1856
- "title": "CSS identifiers build algorythm for production build",
1857
- "type": "string"
1858
- },
1859
- "assetsConfig": {
1860
- "title": "Path to postcss config file for assets",
1861
- "type": "string"
1862
- }
1863
- },
1864
- "additionalProperties": false
1865
- },
1866
- "alias": {
1867
- "title": "`@@deprecated @tramvai/cli now supports baseUrl and paths from the app's tsconfig.json file.\nJust check or add configuration to your tsconfig file and remove alias from tramvai.json`",
1868
- "additionalProperties": true,
1869
- "type": "object"
1870
- },
1871
- "svgo": {
1872
- "title": "svgo-loader options",
1873
- "type": "object",
1874
- "properties": {
1875
- "plugins": {
1876
- "title": "svgo plugins",
1877
- "type": "array",
1878
- "items": {
1879
- "type": "object",
1880
- "additionalProperties": false
1881
- }
1882
- }
1883
- },
1884
- "additionalProperties": false
1885
- },
1886
- "imageOptimization": {
1887
- "title": "Settings for image-webpack-loader",
1888
- "type": "object",
1889
- "properties": {
1890
- "enabled": {
1891
- "title": "Enable image-webpack-loader",
1892
- "type": "boolean"
1893
- },
1894
- "options": {
1895
- "title": "Pass options to image-webpack-loader",
1896
- "additionalProperties": true,
1897
- "type": "object"
1898
- }
1899
- },
1900
- "additionalProperties": false
1901
- },
1902
- "transpileOnlyModernLibs": {
1903
- "title": "transpile libs based only on @tinkoff/is-modern-lib",
1904
- "default": true,
1905
- "type": "boolean"
1906
- },
1907
- "webpackResolveAlias": {
1908
- "title": "Browser package resolve aliases. E.g. { \"stream\": \"stream-browserify\" }",
1909
- "additionalProperties": true,
1910
- "type": "object"
1911
- },
1912
- "webpackProvide": {
1913
- "title": "Browser packages to provide with ProvidePlugin. E.g. { \"Buffer\": [\"buffer\", \"Buffer\"] }",
1914
- "additionalProperties": true,
1915
- "type": "object"
1916
- },
1917
- "fileSystemPages": {
1918
- "title": "experimental settings for File-System Routing feature",
1919
- "default": {},
1920
- "type": "object",
1921
- "properties": {
1922
- "enable": {
1923
- "title": "Read pages from file system",
1924
- "default": false,
1925
- "type": "boolean"
1926
- },
1927
- "routesDir": {
1928
- "title": "Folder with pages from which static routers are generated",
1929
- "default": "routes",
1930
- "anyOf": [
1931
- {
1932
- "enum": [
1933
- false
1934
- ],
1935
- "type": "boolean"
1936
- },
1937
- {
1938
- "type": "string"
1939
- }
1940
- ]
1941
- },
1942
- "pagesDir": {
1943
- "title": "Folder with components which can be manually added to static routers",
1944
- "default": "pages",
1945
- "anyOf": [
1946
- {
1947
- "enum": [
1948
- false
1949
- ],
1950
- "type": "boolean"
1951
- },
1952
- {
1953
- "type": "string"
1954
- }
1955
- ]
1956
- }
1957
- },
1958
- "additionalProperties": false
1959
- },
1960
- "experiments": {
1961
- "title": "Experimental settings",
1962
- "default": {},
1963
- "type": "object",
1964
- "properties": {
1965
- "webpack": {
1966
- "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
1967
- "default": {},
1968
- "additionalProperties": false,
1969
- "type": "object",
1970
- "properties": {
1971
- "asyncWebAssembly": {
1972
- "description": "Support WebAssembly as asynchronous EcmaScript Module.",
1973
- "type": "boolean"
1974
- },
1975
- "backCompat": {
1976
- "title": "Enable backward compatibility with webpack previous major versions",
1977
- "default": false,
1978
- "type": "boolean"
1979
- },
1980
- "cacheUnaffected": {
1981
- "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
1982
- "default": true,
1983
- "type": "boolean"
1984
- },
1985
- "futureDefaults": {
1986
- "description": "Apply defaults of next major version.",
1987
- "type": "boolean"
1988
- },
1989
- "layers": {
1990
- "description": "Enable module layers.",
1991
- "type": "boolean"
1992
- },
1993
- "outputModule": {
1994
- "description": "Allow output javascript files as module source type.",
1995
- "type": "boolean"
1996
- },
1997
- "syncWebAssembly": {
1998
- "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1999
- "type": "boolean"
2000
- },
2001
- "topLevelAwait": {
2002
- "description": "Allow using top-level-await in EcmaScript Modules.",
2003
- "type": "boolean"
2004
- },
2005
- "css": {
2006
- "description": "Enable css support.",
2007
- "anyOf": [
2008
- {
2009
- "description": "Options for css handling.",
2010
- "type": "object",
2011
- "properties": {
2012
- "exportsOnly": {
2013
- "description": "Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.",
2014
- "type": "boolean"
2015
- }
2016
- },
2017
- "additionalProperties": false
2018
- },
2019
- {
2020
- "type": "boolean"
2021
- }
2022
- ]
2023
- }
2024
- }
2025
- },
2026
- "minicss": {
2027
- "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
2028
- "default": {},
2029
- "type": "object",
2030
- "properties": {
2031
- "useImportModule": {
2032
- "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
2033
- "default": true,
2034
- "type": "boolean"
2035
- }
2036
- },
2037
- "additionalProperties": false
2038
- },
2039
- "transpilation": {
2040
- "title": "experimental settings for code transpilation",
2041
- "default": {},
2042
- "type": "object",
2043
- "properties": {
2044
- "loader": {
2045
- "title": "specify loader to transpile js-ts code",
2046
- "default": "babel",
2047
- "enum": [
2048
- "babel",
2049
- "swc"
2050
- ],
2051
- "type": "string"
2052
- }
2053
- },
2054
- "additionalProperties": false
2055
- }
2056
- },
2057
- "additionalProperties": false
2058
- }
2059
- }
1610
+ {
1611
+ "type": "string"
1612
+ }
1613
+ ]
1614
+ },
1615
+ "assetsConfig": {
1616
+ "title": "Path to postcss config file for assets",
1617
+ "type": "string"
1618
+ },
1619
+ "cssModulePattern": {
1620
+ "title": "Enable CSS modules for all files matching /RegExp/i.test(filename) regexp.",
1621
+ "type": "string"
1622
+ }
1623
+ },
1624
+ "additionalProperties": false
1625
+ },
1626
+ "sourceMap": {
1627
+ "cli_overridable": "",
1628
+ "title": "Enable source maps",
1629
+ "default": false,
1630
+ "anyOf": [
1631
+ {
1632
+ "type": "object",
1633
+ "properties": {
1634
+ "development": {
1635
+ "type": "boolean"
1636
+ },
1637
+ "production": {
1638
+ "type": "boolean"
2060
1639
  }
2061
1640
  },
2062
1641
  "additionalProperties": false
2063
1642
  },
2064
- "serve": {
1643
+ {
1644
+ "type": "boolean"
1645
+ }
1646
+ ]
1647
+ },
1648
+ "experiments": {
1649
+ "title": "Change different experimental cli settings",
1650
+ "default": {},
1651
+ "type": "object",
1652
+ "properties": {
1653
+ "webpack": {
1654
+ "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
2065
1655
  "default": {},
2066
1656
  "type": "object",
2067
1657
  "properties": {
2068
- "notifications": {
2069
- "default": {},
2070
- "additionalProperties": false,
2071
- "type": "object",
2072
- "properties": {
2073
- "suppressSuccess": {
2074
- "title": "Defines when success notifications are shown",
2075
- "enum": [
2076
- "always",
2077
- false,
2078
- "initial",
2079
- true
2080
- ]
2081
- },
2082
- "suppressWarning": {
2083
- "title": "True to suppress the warning notifications, otherwise false",
2084
- "type": "boolean"
2085
- },
2086
- "activateTerminalOnError": {
2087
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
2088
- "type": "boolean"
2089
- },
2090
- "client": {
1658
+ "asyncWebAssembly": {
1659
+ "description": "Support WebAssembly as asynchronous EcmaScript Module.",
1660
+ "type": "boolean"
1661
+ },
1662
+ "backCompat": {
1663
+ "description": "Enable backward-compat layer with deprecation warnings for many webpack 4 APIs.",
1664
+ "title": "Enable backward compatibility with webpack previous major versions",
1665
+ "default": false,
1666
+ "type": "boolean"
1667
+ },
1668
+ "cacheUnaffected": {
1669
+ "description": "Enable additional in memory caching of modules that are unchanged and reference only unchanged modules.",
1670
+ "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
1671
+ "default": true,
1672
+ "type": "boolean"
1673
+ },
1674
+ "futureDefaults": {
1675
+ "description": "Apply defaults of next major version.",
1676
+ "type": "boolean"
1677
+ },
1678
+ "layers": {
1679
+ "description": "Enable module layers.",
1680
+ "type": "boolean"
1681
+ },
1682
+ "outputModule": {
1683
+ "description": "Allow output javascript files as module source type.",
1684
+ "type": "boolean"
1685
+ },
1686
+ "syncWebAssembly": {
1687
+ "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
1688
+ "type": "boolean"
1689
+ },
1690
+ "topLevelAwait": {
1691
+ "description": "Allow using top-level-await in EcmaScript Modules.",
1692
+ "type": "boolean"
1693
+ }
1694
+ },
1695
+ "additionalProperties": false
1696
+ },
1697
+ "minicss": {
1698
+ "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
1699
+ "default": {},
1700
+ "type": "object",
1701
+ "properties": {
1702
+ "useImportModule": {
1703
+ "cli_overridable": "",
1704
+ "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
1705
+ "default": true,
1706
+ "anyOf": [
1707
+ {
2091
1708
  "type": "object",
2092
1709
  "properties": {
2093
- "suppressSuccess": {
2094
- "title": "Defines when success notifications are shown",
2095
- "enum": [
2096
- "always",
2097
- false,
2098
- "initial",
2099
- true
2100
- ]
2101
- },
2102
- "suppressWarning": {
2103
- "title": "True to suppress the warning notifications, otherwise false",
1710
+ "development": {
2104
1711
  "type": "boolean"
2105
1712
  },
2106
- "activateTerminalOnError": {
2107
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
1713
+ "production": {
2108
1714
  "type": "boolean"
2109
1715
  }
2110
1716
  },
2111
1717
  "additionalProperties": false
2112
1718
  },
2113
- "server": {
1719
+ {
1720
+ "type": "boolean"
1721
+ }
1722
+ ]
1723
+ }
1724
+ },
1725
+ "additionalProperties": false
1726
+ },
1727
+ "transpilation": {
1728
+ "title": "experimental settings for code transpilation",
1729
+ "default": {},
1730
+ "type": "object",
1731
+ "properties": {
1732
+ "loader": {
1733
+ "cli_overridable": "",
1734
+ "title": "specify loader to transpile js-ts code",
1735
+ "default": "babel",
1736
+ "anyOf": [
1737
+ {
2114
1738
  "type": "object",
2115
1739
  "properties": {
2116
- "suppressSuccess": {
2117
- "title": "Defines when success notifications are shown",
1740
+ "development": {
2118
1741
  "enum": [
2119
- "always",
2120
- false,
2121
- "initial",
2122
- true
2123
- ]
2124
- },
2125
- "suppressWarning": {
2126
- "title": "True to suppress the warning notifications, otherwise false",
2127
- "type": "boolean"
1742
+ "babel",
1743
+ "swc"
1744
+ ],
1745
+ "type": "string"
2128
1746
  },
2129
- "activateTerminalOnError": {
2130
- "title": "True to activate (focus) the terminal window when a compilation error occurs",
2131
- "type": "boolean"
1747
+ "production": {
1748
+ "enum": [
1749
+ "babel",
1750
+ "swc"
1751
+ ],
1752
+ "type": "string"
2132
1753
  }
2133
1754
  },
2134
1755
  "additionalProperties": false
2135
- }
2136
- }
2137
- },
2138
- "configurations": {
2139
- "default": {},
2140
- "type": "object",
2141
- "properties": {
2142
- "sourceMap": {
2143
- "title": "Enable source maps in development build (for client and server build)",
2144
- "default": false,
2145
- "type": "boolean"
2146
- },
2147
- "modern": {
2148
- "title": "Enable development build for modern browsers",
2149
- "default": true,
2150
- "type": "boolean"
2151
- },
2152
- "hotRefresh": {
2153
- "title": "Enable react hot-refresh",
2154
- "default": true,
2155
- "type": "boolean"
2156
- },
2157
- "hotRefreshOptions": {
2158
- "title": "Configure react hot-refresh https://github.com/pmmmwh/react-refresh-webpack-plugin#options",
2159
- "type": "object",
2160
- "additionalProperties": {},
2161
- "properties": {
2162
- "overlay": {
2163
- "anyOf": [
2164
- {
2165
- "type": "object",
2166
- "additionalProperties": false
2167
- },
2168
- {
2169
- "type": "boolean"
2170
- }
2171
- ]
2172
- }
2173
- }
2174
1756
  },
2175
- "experiments": {
2176
- "title": "Experimental settings",
2177
- "default": {},
2178
- "type": "object",
2179
- "properties": {
2180
- "webpack": {
2181
- "title": "experiments configuration for [webpack](https://webpack.js.org/configuration/experiments/)",
2182
- "default": {},
2183
- "additionalProperties": false,
2184
- "type": "object",
2185
- "properties": {
2186
- "asyncWebAssembly": {
2187
- "description": "Support WebAssembly as asynchronous EcmaScript Module.",
2188
- "type": "boolean"
2189
- },
2190
- "backCompat": {
2191
- "title": "Enable backward compatibility with webpack previous major versions",
2192
- "default": false,
2193
- "type": "boolean"
2194
- },
2195
- "cacheUnaffected": {
2196
- "title": "Enable additional in-memory caching of modules which are unchanged and reference only unchanged modules.",
2197
- "default": true,
2198
- "type": "boolean"
2199
- },
2200
- "futureDefaults": {
2201
- "description": "Apply defaults of next major version.",
2202
- "type": "boolean"
2203
- },
2204
- "layers": {
2205
- "description": "Enable module layers.",
2206
- "type": "boolean"
2207
- },
2208
- "outputModule": {
2209
- "description": "Allow output javascript files as module source type.",
2210
- "type": "boolean"
2211
- },
2212
- "syncWebAssembly": {
2213
- "description": "Support WebAssembly as synchronous EcmaScript Module (outdated).",
2214
- "type": "boolean"
2215
- },
2216
- "topLevelAwait": {
2217
- "description": "Allow using top-level-await in EcmaScript Modules.",
2218
- "type": "boolean"
2219
- },
2220
- "css": {
2221
- "description": "Enable css support.",
2222
- "anyOf": [
2223
- {
2224
- "description": "Options for css handling.",
2225
- "type": "object",
2226
- "properties": {
2227
- "exportsOnly": {
2228
- "description": "Avoid generating and loading a stylesheet and only embed exports from css into output javascript files.",
2229
- "type": "boolean"
2230
- }
2231
- },
2232
- "additionalProperties": false
2233
- },
2234
- {
2235
- "type": "boolean"
2236
- }
2237
- ]
2238
- }
2239
- }
2240
- },
2241
- "minicss": {
2242
- "title": "experimental settings for [mini-css-extract-plugin](https://github.com/webpack-contrib/mini-css-extract-plugin)",
2243
- "default": {},
2244
- "type": "object",
2245
- "properties": {
2246
- "useImportModule": {
2247
- "title": "Use a new webpack API to execute modules instead of child compilers. This improves performance and memory usage a lot.",
2248
- "default": true,
2249
- "type": "boolean"
2250
- }
2251
- },
2252
- "additionalProperties": false
2253
- },
2254
- "transpilation": {
2255
- "title": "experimental settings for code transpilation",
2256
- "default": {},
2257
- "type": "object",
2258
- "properties": {
2259
- "loader": {
2260
- "title": "specify loader to transpile js-ts code",
2261
- "default": "babel",
2262
- "enum": [
2263
- "babel",
2264
- "swc"
2265
- ],
2266
- "type": "string"
2267
- }
2268
- },
2269
- "additionalProperties": false
2270
- }
2271
- },
2272
- "additionalProperties": false
1757
+ {
1758
+ "enum": [
1759
+ "babel",
1760
+ "swc"
1761
+ ],
1762
+ "type": "string"
2273
1763
  }
2274
- },
2275
- "additionalProperties": false
1764
+ ]
2276
1765
  }
2277
1766
  },
2278
1767
  "additionalProperties": false
@@ -2280,17 +1769,262 @@
2280
1769
  },
2281
1770
  "additionalProperties": false
2282
1771
  },
2283
- "name": {
2284
- "type": "string"
1772
+ "excludesPresetEnv": {
1773
+ "title": "List of modules to exclude from `@babel/preset-env`",
1774
+ "description": "Option doesn't affect build with swc loader",
1775
+ "type": "array",
1776
+ "items": {
1777
+ "type": "string"
1778
+ }
2285
1779
  },
2286
- "root": {
2287
- "type": "string"
1780
+ "threadLoader": {
1781
+ "title": "Webpack's thread-loader config",
1782
+ "additionalProperties": true,
1783
+ "type": "object"
1784
+ },
1785
+ "define": {
1786
+ "title": "Define static variables that should be replaced by name with provided value",
1787
+ "default": {},
1788
+ "type": "object",
1789
+ "properties": {
1790
+ "shared": {
1791
+ "default": {},
1792
+ "additionalProperties": true,
1793
+ "type": "object"
1794
+ },
1795
+ "development": {
1796
+ "default": {},
1797
+ "additionalProperties": true,
1798
+ "type": "object"
1799
+ },
1800
+ "production": {
1801
+ "default": {},
1802
+ "additionalProperties": true,
1803
+ "type": "object"
1804
+ }
1805
+ },
1806
+ "additionalProperties": false
1807
+ },
1808
+ "generateDataQaTag": {
1809
+ "title": "`@deprecated` will be removed in next major release.",
1810
+ "default": false,
1811
+ "type": "boolean"
1812
+ },
1813
+ "enableFillActionNamePlugin": {
1814
+ "title": "`@deprecated` will be removed in next major release. Включает использование плагина fill-action-name",
1815
+ "default": false,
1816
+ "type": "boolean"
1817
+ },
1818
+ "alias": {
1819
+ "title": "`@deprecated` as cli now supports baseUrl and paths from the app's tsconfig.json file.\nJust check or add configuration to your tsconfig file and remove alias from tramvai.json",
1820
+ "additionalProperties": true,
1821
+ "type": "object"
1822
+ },
1823
+ "svgo": {
1824
+ "title": "svgo-loader options",
1825
+ "type": "object",
1826
+ "properties": {
1827
+ "plugins": {
1828
+ "title": "svgo plugins",
1829
+ "type": "array",
1830
+ "items": {}
1831
+ }
1832
+ },
1833
+ "additionalProperties": false
1834
+ },
1835
+ "imageOptimization": {
1836
+ "title": "Settings for image-webpack-loader",
1837
+ "type": "object",
1838
+ "properties": {
1839
+ "enabled": {
1840
+ "title": "Enable image-webpack-loader",
1841
+ "type": "boolean"
1842
+ },
1843
+ "options": {
1844
+ "title": "Pass options to image-webpack-loader",
1845
+ "additionalProperties": true,
1846
+ "type": "object"
1847
+ }
1848
+ },
1849
+ "additionalProperties": false
1850
+ },
1851
+ "transpileOnlyModernLibs": {
1852
+ "title": "transpile libs based only on @tinkoff/is-modern-lib",
1853
+ "default": true,
1854
+ "type": "boolean"
1855
+ },
1856
+ "webpack": {
1857
+ "title": "Webpack specific settings",
1858
+ "default": {},
1859
+ "type": "object",
1860
+ "properties": {
1861
+ "resolveAlias": {
1862
+ "title": "Browser package resolve aliases. E.g. { \"stream\": \"stream-browserify\" }",
1863
+ "additionalProperties": true,
1864
+ "type": "object"
1865
+ },
1866
+ "provide": {
1867
+ "title": "Browser packages to provide with ProvidePlugin. E.g. { \"Buffer\": [\"buffer\", \"Buffer\"] }",
1868
+ "additionalProperties": true,
1869
+ "type": "object"
1870
+ }
1871
+ },
1872
+ "additionalProperties": false
1873
+ },
1874
+ "dedupe": {
1875
+ "title": "Enable DedupePlugin",
1876
+ "default": {},
1877
+ "type": "object",
1878
+ "properties": {
1879
+ "enabled": {
1880
+ "title": "Strategy for DedupePlugin",
1881
+ "default": true,
1882
+ "type": "boolean"
1883
+ },
1884
+ "strategy": {
1885
+ "title": "Strategy for DedupePlugin",
1886
+ "default": "equality",
1887
+ "enum": [
1888
+ "equality",
1889
+ "semver"
1890
+ ],
1891
+ "type": "string"
1892
+ },
1893
+ "ignore": {
1894
+ "title": "Sets ignore to DedupePlugin",
1895
+ "type": "array",
1896
+ "items": {
1897
+ "type": "string"
1898
+ }
1899
+ }
1900
+ },
1901
+ "additionalProperties": false
1902
+ },
1903
+ "terser": {
1904
+ "title": "terser settings",
1905
+ "default": {},
1906
+ "type": "object",
1907
+ "properties": {
1908
+ "parallel": {
1909
+ "title": "Configuration for enabling parallel compression for terser plugin",
1910
+ "default": true,
1911
+ "type": "boolean"
1912
+ }
1913
+ },
1914
+ "additionalProperties": false
2288
1915
  },
2289
- "version": {
1916
+ "cssMinimize": {
1917
+ "title": "Set minimizer for css",
1918
+ "default": "css-minimizer",
1919
+ "enum": [
1920
+ "css-minimizer",
1921
+ "csso"
1922
+ ],
2290
1923
  "type": "string"
1924
+ },
1925
+ "hotRefresh": {
1926
+ "title": "React hot-refresh",
1927
+ "default": {},
1928
+ "type": "object",
1929
+ "properties": {
1930
+ "enabled": {
1931
+ "title": "Enable react hot-refresh",
1932
+ "default": true,
1933
+ "type": "boolean"
1934
+ },
1935
+ "options": {
1936
+ "title": "Configure react hot-refresh https://github.com/pmmmwh/react-refresh-webpack-plugin#options",
1937
+ "type": "object",
1938
+ "properties": {
1939
+ "overlay": {
1940
+ "anyOf": [
1941
+ {
1942
+ "type": "object",
1943
+ "additionalProperties": false
1944
+ },
1945
+ {
1946
+ "type": "boolean"
1947
+ }
1948
+ ]
1949
+ }
1950
+ },
1951
+ "additionalProperties": false
1952
+ }
1953
+ },
1954
+ "additionalProperties": false
1955
+ },
1956
+ "notifications": {
1957
+ "title": "Controls build notifications settings during development",
1958
+ "default": {},
1959
+ "type": "object",
1960
+ "properties": {
1961
+ "suppressSuccess": {
1962
+ "title": "Defines when success notifications are shown",
1963
+ "enum": [
1964
+ "always",
1965
+ false,
1966
+ "initial",
1967
+ true
1968
+ ]
1969
+ },
1970
+ "suppressWarning": {
1971
+ "title": "True to suppress the warning notifications, otherwise false",
1972
+ "type": "boolean"
1973
+ },
1974
+ "activateTerminalOnError": {
1975
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1976
+ "type": "boolean"
1977
+ },
1978
+ "client": {
1979
+ "type": "object",
1980
+ "properties": {
1981
+ "suppressSuccess": {
1982
+ "title": "Defines when success notifications are shown",
1983
+ "enum": [
1984
+ "always",
1985
+ false,
1986
+ "initial",
1987
+ true
1988
+ ]
1989
+ },
1990
+ "suppressWarning": {
1991
+ "title": "True to suppress the warning notifications, otherwise false",
1992
+ "type": "boolean"
1993
+ },
1994
+ "activateTerminalOnError": {
1995
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
1996
+ "type": "boolean"
1997
+ }
1998
+ },
1999
+ "additionalProperties": false
2000
+ },
2001
+ "server": {
2002
+ "type": "object",
2003
+ "properties": {
2004
+ "suppressSuccess": {
2005
+ "title": "Defines when success notifications are shown",
2006
+ "enum": [
2007
+ "always",
2008
+ false,
2009
+ "initial",
2010
+ true
2011
+ ]
2012
+ },
2013
+ "suppressWarning": {
2014
+ "title": "True to suppress the warning notifications, otherwise false",
2015
+ "type": "boolean"
2016
+ },
2017
+ "activateTerminalOnError": {
2018
+ "title": "True to activate (focus) the terminal window when a compilation error occurs",
2019
+ "type": "boolean"
2020
+ }
2021
+ },
2022
+ "additionalProperties": false
2023
+ }
2024
+ },
2025
+ "additionalProperties": false
2291
2026
  }
2292
2027
  },
2293
- "additionalProperties": false,
2294
2028
  "required": [
2295
2029
  "name",
2296
2030
  "root",
@@ -2298,14 +2032,9 @@
2298
2032
  ]
2299
2033
  },
2300
2034
  "package": {
2035
+ "additionalProperties": false,
2301
2036
  "type": "object",
2302
2037
  "properties": {
2303
- "type": {
2304
- "type": "string",
2305
- "enum": [
2306
- "package"
2307
- ]
2308
- },
2309
2038
  "name": {
2310
2039
  "title": "Package name",
2311
2040
  "type": "string"
@@ -2313,9 +2042,14 @@
2313
2042
  "root": {
2314
2043
  "title": "Package root folder (need to contain `package.json`, `tsconfig.json` and `src` folder with source code)",
2315
2044
  "type": "string"
2045
+ },
2046
+ "type": {
2047
+ "type": "string",
2048
+ "enum": [
2049
+ "package"
2050
+ ]
2316
2051
  }
2317
2052
  },
2318
- "additionalProperties": false,
2319
2053
  "required": [
2320
2054
  "name",
2321
2055
  "root",