@servicetitan/startup 22.17.0 → 22.18.0

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 (314) hide show
  1. package/dist/cli/commands/build.d.ts +3 -2
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +1 -0
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-package.d.ts +2 -1
  6. package/dist/cli/commands/bundle-package.d.ts.map +1 -1
  7. package/dist/cli/commands/bundle-package.js +4 -3
  8. package/dist/cli/commands/bundle-package.js.map +1 -1
  9. package/dist/cli/commands/start.d.ts +3 -2
  10. package/dist/cli/commands/start.d.ts.map +1 -1
  11. package/dist/cli/commands/start.js +3 -2
  12. package/dist/cli/commands/start.js.map +1 -1
  13. package/dist/cli/utils/bundle.d.ts +7 -2
  14. package/dist/cli/utils/bundle.d.ts.map +1 -1
  15. package/dist/cli/utils/bundle.js +28 -58
  16. package/dist/cli/utils/bundle.js.map +1 -1
  17. package/dist/cli/utils/set-node-options.d.ts.map +1 -1
  18. package/dist/cli/utils/set-node-options.js +1 -1
  19. package/dist/cli/utils/set-node-options.js.map +1 -1
  20. package/dist/utils/debug.d.ts +5 -0
  21. package/dist/utils/debug.d.ts.map +1 -0
  22. package/dist/utils/debug.js +19 -0
  23. package/dist/utils/debug.js.map +1 -0
  24. package/dist/utils/get-configuration.d.ts +1 -0
  25. package/dist/utils/get-configuration.d.ts.map +1 -1
  26. package/dist/utils/get-configuration.js +6 -1
  27. package/dist/utils/get-configuration.js.map +1 -1
  28. package/dist/utils/log.d.ts +6 -0
  29. package/dist/utils/log.d.ts.map +1 -1
  30. package/dist/utils/log.js +22 -0
  31. package/dist/utils/log.js.map +1 -1
  32. package/dist/webpack/__mocks__/file-rules.d.ts +3 -0
  33. package/dist/webpack/__mocks__/file-rules.d.ts.map +1 -0
  34. package/dist/webpack/__mocks__/file-rules.js +31 -0
  35. package/dist/webpack/__mocks__/file-rules.js.map +1 -0
  36. package/dist/webpack/__mocks__/index.d.ts +3 -0
  37. package/dist/webpack/__mocks__/index.d.ts.map +1 -0
  38. package/dist/webpack/__mocks__/index.js +19 -0
  39. package/dist/webpack/__mocks__/index.js.map +1 -0
  40. package/dist/webpack/__mocks__/style-rules.d.ts +8 -0
  41. package/dist/webpack/__mocks__/style-rules.d.ts.map +1 -0
  42. package/dist/webpack/__mocks__/style-rules.js +124 -0
  43. package/dist/webpack/__mocks__/style-rules.js.map +1 -0
  44. package/dist/webpack/configs/cache-config.d.ts +6 -0
  45. package/dist/webpack/configs/cache-config.d.ts.map +1 -0
  46. package/dist/webpack/configs/cache-config.js +24 -0
  47. package/dist/webpack/configs/cache-config.js.map +1 -0
  48. package/dist/webpack/configs/dev-server-config.d.ts +6 -0
  49. package/dist/webpack/configs/dev-server-config.d.ts.map +1 -0
  50. package/dist/webpack/configs/dev-server-config.js +27 -0
  51. package/dist/webpack/configs/dev-server-config.js.map +1 -0
  52. package/dist/webpack/configs/devtool-config.d.ts +6 -0
  53. package/dist/webpack/configs/devtool-config.d.ts.map +1 -0
  54. package/dist/webpack/configs/devtool-config.js +16 -0
  55. package/dist/webpack/configs/devtool-config.js.map +1 -0
  56. package/dist/webpack/configs/entry.config.d.ts +6 -0
  57. package/dist/webpack/configs/entry.config.d.ts.map +1 -0
  58. package/dist/webpack/configs/entry.config.js +14 -0
  59. package/dist/webpack/configs/entry.config.js.map +1 -0
  60. package/dist/webpack/configs/externals-config.d.ts +6 -0
  61. package/dist/webpack/configs/externals-config.d.ts.map +1 -0
  62. package/dist/webpack/configs/externals-config.js +16 -0
  63. package/dist/webpack/configs/externals-config.js.map +1 -0
  64. package/dist/webpack/configs/index.d.ts +13 -0
  65. package/dist/webpack/configs/index.d.ts.map +1 -0
  66. package/dist/webpack/configs/index.js +29 -0
  67. package/dist/webpack/configs/index.js.map +1 -0
  68. package/dist/webpack/configs/loaders/css-loader.d.ts +14 -0
  69. package/dist/webpack/configs/loaders/css-loader.d.ts.map +1 -0
  70. package/dist/webpack/configs/loaders/css-loader.js +17 -0
  71. package/dist/webpack/configs/loaders/css-loader.js.map +1 -0
  72. package/dist/webpack/configs/loaders/index.d.ts +5 -0
  73. package/dist/webpack/configs/loaders/index.d.ts.map +1 -0
  74. package/dist/webpack/configs/loaders/index.js +21 -0
  75. package/dist/webpack/configs/loaders/index.js.map +1 -0
  76. package/dist/webpack/configs/loaders/less-loader.d.ts +9 -0
  77. package/dist/webpack/configs/loaders/less-loader.d.ts.map +1 -0
  78. package/dist/webpack/configs/loaders/less-loader.js +8 -0
  79. package/dist/webpack/configs/loaders/less-loader.js.map +1 -0
  80. package/dist/webpack/configs/loaders/style-loader.d.ts +9 -0
  81. package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -0
  82. package/dist/webpack/configs/loaders/style-loader.js +13 -0
  83. package/dist/webpack/configs/loaders/style-loader.js.map +1 -0
  84. package/dist/webpack/configs/loaders/types.d.ts +4 -0
  85. package/dist/webpack/configs/loaders/types.d.ts.map +1 -0
  86. package/dist/webpack/configs/loaders/types.js +3 -0
  87. package/dist/webpack/configs/loaders/types.js.map +1 -0
  88. package/dist/webpack/configs/module-config.d.ts +6 -0
  89. package/dist/webpack/configs/module-config.d.ts.map +1 -0
  90. package/dist/webpack/configs/module-config.js +10 -0
  91. package/dist/webpack/configs/module-config.js.map +1 -0
  92. package/dist/webpack/configs/optimization-config.d.ts +6 -0
  93. package/dist/webpack/configs/optimization-config.d.ts.map +1 -0
  94. package/dist/webpack/configs/optimization-config.js +57 -0
  95. package/dist/webpack/configs/optimization-config.js.map +1 -0
  96. package/dist/webpack/configs/output-config.d.ts +6 -0
  97. package/dist/webpack/configs/output-config.d.ts.map +1 -0
  98. package/dist/webpack/configs/output-config.js +23 -0
  99. package/dist/webpack/configs/output-config.js.map +1 -0
  100. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts +4 -0
  101. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -0
  102. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +34 -0
  103. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -0
  104. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts +3 -0
  105. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -0
  106. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +20 -0
  107. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -0
  108. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts +4 -0
  109. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -0
  110. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +25 -0
  111. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -0
  112. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts +4 -0
  113. package/dist/webpack/configs/plugins/define-web-component-name-plugin.d.ts.map +1 -0
  114. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +16 -0
  115. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -0
  116. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts +3 -0
  117. package/dist/webpack/configs/plugins/filter-warnings-plugin.d.ts.map +1 -0
  118. package/dist/webpack/configs/plugins/filter-warnings-plugin.js +14 -0
  119. package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -0
  120. package/dist/webpack/configs/plugins/html-plugin.d.ts +4 -0
  121. package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -0
  122. package/dist/webpack/configs/plugins/html-plugin.js +42 -0
  123. package/dist/webpack/configs/plugins/html-plugin.js.map +1 -0
  124. package/dist/webpack/configs/plugins/index.d.ts +12 -0
  125. package/dist/webpack/configs/plugins/index.d.ts.map +1 -0
  126. package/dist/webpack/configs/plugins/index.js +28 -0
  127. package/dist/webpack/configs/plugins/index.js.map +1 -0
  128. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts +4 -0
  129. package/dist/webpack/configs/plugins/mini-css-extract-plugin.d.ts.map +1 -0
  130. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +23 -0
  131. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -0
  132. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts +4 -0
  133. package/dist/webpack/configs/plugins/moment-locales-plugin.d.ts.map +1 -0
  134. package/dist/webpack/configs/plugins/moment-locales-plugin.js +14 -0
  135. package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -0
  136. package/dist/webpack/configs/plugins/provide-react-plugin.d.ts +4 -0
  137. package/dist/webpack/configs/plugins/provide-react-plugin.d.ts.map +1 -0
  138. package/dist/webpack/configs/plugins/provide-react-plugin.js +14 -0
  139. package/dist/webpack/configs/plugins/provide-react-plugin.js.map +1 -0
  140. package/dist/webpack/configs/plugins/ts-checker-plugin.d.ts +4 -0
  141. package/dist/webpack/configs/plugins/ts-checker-plugin.d.ts.map +1 -0
  142. package/dist/webpack/configs/plugins/ts-checker-plugin.js +31 -0
  143. package/dist/webpack/configs/plugins/ts-checker-plugin.js.map +1 -0
  144. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts +4 -0
  145. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -0
  146. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +42 -0
  147. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -0
  148. package/dist/webpack/configs/plugins-config.d.ts +6 -0
  149. package/dist/webpack/configs/plugins-config.d.ts.map +1 -0
  150. package/dist/webpack/configs/plugins-config.js +24 -0
  151. package/dist/webpack/configs/plugins-config.js.map +1 -0
  152. package/dist/webpack/configs/resolve-config.d.ts +6 -0
  153. package/dist/webpack/configs/resolve-config.d.ts.map +1 -0
  154. package/dist/webpack/configs/resolve-config.js +11 -0
  155. package/dist/webpack/configs/resolve-config.js.map +1 -0
  156. package/dist/webpack/configs/rules/css-rules.d.ts +4 -0
  157. package/dist/webpack/configs/rules/css-rules.d.ts.map +1 -0
  158. package/dist/webpack/configs/rules/css-rules.js +35 -0
  159. package/dist/webpack/configs/rules/css-rules.js.map +1 -0
  160. package/dist/webpack/configs/rules/font-rules.d.ts +4 -0
  161. package/dist/webpack/configs/rules/font-rules.d.ts.map +1 -0
  162. package/dist/webpack/configs/rules/font-rules.js +16 -0
  163. package/dist/webpack/configs/rules/font-rules.js.map +1 -0
  164. package/dist/webpack/configs/rules/image-rules.d.ts +4 -0
  165. package/dist/webpack/configs/rules/image-rules.d.ts.map +1 -0
  166. package/dist/webpack/configs/rules/image-rules.js +16 -0
  167. package/dist/webpack/configs/rules/image-rules.js.map +1 -0
  168. package/dist/webpack/configs/rules/index.d.ts +8 -0
  169. package/dist/webpack/configs/rules/index.d.ts.map +1 -0
  170. package/dist/webpack/configs/rules/index.js +24 -0
  171. package/dist/webpack/configs/rules/index.js.map +1 -0
  172. package/dist/webpack/configs/rules/js-rules.d.ts +4 -0
  173. package/dist/webpack/configs/rules/js-rules.d.ts.map +1 -0
  174. package/dist/webpack/configs/rules/js-rules.js +19 -0
  175. package/dist/webpack/configs/rules/js-rules.js.map +1 -0
  176. package/dist/webpack/configs/rules/less-rules.d.ts +4 -0
  177. package/dist/webpack/configs/rules/less-rules.d.ts.map +1 -0
  178. package/dist/webpack/configs/rules/less-rules.js +23 -0
  179. package/dist/webpack/configs/rules/less-rules.js.map +1 -0
  180. package/dist/webpack/configs/rules/scss-rules.d.ts +4 -0
  181. package/dist/webpack/configs/rules/scss-rules.d.ts.map +1 -0
  182. package/dist/webpack/configs/rules/scss-rules.js +23 -0
  183. package/dist/webpack/configs/rules/scss-rules.js.map +1 -0
  184. package/dist/webpack/configs/rules/tsx-rules.d.ts +4 -0
  185. package/dist/webpack/configs/rules/tsx-rules.d.ts.map +1 -0
  186. package/dist/webpack/configs/rules/tsx-rules.js +23 -0
  187. package/dist/webpack/configs/rules/tsx-rules.js.map +1 -0
  188. package/dist/webpack/configs/rules-config.d.ts +9 -0
  189. package/dist/webpack/configs/rules-config.d.ts.map +1 -0
  190. package/dist/webpack/configs/rules-config.js +31 -0
  191. package/dist/webpack/configs/rules-config.js.map +1 -0
  192. package/dist/webpack/configs/stats-config.d.ts +6 -0
  193. package/dist/webpack/configs/stats-config.d.ts.map +1 -0
  194. package/dist/webpack/configs/stats-config.js +16 -0
  195. package/dist/webpack/configs/stats-config.js.map +1 -0
  196. package/dist/webpack/configs/types.d.ts +15 -0
  197. package/dist/webpack/configs/types.d.ts.map +1 -0
  198. package/dist/webpack/configs/types.js +3 -0
  199. package/dist/webpack/configs/types.js.map +1 -0
  200. package/dist/webpack/configs/utils/generate-metadata.d.ts +3 -0
  201. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -0
  202. package/dist/webpack/configs/utils/generate-metadata.js +31 -0
  203. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -0
  204. package/dist/webpack/configs/utils/get-startup-version.d.ts +2 -0
  205. package/dist/webpack/configs/utils/get-startup-version.d.ts.map +1 -0
  206. package/dist/webpack/configs/utils/get-startup-version.js +13 -0
  207. package/dist/webpack/configs/utils/get-startup-version.js.map +1 -0
  208. package/dist/webpack/configs/utils/index.d.ts +2 -0
  209. package/dist/webpack/configs/utils/index.d.ts.map +1 -0
  210. package/dist/webpack/configs/utils/index.js +18 -0
  211. package/dist/webpack/configs/utils/index.js.map +1 -0
  212. package/dist/webpack/create-webpack-config.d.ts +4 -0
  213. package/dist/webpack/create-webpack-config.d.ts.map +1 -0
  214. package/dist/webpack/create-webpack-config.js +67 -0
  215. package/dist/webpack/create-webpack-config.js.map +1 -0
  216. package/dist/webpack/index.d.ts +2 -10
  217. package/dist/webpack/index.d.ts.map +1 -1
  218. package/dist/webpack/index.js +16 -21
  219. package/dist/webpack/index.js.map +1 -1
  220. package/dist/webpack/types.d.ts +18 -0
  221. package/dist/webpack/types.d.ts.map +1 -0
  222. package/dist/webpack/types.js +3 -0
  223. package/dist/webpack/types.js.map +1 -0
  224. package/dist/webpack/utils/index.d.ts +5 -0
  225. package/dist/webpack/utils/index.d.ts.map +1 -0
  226. package/dist/webpack/utils/index.js +21 -0
  227. package/dist/webpack/utils/index.js.map +1 -0
  228. package/package.json +5 -4
  229. package/src/cli/commands/__tests__/build.test.ts +13 -0
  230. package/src/cli/commands/__tests__/bundle-package.test.ts +27 -4
  231. package/src/cli/commands/__tests__/start.test.ts +15 -0
  232. package/src/cli/commands/build.ts +4 -2
  233. package/src/cli/commands/bundle-package.ts +7 -4
  234. package/src/cli/commands/start.ts +6 -4
  235. package/src/cli/utils/__tests__/bundle.test.ts +142 -111
  236. package/src/cli/utils/__tests__/set-node-options.test.ts +4 -4
  237. package/src/cli/utils/bundle.ts +37 -118
  238. package/src/cli/utils/set-node-options.ts +2 -2
  239. package/src/utils/__tests__/get-configuration.test.ts +46 -0
  240. package/src/utils/__tests__/log.test.ts +43 -1
  241. package/src/utils/debug.ts +13 -0
  242. package/src/utils/get-configuration.ts +5 -1
  243. package/src/utils/log.ts +22 -0
  244. package/src/webpack/__mocks__/file-rules.ts +29 -0
  245. package/src/webpack/__mocks__/index.ts +2 -0
  246. package/src/webpack/__mocks__/style-rules.ts +126 -0
  247. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +162 -0
  248. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +331 -0
  249. package/src/webpack/__tests__/create-webpack-config.test.ts +400 -42
  250. package/src/webpack/configs/cache-config.ts +25 -0
  251. package/src/webpack/configs/dev-server-config.ts +43 -0
  252. package/src/webpack/configs/devtool-config.ts +18 -0
  253. package/src/webpack/configs/entry.config.ts +18 -0
  254. package/src/webpack/configs/externals-config.ts +21 -0
  255. package/src/webpack/configs/index.ts +12 -0
  256. package/src/webpack/configs/loaders/css-loader.ts +19 -0
  257. package/src/webpack/configs/loaders/index.ts +4 -0
  258. package/src/webpack/configs/loaders/less-loader.ts +3 -0
  259. package/src/webpack/configs/loaders/style-loader.ts +11 -0
  260. package/src/webpack/configs/loaders/types.ts +3 -0
  261. package/src/webpack/configs/module-config.ts +12 -0
  262. package/src/webpack/configs/optimization-config.ts +63 -0
  263. package/src/webpack/configs/output-config.ts +28 -0
  264. package/src/webpack/configs/plugins/assets-manifest-plugin.ts +34 -0
  265. package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +18 -0
  266. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +29 -0
  267. package/src/webpack/configs/plugins/define-web-component-name-plugin.ts +14 -0
  268. package/src/webpack/configs/plugins/filter-warnings-plugin.ts +12 -0
  269. package/src/webpack/configs/plugins/html-plugin.ts +53 -0
  270. package/src/webpack/configs/plugins/index.ts +11 -0
  271. package/src/webpack/configs/plugins/mini-css-extract-plugin.ts +19 -0
  272. package/src/webpack/configs/plugins/moment-locales-plugin.ts +8 -0
  273. package/src/webpack/configs/plugins/provide-react-plugin.ts +12 -0
  274. package/src/webpack/configs/plugins/ts-checker-plugin.ts +33 -0
  275. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +42 -0
  276. package/src/webpack/configs/plugins-config.ts +38 -0
  277. package/src/webpack/configs/resolve-config.ts +13 -0
  278. package/src/webpack/configs/rules/css-rules.ts +36 -0
  279. package/src/webpack/configs/rules/font-rules.ts +14 -0
  280. package/src/webpack/configs/rules/image-rules.ts +14 -0
  281. package/src/webpack/configs/rules/index.ts +7 -0
  282. package/src/webpack/configs/rules/js-rules.ts +17 -0
  283. package/src/webpack/configs/rules/less-rules.ts +21 -0
  284. package/src/webpack/configs/rules/scss-rules.ts +21 -0
  285. package/src/webpack/configs/rules/tsx-rules.ts +22 -0
  286. package/src/webpack/configs/rules-config.ts +38 -0
  287. package/src/webpack/configs/stats-config.ts +18 -0
  288. package/src/webpack/configs/types.ts +15 -0
  289. package/src/webpack/configs/utils/__tests__/generate-metadata.test.ts +77 -0
  290. package/src/webpack/configs/utils/__tests__/get-startup-version.test.ts +27 -0
  291. package/src/webpack/configs/utils/generate-metadata.ts +30 -0
  292. package/src/webpack/configs/utils/get-startup-version.ts +8 -0
  293. package/src/webpack/configs/utils/index.ts +1 -0
  294. package/src/webpack/create-webpack-config.ts +110 -0
  295. package/src/webpack/index.ts +2 -52
  296. package/{dist/webpack/shared.config.d.ts → src/webpack/types.ts} +10 -4
  297. package/src/webpack/utils/index.ts +4 -0
  298. package/dist/webpack/development.config.d.ts +0 -11
  299. package/dist/webpack/development.config.d.ts.map +0 -1
  300. package/dist/webpack/development.config.js +0 -191
  301. package/dist/webpack/development.config.js.map +0 -1
  302. package/dist/webpack/production.config.d.ts +0 -14
  303. package/dist/webpack/production.config.d.ts.map +0 -1
  304. package/dist/webpack/production.config.js +0 -172
  305. package/dist/webpack/production.config.js.map +0 -1
  306. package/dist/webpack/shared.config.d.ts.map +0 -1
  307. package/dist/webpack/shared.config.js +0 -268
  308. package/dist/webpack/shared.config.js.map +0 -1
  309. package/src/webpack/__tests__/create-development-config.test.ts +0 -306
  310. package/src/webpack/__tests__/create-production-config.test.ts +0 -231
  311. package/src/webpack/__tests__/create-shared-config.test.ts +0 -508
  312. package/src/webpack/development.config.ts +0 -237
  313. package/src/webpack/production.config.ts +0 -197
  314. package/src/webpack/shared.config.ts +0 -360
