@servicetitan/startup 32.2.0 → 32.3.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 (239) hide show
  1. package/dist/cli/commands/build.d.ts +36 -7
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +35 -10
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-package.d.ts +9 -10
  6. package/dist/cli/commands/bundle-package.d.ts.map +1 -1
  7. package/dist/cli/commands/bundle-package.js +6 -22
  8. package/dist/cli/commands/bundle-package.js.map +1 -1
  9. package/dist/cli/commands/clean.d.ts +2 -2
  10. package/dist/cli/commands/clean.d.ts.map +1 -1
  11. package/dist/cli/commands/clean.js +16 -4
  12. package/dist/cli/commands/clean.js.map +1 -1
  13. package/dist/cli/commands/convert-eslint-config.d.ts +2 -2
  14. package/dist/cli/commands/convert-eslint-config.d.ts.map +1 -1
  15. package/dist/cli/commands/convert-eslint-config.js +3 -4
  16. package/dist/cli/commands/convert-eslint-config.js.map +1 -1
  17. package/dist/cli/commands/eslint.d.ts +3 -5
  18. package/dist/cli/commands/eslint.d.ts.map +1 -1
  19. package/dist/cli/commands/eslint.js +2 -18
  20. package/dist/cli/commands/eslint.js.map +1 -1
  21. package/dist/cli/commands/get-command.d.ts.map +1 -1
  22. package/dist/cli/commands/get-command.js +2 -0
  23. package/dist/cli/commands/get-command.js.map +1 -1
  24. package/dist/cli/commands/index.d.ts +0 -1
  25. package/dist/cli/commands/index.d.ts.map +1 -1
  26. package/dist/cli/commands/index.js +0 -1
  27. package/dist/cli/commands/index.js.map +1 -1
  28. package/dist/cli/commands/init.d.ts +10 -6
  29. package/dist/cli/commands/init.d.ts.map +1 -1
  30. package/dist/cli/commands/init.js +9 -8
  31. package/dist/cli/commands/init.js.map +1 -1
  32. package/dist/cli/commands/install.d.ts +21 -7
  33. package/dist/cli/commands/install.d.ts.map +1 -1
  34. package/dist/cli/commands/install.js +33 -11
  35. package/dist/cli/commands/install.js.map +1 -1
  36. package/dist/cli/commands/kendo-ui-license.d.ts +3 -3
  37. package/dist/cli/commands/kendo-ui-license.d.ts.map +1 -1
  38. package/dist/cli/commands/kendo-ui-license.js +17 -5
  39. package/dist/cli/commands/kendo-ui-license.js.map +1 -1
  40. package/dist/cli/commands/lint.d.ts +31 -12
  41. package/dist/cli/commands/lint.d.ts.map +1 -1
  42. package/dist/cli/commands/lint.js +34 -13
  43. package/dist/cli/commands/lint.js.map +1 -1
  44. package/dist/cli/commands/mfe-list.d.ts +46 -0
  45. package/dist/cli/commands/mfe-list.d.ts.map +1 -0
  46. package/dist/cli/commands/mfe-list.js +200 -0
  47. package/dist/cli/commands/mfe-list.js.map +1 -0
  48. package/dist/cli/commands/mfe-package-clean.d.ts +29 -5
  49. package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -1
  50. package/dist/cli/commands/mfe-package-clean.js +28 -5
  51. package/dist/cli/commands/mfe-package-clean.js.map +1 -1
  52. package/dist/cli/commands/mfe-package-publish.d.ts +37 -5
  53. package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
  54. package/dist/cli/commands/mfe-package-publish.js +36 -5
  55. package/dist/cli/commands/mfe-package-publish.js.map +1 -1
  56. package/dist/cli/commands/mfe-publish.d.ts +17 -4
  57. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  58. package/dist/cli/commands/mfe-publish.js +37 -7
  59. package/dist/cli/commands/mfe-publish.js.map +1 -1
  60. package/dist/cli/commands/prepare-package.d.ts +3 -5
  61. package/dist/cli/commands/prepare-package.d.ts.map +1 -1
  62. package/dist/cli/commands/prepare-package.js +2 -18
  63. package/dist/cli/commands/prepare-package.js.map +1 -1
  64. package/dist/cli/commands/review/review.d.ts +14 -6
  65. package/dist/cli/commands/review/review.d.ts.map +1 -1
  66. package/dist/cli/commands/review/review.js +27 -23
  67. package/dist/cli/commands/review/review.js.map +1 -1
  68. package/dist/cli/commands/run-task.d.ts +10 -6
  69. package/dist/cli/commands/run-task.d.ts.map +1 -1
  70. package/dist/cli/commands/run-task.js +16 -13
  71. package/dist/cli/commands/run-task.js.map +1 -1
  72. package/dist/cli/commands/start.d.ts +28 -7
  73. package/dist/cli/commands/start.d.ts.map +1 -1
  74. package/dist/cli/commands/start.js +27 -10
  75. package/dist/cli/commands/start.js.map +1 -1
  76. package/dist/cli/commands/styles-check.d.ts +2 -2
  77. package/dist/cli/commands/styles-check.d.ts.map +1 -1
  78. package/dist/cli/commands/styles-check.js +2 -1
  79. package/dist/cli/commands/styles-check.js.map +1 -1
  80. package/dist/cli/commands/test/tests.d.ts +14 -5
  81. package/dist/cli/commands/test/tests.d.ts.map +1 -1
  82. package/dist/cli/commands/test/tests.js +26 -13
  83. package/dist/cli/commands/test/tests.js.map +1 -1
  84. package/dist/cli/commands/types.d.ts +13 -4
  85. package/dist/cli/commands/types.d.ts.map +1 -1
  86. package/dist/cli/commands/types.js +28 -0
  87. package/dist/cli/commands/types.js.map +1 -1
  88. package/dist/cli/commands/upload-sourcemaps.d.ts +3 -5
  89. package/dist/cli/commands/upload-sourcemaps.d.ts.map +1 -1
  90. package/dist/cli/commands/upload-sourcemaps.js +5 -20
  91. package/dist/cli/commands/upload-sourcemaps.js.map +1 -1
  92. package/dist/cli/index.js +48 -39
  93. package/dist/cli/index.js.map +1 -1
  94. package/dist/cli/tasks/swc-compile-package.d.ts +2 -2
  95. package/dist/cli/tasks/swc-compile-package.d.ts.map +1 -1
  96. package/dist/cli/tasks/swc-compile-package.js.map +1 -1
  97. package/dist/cli/tasks/tsc-compile-package.d.ts +2 -2
  98. package/dist/cli/tasks/tsc-compile-package.d.ts.map +1 -1
  99. package/dist/cli/tasks/tsc-compile-package.js +1 -1
  100. package/dist/cli/tasks/tsc-compile-package.js.map +1 -1
  101. package/dist/cli/tasks/tsc-compile.d.ts +2 -2
  102. package/dist/cli/tasks/tsc-compile.d.ts.map +1 -1
  103. package/dist/cli/tasks/tsc-compile.js.map +1 -1
  104. package/dist/cli/utils/bundle.js +1 -1
  105. package/dist/cli/utils/bundle.js.map +1 -1
  106. package/dist/cli/utils/cli-npm.d.ts +14 -0
  107. package/dist/cli/utils/cli-npm.d.ts.map +1 -1
  108. package/dist/cli/utils/cli-npm.js +44 -0
  109. package/dist/cli/utils/cli-npm.js.map +1 -1
  110. package/dist/cli/utils/cli-os.d.ts +2 -2
  111. package/dist/cli/utils/cli-os.d.ts.map +1 -1
  112. package/dist/cli/utils/cli-os.js +13 -9
  113. package/dist/cli/utils/cli-os.js.map +1 -1
  114. package/dist/cli/utils/eslint.d.ts +2 -1
  115. package/dist/cli/utils/eslint.d.ts.map +1 -1
  116. package/dist/cli/utils/eslint.js.map +1 -1
  117. package/dist/cli/utils/index.d.ts +1 -0
  118. package/dist/cli/utils/index.d.ts.map +1 -1
  119. package/dist/cli/utils/index.js +1 -0
  120. package/dist/cli/utils/index.js.map +1 -1
  121. package/dist/cli/utils/is-tty.d.ts +2 -0
  122. package/dist/cli/utils/is-tty.d.ts.map +1 -0
  123. package/dist/cli/utils/is-tty.js +15 -0
  124. package/dist/cli/utils/is-tty.js.map +1 -0
  125. package/dist/cli/utils/maybe-create-git-folder.d.ts +1 -1
  126. package/dist/cli/utils/maybe-create-git-folder.d.ts.map +1 -1
  127. package/dist/cli/utils/maybe-create-git-folder.js +5 -5
  128. package/dist/cli/utils/maybe-create-git-folder.js.map +1 -1
  129. package/dist/cli/utils/process-tree.d.ts.map +1 -1
  130. package/dist/cli/utils/process-tree.js +2 -2
  131. package/dist/cli/utils/process-tree.js.map +1 -1
  132. package/dist/cli/utils/set-node-options.d.ts.map +1 -1
  133. package/dist/cli/utils/set-node-options.js +2 -1
  134. package/dist/cli/utils/set-node-options.js.map +1 -1
  135. package/dist/utils/find-packages.d.ts +1 -0
  136. package/dist/utils/find-packages.d.ts.map +1 -1
  137. package/dist/utils/find-packages.js.map +1 -1
  138. package/dist/utils/format-relative-date.d.ts +2 -0
  139. package/dist/utils/format-relative-date.d.ts.map +1 -0
  140. package/dist/utils/format-relative-date.js +60 -0
  141. package/dist/utils/format-relative-date.js.map +1 -0
  142. package/dist/utils/get-configuration.d.ts +1 -0
  143. package/dist/utils/get-configuration.d.ts.map +1 -1
  144. package/dist/utils/get-configuration.js +1 -0
  145. package/dist/utils/get-configuration.js.map +1 -1
  146. package/dist/utils/get-packages.d.ts +3 -5
  147. package/dist/utils/get-packages.d.ts.map +1 -1
  148. package/dist/utils/get-packages.js +1 -4
  149. package/dist/utils/get-packages.js.map +1 -1
  150. package/dist/utils/get-startup-version.d.ts.map +1 -1
  151. package/dist/utils/get-startup-version.js +1 -1
  152. package/dist/utils/get-startup-version.js.map +1 -1
  153. package/dist/utils/index.d.ts +1 -0
  154. package/dist/utils/index.d.ts.map +1 -1
  155. package/dist/utils/index.js +1 -0
  156. package/dist/utils/index.js.map +1 -1
  157. package/dist/webpack/configs/loaders/style-loader.d.ts +1 -1
  158. package/dist/webpack/configs/loaders/style-loader.d.ts.map +1 -1
  159. package/dist/webpack/configs/loaders/style-loader.js +2 -2
  160. package/dist/webpack/configs/loaders/style-loader.js.map +1 -1
  161. package/dist/webpack/configs/optimization-config.js +5 -5
  162. package/dist/webpack/configs/optimization-config.js.map +1 -1
  163. package/dist/webpack/configs/output-config.d.ts.map +1 -1
  164. package/dist/webpack/configs/output-config.js +14 -7
  165. package/dist/webpack/configs/output-config.js.map +1 -1
  166. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
  167. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +10 -3
  168. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
  169. package/package.json +9 -8
  170. package/src/cli/commands/__tests__/build.test.ts +1 -1
  171. package/src/cli/commands/__tests__/bundle-package.test.ts +22 -2
  172. package/src/cli/commands/__tests__/install.test.ts +42 -4
  173. package/src/cli/commands/__tests__/lint.test.ts +1 -1
  174. package/src/cli/commands/__tests__/mfe-list.test.ts +394 -0
  175. package/src/cli/commands/__tests__/mfe-publish.test.ts +25 -0
  176. package/src/cli/commands/__tests__/start.test.ts +1 -1
  177. package/src/cli/commands/build.ts +14 -10
  178. package/src/cli/commands/bundle-package.ts +19 -13
  179. package/src/cli/commands/clean.ts +2 -4
  180. package/src/cli/commands/convert-eslint-config.ts +3 -5
  181. package/src/cli/commands/eslint.ts +3 -5
  182. package/src/cli/commands/get-command.ts +2 -0
  183. package/src/cli/commands/index.ts +0 -1
  184. package/src/cli/commands/init.ts +7 -8
  185. package/src/cli/commands/install.ts +24 -11
  186. package/src/cli/commands/kendo-ui-license.ts +4 -6
  187. package/src/cli/commands/lint.ts +19 -19
  188. package/src/cli/commands/mfe-list.ts +173 -0
  189. package/src/cli/commands/mfe-package-clean.ts +25 -4
  190. package/src/cli/commands/mfe-package-publish.ts +33 -4
  191. package/src/cli/commands/mfe-publish.ts +37 -6
  192. package/src/cli/commands/prepare-package.ts +3 -5
  193. package/src/cli/commands/review/review.ts +9 -9
  194. package/src/cli/commands/run-task.ts +15 -11
  195. package/src/cli/commands/start.ts +12 -10
  196. package/src/cli/commands/styles-check.ts +2 -2
  197. package/src/cli/commands/test/__tests__/tests.test.ts +1 -1
  198. package/src/cli/commands/test/tests.ts +20 -10
  199. package/src/cli/commands/types.ts +14 -4
  200. package/src/cli/commands/upload-sourcemaps.ts +3 -5
  201. package/src/cli/index.ts +59 -36
  202. package/src/cli/tasks/swc-compile-package.ts +2 -2
  203. package/src/cli/tasks/tsc-compile-package.ts +4 -3
  204. package/src/cli/tasks/tsc-compile.ts +2 -2
  205. package/src/cli/utils/__tests__/bundle.test.ts +13 -0
  206. package/src/cli/utils/__tests__/cli-npm.test.ts +89 -0
  207. package/src/cli/utils/__tests__/is-tty.test.ts +17 -0
  208. package/src/cli/utils/__tests__/maybe-create-git-folder.test.ts +10 -17
  209. package/src/cli/utils/__tests__/set-node-options.test.ts +10 -10
  210. package/src/cli/utils/bundle.ts +1 -1
  211. package/src/cli/utils/cli-npm.ts +34 -0
  212. package/src/cli/utils/cli-os.ts +12 -25
  213. package/src/cli/utils/eslint.ts +2 -1
  214. package/src/cli/utils/index.ts +1 -0
  215. package/src/cli/utils/is-tty.ts +3 -0
  216. package/src/cli/utils/maybe-create-git-folder.ts +4 -7
  217. package/src/cli/utils/process-tree.ts +4 -2
  218. package/src/cli/utils/set-node-options.ts +2 -1
  219. package/src/utils/__tests__/format-relative-date.test.ts +61 -0
  220. package/src/utils/__tests__/get-packages.test.ts +3 -0
  221. package/src/utils/find-packages.ts +1 -0
  222. package/src/utils/format-relative-date.ts +33 -0
  223. package/src/utils/get-configuration.ts +1 -0
  224. package/src/utils/get-packages.ts +3 -9
  225. package/src/utils/get-startup-version.ts +1 -3
  226. package/src/utils/index.ts +1 -0
  227. package/src/webpack/__mocks__/style-rules.ts +3 -3
  228. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +6 -14
  229. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +52 -29
  230. package/src/webpack/configs/loaders/style-loader.ts +5 -2
  231. package/src/webpack/configs/optimization-config.ts +5 -5
  232. package/src/webpack/configs/output-config.ts +10 -5
  233. package/src/webpack/configs/plugins/assets-manifest-plugin.ts +11 -4
  234. package/dist/cli/commands/get-user-commands.d.ts +0 -7
  235. package/dist/cli/commands/get-user-commands.d.ts.map +0 -1
  236. package/dist/cli/commands/get-user-commands.js +0 -27
  237. package/dist/cli/commands/get-user-commands.js.map +0 -1
  238. package/src/cli/commands/__tests__/get-user-commands.test.ts +0 -27
  239. package/src/cli/commands/get-user-commands.ts +0 -19
