@servicetitan/startup 26.2.0 → 26.4.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 (248) hide show
  1. package/dist/__mocks__/create-package.js +9 -3
  2. package/dist/__mocks__/create-package.js.map +1 -1
  3. package/dist/cli/commands/build.js +34 -45
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-package.js +17 -28
  6. package/dist/cli/commands/bundle-package.js.map +1 -1
  7. package/dist/cli/commands/eslint.js +3 -14
  8. package/dist/cli/commands/eslint.js.map +1 -1
  9. package/dist/cli/commands/get-command.js +1 -2
  10. package/dist/cli/commands/get-command.js.map +1 -1
  11. package/dist/cli/commands/get-user-commands.d.ts.map +1 -1
  12. package/dist/cli/commands/get-user-commands.js +1 -2
  13. package/dist/cli/commands/get-user-commands.js.map +1 -1
  14. package/dist/cli/commands/init.js +16 -29
  15. package/dist/cli/commands/init.js.map +1 -1
  16. package/dist/cli/commands/install.js +6 -17
  17. package/dist/cli/commands/install.js.map +1 -1
  18. package/dist/cli/commands/kendo-ui-license.js +25 -40
  19. package/dist/cli/commands/kendo-ui-license.js.map +1 -1
  20. package/dist/cli/commands/lint.js +59 -81
  21. package/dist/cli/commands/lint.js.map +1 -1
  22. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  23. package/dist/cli/commands/mfe-publish.js +95 -110
  24. package/dist/cli/commands/mfe-publish.js.map +1 -1
  25. package/dist/cli/commands/prepare-package.js +10 -21
  26. package/dist/cli/commands/prepare-package.js.map +1 -1
  27. package/dist/cli/commands/start.js +50 -61
  28. package/dist/cli/commands/start.js.map +1 -1
  29. package/dist/cli/commands/styles-check.js +19 -30
  30. package/dist/cli/commands/styles-check.js.map +1 -1
  31. package/dist/cli/commands/tests.js +7 -18
  32. package/dist/cli/commands/tests.js.map +1 -1
  33. package/dist/cli/index.js +1 -1
  34. package/dist/cli/index.js.map +1 -1
  35. package/dist/cli/utils/assets-copy.js +12 -26
  36. package/dist/cli/utils/assets-copy.js.map +1 -1
  37. package/dist/cli/utils/bundle.js +87 -118
  38. package/dist/cli/utils/bundle.js.map +1 -1
  39. package/dist/cli/utils/cli-npm.js +18 -38
  40. package/dist/cli/utils/cli-npm.js.map +1 -1
  41. package/dist/cli/utils/cli-os.d.ts +0 -1
  42. package/dist/cli/utils/cli-os.d.ts.map +1 -1
  43. package/dist/cli/utils/compile-less.js +7 -19
  44. package/dist/cli/utils/compile-less.js.map +1 -1
  45. package/dist/cli/utils/compile-sass.js +5 -17
  46. package/dist/cli/utils/compile-sass.js.map +1 -1
  47. package/dist/cli/utils/eslint.js +33 -50
  48. package/dist/cli/utils/eslint.js.map +1 -1
  49. package/dist/cli/utils/get-module-type.js +1 -2
  50. package/dist/cli/utils/get-module-type.js.map +1 -1
  51. package/dist/cli/utils/is-module-installed.js +1 -2
  52. package/dist/cli/utils/is-module-installed.js.map +1 -1
  53. package/dist/cli/utils/lerna-exec.js +12 -24
  54. package/dist/cli/utils/lerna-exec.js.map +1 -1
  55. package/dist/cli/utils/maybe-create-git-folder.js +1 -2
  56. package/dist/cli/utils/maybe-create-git-folder.js.map +1 -1
  57. package/dist/cli/utils/set-node-options.js +1 -2
  58. package/dist/cli/utils/set-node-options.js.map +1 -1
  59. package/dist/cli/utils/styles-copy.js +12 -26
  60. package/dist/cli/utils/styles-copy.js.map +1 -1
  61. package/dist/cli/utils/tcm.js +42 -60
  62. package/dist/cli/utils/tcm.js.map +1 -1
  63. package/dist/cli/utils/tsc.js +10 -22
  64. package/dist/cli/utils/tsc.js.map +1 -1
  65. package/dist/jest/index.js +1 -2
  66. package/dist/jest/index.js.map +1 -1
  67. package/dist/utils/debug.js +1 -2
  68. package/dist/utils/debug.js.map +1 -1
  69. package/dist/utils/find-packages.js +2 -3
  70. package/dist/utils/find-packages.js.map +1 -1
  71. package/dist/utils/get-configuration.js +14 -14
  72. package/dist/utils/get-configuration.js.map +1 -1
  73. package/dist/utils/get-destination-folders.js +1 -2
  74. package/dist/utils/get-destination-folders.js.map +1 -1
  75. package/dist/utils/get-folders.js +1 -2
  76. package/dist/utils/get-folders.js.map +1 -1
  77. package/dist/utils/get-jest-config.d.ts.map +1 -1
  78. package/dist/utils/get-jest-config.js +23 -21
  79. package/dist/utils/get-jest-config.js.map +1 -1
  80. package/dist/utils/get-package-data.js +6 -4
  81. package/dist/utils/get-package-data.js.map +1 -1
  82. package/dist/utils/get-package-name.js +1 -2
  83. package/dist/utils/get-package-name.js.map +1 -1
  84. package/dist/utils/get-packages.js +4 -4
  85. package/dist/utils/get-packages.js.map +1 -1
  86. package/dist/utils/get-startup-version.js +1 -2
  87. package/dist/utils/get-startup-version.js.map +1 -1
  88. package/dist/utils/get-tsconfig.js +1 -2
  89. package/dist/utils/get-tsconfig.js.map +1 -1
  90. package/dist/utils/load-shared-dependencies.js +7 -5
  91. package/dist/utils/load-shared-dependencies.js.map +1 -1
  92. package/dist/utils/log.d.ts +0 -1
  93. package/dist/utils/log.d.ts.map +1 -1
  94. package/dist/utils/log.js +2 -2
  95. package/dist/utils/log.js.map +1 -1
  96. package/dist/utils/pick.js +1 -2
  97. package/dist/utils/pick.js.map +1 -1
  98. package/dist/utils/read-json.js +2 -3
  99. package/dist/utils/read-json.js.map +1 -1
  100. package/dist/utils/to-array.js +1 -2
  101. package/dist/utils/to-array.js.map +1 -1
  102. package/dist/webpack/__mocks__/style-rules.js +6 -6
  103. package/dist/webpack/__mocks__/style-rules.js.map +1 -1
  104. package/dist/webpack/configs/amd-config.js +1 -2
  105. package/dist/webpack/configs/amd-config.js.map +1 -1
  106. package/dist/webpack/configs/cache-config.js +1 -2
  107. package/dist/webpack/configs/cache-config.js.map +1 -1
  108. package/dist/webpack/configs/dev-server-config.js +11 -5
  109. package/dist/webpack/configs/dev-server-config.js.map +1 -1
  110. package/dist/webpack/configs/devtool-config.js +1 -2
  111. package/dist/webpack/configs/devtool-config.js.map +1 -1
  112. package/dist/webpack/configs/entry.config.js +1 -2
  113. package/dist/webpack/configs/entry.config.js.map +1 -1
  114. package/dist/webpack/configs/externals-config.js +1 -2
  115. package/dist/webpack/configs/externals-config.js.map +1 -1
  116. package/dist/webpack/configs/loaders/css-loader.js +6 -3
  117. package/dist/webpack/configs/loaders/css-loader.js.map +1 -1
  118. package/dist/webpack/configs/loaders/less-loader.js +1 -2
  119. package/dist/webpack/configs/loaders/less-loader.js.map +1 -1
  120. package/dist/webpack/configs/loaders/style-loader.js +1 -2
  121. package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
  122. package/dist/webpack/configs/module-config.js +2 -3
  123. package/dist/webpack/configs/module-config.js.map +1 -1
  124. package/dist/webpack/configs/optimization-config.js +6 -3
  125. package/dist/webpack/configs/optimization-config.js.map +1 -1
  126. package/dist/webpack/configs/output-config.js +6 -3
  127. package/dist/webpack/configs/output-config.js.map +1 -1
  128. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +1 -2
  129. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
  130. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +1 -2
  131. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
  132. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +1 -2
  133. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  134. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js +1 -2
  135. package/dist/webpack/configs/plugins/define-web-component-name-plugin.js.map +1 -1
  136. package/dist/webpack/configs/plugins/filter-warnings-plugin.js +1 -2
  137. package/dist/webpack/configs/plugins/filter-warnings-plugin.js.map +1 -1
  138. package/dist/webpack/configs/plugins/html-plugin.js +17 -13
  139. package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
  140. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts +2 -1
  141. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.d.ts.map +1 -1
  142. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js +24 -11
  143. package/dist/webpack/configs/plugins/ignore-plugin/check-resource.js.map +1 -1
  144. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts +1 -1
  145. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.d.ts.map +1 -1
  146. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js +4 -4
  147. package/dist/webpack/configs/plugins/ignore-plugin/ignore-plugin.js.map +1 -1
  148. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.d.ts +14 -0
  149. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.d.ts.map +1 -0
  150. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.js +15 -0
  151. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.js.map +1 -0
  152. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts +7 -0
  153. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.d.ts.map +1 -0
  154. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js +8 -0
  155. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.js.map +1 -0
  156. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js +5 -3
  157. package/dist/webpack/configs/plugins/mini-css-extract-plugin.js.map +1 -1
  158. package/dist/webpack/configs/plugins/moment-locales-plugin.js +1 -2
  159. package/dist/webpack/configs/plugins/moment-locales-plugin.js.map +1 -1
  160. package/dist/webpack/configs/plugins/provide-react-plugin.js +1 -2
  161. package/dist/webpack/configs/plugins/provide-react-plugin.js.map +1 -1
  162. package/dist/webpack/configs/plugins/ts-checker-plugin.js +1 -2
  163. package/dist/webpack/configs/plugins/ts-checker-plugin.js.map +1 -1
  164. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +1 -2
  165. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  166. package/dist/webpack/configs/plugins-config.js +1 -2
  167. package/dist/webpack/configs/plugins-config.js.map +1 -1
  168. package/dist/webpack/configs/resolve-config.js +1 -2
  169. package/dist/webpack/configs/resolve-config.js.map +1 -1
  170. package/dist/webpack/configs/rules/css-rules.js +1 -2
  171. package/dist/webpack/configs/rules/css-rules.js.map +1 -1
  172. package/dist/webpack/configs/rules/font-rules.js +1 -2
  173. package/dist/webpack/configs/rules/font-rules.js.map +1 -1
  174. package/dist/webpack/configs/rules/image-rules.js +1 -2
  175. package/dist/webpack/configs/rules/image-rules.js.map +1 -1
  176. package/dist/webpack/configs/rules/js-rules.js +1 -2
  177. package/dist/webpack/configs/rules/js-rules.js.map +1 -1
  178. package/dist/webpack/configs/rules/less-rules.js +1 -2
  179. package/dist/webpack/configs/rules/less-rules.js.map +1 -1
  180. package/dist/webpack/configs/rules/scss-rules.js +1 -2
  181. package/dist/webpack/configs/rules/scss-rules.js.map +1 -1
  182. package/dist/webpack/configs/rules/svg-rules.js +1 -2
  183. package/dist/webpack/configs/rules/svg-rules.js.map +1 -1
  184. package/dist/webpack/configs/rules/tsx-rules.js +1 -2
  185. package/dist/webpack/configs/rules/tsx-rules.js.map +1 -1
  186. package/dist/webpack/configs/rules-config.js +1 -2
  187. package/dist/webpack/configs/rules-config.js.map +1 -1
  188. package/dist/webpack/configs/stats-config.js +1 -2
  189. package/dist/webpack/configs/stats-config.js.map +1 -1
  190. package/dist/webpack/configs/utils/generate-metadata.js +2 -3
  191. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
  192. package/dist/webpack/configs/utils/get-web-components-version.js +1 -2
  193. package/dist/webpack/configs/utils/get-web-components-version.js.map +1 -1
  194. package/dist/webpack/create-webpack-config.js +18 -5
  195. package/dist/webpack/create-webpack-config.js.map +1 -1
  196. package/dist/webpack/loaders/expose-loader/utils/contextify-request.js +1 -2
  197. package/dist/webpack/loaders/expose-loader/utils/contextify-request.js.map +1 -1
  198. package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js +1 -2
  199. package/dist/webpack/loaders/expose-loader/utils/get-new-user-request.js.map +1 -1
  200. package/dist/webpack/loaders/expose-loader/utils/stringify-request.js +1 -2
  201. package/dist/webpack/loaders/expose-loader/utils/stringify-request.js.map +1 -1
  202. package/dist/webpack/utils/bundle.js +1 -2
  203. package/dist/webpack/utils/bundle.js.map +1 -1
  204. package/dist/webpack/utils/feature-cohort.js +1 -2
  205. package/dist/webpack/utils/feature-cohort.js.map +1 -1
  206. package/dist/webpack/utils/get-caller-filename.js +1 -2
  207. package/dist/webpack/utils/get-caller-filename.js.map +1 -1
  208. package/dist/webpack/utils/hash-mod.js +1 -2
  209. package/dist/webpack/utils/hash-mod.js.map +1 -1
  210. package/dist/webpack/utils/split-by-entry.d.ts.map +1 -1
  211. package/dist/webpack/utils/split-by-entry.js +1 -2
  212. package/dist/webpack/utils/split-by-entry.js.map +1 -1
  213. package/dist/webpack/utils/testing/compile.js +1 -2
  214. package/dist/webpack/utils/testing/compile.js.map +1 -1
  215. package/dist/webpack/utils/testing/execute.js +1 -2
  216. package/dist/webpack/utils/testing/execute.js.map +1 -1
  217. package/dist/webpack/utils/testing/get-compiler.js +1 -2
  218. package/dist/webpack/utils/testing/get-compiler.js.map +1 -1
  219. package/dist/webpack/utils/testing/get-errors.js +1 -2
  220. package/dist/webpack/utils/testing/get-errors.js.map +1 -1
  221. package/dist/webpack/utils/testing/get-module-source.d.ts +0 -1
  222. package/dist/webpack/utils/testing/get-module-source.d.ts.map +1 -1
  223. package/dist/webpack/utils/testing/get-module-source.js +1 -2
  224. package/dist/webpack/utils/testing/get-module-source.js.map +1 -1
  225. package/dist/webpack/utils/testing/get-warnings.js +1 -2
  226. package/dist/webpack/utils/testing/get-warnings.js.map +1 -1
  227. package/dist/webpack/utils/testing/index.js +1 -2
  228. package/dist/webpack/utils/testing/index.js.map +1 -1
  229. package/dist/webpack/utils/testing/normalize-errors.js +1 -2
  230. package/dist/webpack/utils/testing/normalize-errors.js.map +1 -1
  231. package/dist/webpack/utils/testing/read-asset.js +1 -2
  232. package/dist/webpack/utils/testing/read-asset.js.map +1 -1
  233. package/dist/webpack/utils/testing/read-assets.js +1 -2
  234. package/dist/webpack/utils/testing/read-assets.js.map +1 -1
  235. package/package.json +9 -10
  236. package/src/webpack/configs/plugins/ignore-plugin/__tests__/check-resource.test.ts +28 -13
  237. package/src/webpack/configs/plugins/ignore-plugin/__tests__/is-optional-anvil-peer-dependency.test.ts +54 -0
  238. package/src/webpack/configs/plugins/ignore-plugin/__tests__/{is-optional-peer-dependency.test.ts → is-optional-react-dom-peer-dependency.test.ts} +10 -5
  239. package/src/webpack/configs/plugins/ignore-plugin/check-resource.ts +24 -8
  240. package/src/webpack/configs/plugins/ignore-plugin/ignore-plugin.ts +3 -2
  241. package/src/webpack/configs/plugins/ignore-plugin/is-optional-anvil-peer-dependency.ts +22 -0
  242. package/src/webpack/configs/plugins/ignore-plugin/is-optional-react-dom-peer-dependency.ts +11 -0
  243. package/tsconfig/base.json +1 -1
  244. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts +0 -7
  245. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.d.ts.map +0 -1
  246. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js +0 -8
  247. package/dist/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.js.map +0 -1
  248. package/src/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.ts +0 -10
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.readAsset = void 0;
6
+ exports.readAsset = readAsset;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  function readAsset(asset, compiler, stats) {
9
9
  var _a;
@@ -23,5 +23,4 @@ function readAsset(asset, compiler, stats) {
23
23
  }
24
24
  return data;
25
25
  }