@@ -1,237 +0,0 @@
1
- import path from 'path';
2
-
3
- import { Configuration } from 'webpack';
4
-
5
- import MiniCssExtractPlugin from 'mini-css-extract-plugin';
6
- import merge from 'webpack-merge';
7
-
8
- import {
9
- getDevServerConfiguration,
10
- getFolders,
11
- getPackageName,
12
- getPackages,
13
- isCustomStyleRules,
14
- isExposeSharedDependencies,
15
- isWebComponent,
16
- PackageType,
17
- readJson,
18
- log,
19
- } from '../utils';
20
-
21
- import { Options } from '.';
22
- import { createConfig as createSharedConfig, Overrides as SharedOverrides } from './shared.config';
23
-
24
- import { featureCohort } from './utils/feature-cohort';
25
-
26
- export interface Overrides {
27
- configuration: SharedOverrides['configuration'] & {
28
- mode: 'development';
29
- };
30
- plugins?: SharedOverrides['plugins'];
31
- }
32
-
33
- export function createConfig(
34
- { configuration, plugins = {} }: Overrides,
35
- options: Options
36
- ): Configuration {
37
- const sharedConfig = createSharedConfig({ plugins }, options);
38
-
39
- const { embed } = options;
40
- const packageName = readJson('./package.json').name;
41
- const watchIgnore = getPackages({ scope: getPackageName() })
42
- .filter(({ type }) => type === PackageType.TSC)
43
- .map(({ location }) => path.join(location, getFolders(location).source));
44
-
45
- return merge(
46
- sharedConfig,
47
- {
48
- devtool: 'cheap-module-source-map',
49
- devServer: {
50
- port: 8080,
51
- historyApiFallback: true,
52
- stats: sharedConfig.stats,
53
- ...(watchIgnore.length
54
- ? {
55
- watchOptions: {
56
- ignored: watchIgnore,
57
- },
58
- }
59
- : {}),
60
- writeToDisk: true,
61
- headers: {
62
- 'Access-Control-Allow-Origin': '*',
63
- 'Access-Control-Allow-Headers':
64
- 'Origin, X-Requested-With, Content-Type, Accept',
65
- },
66
- ...getDevServerConfiguration(),
67
- },
68
- module: {
69
- rules: [
70
- ...(!isCustomStyleRules()
71
- ? [
72
- {
73
- test: /\.module.scss$/,
74
- use: [
75
- {
76
- loader: isWebComponent()
77
- ? MiniCssExtractPlugin.loader
78
- : 'style-loader',
79
- options: {
80
- esModule: true,
81
- },
82
- },
83
- {
84
- loader: 'css-loader',
85
- options: {
86
- esModule: true,
87
- modules: {
88
- exportLocalsConvention: 'camelCaseOnly',
89
- namedExport: true,
90
- },
91
- },
92
- },
93
- 'sass-loader',
94
- ],
95
- },
96
- {
97
- test: /(\.scss)$/,
98
- exclude: /\.module.scss$/,
99
- use: [
100
- isWebComponent()
101
- ? MiniCssExtractPlugin.loader
102
- : 'style-loader',
103
- 'css-loader',
104
- 'sass-loader',
105
- ],
106
- },
107
- {
108
- test: /\.module.less$/,
109
- use: [
110
- {
111
- loader: isWebComponent()
112
- ? MiniCssExtractPlugin.loader
113
- : 'style-loader',
114
- options: {
115
- esModule: true,
116
- },
117
- },
118
- {
119
- loader: 'css-loader',
120
- options: {
121
- esModule: true,
122
- modules: {
123
- exportLocalsConvention: 'camelCaseOnly',
124
- namedExport: true,
125
- },
126
- },
127
- },
128
- {
129
- loader: 'less-loader',
130
- options: {
131
- lessOptions: {
132
- math: 'always',
133
- },
134
- },
135
- },
136
- ],
137
- },
138
- {
139
- test: /(\.less)$/,
140
- exclude: /\.module.less$/,
141
- use: [
142
- isWebComponent()
143
- ? MiniCssExtractPlugin.loader
144
- : 'style-loader',
145
- 'css-loader',
146
- {
147
- loader: 'less-loader',
148
- options: {
149
- lessOptions: {
150
- math: 'always',
151
- },
152
- },
153
- },
154
- ],
155
- },
156
- {
157
- test: /\.module.css$/,
158
- use: [
159
- {
160
- loader: isWebComponent()
161
- ? MiniCssExtractPlugin.loader
162
- : 'style-loader',
163
- options: {
164
- esModule: true,
165
- },
166
- },
167
- {
168
- loader: 'css-loader',
169
- options: {
170
- esModule: true,
171
- modules: {
172
- exportLocalsConvention: 'camelCaseOnly',
173
- namedExport: true,
174
- },
175
- },
176
- },
177
- ],
178
- },
179
- {
180
- test: /(\.css)$/,
181
- exclude: (path: string) => {
182
- if (
183
- isExposeSharedDependencies() &&
184
- path.endsWith('design-system.css')
185
- ) {
186
- return true;
187
- }
188
-
189
- return path.endsWith('.module.css');
190
- },
191
- use: [
192
- isWebComponent()
193
- ? MiniCssExtractPlugin.loader
194
- : 'style-loader',
195
- 'css-loader',
196
- ],
197
- },
198
- ...(isExposeSharedDependencies()
199
- ? [
200
- {
201
- test: /design-system.css$/,
202
- use: [MiniCssExtractPlugin.loader, 'css-loader'],
203
- },
204
- ]
205
- : []),
206
- ]
207
- : []),
208
- ],
209
- },
210
- plugins: [
211
- ...(isWebComponent() || (isExposeSharedDependencies() && !isCustomStyleRules())
212
- ? [
213
- new MiniCssExtractPlugin({
214
- filename: '[name].bundle.css',
215
- }),
216
- ]
217
- : []),
218
- ],
219
- ...featureCohort([2, 5], () => {
220
- log.info('Persistent cache is active');
221
- return {
222
- cache: {
223
- type: 'filesystem',
224
- name: isWebComponent()
225
- ? `${packageName}__${embed ? 'light' : 'full'}`
226
- : packageName,
227
- profile: true,
228
- },
229
- };
230
- }),
231
- output: {
232
- filename: '[name].bundle.js',
233
- },
234
- },
235
- configuration
236
- );
237
- }
@@ -1,197 +0,0 @@
1
- import deepmerge from 'deepmerge';
2
-
3
- import { Configuration } from 'webpack';
4
-
5
- import MiniCssExtractPlugin, {
6
- PluginOptions as MiniCssExtractPluginOptions,
7
- } from 'mini-css-extract-plugin';
8
- import merge from 'webpack-merge';
9
-
10
- import { isWebComponent, isCustomStyleRules } from '../utils';
11
-
12
- import { Options } from '.';
13
- import { createConfig as createSharedConfig, Overrides as SharedOverrides } from './shared.config';
14
-
15
- export interface Overrides {
16
- configuration: SharedOverrides['configuration'] & {
17
- mode: 'production';
18
- };
19
- plugins?: SharedOverrides['plugins'] & {
20
- MiniCssExtractPlugin?: MiniCssExtractPluginOptions;
21
- };
22
- }
23
-
24
- const cdnPath = process.env.CLIENT_CDN_PATH;
25
-
26
- export function createConfig(
27
- { configuration, plugins = {} }: Overrides,
28
- options: Options
29
- ): Configuration {
30
- const { MiniCssExtractPlugin: miniCssExtractPluginOptions = {} } = plugins;
31
-
32
- return merge(
33
- createSharedConfig({ plugins }, options),
34
- {
35
- devtool: isWebComponent() ? false : 'source-map',
36
- module: {
37
- rules: [
38
- ...(!isCustomStyleRules()
39
- ? [
40
- {
41
- test: /\.module.scss$/,
42
- use: [
43
- {
44
- loader: MiniCssExtractPlugin.loader,
45
- options: {
46
- esModule: true,
47
- },
48
- },
49
- {
50
- loader: 'css-loader',
51
- options: {
52
- esModule: true,
53
- modules: {
54
- localIdentName: '[local]__[hash:base64:5]',
55
- exportLocalsConvention: 'camelCaseOnly',
56
- namedExport: true,
57
- },
58
- },
59
- },
60
- 'sass-loader',
61
- ],
62
- },
63
- {
64
- test: /(\.scss)$/,
65
- exclude: /\.module.scss$/,
66
- use: [MiniCssExtractPlugin.loader, 'css-loader', 'sass-loader'],
67
- },
68
- {
69
- test: /\.module.less$/,
70
- use: [
71
- {
72
- loader: MiniCssExtractPlugin.loader,
73
- options: {
74
- esModule: true,
75
- },
76
- },
77
- {
78
- loader: 'css-loader',
79
- options: {
80
- esModule: true,
81
- modules: {
82
- localIdentName: '[local]__[hash:base64:5]',
83
- exportLocalsConvention: 'camelCaseOnly',
84
- namedExport: true,
85
- },
86
- },
87
- },
88
- {
89
- loader: 'less-loader',
90
- options: {
91
- lessOptions: {
92
- math: 'always',
93
- },
94
- },
95
- },
96
- ],
97
- },
98
- {
99
- test: /(\.less)$/,
100
- exclude: /\.module.less$/,
101
- use: [
102
- MiniCssExtractPlugin.loader,
103
- 'css-loader',
104
- {
105
- loader: 'less-loader',
106
- options: {
107
- lessOptions: {
108
- math: 'always',
109
- },
110
- },
111
- },
112
- ],
113
- },
114
- {
115
- test: /\.module.css$/,
116
- use: [
117
- {
118
- loader: MiniCssExtractPlugin.loader,
119
- options: {
120
- esModule: true,
121
- },
122
- },
123
- {
124
- loader: 'css-loader',
125
- options: {
126
- esModule: true,
127
- modules: {
128
- localIdentName: '[local]__[hash:base64:5]',
129
- exportLocalsConvention: 'camelCaseOnly',
130
- namedExport: true,
131
- },
132
- },
133
- },
134
- ],
135
- },
136
- {
137
- test: /(\.css)$/,
138
- exclude: /\.module.css$/,
139
- use: [MiniCssExtractPlugin.loader, 'css-loader'],
140
- },
141
- ]
142
- : []),
143
- ],
144
- },
145
- plugins: [
146
- ...(!isCustomStyleRules()
147
- ? [
148
- new MiniCssExtractPlugin(
149
- deepmerge<MiniCssExtractPluginOptions>(
150
- {
151
- filename: '[name].[contenthash:8].bundle.css',
152
- },
153
- miniCssExtractPluginOptions
154
- )
155
- ),
156
- ]
157
- : []),
158
- ],
159
- output: {
160
- filename: '[name].[contenthash:8].bundle.js',
161
- clean: true,
162
- },
163
- optimization: {
164
- runtimeChunk: 'single',
165
- splitChunks: {
166
- cacheGroups: isWebComponent()
167
- ? {
168
- common: {
169
- name: 'common',
170
- test: /[\\/]node_modules[\\/](axios|classnames|formstate|mobx|mobx-react|mobx-utils|react|react-dom|react-router|react-router-dom)[\\/]/,
171
- chunks: 'all',
172
- },
173
- kendo: {
174
- name: 'kendo',
175
- test: /[\\/]node_modules[\\/](@progress|@telerik)[\\/]/,
176
- chunks: 'all',
177
- },
178
- servicetitan: {
179
- name: 'servicetitan',
180
- test: /[\\/]node_modules[\\/]@servicetitan[\\/]/,
181
- chunks: 'all',
182
- },
183
- }
184
- : {},
185
- },
186
- },
187
- },
188
- configuration,
189
- cdnPath
190
- ? {
191
- output: {
192
- publicPath: cdnPath,
193
- },
194
- }
195
- : {}
196
- );
197
- }