@@ -1,6 +1,7 @@
1
1
  export interface ProjectPackage extends Record<string, any> {
2
2
  name: string;
3
3
  location: string;
4
+ version: string;
4
5
  }
5
6
  export declare function findPackages(): ProjectPackage[];
6
7
  //# sourceMappingURL=find-packages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"find-packages.d.ts","sourceRoot":"","sources":["../../src/utils/find-packages.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,IAAI,cAAc,EAAE,CAwB/C"}
1
+ {"version":3,"file":"find-packages.d.ts","sourceRoot":"","sources":["../../src/utils/find-packages.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,IAAI,cAAc,EAAE,CAwB/C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/find-packages.ts"],"sourcesContent":["import { globSync } from 'glob';\nimport multimatch from 'multimatch';\nimport path from 'path';\nimport { findUp } from './find-up';\nimport { readJsonSafe } from './read-json';\nimport { log } from './log';\n\nexport interface ProjectPackage extends Record<string, any> {\n name: string;\n location: string;\n}\n\nexport function findPackages(): ProjectPackage[] {\n const workspaces = findWorkspaces();\n if (!workspaces) {\n return [];\n }\n\n const result = multimatch(\n workspaces.flatMap(pattern => globSync(pattern)),\n workspaces\n )\n .map(location => {\n const dir = path.resolve(location);\n const file = path.join(dir, 'package.json');\n return { ...readJsonSafe<ProjectPackage>(file), location: dir };\n })\n .filter(({ name }) => name !== undefined) as ProjectPackage[];\n\n /* istanbul ignore next: debug only */\n log.debug(\n 'find-packages',\n () => `found packages: ${JSON.stringify(result.map(({ name }) => name))}`\n );\n\n return result;\n}\n\nfunction findWorkspaces() {\n return findUp(directory => {\n const packageJson = path.resolve(path.join(directory, 'package.json'));\n\n log.debug('find-packages', `reading: ${packageJson}`);\n let workspaces = readJsonSafe<{ workspaces: string[] }>(packageJson)?.workspaces;\n\n if (!workspaces) {\n const lernaJson = path.resolve(path.join(directory, 'lerna.json'));\n log.debug('find-packages', `reading: ${lernaJson}`);\n workspaces = readJsonSafe<{ packages: string[] }>(lernaJson)?.packages;\n }\n\n if (workspaces) {\n workspaces = workspaces.map(workspace => {\n const result = workspace.startsWith('!')\n ? `!${path.join(directory, workspace.slice(1))}`\n : path.join(directory, workspace);\n // Note, glob requires \"/\" as path separator, even on Windows\n return result.replace(/\\\\/g, '/');\n });\n /* istanbul ignore next: debug only */\n log.debug('find-packages', () => `found workspaces: ${JSON.stringify(workspaces)}`);\n return workspaces;\n }\n });\n}\n"],"names":["findPackages","workspaces","findWorkspaces","result","multimatch","flatMap","pattern","globSync","map","location","dir","path","resolve","file","join","readJsonSafe","filter","name","undefined","log","debug","JSON","stringify","findUp","directory","packageJson","lernaJson","packages","workspace","startsWith","slice","replace"],"mappings":";;;;+BAYgBA;;;eAAAA;;;sBAZS;mEACF;6DACN;wBACM;0BACM;qBACT;;;;;;AAOb,SAASA;IACZ,MAAMC,aAAaC;IACnB,IAAI,CAACD,YAAY;QACb,OAAO,EAAE;IACb;IAEA,MAAME,SAASC,IAAAA,mBAAU,EACrBH,WAAWI,OAAO,CAACC,CAAAA,UAAWC,IAAAA,cAAQ,EAACD,WACvCL,YAECO,GAAG,CAACC,CAAAA;QACD,MAAMC,MAAMC,aAAI,CAACC,OAAO,CAACH;QACzB,MAAMI,OAAOF,aAAI,CAACG,IAAI,CAACJ,KAAK;QAC5B,OAAO;YAAE,GAAGK,IAAAA,sBAAY,EAAiBF,KAAK;YAAEJ,UAAUC;QAAI;IAClE,GACCM,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASC;IAEnC,oCAAoC,GACpCC,QAAG,CAACC,KAAK,CACL,iBACA,IAAM,CAAC,gBAAgB,EAAEC,KAAKC,SAAS,CAACnB,OAAOK,GAAG,CAAC,CAAC,EAAES,IAAI,EAAE,GAAKA,QAAQ;IAG7E,OAAOd;AACX;AAEA,SAASD;IACL,OAAOqB,IAAAA,cAAM,EAACC,CAAAA;YAIOT;QAHjB,MAAMU,cAAcd,aAAI,CAACC,OAAO,CAACD,aAAI,CAACG,IAAI,CAACU,WAAW;QAEtDL,QAAG,CAACC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAEK,aAAa;QACpD,IAAIxB,cAAac,gBAAAA,IAAAA,sBAAY,EAA2BU,0BAAvCV,oCAAAA,cAAqDd,UAAU;QAEhF,IAAI,CAACA,YAAY;gBAGAc;YAFb,MAAMW,YAAYf,aAAI,CAACC,OAAO,CAACD,aAAI,CAACG,IAAI,CAACU,WAAW;YACpDL,QAAG,CAACC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAEM,WAAW;YAClDzB,cAAac,iBAAAA,IAAAA,sBAAY,EAAyBW,wBAArCX,qCAAAA,eAAiDY,QAAQ;QAC1E;QAEA,IAAI1B,YAAY;YACZA,aAAaA,WAAWO,GAAG,CAACoB,CAAAA;gBACxB,MAAMzB,SAASyB,UAAUC,UAAU,CAAC,OAC9B,CAAC,CAAC,EAAElB,aAAI,CAACG,IAAI,CAACU,WAAWI,UAAUE,KAAK,CAAC,KAAK,GAC9CnB,aAAI,CAACG,IAAI,CAACU,WAAWI;gBAC3B,6DAA6D;gBAC7D,OAAOzB,OAAO4B,OAAO,CAAC,OAAO;YACjC;YACA,oCAAoC,GACpCZ,QAAG,CAACC,KAAK,CAAC,iBAAiB,IAAM,CAAC,kBAAkB,EAAEC,KAAKC,SAAS,CAACrB,aAAa;YAClF,OAAOA;QACX;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../src/utils/find-packages.ts"],"sourcesContent":["import { globSync } from 'glob';\nimport multimatch from 'multimatch';\nimport path from 'path';\nimport { findUp } from './find-up';\nimport { readJsonSafe } from './read-json';\nimport { log } from './log';\n\nexport interface ProjectPackage extends Record<string, any> {\n name: string;\n location: string;\n version: string;\n}\n\nexport function findPackages(): ProjectPackage[] {\n const workspaces = findWorkspaces();\n if (!workspaces) {\n return [];\n }\n\n const result = multimatch(\n workspaces.flatMap(pattern => globSync(pattern)),\n workspaces\n )\n .map(location => {\n const dir = path.resolve(location);\n const file = path.join(dir, 'package.json');\n return { ...readJsonSafe<ProjectPackage>(file), location: dir };\n })\n .filter(({ name }) => name !== undefined) as ProjectPackage[];\n\n /* istanbul ignore next: debug only */\n log.debug(\n 'find-packages',\n () => `found packages: ${JSON.stringify(result.map(({ name }) => name))}`\n );\n\n return result;\n}\n\nfunction findWorkspaces() {\n return findUp(directory => {\n const packageJson = path.resolve(path.join(directory, 'package.json'));\n\n log.debug('find-packages', `reading: ${packageJson}`);\n let workspaces = readJsonSafe<{ workspaces: string[] }>(packageJson)?.workspaces;\n\n if (!workspaces) {\n const lernaJson = path.resolve(path.join(directory, 'lerna.json'));\n log.debug('find-packages', `reading: ${lernaJson}`);\n workspaces = readJsonSafe<{ packages: string[] }>(lernaJson)?.packages;\n }\n\n if (workspaces) {\n workspaces = workspaces.map(workspace => {\n const result = workspace.startsWith('!')\n ? `!${path.join(directory, workspace.slice(1))}`\n : path.join(directory, workspace);\n // Note, glob requires \"/\" as path separator, even on Windows\n return result.replace(/\\\\/g, '/');\n });\n /* istanbul ignore next: debug only */\n log.debug('find-packages', () => `found workspaces: ${JSON.stringify(workspaces)}`);\n return workspaces;\n }\n });\n}\n"],"names":["findPackages","workspaces","findWorkspaces","result","multimatch","flatMap","pattern","globSync","map","location","dir","path","resolve","file","join","readJsonSafe","filter","name","undefined","log","debug","JSON","stringify","findUp","directory","packageJson","lernaJson","packages","workspace","startsWith","slice","replace"],"mappings":";;;;+BAagBA;;;eAAAA;;;sBAbS;mEACF;6DACN;wBACM;0BACM;qBACT;;;;;;AAQb,SAASA;IACZ,MAAMC,aAAaC;IACnB,IAAI,CAACD,YAAY;QACb,OAAO,EAAE;IACb;IAEA,MAAME,SAASC,IAAAA,mBAAU,EACrBH,WAAWI,OAAO,CAACC,CAAAA,UAAWC,IAAAA,cAAQ,EAACD,WACvCL,YAECO,GAAG,CAACC,CAAAA;QACD,MAAMC,MAAMC,aAAI,CAACC,OAAO,CAACH;QACzB,MAAMI,OAAOF,aAAI,CAACG,IAAI,CAACJ,KAAK;QAC5B,OAAO;YAAE,GAAGK,IAAAA,sBAAY,EAAiBF,KAAK;YAAEJ,UAAUC;QAAI;IAClE,GACCM,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAASC;IAEnC,oCAAoC,GACpCC,QAAG,CAACC,KAAK,CACL,iBACA,IAAM,CAAC,gBAAgB,EAAEC,KAAKC,SAAS,CAACnB,OAAOK,GAAG,CAAC,CAAC,EAAES,IAAI,EAAE,GAAKA,QAAQ;IAG7E,OAAOd;AACX;AAEA,SAASD;IACL,OAAOqB,IAAAA,cAAM,EAACC,CAAAA;YAIOT;QAHjB,MAAMU,cAAcd,aAAI,CAACC,OAAO,CAACD,aAAI,CAACG,IAAI,CAACU,WAAW;QAEtDL,QAAG,CAACC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAEK,aAAa;QACpD,IAAIxB,cAAac,gBAAAA,IAAAA,sBAAY,EAA2BU,0BAAvCV,oCAAAA,cAAqDd,UAAU;QAEhF,IAAI,CAACA,YAAY;gBAGAc;YAFb,MAAMW,YAAYf,aAAI,CAACC,OAAO,CAACD,aAAI,CAACG,IAAI,CAACU,WAAW;YACpDL,QAAG,CAACC,KAAK,CAAC,iBAAiB,CAAC,SAAS,EAAEM,WAAW;YAClDzB,cAAac,iBAAAA,IAAAA,sBAAY,EAAyBW,wBAArCX,qCAAAA,eAAiDY,QAAQ;QAC1E;QAEA,IAAI1B,YAAY;YACZA,aAAaA,WAAWO,GAAG,CAACoB,CAAAA;gBACxB,MAAMzB,SAASyB,UAAUC,UAAU,CAAC,OAC9B,CAAC,CAAC,EAAElB,aAAI,CAACG,IAAI,CAACU,WAAWI,UAAUE,KAAK,CAAC,KAAK,GAC9CnB,aAAI,CAACG,IAAI,CAACU,WAAWI;gBAC3B,6DAA6D;gBAC7D,OAAOzB,OAAO4B,OAAO,CAAC,OAAO;YACjC;YACA,oCAAoC,GACpCZ,QAAG,CAACC,KAAK,CAAC,iBAAiB,IAAM,CAAC,kBAAkB,EAAEC,KAAKC,SAAS,CAACrB,aAAa;YAClF,OAAOA;QACX;IACJ;AACJ"}
@@ -0,0 +1,2 @@
1
+ export declare function formatRelativeDate(from: Date | string | number, to?: Date | string | number, locale?: string): string;
2
+ //# sourceMappingURL=format-relative-date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"format-relative-date.d.ts","sourceRoot":"","sources":["../../src/utils/format-relative-date.ts"],"names":[],"mappings":"AAeA,wBAAgB,kBAAkB,CAC9B,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC5B,EAAE,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,EAC3B,MAAM,CAAC,EAAE,MAAM,UAclB"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "formatRelativeDate", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return formatRelativeDate;
9
+ }
10
+ });
11
+ const SECOND = 1000;
12
+ const MINUTE = 60 * SECOND;
13
+ const HOUR = MINUTE * 60;
14
+ const DAY = HOUR * 24;
15
+ const MONTH = DAY * 30;
16
+ const YEAR = DAY * 365;
17
+ const table = [
18
+ {
19
+ threshold: MINUTE,
20
+ divisor: SECOND,
21
+ unit: 'seconds'
22
+ },
23
+ {
24
+ threshold: HOUR,
25
+ divisor: MINUTE,
26
+ unit: 'minutes'
27
+ },
28
+ {
29
+ threshold: DAY,
30
+ divisor: HOUR,
31
+ unit: 'hours'
32
+ },
33
+ {
34
+ threshold: MONTH,
35
+ divisor: DAY,
36
+ unit: 'days'
37
+ },
38
+ {
39
+ threshold: YEAR,
40
+ divisor: MONTH,
41
+ unit: 'months'
42
+ }
43
+ ];
44
+ function formatRelativeDate(from, to, locale) {
45
+ const dateFrom = new Date(from);
46
+ const dateTo = to ? new Date(to) : new Date();
47
+ const delta = dateFrom.getTime() - dateTo.getTime();
48
+ const absoluteDelta = Math.abs(delta);
49
+ var _table_find;
50
+ const { divisor, unit } = (_table_find = table.find(({ threshold })=>absoluteDelta < threshold)) !== null && _table_find !== void 0 ? _table_find : {
51
+ divisor: YEAR,
52
+ unit: 'years'
53
+ };
54
+ return new Intl.RelativeTimeFormat(locale, {
55
+ style: 'long',
56
+ numeric: 'always'
57
+ }).format(Math.round(delta / divisor), unit);
58
+ }
59
+
60
+ //# sourceMappingURL=format-relative-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/format-relative-date.ts"],"sourcesContent":["const SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = MINUTE * 60;\nconst DAY = HOUR * 24;\nconst MONTH = DAY * 30;\nconst YEAR = DAY * 365;\n\nconst table: { threshold: number; divisor: number; unit: Intl.RelativeTimeFormatUnit }[] = [\n { threshold: MINUTE, divisor: SECOND, unit: 'seconds' },\n { threshold: HOUR, divisor: MINUTE, unit: 'minutes' },\n { threshold: DAY, divisor: HOUR, unit: 'hours' },\n { threshold: MONTH, divisor: DAY, unit: 'days' },\n { threshold: YEAR, divisor: MONTH, unit: 'months' },\n];\n\nexport function formatRelativeDate(\n from: Date | string | number,\n to?: Date | string | number,\n locale?: string\n) {\n const dateFrom = new Date(from);\n const dateTo = to ? new Date(to) : new Date();\n const delta = dateFrom.getTime() - dateTo.getTime();\n const absoluteDelta = Math.abs(delta);\n const { divisor, unit } = table.find(({ threshold }) => absoluteDelta < threshold) ?? {\n divisor: YEAR,\n unit: 'years',\n };\n return new Intl.RelativeTimeFormat(locale, {\n style: 'long',\n numeric: 'always',\n }).format(Math.round(delta / divisor), unit);\n}\n"],"names":["formatRelativeDate","SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","table","threshold","divisor","unit","from","to","locale","dateFrom","Date","dateTo","delta","getTime","absoluteDelta","Math","abs","find","Intl","RelativeTimeFormat","style","numeric","format","round"],"mappings":";;;;+BAegBA;;;eAAAA;;;AAfhB,MAAMC,SAAS;AACf,MAAMC,SAAS,KAAKD;AACpB,MAAME,OAAOD,SAAS;AACtB,MAAME,MAAMD,OAAO;AACnB,MAAME,QAAQD,MAAM;AACpB,MAAME,OAAOF,MAAM;AAEnB,MAAMG,QAAqF;IACvF;QAAEC,WAAWN;QAAQO,SAASR;QAAQS,MAAM;IAAU;IACtD;QAAEF,WAAWL;QAAMM,SAASP;QAAQQ,MAAM;IAAU;IACpD;QAAEF,WAAWJ;QAAKK,SAASN;QAAMO,MAAM;IAAQ;IAC/C;QAAEF,WAAWH;QAAOI,SAASL;QAAKM,MAAM;IAAO;IAC/C;QAAEF,WAAWF;QAAMG,SAASJ;QAAOK,MAAM;IAAS;CACrD;AAEM,SAASV,mBACZW,IAA4B,EAC5BC,EAA2B,EAC3BC,MAAe;IAEf,MAAMC,WAAW,IAAIC,KAAKJ;IAC1B,MAAMK,SAASJ,KAAK,IAAIG,KAAKH,MAAM,IAAIG;IACvC,MAAME,QAAQH,SAASI,OAAO,KAAKF,OAAOE,OAAO;IACjD,MAAMC,gBAAgBC,KAAKC,GAAG,CAACJ;QACLV;IAA1B,MAAM,EAAEE,OAAO,EAAEC,IAAI,EAAE,GAAGH,CAAAA,cAAAA,MAAMe,IAAI,CAAC,CAAC,EAAEd,SAAS,EAAE,GAAKW,gBAAgBX,wBAA9CD,yBAAAA,cAA4D;QAClFE,SAASH;QACTI,MAAM;IACV;IACA,OAAO,IAAIa,KAAKC,kBAAkB,CAACX,QAAQ;QACvCY,OAAO;QACPC,SAAS;IACb,GAAGC,MAAM,CAACP,KAAKQ,KAAK,CAACX,QAAQR,UAAUC;AAC3C"}
@@ -49,6 +49,7 @@ export declare enum CommandName {
49
49
  'install' = "install",
50
50
  'kendo-ui-license' = "kendo-ui-license",
51
51
  'lint' = "lint",
52
+ 'mfe-list' = "mfe-list",
52
53
  'mfe-package-clean' = "mfe-package-clean",
53
54
  'mfe-package-publish' = "mfe-package-publish",
54
55
  'mfe-publish' = "mfe-publish",
@@ -1 +1 @@
1
- {"version":3,"file":"get-configuration.d.ts","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-configuration.d.ts","sourceRoot":"","sources":["../../src/utils/get-configuration.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,7 @@ var CommandName = /*#__PURE__*/ function(CommandName) {
102
102
  CommandName["install"] = "install";
103
103
  CommandName["kendo-ui-license"] = "kendo-ui-license";
104
104
  CommandName["lint"] = "lint";
105
+ CommandName["mfe-list"] = "mfe-list";
105
106
  CommandName["mfe-package-clean"] = "mfe-package-clean";
106
107
  CommandName["mfe-package-publish"] = "mfe-package-publish";
107
108
  CommandName["mfe-publish"] = "mfe-publish";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/get-configuration.ts"],"sourcesContent":["import { Config } from '@jest/types';\nimport { swcDir } from '@swc/cli';\nimport { ESLint } from 'eslint';\nimport fs from 'fs';\nimport path from 'path';\nimport { LinterOptions } from 'stylelint';\nimport { ViteUserConfig } from 'vitest/config';\nimport { Configuration as WebpackDevServerConfiguration } from 'webpack-dev-server';\n\nimport { ReviewConfiguration } from '../cli/commands/review';\nimport { log } from './log';\nimport { getFolders } from './get-folders';\nimport { readJson, readJsonSafe } from './read-json';\n\nexport const allowedWebpackDevServerOptions = ['headers', 'port', 'proxy', 'static'] as const;\n\ntype ElementType<T> = T extends readonly (infer ElementType)[] ? ElementType : never;\n\nexport interface MinifyJSOptions {\n compress?: boolean;\n mangle?: boolean;\n}\n\nexport interface MinifyCssOptions {}\n\nexport interface MinifyOptions {\n css?: boolean | MinifyCssOptions;\n js?: boolean | MinifyJSOptions;\n}\n\nexport interface WebpackConfiguration\n extends Omit<\n Pick<WebpackDevServerConfiguration, ElementType<typeof allowedWebpackDevServerOptions>>,\n 'proxy'\n > {\n 'contentBase'?: boolean | string | string[] | number; // deprecated 2024-07\n 'custom-style-rules'?: boolean;\n 'expose-shared-dependencies'?: boolean;\n 'devServer'?: false | WebpackDevServerConfiguration;\n 'disable-style-check'?: boolean;\n 'minify'?: MinifyOptions;\n 'proxy'?: WebpackDevServerConfiguration['proxy'] | string;\n}\n\nexport interface ESLintConfiguration extends ESLint.Options {\n disabled?: boolean;\n}\n\nexport interface StylelintConfiguration extends Partial<LinterOptions> {\n ignorePattern?: string[];\n disabled?: boolean;\n}\n\nexport interface JestConfiguration extends Omit<Config.Argv, '_' | '$0'> {\n omitDefault?: string[];\n}\n\nexport interface NodeConfiguration {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n NODE_OPTIONS?: string[];\n}\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport enum CommandName {\n 'build' = 'build',\n 'bundle-package' = 'bundle-package',\n 'clean' = 'clean',\n 'convert-eslint-config' = 'convert-eslint-config',\n 'eslint' = 'eslint',\n 'init' = 'init',\n 'install' = 'install',\n 'kendo-ui-license' = 'kendo-ui-license',\n 'lint' = 'lint',\n 'mfe-package-clean' = 'mfe-package-clean',\n 'mfe-package-publish' = 'mfe-package-publish',\n 'mfe-publish' = 'mfe-publish',\n 'prepare-package' = 'prepare-package',\n 'review' = 'review',\n 'start' = 'start',\n 'styles-check' = 'styles-check',\n 'test' = 'test',\n 'task' = 'task',\n 'upload-sourcemaps' = 'upload-sourcemaps',\n}\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport type VitestConfiguration = ViteUserConfig['test'] & {\n omitDefault?: string[];\n};\n\nexport interface WebComponentBranchConfigs {\n publishTag?: string;\n uploadSourcemaps?: boolean;\n}\n\ninterface WebComponentOptions {\n legacyRoot?: boolean;\n /**\n * mapping of git branches to configs.\n * Used to separate configs (ex publish tag) depending on current branch\n */\n branches?: Record<string, WebComponentBranchConfigs>;\n}\n\ntype Configuration = {\n 'jest'?: JestConfiguration;\n 'legacy'?: boolean;\n 'lint'?: { eslint: ESLintConfiguration; stylelint: StylelintConfiguration };\n 'review'?: ReviewConfiguration;\n 'swc-compile-package'?: Parameters<typeof swcDir>[0];\n 'test'?: JestConfiguration; // for backward-compatibility\n 'testRunner'?: string;\n 'vitest'?: VitestConfiguration;\n 'web-component'?: boolean | string | WebComponentOptions;\n 'webpack'?: false | WebpackConfiguration;\n} & {\n [key in CommandName]?: NodeConfiguration;\n} & NodeConfiguration;\n\ntype LocationOrJson = string | Record<string, any>;\n\nexport function getConfiguration(locationOrJson: LocationOrJson = './'): Configuration {\n const json =\n typeof locationOrJson === 'string'\n ? readJson(path.join(locationOrJson, 'package.json'))\n : locationOrJson;\n return json?.cli ?? {};\n}\n\nexport function getConfigurationSafe(locationOrJson: LocationOrJson = './'): Configuration {\n const json =\n typeof locationOrJson === 'string'\n ? readJsonSafe(path.join(locationOrJson, 'package.json'))\n : locationOrJson;\n return json?.cli ?? {};\n}\n\nexport function getESLintConfiguration() {\n return getConfiguration().lint?.eslint ?? {};\n}\n\nexport function getJestConfiguration() {\n const configuration = getConfiguration();\n return configuration.jest ?? configuration.test ?? {};\n}\n\nexport function getReviewConfiguration() {\n return getConfiguration().review ?? {};\n}\n\nexport function getStylelintConfiguration() {\n return getConfiguration().lint?.stylelint ?? {};\n}\n\nexport function getVitestConfiguration() {\n return getConfiguration().vitest ?? {};\n}\n\nexport function getWebpackConfiguration(locationOrJson?: LocationOrJson) {\n const { webpack } = getConfiguration(locationOrJson);\n return typeof webpack === 'object' ? webpack : {};\n}\n\nexport function getWebComponentConfiguration(\n locationOrJson: LocationOrJson = './'\n): WebComponentOptions | undefined {\n const config = getConfigurationSafe(locationOrJson)['web-component'];\n\n if (config === true) {\n return {};\n }\n\n if (typeof config === 'object') {\n return config;\n }\n\n if (typeof config === 'string') {\n const configPath = path.resolve(\n typeof locationOrJson === 'string' ? path.join(locationOrJson, config) : config\n );\n if (fs.existsSync(configPath)) {\n return require(path.resolve(configPath));\n }\n log.warning(`could not find web-component configuration: \"${config}\"`);\n\n return undefined;\n }\n}\n\nexport function getWebComponentBranchConfigs(locationOrJson: LocationOrJson = './') {\n const config = getWebComponentConfiguration(locationOrJson);\n\n return config?.branches;\n}\n\nexport function hasHeadlessBundle() {\n let source: string;\n try {\n source = getFolders().source;\n } catch {\n return false;\n }\n const headlessPath = path.join(source, 'headless.ts');\n return fs.existsSync(headlessPath);\n}\n\nexport function getSwcCompilePackageConfiguration() {\n return getConfiguration()['swc-compile-package'] ?? {};\n}\n\nexport function isBundle(locationOrJson?: LocationOrJson) {\n return getConfiguration(locationOrJson).webpack !== false;\n}\n\nexport function isCustomStyleRules() {\n return getWebpackConfiguration()['custom-style-rules'] === true;\n}\n\nexport function isDevServerDisabled() {\n const webpackConfiguration = getWebpackConfiguration();\n return webpackConfiguration.devServer === false;\n}\n\nexport function isExposeSharedDependencies() {\n return getWebpackConfiguration()['expose-shared-dependencies'] === true;\n}\n\nexport function isLegacy(locationOrJson?: LocationOrJson) {\n return getConfiguration(locationOrJson).legacy === true;\n}\n\nexport function isLegacyRoot() {\n return getWebComponentConfiguration()?.legacyRoot === true;\n}\n\nexport function isStyleCheckDisabled() {\n return getWebpackConfiguration()['disable-style-check'] === true;\n}\n\nexport function isWebComponent(locationOrJson: LocationOrJson = './') {\n return !!getWebComponentConfiguration(locationOrJson);\n}\n"],"names":["CommandName","allowedWebpackDevServerOptions","getConfiguration","getConfigurationSafe","getESLintConfiguration","getJestConfiguration","getReviewConfiguration","getStylelintConfiguration","getSwcCompilePackageConfiguration","getVitestConfiguration","getWebComponentBranchConfigs","getWebComponentConfiguration","getWebpackConfiguration","hasHeadlessBundle","isBundle","isCustomStyleRules","isDevServerDisabled","isExposeSharedDependencies","isLegacy","isLegacyRoot","isStyleCheckDisabled","isWebComponent","locationOrJson","json","readJson","path","join","cli","readJsonSafe","lint","eslint","configuration","jest","test","review","stylelint","vitest","webpack","config","configPath","resolve","fs","existsSync","require","log","warning","undefined","branches","source","getFolders","headlessPath","webpackConfiguration","devServer","legacy","legacyRoot"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/get-configuration.ts"],"sourcesContent":["import { Config } from '@jest/types';\nimport { swcDir } from '@swc/cli';\nimport { ESLint } from 'eslint';\nimport fs from 'fs';\nimport path from 'path';\nimport { LinterOptions } from 'stylelint';\nimport { ViteUserConfig } from 'vitest/config';\nimport { Configuration as WebpackDevServerConfiguration } from 'webpack-dev-server';\n\nimport { ReviewConfiguration } from '../cli/commands/review';\nimport { log } from './log';\nimport { getFolders } from './get-folders';\nimport { readJson, readJsonSafe } from './read-json';\n\nexport const allowedWebpackDevServerOptions = ['headers', 'port', 'proxy', 'static'] as const;\n\ntype ElementType<T> = T extends readonly (infer ElementType)[] ? ElementType : never;\n\nexport interface MinifyJSOptions {\n compress?: boolean;\n mangle?: boolean;\n}\n\nexport interface MinifyCssOptions {}\n\nexport interface MinifyOptions {\n css?: boolean | MinifyCssOptions;\n js?: boolean | MinifyJSOptions;\n}\n\nexport interface WebpackConfiguration\n extends Omit<\n Pick<WebpackDevServerConfiguration, ElementType<typeof allowedWebpackDevServerOptions>>,\n 'proxy'\n > {\n 'contentBase'?: boolean | string | string[] | number; // deprecated 2024-07\n 'custom-style-rules'?: boolean;\n 'expose-shared-dependencies'?: boolean;\n 'devServer'?: false | WebpackDevServerConfiguration;\n 'disable-style-check'?: boolean;\n 'minify'?: MinifyOptions;\n 'proxy'?: WebpackDevServerConfiguration['proxy'] | string;\n}\n\nexport interface ESLintConfiguration extends ESLint.Options {\n disabled?: boolean;\n}\n\nexport interface StylelintConfiguration extends Partial<LinterOptions> {\n ignorePattern?: string[];\n disabled?: boolean;\n}\n\nexport interface JestConfiguration extends Omit<Config.Argv, '_' | '$0'> {\n omitDefault?: string[];\n}\n\nexport interface NodeConfiguration {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n NODE_OPTIONS?: string[];\n}\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport enum CommandName {\n 'build' = 'build',\n 'bundle-package' = 'bundle-package',\n 'clean' = 'clean',\n 'convert-eslint-config' = 'convert-eslint-config',\n 'eslint' = 'eslint',\n 'init' = 'init',\n 'install' = 'install',\n 'kendo-ui-license' = 'kendo-ui-license',\n 'lint' = 'lint',\n 'mfe-list' = 'mfe-list',\n 'mfe-package-clean' = 'mfe-package-clean',\n 'mfe-package-publish' = 'mfe-package-publish',\n 'mfe-publish' = 'mfe-publish',\n 'prepare-package' = 'prepare-package',\n 'review' = 'review',\n 'start' = 'start',\n 'styles-check' = 'styles-check',\n 'test' = 'test',\n 'task' = 'task',\n 'upload-sourcemaps' = 'upload-sourcemaps',\n}\n/* eslint-enable @typescript-eslint/naming-convention */\n\nexport type VitestConfiguration = ViteUserConfig['test'] & {\n omitDefault?: string[];\n};\n\nexport interface WebComponentBranchConfigs {\n publishTag?: string;\n uploadSourcemaps?: boolean;\n}\n\ninterface WebComponentOptions {\n legacyRoot?: boolean;\n /**\n * mapping of git branches to configs.\n * Used to separate configs (ex publish tag) depending on current branch\n */\n branches?: Record<string, WebComponentBranchConfigs>;\n}\n\ntype Configuration = {\n 'jest'?: JestConfiguration;\n 'legacy'?: boolean;\n 'lint'?: { eslint: ESLintConfiguration; stylelint: StylelintConfiguration };\n 'review'?: ReviewConfiguration;\n 'swc-compile-package'?: Parameters<typeof swcDir>[0];\n 'test'?: JestConfiguration; // for backward-compatibility\n 'testRunner'?: string;\n 'vitest'?: VitestConfiguration;\n 'web-component'?: boolean | string | WebComponentOptions;\n 'webpack'?: false | WebpackConfiguration;\n} & {\n [key in CommandName]?: NodeConfiguration;\n} & NodeConfiguration;\n\ntype LocationOrJson = string | Record<string, any>;\n\nexport function getConfiguration(locationOrJson: LocationOrJson = './'): Configuration {\n const json =\n typeof locationOrJson === 'string'\n ? readJson(path.join(locationOrJson, 'package.json'))\n : locationOrJson;\n return json?.cli ?? {};\n}\n\nexport function getConfigurationSafe(locationOrJson: LocationOrJson = './'): Configuration {\n const json =\n typeof locationOrJson === 'string'\n ? readJsonSafe(path.join(locationOrJson, 'package.json'))\n : locationOrJson;\n return json?.cli ?? {};\n}\n\nexport function getESLintConfiguration() {\n return getConfiguration().lint?.eslint ?? {};\n}\n\nexport function getJestConfiguration() {\n const configuration = getConfiguration();\n return configuration.jest ?? configuration.test ?? {};\n}\n\nexport function getReviewConfiguration() {\n return getConfiguration().review ?? {};\n}\n\nexport function getStylelintConfiguration() {\n return getConfiguration().lint?.stylelint ?? {};\n}\n\nexport function getVitestConfiguration() {\n return getConfiguration().vitest ?? {};\n}\n\nexport function getWebpackConfiguration(locationOrJson?: LocationOrJson) {\n const { webpack } = getConfiguration(locationOrJson);\n return typeof webpack === 'object' ? webpack : {};\n}\n\nexport function getWebComponentConfiguration(\n locationOrJson: LocationOrJson = './'\n): WebComponentOptions | undefined {\n const config = getConfigurationSafe(locationOrJson)['web-component'];\n\n if (config === true) {\n return {};\n }\n\n if (typeof config === 'object') {\n return config;\n }\n\n if (typeof config === 'string') {\n const configPath = path.resolve(\n typeof locationOrJson === 'string' ? path.join(locationOrJson, config) : config\n );\n if (fs.existsSync(configPath)) {\n return require(path.resolve(configPath));\n }\n log.warning(`could not find web-component configuration: \"${config}\"`);\n\n return undefined;\n }\n}\n\nexport function getWebComponentBranchConfigs(locationOrJson: LocationOrJson = './') {\n const config = getWebComponentConfiguration(locationOrJson);\n\n return config?.branches;\n}\n\nexport function hasHeadlessBundle() {\n let source: string;\n try {\n source = getFolders().source;\n } catch {\n return false;\n }\n const headlessPath = path.join(source, 'headless.ts');\n return fs.existsSync(headlessPath);\n}\n\nexport function getSwcCompilePackageConfiguration() {\n return getConfiguration()['swc-compile-package'] ?? {};\n}\n\nexport function isBundle(locationOrJson?: LocationOrJson) {\n return getConfiguration(locationOrJson).webpack !== false;\n}\n\nexport function isCustomStyleRules() {\n return getWebpackConfiguration()['custom-style-rules'] === true;\n}\n\nexport function isDevServerDisabled() {\n const webpackConfiguration = getWebpackConfiguration();\n return webpackConfiguration.devServer === false;\n}\n\nexport function isExposeSharedDependencies() {\n return getWebpackConfiguration()['expose-shared-dependencies'] === true;\n}\n\nexport function isLegacy(locationOrJson?: LocationOrJson) {\n return getConfiguration(locationOrJson).legacy === true;\n}\n\nexport function isLegacyRoot() {\n return getWebComponentConfiguration()?.legacyRoot === true;\n}\n\nexport function isStyleCheckDisabled() {\n return getWebpackConfiguration()['disable-style-check'] === true;\n}\n\nexport function isWebComponent(locationOrJson: LocationOrJson = './') {\n return !!getWebComponentConfiguration(locationOrJson);\n}\n"],"names":["CommandName","allowedWebpackDevServerOptions","getConfiguration","getConfigurationSafe","getESLintConfiguration","getJestConfiguration","getReviewConfiguration","getStylelintConfiguration","getSwcCompilePackageConfiguration","getVitestConfiguration","getWebComponentBranchConfigs","getWebComponentConfiguration","getWebpackConfiguration","hasHeadlessBundle","isBundle","isCustomStyleRules","isDevServerDisabled","isExposeSharedDependencies","isLegacy","isLegacyRoot","isStyleCheckDisabled","isWebComponent","locationOrJson","json","readJson","path","join","cli","readJsonSafe","lint","eslint","configuration","jest","test","review","stylelint","vitest","webpack","config","configPath","resolve","fs","existsSync","require","log","warning","undefined","branches","source","getFolders","headlessPath","webpackConfiguration","devServer","legacy","legacyRoot"],"mappings":"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"}
@@ -1,14 +1,12 @@
1
+ import { ProjectPackage } from './find-packages';
1
2
  export declare enum PackageType {
2
3
  TSC = 0,
3
4
  Webpack = 1,
4
5
  Legacy = 2
5
6
  }
6
- export interface Package {
7
- name: string;
8
- type: PackageType;
9
- version: string;
7
+ export interface Package extends ProjectPackage {
10
8
  private: boolean;
11
- location: string;
9
+ type: PackageType;
12
10
  }
13
11
  interface GetPackagesOptions {
14
12
  scope?: string | string[];
@@ -1 +1 @@
1
- {"version":3,"file":"get-packages.d.ts","sourceRoot":"","sources":["../../src/utils/get-packages.ts"],"names":[],"mappings":"AAKA,oBAAY,WAAW;IACnB,GAAG,IAAA;IACH,OAAO,IAAA;IACP,MAAM,IAAA;CACT;AAED,MAAM,WAAW,OAAO;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,kBAAkB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;CACtC;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,aA4C3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,4BAEhE"}
1
+ {"version":3,"file":"get-packages.d.ts","sourceRoot":"","sources":["../../src/utils/get-packages.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAI/D,oBAAY,WAAW;IACnB,GAAG,IAAA;IACH,OAAO,IAAA;IACP,MAAM,IAAA;CACT;AAED,MAAM,WAAW,OAAQ,SAAQ,cAAc;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,UAAU,kBAAkB;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC3B,IAAI,CAAC,EAAE,WAAW,GAAG,WAAW,EAAE,CAAC;CACtC;AAED,wBAAgB,WAAW,CAAC,OAAO,GAAE,kBAAuB,aA4C3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,kBAAuB,4BAEhE"}
@@ -100,13 +100,10 @@ function filterPackages(packages, options) {
100
100
  }
101
101
  function withMetadata(packages) {
102
102
  return packages.map((pkg)=>{
103
- const { name, version, location } = pkg;
104
103
  var _pkg_private;
105
104
  return {
106
- name,
107
- version,
105
+ ...pkg,
108
106
  private: (_pkg_private = pkg.private) !== null && _pkg_private !== void 0 ? _pkg_private : false,
109
- location,
110
107
  type: getPackageType(pkg)
111
108
  };
112
109
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/get-packages.ts"],"sourcesContent":["import multimatch from 'multimatch';\nimport { findPackages, ProjectPackage } from './find-packages';\nimport { isBundle, isLegacy } from './get-configuration';\nimport { toArray } from './to-array';\n\nexport enum PackageType {\n TSC,\n Webpack,\n Legacy,\n}\n\nexport interface Package {\n name: string;\n type: PackageType;\n version: string;\n private: boolean;\n location: string;\n}\n\ninterface GetPackagesOptions {\n scope?: string | string[];\n ignore?: string | string[];\n type?: PackageType | PackageType[];\n}\n\nexport function getPackages(options: GetPackagesOptions = {}) {\n const scope = toArray(options.scope);\n const ignore = toArray(options.ignore);\n const type = toArray(options.type);\n\n const allPackages = findPackages();\n if (scope.length === 0 && ignore.length === 0 && type.length === 0) {\n return withMetadata(allPackages);\n }\n\n const filteredPackages = filterPackages(allPackages, options);\n const graph = buildPackageGraph(allPackages);\n\n // We don't need external dependencies\n for (const [vertex, dependencies] of Object.entries(graph)) {\n graph[vertex] = dependencies.filter(dependency =>\n allPackages.some(({ name }) => name === dependency)\n );\n }\n\n const used: Record<string, boolean> = {};\n\n const dfs = (vertex: string) => {\n used[vertex] = true;\n for (const child of graph[vertex]) {\n if (!used[child]) {\n dfs(child);\n }\n }\n };\n\n // We shouldn't ignore dependant packages if they required for filtered packages\n for (const { name } of filteredPackages) {\n if (!used[name]) {\n dfs(name);\n }\n }\n\n let result = withMetadata(allPackages.filter(({ name }) => used[name]));\n if (type.length > 0) {\n result = result.filter(pkg => type.includes(pkg.type));\n }\n\n return result;\n}\n\n/**\n * Returns packages and their direct dependencies\n */\nexport function getPackagesGraph(options: GetPackagesOptions = {}) {\n return buildPackageGraph(filterPackages(findPackages(), options));\n}\n\nfunction buildPackageGraph(packages: ProjectPackage[]) {\n return packages.reduce<Record<string, string[]>>(\n (result, { name, dependencies = {}, devDependencies = {} }) => {\n result[name] = [...Object.keys(dependencies), ...Object.keys(devDependencies)].sort(\n (a, b) => a.localeCompare(b)\n );\n return result;\n },\n {}\n );\n}\n\nfunction filterPackages(packages: ProjectPackage[], options: GetPackagesOptions) {\n if (options.ignore === undefined && options.scope === undefined) {\n return packages;\n }\n\n const patterns = [...toArray(options.scope), ...negate(toArray(options.ignore))];\n\n if (patterns.length) {\n if (!options.scope?.length) {\n patterns.unshift('**');\n }\n }\n\n const chosen = new Set(\n multimatch(\n packages.map(item => item.name),\n patterns\n )\n );\n\n return packages.filter(({ name }) => chosen.has(name));\n}\n\nfunction withMetadata(packages: ProjectPackage[]): Package[] {\n return packages.map(pkg => {\n const { name, version, location } = pkg;\n return {\n name,\n version,\n private: pkg.private ?? false,\n location,\n type: getPackageType(pkg),\n };\n });\n}\n\nfunction getPackageType(packageJson: ProjectPackage) {\n if (isLegacy(packageJson)) {\n return PackageType.Legacy;\n }\n\n if (isBundle(packageJson)) {\n return PackageType.Webpack;\n }\n\n return PackageType.TSC;\n}\n\nfunction negate(patterns: string[]) {\n return patterns.map(pattern => `!${pattern}`);\n}\n"],"names":["PackageType","getPackages","getPackagesGraph","options","scope","toArray","ignore","type","allPackages","findPackages","length","withMetadata","filteredPackages","filterPackages","graph","buildPackageGraph","vertex","dependencies","Object","entries","filter","dependency","some","name","used","dfs","child","result","pkg","includes","packages","reduce","devDependencies","keys","sort","a","b","localeCompare","undefined","patterns","negate","unshift","chosen","Set","multimatch","map","item","has","version","location","private","getPackageType","packageJson","isLegacy","isBundle","pattern"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/utils/get-packages.ts"],"sourcesContent":["import multimatch from 'multimatch';\nimport { findPackages, ProjectPackage } from './find-packages';\nimport { isBundle, isLegacy } from './get-configuration';\nimport { toArray } from './to-array';\n\nexport enum PackageType {\n TSC,\n Webpack,\n Legacy,\n}\n\nexport interface Package extends ProjectPackage {\n private: boolean;\n type: PackageType;\n}\n\ninterface GetPackagesOptions {\n scope?: string | string[];\n ignore?: string | string[];\n type?: PackageType | PackageType[];\n}\n\nexport function getPackages(options: GetPackagesOptions = {}) {\n const scope = toArray(options.scope);\n const ignore = toArray(options.ignore);\n const type = toArray(options.type);\n\n const allPackages = findPackages();\n if (scope.length === 0 && ignore.length === 0 && type.length === 0) {\n return withMetadata(allPackages);\n }\n\n const filteredPackages = filterPackages(allPackages, options);\n const graph = buildPackageGraph(allPackages);\n\n // We don't need external dependencies\n for (const [vertex, dependencies] of Object.entries(graph)) {\n graph[vertex] = dependencies.filter(dependency =>\n allPackages.some(({ name }) => name === dependency)\n );\n }\n\n const used: Record<string, boolean> = {};\n\n const dfs = (vertex: string) => {\n used[vertex] = true;\n for (const child of graph[vertex]) {\n if (!used[child]) {\n dfs(child);\n }\n }\n };\n\n // We shouldn't ignore dependant packages if they required for filtered packages\n for (const { name } of filteredPackages) {\n if (!used[name]) {\n dfs(name);\n }\n }\n\n let result = withMetadata(allPackages.filter(({ name }) => used[name]));\n if (type.length > 0) {\n result = result.filter(pkg => type.includes(pkg.type));\n }\n\n return result;\n}\n\n/**\n * Returns packages and their direct dependencies\n */\nexport function getPackagesGraph(options: GetPackagesOptions = {}) {\n return buildPackageGraph(filterPackages(findPackages(), options));\n}\n\nfunction buildPackageGraph(packages: ProjectPackage[]) {\n return packages.reduce<Record<string, string[]>>(\n (result, { name, dependencies = {}, devDependencies = {} }) => {\n result[name] = [...Object.keys(dependencies), ...Object.keys(devDependencies)].sort(\n (a, b) => a.localeCompare(b)\n );\n return result;\n },\n {}\n );\n}\n\nfunction filterPackages(packages: ProjectPackage[], options: GetPackagesOptions) {\n if (options.ignore === undefined && options.scope === undefined) {\n return packages;\n }\n\n const patterns = [...toArray(options.scope), ...negate(toArray(options.ignore))];\n\n if (patterns.length) {\n if (!options.scope?.length) {\n patterns.unshift('**');\n }\n }\n\n const chosen = new Set(\n multimatch(\n packages.map(item => item.name),\n patterns\n )\n );\n\n return packages.filter(({ name }) => chosen.has(name));\n}\n\nfunction withMetadata(packages: ProjectPackage[]): Package[] {\n return packages.map(pkg => {\n return {\n ...pkg,\n private: pkg.private ?? false,\n type: getPackageType(pkg),\n };\n });\n}\n\nfunction getPackageType(packageJson: ProjectPackage) {\n if (isLegacy(packageJson)) {\n return PackageType.Legacy;\n }\n\n if (isBundle(packageJson)) {\n return PackageType.Webpack;\n }\n\n return PackageType.TSC;\n}\n\nfunction negate(patterns: string[]) {\n return patterns.map(pattern => `!${pattern}`);\n}\n"],"names":["PackageType","getPackages","getPackagesGraph","options","scope","toArray","ignore","type","allPackages","findPackages","length","withMetadata","filteredPackages","filterPackages","graph","buildPackageGraph","vertex","dependencies","Object","entries","filter","dependency","some","name","used","dfs","child","result","pkg","includes","packages","reduce","devDependencies","keys","sort","a","b","localeCompare","undefined","patterns","negate","unshift","chosen","Set","multimatch","map","item","has","private","getPackageType","packageJson","isLegacy","isBundle","pattern"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-startup-version.d.ts","sourceRoot":"","sources":["../../src/utils/get-startup-version.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,QAIhC"}
1
+ {"version":3,"file":"get-startup-version.d.ts","sourceRoot":"","sources":["../../src/utils/get-startup-version.ts"],"names":[],"mappings":"AAGA,wBAAgB,iBAAiB,QAEhC"}
@@ -16,7 +16,7 @@ function _interop_require_default(obj) {
16
16
  };
17
17
  }
18
18
  function getStartupVersion() {
19
- return (0, _readjson.readJson)(_path.default.join(_path.default.dirname(require.resolve('@servicetitan/startup')), '../package.json')).version;
19
+ return (0, _readjson.readJson)(_path.default.join(__dirname, '../../package.json')).version;
20
20
  }
21
21
 
22
22
  //# sourceMappingURL=get-startup-version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/get-startup-version.ts"],"sourcesContent":["import path from 'path';\nimport { readJson } from './read-json';\n\nexport function getStartupVersion() {\n return readJson(\n path.join(path.dirname(require.resolve('@servicetitan/startup')), '../package.json')\n ).version;\n}\n"],"names":["getStartupVersion","readJson","path","join","dirname","require","resolve","version"],"mappings":";;;;+BAGgBA;;;eAAAA;;;6DAHC;0BACQ;;;;;;AAElB,SAASA;IACZ,OAAOC,IAAAA,kBAAQ,EACXC,aAAI,CAACC,IAAI,CAACD,aAAI,CAACE,OAAO,CAACC,QAAQC,OAAO,CAAC,2BAA2B,oBACpEC,OAAO;AACb"}
1
+ {"version":3,"sources":["../../src/utils/get-startup-version.ts"],"sourcesContent":["import path from 'path';\nimport { readJson } from './read-json';\n\nexport function getStartupVersion() {\n return readJson(path.join(__dirname, '../../package.json')).version;\n}\n"],"names":["getStartupVersion","readJson","path","join","__dirname","version"],"mappings":";;;;+BAGgBA;;;eAAAA;;;6DAHC;0BACQ;;;;;;AAElB,SAASA;IACZ,OAAOC,IAAAA,kBAAQ,EAACC,aAAI,CAACC,IAAI,CAACC,WAAW,uBAAuBC,OAAO;AACvE"}
@@ -1,6 +1,7 @@
1
1
  export * from './find-packages';
2
2
  export * from './find-up';
3
3
  export * from './format-duration';
4
+ export * from './format-relative-date';
4
5
  export * from './get-branch-configs';
5
6
  export * from './get-configuration';
6
7
  export * from './get-destination-folders';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  _export_star(require("./find-packages"), exports);
6
6
  _export_star(require("./find-up"), exports);
7
7
  _export_star(require("./format-duration"), exports);
8
+ _export_star(require("./format-relative-date"), exports);
8
9
  _export_star(require("./get-branch-configs"), exports);
9
10
  _export_star(require("./get-configuration"), exports);
10
11
  _export_star(require("./get-destination-folders"), exports);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './find-packages';\nexport * from './find-up';\nexport * from './format-duration';\nexport * from './get-branch-configs';\nexport * from './get-configuration';\nexport * from './get-destination-folders';\nexport * from './get-folders';\nexport * from './get-jest-config';\nexport * from './get-package-data';\nexport * from './get-package-name';\nexport * from './get-packages';\nexport * from './get-startup-version';\nexport * from './get-tsconfig';\nexport * from './load-shared-dependencies';\nexport * from './log';\nexport * from './log-errors';\nexport * from './omit';\nexport * from './pick';\nexport * from './read-json';\nexport * from './to-array';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
1
+ {"version":3,"sources":["../../src/utils/index.ts"],"sourcesContent":["export * from './find-packages';\nexport * from './find-up';\nexport * from './format-duration';\nexport * from './format-relative-date';\nexport * from './get-branch-configs';\nexport * from './get-configuration';\nexport * from './get-destination-folders';\nexport * from './get-folders';\nexport * from './get-jest-config';\nexport * from './get-package-data';\nexport * from './get-package-name';\nexport * from './get-packages';\nexport * from './get-startup-version';\nexport * from './get-tsconfig';\nexport * from './load-shared-dependencies';\nexport * from './log';\nexport * from './log-errors';\nexport * from './omit';\nexport * from './pick';\nexport * from './read-json';\nexport * from './to-array';\n"],"names":[],"mappings":";;;;qBAAc;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA;qBACA"}
@@ -1,6 +1,6 @@
1
1
  import { Context } from '../types';
2
2
  import { LoaderOptions } from './types';
3
- export declare function styleLoader({ isProduction, isWebComponent }: Context, { esModule }?: LoaderOptions): string | {
3
+ export declare function styleLoader({ isProduction, isWebComponent, emitExposedDependencies }: Context, { esModule }?: LoaderOptions): string | {
4
4
  loader: string;
5
5
  options: {
6
6
  esModule: true;
@@ -1 +1 @@
1
- {"version":3,"file":"style-loader.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/loaders/style-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wBAAgB,WAAW,CACvB,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,OAAO,EACzC,EAAE,QAAQ,EAAE,GAAE,aAAkB;;;;;EAInC"}
1
+ {"version":3,"file":"style-loader.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/loaders/style-loader.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,wBAAgB,WAAW,CACvB,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,EAAE,OAAO,EAClE,EAAE,QAAQ,EAAE,GAAE,aAAkB;;;;;EAOnC"}
@@ -14,8 +14,8 @@ function _interop_require_default(obj) {
14
14
  default: obj
15
15
  };
16
16
  }
17
- function styleLoader({ isProduction, isWebComponent }, { esModule } = {}) {
18
- const loader = isProduction || isWebComponent ? _minicssextractplugin.default.loader : 'style-loader';
17
+ function styleLoader({ isProduction, isWebComponent, emitExposedDependencies }, { esModule } = {}) {
18
+ const loader = isProduction || isWebComponent || emitExposedDependencies ? _minicssextractplugin.default.loader : 'style-loader';
19
19
  return esModule ? {
20
20
  loader,
21
21
  options: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/loaders/style-loader.ts"],"sourcesContent":["import MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport { Context } from '../types';\nimport { LoaderOptions } from './types';\n\nexport function styleLoader(\n { isProduction, isWebComponent }: Context,\n { esModule }: LoaderOptions = {}\n) {\n const loader = isProduction || isWebComponent ? MiniCssExtractPlugin.loader : 'style-loader';\n return esModule ? { loader, options: { esModule } } : loader;\n}\n"],"names":["styleLoader","isProduction","isWebComponent","esModule","loader","MiniCssExtractPlugin","options"],"mappings":";;;;+BAIgBA;;;eAAAA;;;6EAJiB;;;;;;AAI1B,SAASA,YACZ,EAAEC,YAAY,EAAEC,cAAc,EAAW,EACzC,EAAEC,QAAQ,EAAiB,GAAG,CAAC,CAAC;IAEhC,MAAMC,SAASH,gBAAgBC,iBAAiBG,6BAAoB,CAACD,MAAM,GAAG;IAC9E,OAAOD,WAAW;QAAEC;QAAQE,SAAS;YAAEH;QAAS;IAAE,IAAIC;AAC1D"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/loaders/style-loader.ts"],"sourcesContent":["import MiniCssExtractPlugin from 'mini-css-extract-plugin';\nimport { Context } from '../types';\nimport { LoaderOptions } from './types';\n\nexport function styleLoader(\n { isProduction, isWebComponent, emitExposedDependencies }: Context,\n { esModule }: LoaderOptions = {}\n) {\n const loader =\n isProduction || isWebComponent || emitExposedDependencies\n ? MiniCssExtractPlugin.loader\n : 'style-loader';\n return esModule ? { loader, options: { esModule } } : loader;\n}\n"],"names":["styleLoader","isProduction","isWebComponent","emitExposedDependencies","esModule","loader","MiniCssExtractPlugin","options"],"mappings":";;;;+BAIgBA;;;eAAAA;;;6EAJiB;;;;;;AAI1B,SAASA,YACZ,EAAEC,YAAY,EAAEC,cAAc,EAAEC,uBAAuB,EAAW,EAClE,EAAEC,QAAQ,EAAiB,GAAG,CAAC,CAAC;IAEhC,MAAMC,SACFJ,gBAAgBC,kBAAkBC,0BAC5BG,6BAAoB,CAACD,MAAM,GAC3B;IACV,OAAOD,WAAW;QAAEC;QAAQE,SAAS;YAAEH;QAAS;IAAE,IAAIC;AAC1D"}
@@ -97,6 +97,11 @@ function webComponentConfig(optimization, context) {
97
97
  type: 'css/mini-extract',
98
98
  chunks: 'all',
99
99
  enforce: true
100
+ },
101
+ servicetitan: {
102
+ name: 'servicetitan',
103
+ test: /[\\/]node_modules[\\/]@servicetitan[\\/]/,
104
+ chunks: 'all'
100
105
  }
101
106
  });
102
107
  if (!isProduction) {
@@ -112,11 +117,6 @@ function webComponentConfig(optimization, context) {
112
117
  name: 'kendo',
113
118
  test: /[\\/]node_modules[\\/](@progress|@telerik)[\\/]/,
114
119
  chunks: 'all'
115
- },
116
- servicetitan: {
117
- name: 'servicetitan',
118
- test: /[\\/]node_modules[\\/]@servicetitan[\\/]/,
119
- chunks: 'all'
120
120
  }
121
121
  });
122
122
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webpack/configs/optimization-config.ts"],"sourcesContent":["import CssMinimizerWebpackPlugin from 'css-minimizer-webpack-plugin';\nimport TerserPlugin from 'terser-webpack-plugin';\nimport { Configuration } from 'webpack';\nimport { Context, Overrides } from './types';\n\ntype Config = Configuration['optimization'];\ntype ConfigWithCacheGroups = Config & { splitChunks: { cacheGroups: Record<string, any> } };\ntype Result = Pick<Configuration, 'optimization'>;\n\nexport function optimizationConfig(context: Context, _: Overrides): Result {\n const { emitExposedDependencies, headless, isProduction } = context;\n\n const optimization: ConfigWithCacheGroups = {\n chunkIds: isProduction ? 'deterministic' : 'named',\n moduleIds: 'size',\n mangleExports: 'size',\n splitChunks: { cacheGroups: {} },\n };\n\n if (emitExposedDependencies) {\n optimization.runtimeChunk = false;\n } else if (!headless && isProduction) {\n optimization.runtimeChunk = 'single';\n }\n\n [minimizeConfig, sharedDependenciesConfig, webComponentConfig].forEach(handler =>\n handler(optimization, context)\n );\n\n return { optimization };\n}\n\nfunction minimizeConfig(optimization: ConfigWithCacheGroups, context: Context) {\n const { isProduction, codeCoverage } = context;\n if (!isProduction) {\n return;\n }\n\n const minifyJs = context.minify?.js ?? true;\n const minifyCss = context.minify?.css ?? true;\n optimization.minimize = !codeCoverage && (!!minifyJs || !!minifyCss);\n if (!optimization.minimize) {\n return;\n }\n\n const terserOptions = {\n compress: false,\n mangle: false,\n ...(typeof minifyJs === 'object' ? minifyJs : {}),\n };\n\n const cssMinimizerPluginOptions = {\n ...(typeof minifyCss === 'object' ? minifyCss : {}),\n };\n\n optimization.minimizer = [\n ...(minifyJs ? [new TerserPlugin({ terserOptions })] : []),\n ...(minifyCss ? [new CssMinimizerWebpackPlugin(cssMinimizerPluginOptions)] : []),\n ];\n}\n\nfunction sharedDependenciesConfig(optimization: ConfigWithCacheGroups, context: Context) {\n const { emitExposedDependencies } = context;\n if (!emitExposedDependencies) {\n return;\n }\n\n Object.assign(optimization.splitChunks.cacheGroups, {\n anvil2: {\n test: /@servicetitan[\\\\/]anvil2[\\\\/].*\\.css$/,\n name: 'anvil2',\n chunks: 'all',\n enforce: true,\n },\n });\n}\n\nfunction webComponentConfig(optimization: ConfigWithCacheGroups, context: Context) {\n const { headless, isWebComponent, isProduction } = context;\n if (!isWebComponent || headless) {\n return;\n }\n\n Object.assign(optimization.splitChunks.cacheGroups, {\n styles: {\n name: 'main',\n type: 'css/mini-extract',\n chunks: 'all',\n enforce: true,\n },\n });\n\n if (!isProduction) {\n return;\n }\n\n Object.assign(optimization.splitChunks.cacheGroups, {\n common: {\n name: 'common',\n test: /[\\\\/]node_modules[\\\\/](axios|classnames|formstate|mobx|mobx-react|mobx-utils|react|react-dom|react-router|react-router-dom)[\\\\/]/,\n chunks: 'all',\n },\n kendo: {\n name: 'kendo',\n test: /[\\\\/]node_modules[\\\\/](@progress|@telerik)[\\\\/]/,\n chunks: 'all',\n },\n servicetitan: {\n name: 'servicetitan',\n test: /[\\\\/]node_modules[\\\\/]@servicetitan[\\\\/]/,\n chunks: 'all',\n },\n });\n}\n"],"names":["optimizationConfig","context","_","emitExposedDependencies","headless","isProduction","optimization","chunkIds","moduleIds","mangleExports","splitChunks","cacheGroups","runtimeChunk","minimizeConfig","sharedDependenciesConfig","webComponentConfig","forEach","handler","codeCoverage","minifyJs","minify","js","minifyCss","css","minimize","terserOptions","compress","mangle","cssMinimizerPluginOptions","minimizer","TerserPlugin","CssMinimizerWebpackPlugin","Object","assign","anvil2","test","name","chunks","enforce","isWebComponent","styles","type","common","kendo","servicetitan"],"mappings":";;;;+BASgBA;;;eAAAA;;;kFATsB;4EACb;;;;;;AAQlB,SAASA,mBAAmBC,OAAgB,EAAEC,CAAY;IAC7D,MAAM,EAAEC,uBAAuB,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGJ;IAE5D,MAAMK,eAAsC;QACxCC,UAAUF,eAAe,kBAAkB;QAC3CG,WAAW;QACXC,eAAe;QACfC,aAAa;YAAEC,aAAa,CAAC;QAAE;IACnC;IAEA,IAAIR,yBAAyB;QACzBG,aAAaM,YAAY,GAAG;IAChC,OAAO,IAAI,CAACR,YAAYC,cAAc;QAClCC,aAAaM,YAAY,GAAG;IAChC;IAEA;QAACC;QAAgBC;QAA0BC;KAAmB,CAACC,OAAO,CAACC,CAAAA,UACnEA,QAAQX,cAAcL;IAG1B,OAAO;QAAEK;IAAa;AAC1B;AAEA,SAASO,eAAeP,YAAmC,EAAEL,OAAgB;QAMxDA,iBACCA;IANlB,MAAM,EAAEI,YAAY,EAAEa,YAAY,EAAE,GAAGjB;IACvC,IAAI,CAACI,cAAc;QACf;IACJ;QAEiBJ;IAAjB,MAAMkB,WAAWlB,CAAAA,sBAAAA,kBAAAA,QAAQmB,MAAM,cAAdnB,sCAAAA,gBAAgBoB,EAAE,cAAlBpB,gCAAAA,qBAAsB;QACrBA;IAAlB,MAAMqB,YAAYrB,CAAAA,uBAAAA,mBAAAA,QAAQmB,MAAM,cAAdnB,uCAAAA,iBAAgBsB,GAAG,cAAnBtB,iCAAAA,sBAAuB;IACzCK,aAAakB,QAAQ,GAAG,CAACN,gBAAiB,CAAA,CAAC,CAACC,YAAY,CAAC,CAACG,SAAQ;IAClE,IAAI,CAAChB,aAAakB,QAAQ,EAAE;QACxB;IACJ;IAEA,MAAMC,gBAAgB;QAClBC,UAAU;QACVC,QAAQ;QACR,GAAI,OAAOR,aAAa,WAAWA,WAAW,CAAC,CAAC;IACpD;IAEA,MAAMS,4BAA4B;QAC9B,GAAI,OAAON,cAAc,WAAWA,YAAY,CAAC,CAAC;IACtD;IAEAhB,aAAauB,SAAS,GAAG;WACjBV,WAAW;YAAC,IAAIW,4BAAY,CAAC;gBAAEL;YAAc;SAAG,GAAG,EAAE;WACrDH,YAAY;YAAC,IAAIS,kCAAyB,CAACH;SAA2B,GAAG,EAAE;KAClF;AACL;AAEA,SAASd,yBAAyBR,YAAmC,EAAEL,OAAgB;IACnF,MAAM,EAAEE,uBAAuB,EAAE,GAAGF;IACpC,IAAI,CAACE,yBAAyB;QAC1B;IACJ;IAEA6B,OAAOC,MAAM,CAAC3B,aAAaI,WAAW,CAACC,WAAW,EAAE;QAChDuB,QAAQ;YACJC,MAAM;YACNC,MAAM;YACNC,QAAQ;YACRC,SAAS;QACb;IACJ;AACJ;AAEA,SAASvB,mBAAmBT,YAAmC,EAAEL,OAAgB;IAC7E,MAAM,EAAEG,QAAQ,EAAEmC,cAAc,EAAElC,YAAY,EAAE,GAAGJ;IACnD,IAAI,CAACsC,kBAAkBnC,UAAU;QAC7B;IACJ;IAEA4B,OAAOC,MAAM,CAAC3B,aAAaI,WAAW,CAACC,WAAW,EAAE;QAChD6B,QAAQ;YACJJ,MAAM;YACNK,MAAM;YACNJ,QAAQ;YACRC,SAAS;QACb;IACJ;IAEA,IAAI,CAACjC,cAAc;QACf;IACJ;IAEA2B,OAAOC,MAAM,CAAC3B,aAAaI,WAAW,CAACC,WAAW,EAAE;QAChD+B,QAAQ;YACJN,MAAM;YACND,MAAM;YACNE,QAAQ;QACZ;QACAM,OAAO;YACHP,MAAM;YACND,MAAM;YACNE,QAAQ;QACZ;QACAO,cAAc;YACVR,MAAM;YACND,MAAM;YACNE,QAAQ;QACZ;IACJ;AACJ"}
1
+ {"version":3,"sources":["../../../src/webpack/configs/optimization-config.ts"],"sourcesContent":["import CssMinimizerWebpackPlugin from 'css-minimizer-webpack-plugin';\nimport TerserPlugin from 'terser-webpack-plugin';\nimport { Configuration } from 'webpack';\nimport { Context, Overrides } from './types';\n\ntype Config = Configuration['optimization'];\ntype ConfigWithCacheGroups = Config & { splitChunks: { cacheGroups: Record<string, any> } };\ntype Result = Pick<Configuration, 'optimization'>;\n\nexport function optimizationConfig(context: Context, _: Overrides): Result {\n const { emitExposedDependencies, headless, isProduction } = context;\n\n const optimization: ConfigWithCacheGroups = {\n chunkIds: isProduction ? 'deterministic' : 'named',\n moduleIds: 'size',\n mangleExports: 'size',\n splitChunks: { cacheGroups: {} },\n };\n\n if (emitExposedDependencies) {\n optimization.runtimeChunk = false;\n } else if (!headless && isProduction) {\n optimization.runtimeChunk = 'single';\n }\n\n [minimizeConfig, sharedDependenciesConfig, webComponentConfig].forEach(handler =>\n handler(optimization, context)\n );\n\n return { optimization };\n}\n\nfunction minimizeConfig(optimization: ConfigWithCacheGroups, context: Context) {\n const { isProduction, codeCoverage } = context;\n if (!isProduction) {\n return;\n }\n\n const minifyJs = context.minify?.js ?? true;\n const minifyCss = context.minify?.css ?? true;\n optimization.minimize = !codeCoverage && (!!minifyJs || !!minifyCss);\n if (!optimization.minimize) {\n return;\n }\n\n const terserOptions = {\n compress: false,\n mangle: false,\n ...(typeof minifyJs === 'object' ? minifyJs : {}),\n };\n\n const cssMinimizerPluginOptions = {\n ...(typeof minifyCss === 'object' ? minifyCss : {}),\n };\n\n optimization.minimizer = [\n ...(minifyJs ? [new TerserPlugin({ terserOptions })] : []),\n ...(minifyCss ? [new CssMinimizerWebpackPlugin(cssMinimizerPluginOptions)] : []),\n ];\n}\n\nfunction sharedDependenciesConfig(optimization: ConfigWithCacheGroups, context: Context) {\n const { emitExposedDependencies } = context;\n if (!emitExposedDependencies) {\n return;\n }\n\n Object.assign(optimization.splitChunks.cacheGroups, {\n anvil2: {\n test: /@servicetitan[\\\\/]anvil2[\\\\/].*\\.css$/,\n name: 'anvil2',\n chunks: 'all',\n enforce: true,\n },\n });\n}\n\nfunction webComponentConfig(optimization: ConfigWithCacheGroups, context: Context) {\n const { headless, isWebComponent, isProduction } = context;\n if (!isWebComponent || headless) {\n return;\n }\n\n Object.assign(optimization.splitChunks.cacheGroups, {\n styles: {\n name: 'main',\n type: 'css/mini-extract',\n chunks: 'all',\n enforce: true,\n },\n servicetitan: {\n name: 'servicetitan',\n test: /[\\\\/]node_modules[\\\\/]@servicetitan[\\\\/]/,\n chunks: 'all',\n },\n });\n\n if (!isProduction) {\n return;\n }\n\n Object.assign(optimization.splitChunks.cacheGroups, {\n common: {\n name: 'common',\n test: /[\\\\/]node_modules[\\\\/](axios|classnames|formstate|mobx|mobx-react|mobx-utils|react|react-dom|react-router|react-router-dom)[\\\\/]/,\n chunks: 'all',\n },\n kendo: {\n name: 'kendo',\n test: /[\\\\/]node_modules[\\\\/](@progress|@telerik)[\\\\/]/,\n chunks: 'all',\n },\n });\n}\n"],"names":["optimizationConfig","context","_","emitExposedDependencies","headless","isProduction","optimization","chunkIds","moduleIds","mangleExports","splitChunks","cacheGroups","runtimeChunk","minimizeConfig","sharedDependenciesConfig","webComponentConfig","forEach","handler","codeCoverage","minifyJs","minify","js","minifyCss","css","minimize","terserOptions","compress","mangle","cssMinimizerPluginOptions","minimizer","TerserPlugin","CssMinimizerWebpackPlugin","Object","assign","anvil2","test","name","chunks","enforce","isWebComponent","styles","type","servicetitan","common","kendo"],"mappings":";;;;+BASgBA;;;eAAAA;;;kFATsB;4EACb;;;;;;AAQlB,SAASA,mBAAmBC,OAAgB,EAAEC,CAAY;IAC7D,MAAM,EAAEC,uBAAuB,EAAEC,QAAQ,EAAEC,YAAY,EAAE,GAAGJ;IAE5D,MAAMK,eAAsC;QACxCC,UAAUF,eAAe,kBAAkB;QAC3CG,WAAW;QACXC,eAAe;QACfC,aAAa;YAAEC,aAAa,CAAC;QAAE;IACnC;IAEA,IAAIR,yBAAyB;QACzBG,aAAaM,YAAY,GAAG;IAChC,OAAO,IAAI,CAACR,YAAYC,cAAc;QAClCC,aAAaM,YAAY,GAAG;IAChC;IAEA;QAACC;QAAgBC;QAA0BC;KAAmB,CAACC,OAAO,CAACC,CAAAA,UACnEA,QAAQX,cAAcL;IAG1B,OAAO;QAAEK;IAAa;AAC1B;AAEA,SAASO,eAAeP,YAAmC,EAAEL,OAAgB;QAMxDA,iBACCA;IANlB,MAAM,EAAEI,YAAY,EAAEa,YAAY,EAAE,GAAGjB;IACvC,IAAI,CAACI,cAAc;QACf;IACJ;QAEiBJ;IAAjB,MAAMkB,WAAWlB,CAAAA,sBAAAA,kBAAAA,QAAQmB,MAAM,cAAdnB,sCAAAA,gBAAgBoB,EAAE,cAAlBpB,gCAAAA,qBAAsB;QACrBA;IAAlB,MAAMqB,YAAYrB,CAAAA,uBAAAA,mBAAAA,QAAQmB,MAAM,cAAdnB,uCAAAA,iBAAgBsB,GAAG,cAAnBtB,iCAAAA,sBAAuB;IACzCK,aAAakB,QAAQ,GAAG,CAACN,gBAAiB,CAAA,CAAC,CAACC,YAAY,CAAC,CAACG,SAAQ;IAClE,IAAI,CAAChB,aAAakB,QAAQ,EAAE;QACxB;IACJ;IAEA,MAAMC,gBAAgB;QAClBC,UAAU;QACVC,QAAQ;QACR,GAAI,OAAOR,aAAa,WAAWA,WAAW,CAAC,CAAC;IACpD;IAEA,MAAMS,4BAA4B;QAC9B,GAAI,OAAON,cAAc,WAAWA,YAAY,CAAC,CAAC;IACtD;IAEAhB,aAAauB,SAAS,GAAG;WACjBV,WAAW;YAAC,IAAIW,4BAAY,CAAC;gBAAEL;YAAc;SAAG,GAAG,EAAE;WACrDH,YAAY;YAAC,IAAIS,kCAAyB,CAACH;SAA2B,GAAG,EAAE;KAClF;AACL;AAEA,SAASd,yBAAyBR,YAAmC,EAAEL,OAAgB;IACnF,MAAM,EAAEE,uBAAuB,EAAE,GAAGF;IACpC,IAAI,CAACE,yBAAyB;QAC1B;IACJ;IAEA6B,OAAOC,MAAM,CAAC3B,aAAaI,WAAW,CAACC,WAAW,EAAE;QAChDuB,QAAQ;YACJC,MAAM;YACNC,MAAM;YACNC,QAAQ;YACRC,SAAS;QACb;IACJ;AACJ;AAEA,SAASvB,mBAAmBT,YAAmC,EAAEL,OAAgB;IAC7E,MAAM,EAAEG,QAAQ,EAAEmC,cAAc,EAAElC,YAAY,EAAE,GAAGJ;IACnD,IAAI,CAACsC,kBAAkBnC,UAAU;QAC7B;IACJ;IAEA4B,OAAOC,MAAM,CAAC3B,aAAaI,WAAW,CAACC,WAAW,EAAE;QAChD6B,QAAQ;YACJJ,MAAM;YACNK,MAAM;YACNJ,QAAQ;YACRC,SAAS;QACb;QACAI,cAAc;YACVN,MAAM;YACND,MAAM;YACNE,QAAQ;QACZ;IACJ;IAEA,IAAI,CAAChC,cAAc;QACf;IACJ;IAEA2B,OAAOC,MAAM,CAAC3B,aAAaI,WAAW,CAACC,WAAW,EAAE;QAChDgC,QAAQ;YACJP,MAAM;YACND,MAAM;YACNE,QAAQ;QACZ;QACAO,OAAO;YACHR,MAAM;YACND,MAAM;YACNE,QAAQ;QACZ;IACJ;AACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"output-config.d.ts","sourceRoot":"","sources":["../../../src/webpack/configs/output-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI7C,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAE5C,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAwBnE"}
1
+ {"version":3,"file":"output-config.d.ts","sourceRoot":"","sources":["../../../src/webpack/configs/output-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAI7C,KAAK,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;AAE5C,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,GAAG,MAAM,CAoBnE"}
@@ -20,21 +20,15 @@ function outputConfig(context, _) {
20
20
  const output = {
21
21
  filename: '[name].bundle.js',
22
22
  path: getOutputPath(context),
23
+ clean: getClean(context),
23
24
  ...emitExposedDependencies ? {
24
25
  chunkLoadingGlobal: `sharedChunk${name}`
25
26
  } : {}
26
27
  };
27
28
  if (isProduction) {
28
29
  const cdnPath = process.env.CLIENT_CDN_PATH;
29
- const exposedDependenciesDir = (0, _utils.getBundleType)({
30
- ...context,
31
- emitExposedDependencies: true
32
- });
33
30
  Object.assign(output, {
34
31
  filename: '[name].[contenthash].bundle.js',
35
- clean: exposedDependenciesDir && !emitExposedDependencies ? {
36
- keep: new RegExp(exposedDependenciesDir)
37
- } : true,
38
32
  ...isWebComponent ? {
39
33
  uniqueName: name
40
34
  } : {},
@@ -47,6 +41,19 @@ function outputConfig(context, _) {
47
41
  output
48
42
  };
49
43
  }
44
+ function getClean(context) {
45
+ const { emitExposedDependencies } = context;
46
+ if (emitExposedDependencies) {
47
+ return true;
48
+ }
49
+ const exposedDependenciesDir = (0, _utils.getBundleType)({
50
+ ...context,
51
+ emitExposedDependencies: true
52
+ });
53
+ return exposedDependenciesDir ? {
54
+ keep: new RegExp(exposedDependenciesDir)
55
+ } : true;
56
+ }
50
57
  function getOutputPath(context) {
51
58
  const { destination, emitExposedDependencies } = context;
52
59
  var _getBundleType;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/webpack/configs/output-config.ts"],"sourcesContent":["import path from 'path';\nimport { Configuration } from 'webpack';\nimport { Context, Overrides } from './types';\nimport { getBundleType } from './utils';\n\ntype Config = Configuration['output'];\ntype Result = Pick<Configuration, 'output'>;\n\nexport function outputConfig(context: Context, _: Overrides): Result {\n const { emitExposedDependencies, isProduction, isWebComponent, name } = context;\n\n const output: Config = {\n filename: '[name].bundle.js',\n path: getOutputPath(context),\n ...(emitExposedDependencies ? { chunkLoadingGlobal: `sharedChunk${name}` } : {}),\n };\n\n if (isProduction) {\n const cdnPath = process.env.CLIENT_CDN_PATH;\n const exposedDependenciesDir = getBundleType({ ...context, emitExposedDependencies: true });\n Object.assign(output, {\n filename: '[name].[contenthash].bundle.js',\n clean:\n exposedDependenciesDir && !emitExposedDependencies\n ? { keep: new RegExp(exposedDependenciesDir) }\n : true,\n ...(isWebComponent ? { uniqueName: name } : {}),\n ...(cdnPath ? { publicPath: cdnPath } : {}),\n });\n }\n\n return { output };\n}\n\nfunction getOutputPath(context: Context) {\n const { destination, emitExposedDependencies } = context;\n\n const subdir = getBundleType(context) ?? '';\n if (typeof emitExposedDependencies === 'object') {\n const { output } = emitExposedDependencies;\n if (output?.path) {\n return path.join(output.path, subdir);\n }\n }\n\n return path.join(process.cwd(), destination, 'bundle', subdir);\n}\n"],"names":["outputConfig","context","_","emitExposedDependencies","isProduction","isWebComponent","name","output","filename","path","getOutputPath","chunkLoadingGlobal","cdnPath","process","env","CLIENT_CDN_PATH","exposedDependenciesDir","getBundleType","Object","assign","clean","keep","RegExp","uniqueName","publicPath","destination","subdir","join","cwd"],"mappings":";;;;+BAQgBA;;;eAAAA;;;6DARC;uBAGa;;;;;;AAKvB,SAASA,aAAaC,OAAgB,EAAEC,CAAY;IACvD,MAAM,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,cAAc,EAAEC,IAAI,EAAE,GAAGL;IAExE,MAAMM,SAAiB;QACnBC,UAAU;QACVC,MAAMC,cAAcT;QACpB,GAAIE,0BAA0B;YAAEQ,oBAAoB,CAAC,WAAW,EAAEL,MAAM;QAAC,IAAI,CAAC,CAAC;IACnF;IAEA,IAAIF,cAAc;QACd,MAAMQ,UAAUC,QAAQC,GAAG,CAACC,eAAe;QAC3C,MAAMC,yBAAyBC,IAAAA,oBAAa,EAAC;YAAE,GAAGhB,OAAO;YAAEE,yBAAyB;QAAK;QACzFe,OAAOC,MAAM,CAACZ,QAAQ;YAClBC,UAAU;YACVY,OACIJ,0BAA0B,CAACb,0BACrB;gBAAEkB,MAAM,IAAIC,OAAON;YAAwB,IAC3C;YACV,GAAIX,iBAAiB;gBAAEkB,YAAYjB;YAAK,IAAI,CAAC,CAAC;YAC9C,GAAIM,UAAU;gBAAEY,YAAYZ;YAAQ,IAAI,CAAC,CAAC;QAC9C;IACJ;IAEA,OAAO;QAAEL;IAAO;AACpB;AAEA,SAASG,cAAcT,OAAgB;IACnC,MAAM,EAAEwB,WAAW,EAAEtB,uBAAuB,EAAE,GAAGF;QAElCgB;IAAf,MAAMS,SAAST,CAAAA,iBAAAA,IAAAA,oBAAa,EAAChB,sBAAdgB,4BAAAA,iBAA0B;IACzC,IAAI,OAAOd,4BAA4B,UAAU;QAC7C,MAAM,EAAEI,MAAM,EAAE,GAAGJ;QACnB,IAAII,mBAAAA,6BAAAA,OAAQE,IAAI,EAAE;YACd,OAAOA,aAAI,CAACkB,IAAI,CAACpB,OAAOE,IAAI,EAAEiB;QAClC;IACJ;IAEA,OAAOjB,aAAI,CAACkB,IAAI,CAACd,QAAQe,GAAG,IAAIH,aAAa,UAAUC;AAC3D"}
1
+ {"version":3,"sources":["../../../src/webpack/configs/output-config.ts"],"sourcesContent":["import path from 'path';\nimport { Configuration } from 'webpack';\nimport { Context, Overrides } from './types';\nimport { getBundleType } from './utils';\n\ntype Config = Configuration['output'];\ntype Result = Pick<Configuration, 'output'>;\n\nexport function outputConfig(context: Context, _: Overrides): Result {\n const { emitExposedDependencies, isProduction, isWebComponent, name } = context;\n\n const output: Config = {\n filename: '[name].bundle.js',\n path: getOutputPath(context),\n clean: getClean(context),\n ...(emitExposedDependencies ? { chunkLoadingGlobal: `sharedChunk${name}` } : {}),\n };\n\n if (isProduction) {\n const cdnPath = process.env.CLIENT_CDN_PATH;\n Object.assign(output, {\n filename: '[name].[contenthash].bundle.js',\n ...(isWebComponent ? { uniqueName: name } : {}),\n ...(cdnPath ? { publicPath: cdnPath } : {}),\n });\n }\n\n return { output };\n}\n\nfunction getClean(context: Context): NonNullable<Config>['clean'] {\n const { emitExposedDependencies } = context;\n if (emitExposedDependencies) {\n return true;\n }\n const exposedDependenciesDir = getBundleType({ ...context, emitExposedDependencies: true });\n return exposedDependenciesDir ? { keep: new RegExp(exposedDependenciesDir) } : true;\n}\n\nfunction getOutputPath(context: Context) {\n const { destination, emitExposedDependencies } = context;\n\n const subdir = getBundleType(context) ?? '';\n if (typeof emitExposedDependencies === 'object') {\n const { output } = emitExposedDependencies;\n if (output?.path) {\n return path.join(output.path, subdir);\n }\n }\n\n return path.join(process.cwd(), destination, 'bundle', subdir);\n}\n"],"names":["outputConfig","context","_","emitExposedDependencies","isProduction","isWebComponent","name","output","filename","path","getOutputPath","clean","getClean","chunkLoadingGlobal","cdnPath","process","env","CLIENT_CDN_PATH","Object","assign","uniqueName","publicPath","exposedDependenciesDir","getBundleType","keep","RegExp","destination","subdir","join","cwd"],"mappings":";;;;+BAQgBA;;;eAAAA;;;6DARC;uBAGa;;;;;;AAKvB,SAASA,aAAaC,OAAgB,EAAEC,CAAY;IACvD,MAAM,EAAEC,uBAAuB,EAAEC,YAAY,EAAEC,cAAc,EAAEC,IAAI,EAAE,GAAGL;IAExE,MAAMM,SAAiB;QACnBC,UAAU;QACVC,MAAMC,cAAcT;QACpBU,OAAOC,SAASX;QAChB,GAAIE,0BAA0B;YAAEU,oBAAoB,CAAC,WAAW,EAAEP,MAAM;QAAC,IAAI,CAAC,CAAC;IACnF;IAEA,IAAIF,cAAc;QACd,MAAMU,UAAUC,QAAQC,GAAG,CAACC,eAAe;QAC3CC,OAAOC,MAAM,CAACZ,QAAQ;YAClBC,UAAU;YACV,GAAIH,iBAAiB;gBAAEe,YAAYd;YAAK,IAAI,CAAC,CAAC;YAC9C,GAAIQ,UAAU;gBAAEO,YAAYP;YAAQ,IAAI,CAAC,CAAC;QAC9C;IACJ;IAEA,OAAO;QAAEP;IAAO;AACpB;AAEA,SAASK,SAASX,OAAgB;IAC9B,MAAM,EAAEE,uBAAuB,EAAE,GAAGF;IACpC,IAAIE,yBAAyB;QACzB,OAAO;IACX;IACA,MAAMmB,yBAAyBC,IAAAA,oBAAa,EAAC;QAAE,GAAGtB,OAAO;QAAEE,yBAAyB;IAAK;IACzF,OAAOmB,yBAAyB;QAAEE,MAAM,IAAIC,OAAOH;IAAwB,IAAI;AACnF;AAEA,SAASZ,cAAcT,OAAgB;IACnC,MAAM,EAAEyB,WAAW,EAAEvB,uBAAuB,EAAE,GAAGF;QAElCsB;IAAf,MAAMI,SAASJ,CAAAA,iBAAAA,IAAAA,oBAAa,EAACtB,sBAAdsB,4BAAAA,iBAA0B;IACzC,IAAI,OAAOpB,4BAA4B,UAAU;QAC7C,MAAM,EAAEI,MAAM,EAAE,GAAGJ;QACnB,IAAII,mBAAAA,6BAAAA,OAAQE,IAAI,EAAE;YACd,OAAOA,aAAI,CAACmB,IAAI,CAACrB,OAAOE,IAAI,EAAEkB;QAClC;IACJ;IAEA,OAAOlB,aAAI,CAACmB,IAAI,CAACb,QAAQc,GAAG,IAAIH,aAAa,UAAUC;AAC3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"assets-manifest-plugin.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/plugins/assets-manifest-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ9C,UAAU,WAAW;IACjB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,qCA+BlE;AAED,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,OAAO,2BAMjE"}
1
+ {"version":3,"file":"assets-manifest-plugin.d.ts","sourceRoot":"","sources":["../../../../src/webpack/configs/plugins/assets-manifest-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ9C,UAAU,WAAW;IACjB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,EAAE,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,qCA+BlE;AASD,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,OAAO,2BAMjE"}
@@ -35,13 +35,13 @@ function assetsManifestPlugin(context, _) {
35
35
  output: 'entrypoints.json',
36
36
  transform (assets) {
37
37
  const getAssetsByType = (type)=>{
38
- return Object.values(assets.entrypoints).map(({ assets })=>{
38
+ return Object.values(assets.entrypoints).flatMap(({ assets })=>{
39
39
  var _assets_type;
40
40
  return (_assets_type = assets[type]) !== null && _assets_type !== void 0 ? _assets_type : [];
41
- }).flat();
41
+ });
42
42
  };
43
43
  return {
44
- css: getAssetsByType('css'),
44
+ css: ensureDesignSystemCssIsFirst(getAssetsByType('css')),
45
45
  js: getAssetsByType('js')
46
46
  };
47
47
  },
@@ -55,6 +55,13 @@ function assetsManifestPlugin(context, _) {
55
55
  }
56
56
  });
57
57
  }
58
+ function ensureDesignSystemCssIsFirst(cssAssets) {
59
+ const offset = cssAssets.findIndex((name)=>name.startsWith('servicetitan'));
60
+ return offset > 0 ? [
61
+ cssAssets[offset],
62
+ ...cssAssets.filter((_, index)=>index !== offset)
63
+ ] : cssAssets;
64
+ }
58
65
  function getExposedDependenciesEntryPoints(context) {
59
66
  const metadataPath = getExposedDependenciesMetadataPath(context);
60
67
  const metadata = (0, _utils1.readJsonSafe)(metadataPath);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/webpack/configs/plugins/assets-manifest-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { WebpackAssetsManifest } from 'webpack-assets-manifest';\nimport { Context, Overrides } from '../types';\nimport { generateMetadata } from '../utils';\nimport { readJsonSafe } from '../../../utils';\n\ninterface Metadata {\n entryPointsPath: string;\n}\n\ninterface EntryPoints {\n css: string[];\n js: string[];\n}\n\nexport function assetsManifestPlugin(context: Context, _: Overrides) {\n if (!(context.isWebComponent || context.emitExposedDependencies)) {\n return;\n }\n\n return new WebpackAssetsManifest({\n entrypoints: true,\n output: 'entrypoints.json',\n transform(assets: {\n entrypoints: Record<string, { assets: Record<string, string[]> }>;\n }): EntryPoints {\n const getAssetsByType = (type: string) => {\n return Object.values(assets.entrypoints)\n .map(({ assets }) => assets[type] ?? [])\n .flat();\n };\n\n return {\n css: getAssetsByType('css'),\n js: getAssetsByType('js'),\n };\n },\n // eslint-disable-next-line @typescript-eslint/require-await\n done: async (manifest: WebpackAssetsManifest) => {\n if (context.emitExposedDependencies) {\n generateExposedDependenciesMetadata(context, manifest);\n } else {\n generateMetadata(context);\n }\n },\n });\n}\n\nexport function getExposedDependenciesEntryPoints(context: Context) {\n const metadataPath = getExposedDependenciesMetadataPath(context);\n const metadata = readJsonSafe<Metadata>(metadataPath);\n if (metadata?.entryPointsPath) {\n return readJsonSafe<EntryPoints>(metadata.entryPointsPath);\n }\n}\n\nfunction generateExposedDependenciesMetadata(context: Context, manifest: WebpackAssetsManifest) {\n const { destination } = context;\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n }\n\n const metadataPath = getExposedDependenciesMetadataPath(context);\n const metadata: Metadata = { entryPointsPath: manifest.getOutputPath() };\n fs.writeFileSync(metadataPath, JSON.stringify(metadata, null, 2), 'utf-8');\n}\n\nfunction getExposedDependenciesMetadataPath({ destination }: Context) {\n return path.join(destination, 'exposed-dependencies-metadata.json');\n}\n"],"names":["assetsManifestPlugin","getExposedDependenciesEntryPoints","context","_","isWebComponent","emitExposedDependencies","WebpackAssetsManifest","entrypoints","output","transform","assets","getAssetsByType","type","Object","values","map","flat","css","js","done","manifest","generateExposedDependenciesMetadata","generateMetadata","metadataPath","getExposedDependenciesMetadataPath","metadata","readJsonSafe","entryPointsPath","destination","fs","existsSync","mkdirSync","recursive","getOutputPath","writeFileSync","JSON","stringify","path","join"],"mappings":";;;;;;;;;;;QAgBgBA;eAAAA;;QAiCAC;eAAAA;;;2DAjDD;6DACE;uCACqB;uBAEL;wBACJ;;;;;;AAWtB,SAASD,qBAAqBE,OAAgB,EAAEC,CAAY;IAC/D,IAAI,CAAED,CAAAA,QAAQE,cAAc,IAAIF,QAAQG,uBAAuB,AAAD,GAAI;QAC9D;IACJ;IAEA,OAAO,IAAIC,4CAAqB,CAAC;QAC7BC,aAAa;QACbC,QAAQ;QACRC,WAAUC,MAET;YACG,MAAMC,kBAAkB,CAACC;gBACrB,OAAOC,OAAOC,MAAM,CAACJ,OAAOH,WAAW,EAClCQ,GAAG,CAAC,CAAC,EAAEL,MAAM,EAAE;wBAAKA;2BAAAA,CAAAA,eAAAA,MAAM,CAACE,KAAK,cAAZF,0BAAAA,eAAgB,EAAE;mBACtCM,IAAI;YACb;YAEA,OAAO;gBACHC,KAAKN,gBAAgB;gBACrBO,IAAIP,gBAAgB;YACxB;QACJ;QACA,4DAA4D;QAC5DQ,MAAM,OAAOC;YACT,IAAIlB,QAAQG,uBAAuB,EAAE;gBACjCgB,oCAAoCnB,SAASkB;YACjD,OAAO;gBACHE,IAAAA,uBAAgB,EAACpB;YACrB;QACJ;IACJ;AACJ;AAEO,SAASD,kCAAkCC,OAAgB;IAC9D,MAAMqB,eAAeC,mCAAmCtB;IACxD,MAAMuB,WAAWC,IAAAA,oBAAY,EAAWH;IACxC,IAAIE,qBAAAA,+BAAAA,SAAUE,eAAe,EAAE;QAC3B,OAAOD,IAAAA,oBAAY,EAAcD,SAASE,eAAe;IAC7D;AACJ;AAEA,SAASN,oCAAoCnB,OAAgB,EAAEkB,QAA+B;IAC1F,MAAM,EAAEQ,WAAW,EAAE,GAAG1B;IACxB,IAAI,CAAC2B,WAAE,CAACC,UAAU,CAACF,cAAc;QAC7BC,WAAE,CAACE,SAAS,CAACH,aAAa;YAAEI,WAAW;QAAK;IAChD;IAEA,MAAMT,eAAeC,mCAAmCtB;IACxD,MAAMuB,WAAqB;QAAEE,iBAAiBP,SAASa,aAAa;IAAG;IACvEJ,WAAE,CAACK,aAAa,CAACX,cAAcY,KAAKC,SAAS,CAACX,UAAU,MAAM,IAAI;AACtE;AAEA,SAASD,mCAAmC,EAAEI,WAAW,EAAW;IAChE,OAAOS,aAAI,CAACC,IAAI,CAACV,aAAa;AAClC"}
1
+ {"version":3,"sources":["../../../../src/webpack/configs/plugins/assets-manifest-plugin.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\nimport { WebpackAssetsManifest } from 'webpack-assets-manifest';\nimport { Context, Overrides } from '../types';\nimport { generateMetadata } from '../utils';\nimport { readJsonSafe } from '../../../utils';\n\ninterface Metadata {\n entryPointsPath: string;\n}\n\ninterface EntryPoints {\n css: string[];\n js: string[];\n}\n\nexport function assetsManifestPlugin(context: Context, _: Overrides) {\n if (!(context.isWebComponent || context.emitExposedDependencies)) {\n return;\n }\n\n return new WebpackAssetsManifest({\n entrypoints: true,\n output: 'entrypoints.json',\n transform(assets: {\n entrypoints: Record<string, { assets: Record<string, string[]> }>;\n }): EntryPoints {\n const getAssetsByType = (type: string) => {\n return Object.values(assets.entrypoints).flatMap(\n ({ assets }) => assets[type] ?? []\n );\n };\n\n return {\n css: ensureDesignSystemCssIsFirst(getAssetsByType('css')),\n js: getAssetsByType('js'),\n };\n },\n // eslint-disable-next-line @typescript-eslint/require-await\n done: async (manifest: WebpackAssetsManifest) => {\n if (context.emitExposedDependencies) {\n generateExposedDependenciesMetadata(context, manifest);\n } else {\n generateMetadata(context);\n }\n },\n });\n}\n\nfunction ensureDesignSystemCssIsFirst(cssAssets: string[]) {\n const offset = cssAssets.findIndex(name => name.startsWith('servicetitan'));\n return offset > 0\n ? [cssAssets[offset], ...cssAssets.filter((_, index) => index !== offset)]\n : cssAssets;\n}\n\nexport function getExposedDependenciesEntryPoints(context: Context) {\n const metadataPath = getExposedDependenciesMetadataPath(context);\n const metadata = readJsonSafe<Metadata>(metadataPath);\n if (metadata?.entryPointsPath) {\n return readJsonSafe<EntryPoints>(metadata.entryPointsPath);\n }\n}\n\nfunction generateExposedDependenciesMetadata(context: Context, manifest: WebpackAssetsManifest) {\n const { destination } = context;\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n }\n\n const metadataPath = getExposedDependenciesMetadataPath(context);\n const metadata: Metadata = { entryPointsPath: manifest.getOutputPath() };\n fs.writeFileSync(metadataPath, JSON.stringify(metadata, null, 2), 'utf-8');\n}\n\nfunction getExposedDependenciesMetadataPath({ destination }: Context) {\n return path.join(destination, 'exposed-dependencies-metadata.json');\n}\n"],"names":["assetsManifestPlugin","getExposedDependenciesEntryPoints","context","_","isWebComponent","emitExposedDependencies","WebpackAssetsManifest","entrypoints","output","transform","assets","getAssetsByType","type","Object","values","flatMap","css","ensureDesignSystemCssIsFirst","js","done","manifest","generateExposedDependenciesMetadata","generateMetadata","cssAssets","offset","findIndex","name","startsWith","filter","index","metadataPath","getExposedDependenciesMetadataPath","metadata","readJsonSafe","entryPointsPath","destination","fs","existsSync","mkdirSync","recursive","getOutputPath","writeFileSync","JSON","stringify","path","join"],"mappings":";;;;;;;;;;;QAgBgBA;eAAAA;;QAwCAC;eAAAA;;;2DAxDD;6DACE;uCACqB;uBAEL;wBACJ;;;;;;AAWtB,SAASD,qBAAqBE,OAAgB,EAAEC,CAAY;IAC/D,IAAI,CAAED,CAAAA,QAAQE,cAAc,IAAIF,QAAQG,uBAAuB,AAAD,GAAI;QAC9D;IACJ;IAEA,OAAO,IAAIC,4CAAqB,CAAC;QAC7BC,aAAa;QACbC,QAAQ;QACRC,WAAUC,MAET;YACG,MAAMC,kBAAkB,CAACC;gBACrB,OAAOC,OAAOC,MAAM,CAACJ,OAAOH,WAAW,EAAEQ,OAAO,CAC5C,CAAC,EAAEL,MAAM,EAAE;wBAAKA;2BAAAA,CAAAA,eAAAA,MAAM,CAACE,KAAK,cAAZF,0BAAAA,eAAgB,EAAE;;YAE1C;YAEA,OAAO;gBACHM,KAAKC,6BAA6BN,gBAAgB;gBAClDO,IAAIP,gBAAgB;YACxB;QACJ;QACA,4DAA4D;QAC5DQ,MAAM,OAAOC;YACT,IAAIlB,QAAQG,uBAAuB,EAAE;gBACjCgB,oCAAoCnB,SAASkB;YACjD,OAAO;gBACHE,IAAAA,uBAAgB,EAACpB;YACrB;QACJ;IACJ;AACJ;AAEA,SAASe,6BAA6BM,SAAmB;IACrD,MAAMC,SAASD,UAAUE,SAAS,CAACC,CAAAA,OAAQA,KAAKC,UAAU,CAAC;IAC3D,OAAOH,SAAS,IACV;QAACD,SAAS,CAACC,OAAO;WAAKD,UAAUK,MAAM,CAAC,CAACzB,GAAG0B,QAAUA,UAAUL;KAAQ,GACxED;AACV;AAEO,SAAStB,kCAAkCC,OAAgB;IAC9D,MAAM4B,eAAeC,mCAAmC7B;IACxD,MAAM8B,WAAWC,IAAAA,oBAAY,EAAWH;IACxC,IAAIE,qBAAAA,+BAAAA,SAAUE,eAAe,EAAE;QAC3B,OAAOD,IAAAA,oBAAY,EAAcD,SAASE,eAAe;IAC7D;AACJ;AAEA,SAASb,oCAAoCnB,OAAgB,EAAEkB,QAA+B;IAC1F,MAAM,EAAEe,WAAW,EAAE,GAAGjC;IACxB,IAAI,CAACkC,WAAE,CAACC,UAAU,CAACF,cAAc;QAC7BC,WAAE,CAACE,SAAS,CAACH,aAAa;YAAEI,WAAW;QAAK;IAChD;IAEA,MAAMT,eAAeC,mCAAmC7B;IACxD,MAAM8B,WAAqB;QAAEE,iBAAiBd,SAASoB,aAAa;IAAG;IACvEJ,WAAE,CAACK,aAAa,CAACX,cAAcY,KAAKC,SAAS,CAACX,UAAU,MAAM,IAAI;AACtE;AAEA,SAASD,mCAAmC,EAAEI,WAAW,EAAW;IAChE,OAAOS,aAAI,CAACC,IAAI,CAACV,aAAa;AAClC"}