26
- exports.readAsset = readAsset;
27
26
  //# sourceMappingURL=read-asset.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-asset.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-asset.ts"],"names":[],"mappings":";;;;;;AAAA,gDAAwB;AAKxB,SAAgB,SAAS,CAAC,KAAa,EAAE,QAAkB,EAAE,KAAY;;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAuB,CAAC;IAChD,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,mCAAI,EAAE,CAAC;IAE9D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACtB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AApBD,8BAoBC"}
1
+ {"version":3,"file":"read-asset.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-asset.ts"],"names":[],"mappings":";;;;;AAKA,8BAoBC;AAzBD,gDAAwB;AAKxB,SAAgB,SAAS,CAAC,KAAa,EAAE,QAAkB,EAAE,KAAY;;IACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,gBAAuB,CAAC;IAChD,MAAM,UAAU,GAAG,MAAA,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,mCAAI,EAAE,CAAC;IAE9D,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;QACtB,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,CAAC;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC7E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readAssets = void 0;
3
+ exports.readAssets = readAssets;
4
4
  const read_asset_1 = require("./read-asset");
5
5
  function readAssets(compiler, stats) {
6
6
  const assets = {};
@@ -9,5 +9,4 @@ function readAssets(compiler, stats) {
9
9
  });
10
10
  return assets;
11
11
  }
12
- exports.readAssets = readAssets;
13
12
  //# sourceMappingURL=read-assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"read-assets.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-assets.ts"],"names":[],"mappings":";;;AAEA,6CAAyC;AAEzC,SAAgB,UAAU,CAAC,QAAkB,EAAE,KAAY;IACvD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC;AARD,gCAQC"}
1
+ {"version":3,"file":"read-assets.js","sourceRoot":"","sources":["../../../../src/webpack/utils/testing/read-assets.ts"],"names":[],"mappings":";;AAIA,gCAQC;AAVD,6CAAyC;AAEzC,SAAgB,UAAU,CAAC,QAAkB,EAAE,KAAY;IACvD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAE1C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QAClD,MAAM,CAAC,KAAK,CAAC,GAAG,IAAA,sBAAS,EAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/startup",
3
- "version": "26.2.0",
3
+ "version": "26.4.0",
4
4
  "description": "",
5
5
  "homepage": "https://docs.st.dev/docs/frontend/startup",
6
6
  "repository": {
@@ -28,16 +28,15 @@
28
28
  "@types/eslint": "~8.56.3",
29
29
  "@types/less": "~3.0.3",
30
30
  "@types/moment-locales-webpack-plugin": "~1.2.2",
31
- "@types/sass": "~1.45.0",
32
31
  "@types/webpack-assets-manifest": "~5.1.4",
33
32
  "@types/yargs": "~17.0.24"
34
33
  },
35
34
  "dependencies": {
36
- "@babel/preset-env": "~7.25.3",
35
+ "@babel/preset-env": "~7.25.4",
37
36
  "@jest/core": "~29.7.0",
38
37
  "@jest/types": "~29.6.3",
39
- "@servicetitan/eslint-config": "26.2.0",
40
- "@servicetitan/stylelint-config": "26.2.0",
38
+ "@servicetitan/eslint-config": "26.4.0",
39
+ "@servicetitan/stylelint-config": "26.4.0",
41
40
  "@svgr/webpack": "^8.1.0",
42
41
  "@swc/core": "1.6.13",
43
42
  "@types/debug": "^4.1.12",
@@ -64,7 +63,7 @@
64
63
  "less-loader": "~12.2.0",
65
64
  "less-plugin-npm-import": "~2.1.0",
66
65
  "memfs": "~4.11.1",
67
- "mini-css-extract-plugin": "~2.9.0",
66
+ "mini-css-extract-plugin": "~2.9.1",
68
67
  "moment": "^2.30.1",
69
68
  "moment-locales-webpack-plugin": "~1.2.0",
70
69
  "multimatch": "~5.0.0",
@@ -72,7 +71,7 @@
72
71
  "postcss": "~8.4.41",
73
72
  "prettier": "~2.7.1",
74
73
  "sass": "~1.77.8",
75
- "sass-loader": "~16.0.0",
74
+ "sass-loader": "~16.0.1",
76
75
  "source-map-loader": "~5.0.0",
77
76
  "string-width": "<5.0.0",
78
77
  "style-loader": "~4.0.0",
@@ -83,9 +82,9 @@
83
82
  "ts-loader": "~9.5.1",
84
83
  "ts-node": "~10.9.2",
85
84
  "typed-css-modules": "~0.9.1",
86
- "typescript": "~5.4.5",
85
+ "typescript": "5.5.3",
87
86
  "username": "~5.1.0",
88
- "webpack": "~5.93.0",
87
+ "webpack": "~5.94.0",
89
88
  "webpack-assets-manifest": "~5.2.1",
90
89
  "webpack-bundle-analyzer": "^4.10.2",
91
90
  "webpack-dev-server": "~5.0.4",
@@ -105,5 +104,5 @@
105
104
  "cli": {
106
105
  "webpack": false
107
106
  },
108
- "gitHead": "db962a72024497a2c475d3bbf9aab5f9c7aae223"
107
+ "gitHead": "2e4ea0f45727d1519f1d0b2925c9a21b1cb462e5"
109
108
  }
@@ -1,37 +1,52 @@
1
1
  import { checkResource } from '../check-resource';
2
- import { isOptionalPeerDependency } from '../is-optional-peer-dependency';
2
+ import { isOptionalReactDomPeerDependency } from '../is-optional-react-dom-peer-dependency';
3
+ import { isOptionalAnvilPeerDependency } from '../is-optional-anvil-peer-dependency';
3
4
 
4
- jest.mock('../is-optional-peer-dependency');
5
+ jest.mock('../is-optional-react-dom-peer-dependency');
6
+ jest.mock('../is-optional-anvil-peer-dependency');
7
+
8
+ type PackageContext = Parameters<typeof isOptionalAnvilPeerDependency>[0]['packageContext'];
5
9
 
6
10
  describe(`${checkResource.name}`, () => {
11
+ let packageContext: PackageContext;
7
12
  let context: string;
8
13
  let resource: string;
9
14
 
10
- const subject = () => checkResource(resource, context);
15
+ const subject = () => checkResource(packageContext)(resource, context);
11
16
 
12
17
  function itReturns(value: boolean) {
13
18
  test(`returns ${value}`, () => expect(subject()).toBe(value));
14
19
  }
15
20
 
16
- describe('when resource is not an optional peer dependency', () => {
17
- beforeEach(() => jest.mocked(isOptionalPeerDependency).mockReturnValue(false));
21
+ describe('when resource is an optional anvil peer dependency', () => {
22
+ beforeEach(() => jest.mocked(isOptionalAnvilPeerDependency).mockReturnValue(true));
18
23
 
19
- itReturns(false);
24
+ itReturns(true);
20
25
  });
21
26
 
22
- describe('when resource is optional peer dependency', () => {
23
- beforeEach(() => jest.mocked(isOptionalPeerDependency).mockReturnValue(true));
27
+ describe('when resource is not an optional anvil peer dependency', () => {
28
+ beforeEach(() => jest.mocked(isOptionalAnvilPeerDependency).mockReturnValue(false));
24
29
 
25
- describe('when resource is present', () => {
26
- beforeEach(() => (resource = 'fs'));
30
+ describe('when resource is not an optional react-dom peer dependency', () => {
31
+ beforeEach(() => jest.mocked(isOptionalReactDomPeerDependency).mockReturnValue(false));
27
32
 
28
33
  itReturns(false);
29
34
  });
30
35
 
31
- describe('when resource is not present', () => {
32
- beforeEach(() => (resource = 'foo'));
36
+ describe('when resource is optional react-dom peer dependency', () => {
37
+ beforeEach(() => jest.mocked(isOptionalReactDomPeerDependency).mockReturnValue(true));
38
+
39
+ describe('when resource is present', () => {
40
+ beforeEach(() => (resource = 'fs'));
41
+
42
+ itReturns(false);
43
+ });
44
+
45
+ describe('when resource is not present', () => {
46
+ beforeEach(() => (resource = 'foo'));
33
47
 
34
- itReturns(true);
48
+ itReturns(true);
49
+ });
35
50
  });
36
51
  });
37
52
  });
@@ -0,0 +1,54 @@
1
+ import { isOptionalAnvilPeerDependency } from '../is-optional-anvil-peer-dependency';
2
+
3
+ type PackageContext = Parameters<typeof isOptionalAnvilPeerDependency>[0]['packageContext'];
4
+
5
+ describe(`${isOptionalAnvilPeerDependency.name}`, () => {
6
+ const subject = (...args: Parameters<typeof isOptionalAnvilPeerDependency>) =>
7
+ isOptionalAnvilPeerDependency(...args);
8
+
9
+ describe.each([
10
+ {
11
+ packageContextDependencyName: '@servicetitan/anvil2',
12
+ resource: '@servicetitan/design-system',
13
+ contexts: ['@servicetitan/web-components', 'uikit/packages/web-components/dist'],
14
+ expectedResult: true,
15
+ },
16
+ {
17
+ packageContextDependencyName: '@servicetitan/design-system',
18
+ resource: '@servicetitan/anvil2',
19
+ contexts: ['@servicetitan/web-components', 'uikit/packages/web-components/dist'],
20
+ expectedResult: true,
21
+ },
22
+ {
23
+ packageContextDependencyName: '@servicetitan/anvil2',
24
+ resource: '@servicetitan/anvil2',
25
+ contexts: ['@servicetitan/web-components', 'uikit/packages/web-components/dist'],
26
+ expectedResult: false,
27
+ },
28
+ {
29
+ packageContextDependencyName: '@servicetitan/anvil2',
30
+ resource: '@servicetitan/design-system',
31
+ contexts: ['@servicetitan/anvil2/Button'],
32
+ expectedResult: false,
33
+ },
34
+ ])(
35
+ 'with required dependency "$resource" and package.json dependencies containing "$packageContextDependencyName"',
36
+ ({ packageContextDependencyName, resource, contexts, expectedResult }) => {
37
+ contexts.forEach(context => {
38
+ test(`with context ${context}, returns ${expectedResult}`, () => {
39
+ expect(
40
+ subject({
41
+ packageContext: {
42
+ packageData: {
43
+ dependencies: { [packageContextDependencyName]: 'x.x.x' },
44
+ },
45
+ } as unknown as PackageContext,
46
+ resource,
47
+ context,
48
+ })
49
+ ).toBe(expectedResult);
50
+ });
51
+ });
52
+ }
53
+ );
54
+ });
@@ -1,13 +1,18 @@
1
- import { isOptionalPeerDependency } from '../is-optional-peer-dependency';
1
+ import { isOptionalReactDomPeerDependency } from '../is-optional-react-dom-peer-dependency';
2
2
 
3
- describe(`${isOptionalPeerDependency.name}`, () => {
4
- const subject = (...args: Parameters<typeof isOptionalPeerDependency>) =>
5
- isOptionalPeerDependency(...args);
3
+ describe(`${isOptionalReactDomPeerDependency.name}`, () => {
4
+ const subject = (...args: Parameters<typeof isOptionalReactDomPeerDependency>) =>
5
+ isOptionalReactDomPeerDependency(...args);
6
6
 
7
7
  describe.each([
8
8
  {
9
9
  resource: 'react-dom/client',
10
- contexts: ['@servicetitan/web-components', '@servicetitan/ko-bridge'],
10
+ contexts: [
11
+ '@servicetitan/web-components',
12
+ 'uikit/packages/web-components/dist',
13
+ '@servicetitan/ko-bridge',
14
+ 'uikit/packages/ko-bridge/dist',
15
+ ],
11
16
  },
12
17
  ])('with dependency "$resource"', ({ resource, contexts }) => {
13
18
  contexts.forEach(context => {
@@ -1,12 +1,28 @@
1
- import { isOptionalPeerDependency } from './is-optional-peer-dependency';
1
+ import { Context } from '../../types';
2
+ import { isOptionalAnvilPeerDependency } from './is-optional-anvil-peer-dependency';
3
+ import { isOptionalReactDomPeerDependency } from './is-optional-react-dom-peer-dependency';
2
4
 
3
- export function checkResource(resource: string, context: string) {
4
- if (isOptionalPeerDependency({ resource, context })) {
5
- try {
6
- require.resolve(resource);
7
- } catch (e) {
5
+ export function checkResource(packageContext: Context) {
6
+ return function (resource: string, context: string) {
7
+ /**
8
+ * isOptionalAnvilPeerDependency checks packageContext instead of node_modules to
9
+ * allow MFEs within the same monorepo to rely on different versions of Anvil
10
+ */
11
+ if (isOptionalAnvilPeerDependency({ context, packageContext, resource })) {
8
12
  return true;
9
13
  }
10
- }
11
- return false;
14
+
15
+ /**
16
+ * isOptionalReactDomPeerDependency cannot use packageContext because react-dom/client
17
+ * is not explicitly listed in the package.json dependencies
18
+ */
19
+ if (isOptionalReactDomPeerDependency({ resource, context })) {
20
+ try {
21
+ require.resolve(resource);
22
+ } catch (e) {
23
+ return true;
24
+ }
25
+ }
26
+ return false;
27
+ };
12
28
  }
@@ -3,11 +3,12 @@ import { IgnorePlugin } from 'webpack';
3
3
  import { Context, Overrides } from '../../types';
4
4
  import { checkResource } from './check-resource';
5
5
 
6
- export function ignorePlugin(_context: Context, _: Overrides) {
6
+ export function ignorePlugin(context: Context, _: Overrides) {
7
7
  /**
8
8
  * Ignore optional peer dependencies
9
+ * @see {@link: file://./../../../../../../web-components/src/register.tsx}
9
10
  * @see {@link: file://./../../../../../../web-components/src/render.ts}
10
11
  * @see {@link: file://./../../../../../../ko-bridge/src/ko-binding-handlers.tsx}
11
12
  */
12
- return new IgnorePlugin({ checkResource });
13
+ return new IgnorePlugin({ checkResource: checkResource(context) });
13
14
  }
@@ -0,0 +1,22 @@
1
+ import { Context } from '../../types';
2
+
3
+ interface Dependency {
4
+ context: string;
5
+ resource: string;
6
+ packageContext: Context;
7
+ }
8
+
9
+ const optionalAnvilPeerDependencies = ['@servicetitan/design-system', '@servicetitan/anvil2'];
10
+
11
+ /**
12
+ * Ignore any Anvil dependency used in register.tsx that is not in the package.json dependencies,
13
+ * so that register.tsx's web-components/anvil2 requires will fail
14
+ * @see {@link file://./../../../../../../web-components/src/register.tsx}
15
+ */
16
+ export function isOptionalAnvilPeerDependency({ context, packageContext, resource }: Dependency) {
17
+ return (
18
+ optionalAnvilPeerDependencies.includes(resource) &&
19
+ /(@servicetitan|packages)\/(web-components)/.test(context) &&
20
+ !Object.keys(packageContext.packageData.dependencies).includes(resource)
21
+ );
22
+ }
@@ -0,0 +1,11 @@
1
+ interface Dependency {
2
+ context: string;
3
+ resource: string;
4
+ }
5
+
6
+ export function isOptionalReactDomPeerDependency({ context, resource }: Dependency) {
7
+ return (
8
+ resource === 'react-dom/client' &&
9
+ /(@servicetitan|packages)\/(ko-bridge|web-components)/.test(context)
10
+ );
11
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json.schemastore.org/tsconfig.json",
3
3
  "compilerOptions": {
4
4
  "incremental": true,
5
- "target": "es6",
5
+ "target": "es2018",
6
6
  "module": "esnext",
7
7
  "moduleResolution": "node",
8
8
  "lib": ["dom", "dom.iterable", "esnext"],
@@ -1,7 +0,0 @@
1
- interface Dependency {
2
- context: string;
3
- resource: string;
4
- }
5
- export declare function isOptionalPeerDependency({ context, resource }: Dependency): boolean;
6
- export {};
7
- //# sourceMappingURL=is-optional-peer-dependency.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-optional-peer-dependency.d.ts","sourceRoot":"","sources":["../../../../../src/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.ts"],"names":[],"mappings":"AAAA,UAAU,UAAU;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,UAAU,WAIzE"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isOptionalPeerDependency = void 0;
4
- function isOptionalPeerDependency({ context, resource }) {
5
- return (resource === 'react-dom/client' && /@servicetitan\/(ko-bridge|web-components)/.test(context));
6
- }
7
- exports.isOptionalPeerDependency = isOptionalPeerDependency;
8
- //# sourceMappingURL=is-optional-peer-dependency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-optional-peer-dependency.js","sourceRoot":"","sources":["../../../../../src/webpack/configs/plugins/ignore-plugin/is-optional-peer-dependency.ts"],"names":[],"mappings":";;;AAKA,SAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAc;IACtE,OAAO,CACH,QAAQ,KAAK,kBAAkB,IAAI,2CAA2C,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/F,CAAC;AACN,CAAC;AAJD,4DAIC"}
@@ -1,10 +0,0 @@
1
- interface Dependency {
2
- context: string;
3
- resource: string;
4
- }
5
-
6
- export function isOptionalPeerDependency({ context, resource }: Dependency) {
7
- return (
8
- resource === 'react-dom/client' && /@servicetitan\/(ko-bridge|web-components)/.test(context)
9
- );
10
- }