@servicetitan/startup 31.4.0 → 31.5.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 (234) hide show
  1. package/dist/cli/commands/build.d.ts +0 -7
  2. package/dist/cli/commands/build.d.ts.map +1 -1
  3. package/dist/cli/commands/build.js +28 -17
  4. package/dist/cli/commands/build.js.map +1 -1
  5. package/dist/cli/commands/bundle-package.d.ts +1 -1
  6. package/dist/cli/commands/bundle-package.d.ts.map +1 -1
  7. package/dist/cli/commands/bundle-package.js +13 -21
  8. package/dist/cli/commands/bundle-package.js.map +1 -1
  9. package/dist/cli/commands/clean.js +1 -1
  10. package/dist/cli/commands/clean.js.map +1 -1
  11. package/dist/cli/commands/eslint.d.ts +0 -1
  12. package/dist/cli/commands/eslint.d.ts.map +1 -1
  13. package/dist/cli/commands/eslint.js +0 -3
  14. package/dist/cli/commands/eslint.js.map +1 -1
  15. package/dist/cli/commands/get-command.d.ts.map +1 -1
  16. package/dist/cli/commands/get-command.js +3 -1
  17. package/dist/cli/commands/get-command.js.map +1 -1
  18. package/dist/cli/commands/get-user-commands.js +3 -2
  19. package/dist/cli/commands/get-user-commands.js.map +1 -1
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/install.js.map +1 -1
  22. package/dist/cli/commands/lint.js.map +1 -1
  23. package/dist/cli/commands/mfe-package-clean.d.ts +3 -4
  24. package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -1
  25. package/dist/cli/commands/mfe-package-clean.js +0 -3
  26. package/dist/cli/commands/mfe-package-clean.js.map +1 -1
  27. package/dist/cli/commands/mfe-package-publish.d.ts +9 -4
  28. package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -1
  29. package/dist/cli/commands/mfe-package-publish.js +70 -47
  30. package/dist/cli/commands/mfe-package-publish.js.map +1 -1
  31. package/dist/cli/commands/mfe-publish.d.ts +3 -3
  32. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  33. package/dist/cli/commands/mfe-publish.js +7 -1
  34. package/dist/cli/commands/mfe-publish.js.map +1 -1
  35. package/dist/cli/commands/prepare-package.d.ts +0 -1
  36. package/dist/cli/commands/prepare-package.d.ts.map +1 -1
  37. package/dist/cli/commands/prepare-package.js +0 -3
  38. package/dist/cli/commands/prepare-package.js.map +1 -1
  39. package/dist/cli/commands/review/review.js.map +1 -1
  40. package/dist/cli/commands/review/rules/require-one-anvil-uikit-contrib-version.js.map +1 -1
  41. package/dist/cli/commands/review/rules/require-one-collection-version.js.map +1 -1
  42. package/dist/cli/commands/review/rules/require-one-uikit-version.js.map +1 -1
  43. package/dist/cli/commands/run-task.d.ts +0 -1
  44. package/dist/cli/commands/run-task.d.ts.map +1 -1
  45. package/dist/cli/commands/run-task.js +0 -3
  46. package/dist/cli/commands/run-task.js.map +1 -1
  47. package/dist/cli/commands/start.d.ts +0 -8
  48. package/dist/cli/commands/start.d.ts.map +1 -1
  49. package/dist/cli/commands/start.js +28 -16
  50. package/dist/cli/commands/start.js.map +1 -1
  51. package/dist/cli/commands/styles-check.d.ts +0 -1
  52. package/dist/cli/commands/styles-check.d.ts.map +1 -1
  53. package/dist/cli/commands/styles-check.js +40 -99
  54. package/dist/cli/commands/styles-check.js.map +1 -1
  55. package/dist/cli/commands/tests.js.map +1 -1
  56. package/dist/cli/commands/types.d.ts +1 -1
  57. package/dist/cli/commands/types.d.ts.map +1 -1
  58. package/dist/cli/commands/upload-sourcemaps.d.ts +22 -0
  59. package/dist/cli/commands/upload-sourcemaps.d.ts.map +1 -0
  60. package/dist/cli/commands/upload-sourcemaps.js +179 -0
  61. package/dist/cli/commands/upload-sourcemaps.js.map +1 -0
  62. package/dist/cli/tasks/cli-task.js.map +1 -1
  63. package/dist/cli/tasks/swc-compile-package.js.map +1 -1
  64. package/dist/cli/tasks/task.js.map +1 -1
  65. package/dist/cli/tasks/tsc-compile-package.js.map +1 -1
  66. package/dist/cli/tasks/tsc-compile.js.map +1 -1
  67. package/dist/cli/utils/bundle.d.ts +4 -1
  68. package/dist/cli/utils/bundle.d.ts.map +1 -1
  69. package/dist/cli/utils/bundle.js +67 -74
  70. package/dist/cli/utils/bundle.js.map +1 -1
  71. package/dist/cli/utils/cli-os.js +2 -2
  72. package/dist/cli/utils/cli-os.js.map +1 -1
  73. package/dist/cli/utils/ts-config.js.map +1 -1
  74. package/dist/utils/find-packages.d.ts.map +1 -1
  75. package/dist/utils/find-packages.js +3 -4
  76. package/dist/utils/find-packages.js.map +1 -1
  77. package/dist/utils/find-up.d.ts +2 -0
  78. package/dist/utils/find-up.d.ts.map +1 -0
  79. package/dist/utils/find-up.js +28 -0
  80. package/dist/utils/find-up.js.map +1 -0
  81. package/dist/utils/get-configuration.d.ts +3 -1
  82. package/dist/utils/get-configuration.d.ts.map +1 -1
  83. package/dist/utils/get-configuration.js +1 -0
  84. package/dist/utils/get-configuration.js.map +1 -1
  85. package/dist/utils/index.d.ts +1 -0
  86. package/dist/utils/index.d.ts.map +1 -1
  87. package/dist/utils/index.js +1 -0
  88. package/dist/utils/index.js.map +1 -1
  89. package/dist/utils/log.js.map +1 -1
  90. package/dist/webpack/configs/cache-config.d.ts +6 -0
  91. package/dist/webpack/configs/cache-config.d.ts.map +1 -0
  92. package/dist/webpack/configs/cache-config.js +52 -0
  93. package/dist/webpack/configs/cache-config.js.map +1 -0
  94. package/dist/webpack/configs/dev-server-config.js +1 -1
  95. package/dist/webpack/configs/dev-server-config.js.map +1 -1
  96. package/dist/webpack/configs/entry.config.d.ts.map +1 -1
  97. package/dist/webpack/configs/entry.config.js +15 -6
  98. package/dist/webpack/configs/entry.config.js.map +1 -1
  99. package/dist/webpack/configs/externals-config.d.ts.map +1 -1
  100. package/dist/webpack/configs/externals-config.js +6 -2
  101. package/dist/webpack/configs/externals-config.js.map +1 -1
  102. package/dist/webpack/configs/index.d.ts +1 -0
  103. package/dist/webpack/configs/index.d.ts.map +1 -1
  104. package/dist/webpack/configs/index.js +1 -0
  105. package/dist/webpack/configs/index.js.map +1 -1
  106. package/dist/webpack/configs/optimization-config.d.ts.map +1 -1
  107. package/dist/webpack/configs/optimization-config.js +7 -11
  108. package/dist/webpack/configs/optimization-config.js.map +1 -1
  109. package/dist/webpack/configs/output-config.d.ts.map +1 -1
  110. package/dist/webpack/configs/output-config.js +25 -4
  111. package/dist/webpack/configs/output-config.js.map +1 -1
  112. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts +6 -0
  113. package/dist/webpack/configs/plugins/assets-manifest-plugin.d.ts.map +1 -1
  114. package/dist/webpack/configs/plugins/assets-manifest-plugin.js +50 -8
  115. package/dist/webpack/configs/plugins/assets-manifest-plugin.js.map +1 -1
  116. package/dist/webpack/configs/plugins/bundle-analyser-plugin.d.ts.map +1 -1
  117. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js +3 -7
  118. package/dist/webpack/configs/plugins/bundle-analyser-plugin.js.map +1 -1
  119. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  120. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +3 -2
  121. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  122. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js +2 -2
  123. package/dist/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.js.map +1 -1
  124. package/dist/webpack/configs/plugins/html-plugin.d.ts +1 -1
  125. package/dist/webpack/configs/plugins/html-plugin.d.ts.map +1 -1
  126. package/dist/webpack/configs/plugins/html-plugin.js +2 -3
  127. package/dist/webpack/configs/plugins/html-plugin.js.map +1 -1
  128. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts +4 -0
  129. package/dist/webpack/configs/plugins/html-tags-plugin.d.ts.map +1 -0
  130. package/dist/webpack/configs/plugins/html-tags-plugin.js +49 -0
  131. package/dist/webpack/configs/plugins/html-tags-plugin.js.map +1 -0
  132. package/dist/webpack/configs/plugins/index.d.ts +2 -0
  133. package/dist/webpack/configs/plugins/index.d.ts.map +1 -1
  134. package/dist/webpack/configs/plugins/index.js +2 -0
  135. package/dist/webpack/configs/plugins/index.js.map +1 -1
  136. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts +4 -0
  137. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.d.ts.map +1 -0
  138. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js +25 -0
  139. package/dist/webpack/configs/plugins/remove-empty-scripts-plugin.js.map +1 -0
  140. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts +1 -0
  141. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -1
  142. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +23 -14
  143. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  144. package/dist/webpack/configs/plugins-config.d.ts.map +1 -1
  145. package/dist/webpack/configs/plugins-config.js +2 -0
  146. package/dist/webpack/configs/plugins-config.js.map +1 -1
  147. package/dist/webpack/configs/rules/css-rules.d.ts.map +1 -1
  148. package/dist/webpack/configs/rules/css-rules.js +13 -18
  149. package/dist/webpack/configs/rules/css-rules.js.map +1 -1
  150. package/dist/webpack/configs/utils/get-bundle-type.d.ts +3 -0
  151. package/dist/webpack/configs/utils/get-bundle-type.d.ts.map +1 -0
  152. package/dist/webpack/configs/utils/get-bundle-type.js +24 -0
  153. package/dist/webpack/configs/utils/get-bundle-type.js.map +1 -0
  154. package/dist/webpack/configs/utils/index.d.ts +1 -0
  155. package/dist/webpack/configs/utils/index.d.ts.map +1 -1
  156. package/dist/webpack/configs/utils/index.js +1 -0
  157. package/dist/webpack/configs/utils/index.js.map +1 -1
  158. package/dist/webpack/create-webpack-config.d.ts.map +1 -1
  159. package/dist/webpack/create-webpack-config.js +37 -48
  160. package/dist/webpack/create-webpack-config.js.map +1 -1
  161. package/dist/webpack/types.d.ts +4 -0
  162. package/dist/webpack/types.d.ts.map +1 -1
  163. package/dist/webpack/utils/index.d.ts +1 -0
  164. package/dist/webpack/utils/index.d.ts.map +1 -1
  165. package/dist/webpack/utils/index.js +1 -0
  166. package/dist/webpack/utils/index.js.map +1 -1
  167. package/dist/webpack/utils/stringify-config.d.ts +2 -0
  168. package/dist/webpack/utils/stringify-config.d.ts.map +1 -0
  169. package/dist/webpack/utils/stringify-config.js +35 -0
  170. package/dist/webpack/utils/stringify-config.js.map +1 -0
  171. package/package.json +16 -14
  172. package/src/cli/commands/__tests__/build.test.ts +19 -2
  173. package/src/cli/commands/__tests__/bundle-package.test.ts +29 -8
  174. package/src/cli/commands/__tests__/clean.test.ts +2 -0
  175. package/src/cli/commands/__tests__/get-user-commands.test.ts +1 -1
  176. package/src/cli/commands/__tests__/mfe-package-publish.test.ts +91 -15
  177. package/src/cli/commands/__tests__/mfe-publish.test.ts +2 -0
  178. package/src/cli/commands/__tests__/start.test.ts +15 -1
  179. package/src/cli/commands/__tests__/styles-check.test.ts +27 -80
  180. package/src/cli/commands/__tests__/upload-sourcemaps.test.ts +127 -0
  181. package/src/cli/commands/build.ts +33 -17
  182. package/src/cli/commands/bundle-package.ts +10 -19
  183. package/src/cli/commands/clean.ts +1 -1
  184. package/src/cli/commands/eslint.ts +0 -4
  185. package/src/cli/commands/get-command.ts +2 -0
  186. package/src/cli/commands/get-user-commands.ts +1 -1
  187. package/src/cli/commands/mfe-package-clean.ts +2 -6
  188. package/src/cli/commands/mfe-package-publish.ts +104 -70
  189. package/src/cli/commands/mfe-publish.ts +8 -5
  190. package/src/cli/commands/prepare-package.ts +0 -4
  191. package/src/cli/commands/run-task.ts +0 -4
  192. package/src/cli/commands/start.ts +22 -5
  193. package/src/cli/commands/styles-check.ts +28 -131
  194. package/src/cli/commands/types.ts +1 -1
  195. package/src/cli/commands/upload-sourcemaps.ts +108 -0
  196. package/src/cli/utils/__tests__/bundle.test.ts +119 -9
  197. package/src/cli/utils/__tests__/cli-os.test.ts +2 -2
  198. package/src/cli/utils/__tests__/compile.test.ts +2 -0
  199. package/src/cli/utils/__tests__/type-check.test.ts +2 -0
  200. package/src/cli/utils/bundle.ts +76 -54
  201. package/src/cli/utils/cli-os.ts +2 -2
  202. package/src/utils/__tests__/get-configuration.test.ts +1 -1
  203. package/src/utils/find-packages.ts +3 -5
  204. package/src/utils/find-up.ts +12 -0
  205. package/src/utils/get-configuration.ts +2 -0
  206. package/src/utils/index.ts +1 -0
  207. package/src/webpack/__mocks__/style-rules.ts +1 -1
  208. package/src/webpack/__tests__/create-webpack-config-shared-dependencies.test.ts +274 -45
  209. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +25 -1
  210. package/src/webpack/__tests__/create-webpack-config.test.ts +9 -57
  211. package/src/webpack/configs/cache-config.ts +37 -0
  212. package/src/webpack/configs/dev-server-config.ts +1 -1
  213. package/src/webpack/configs/entry.config.ts +18 -8
  214. package/src/webpack/configs/externals-config.ts +7 -2
  215. package/src/webpack/configs/index.ts +1 -0
  216. package/src/webpack/configs/optimization-config.ts +7 -11
  217. package/src/webpack/configs/output-config.ts +23 -7
  218. package/src/webpack/configs/plugins/assets-manifest-plugin.ts +46 -10
  219. package/src/webpack/configs/plugins/bundle-analyser-plugin.ts +1 -6
  220. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +3 -2
  221. package/src/webpack/configs/plugins/define-exposed-instance-dependencies-plugin.ts +2 -2
  222. package/src/webpack/configs/plugins/html-plugin.ts +2 -3
  223. package/src/webpack/configs/plugins/html-tags-plugin.ts +28 -0
  224. package/src/webpack/configs/plugins/index.ts +2 -0
  225. package/src/webpack/configs/plugins/remove-empty-scripts-plugin.ts +11 -0
  226. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +27 -16
  227. package/src/webpack/configs/plugins-config.ts +4 -0
  228. package/src/webpack/configs/rules/css-rules.ts +19 -20
  229. package/src/webpack/configs/utils/get-bundle-type.ts +22 -0
  230. package/src/webpack/configs/utils/index.ts +1 -0
  231. package/src/webpack/create-webpack-config.ts +46 -52
  232. package/src/webpack/types.ts +4 -0
  233. package/src/webpack/utils/index.ts +1 -0
  234. package/src/webpack/utils/stringify-config.ts +19 -0
@@ -8,13 +8,6 @@ interface Args {
8
8
  'stat'?: boolean;
9
9
  'use-tsc'?: boolean;
10
10
  }
11
- export declare enum BuildProcesses {
12
- 'Compile' = 0,
13
- 'KendoUILicense' = 1,
14
- 'PreparePackage' = 2,
15
- 'TypeCheck' = 3,
16
- 'BundlePackage' = 4
17
- }
18
11
  export declare class Build implements Command {
19
12
  private args;
20
13
  readonly greedy = true;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,oBAAY,cAAc;IACtB,SAAS,IAAA;IACT,gBAAgB,IAAA;IAChB,gBAAgB,IAAA;IAChB,WAAW,IAAA;IACX,eAAe,IAAA;CAClB;AAED,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;IAFxB,QAAQ,CAAC,MAAM,QAAQ;gBAEH,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAmEhB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/build.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,UAAU,IAAI;IACV,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAWD,qBAAa,KAAM,YAAW,OAAO;IAGrB,OAAO,CAAC,IAAI;IAFxB,QAAQ,CAAC,MAAM,QAAQ;gBAEH,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAkFhB"}
@@ -2,18 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get Build () {
5
+ Object.defineProperty(exports, "Build", {
6
+ enumerable: true,
7
+ get: function() {
13
8
  return Build;
14
- },
15
- get BuildProcesses () {
16
- return BuildProcesses;
17
9
  }
18
10
  });
19
11
  const _utils = require("../../utils");
@@ -46,9 +38,10 @@ var BuildProcesses = /*#__PURE__*/ function(BuildProcesses) {
46
38
  BuildProcesses[BuildProcesses["KendoUILicense"] = 1] = "KendoUILicense";
47
39
  BuildProcesses[BuildProcesses["PreparePackage"] = 2] = "PreparePackage";
48
40
  BuildProcesses[BuildProcesses["TypeCheck"] = 3] = "TypeCheck";
49
- BuildProcesses[BuildProcesses["BundlePackage"] = 4] = "BundlePackage";
41
+ BuildProcesses[BuildProcesses["BundleExposedDependencies"] = 4] = "BundleExposedDependencies";
42
+ BuildProcesses[BuildProcesses["BundlePackage"] = 5] = "BundlePackage";
50
43
  return BuildProcesses;
51
- }({});
44
+ }(BuildProcesses || {});
52
45
  class Build {
53
46
  description() {
54
47
  return 'build project for production';
@@ -76,6 +69,7 @@ class Build {
76
69
  process.env.CLIENT_CDN_PATH = this.args['cdn-path'];
77
70
  }
78
71
  const scope = packages.map(({ name })=>name);
72
+ const webpackScope = packages.filter(({ type })=>type === _utils.PackageType.Webpack).map(({ name })=>name);
79
73
  const processTree = new _utils1.ProcessTree();
80
74
  processTree.add(0, ()=>(0, _utils1.compile)({
81
75
  packages: scope,
@@ -95,7 +89,26 @@ class Build {
95
89
  ]
96
90
  });
97
91
  processTree.add(4, ()=>{
98
- const webpackScope = packages.filter(({ type })=>type === _utils.PackageType.Webpack).map(({ name })=>name);
92
+ if (webpackScope.length === 0) {
93
+ return Promise.resolve();
94
+ }
95
+ return (0, _utils1.lernaExec)({
96
+ 'cmd': 'startup bundle-package',
97
+ 'scope': webpackScope,
98
+ 'parallel': true,
99
+ 'stream': true,
100
+ '--': [
101
+ '--exposed-dependencies'
102
+ ]
103
+ });
104
+ }, {
105
+ dependsOn: [
106
+ 0,
107
+ 1,
108
+ 2
109
+ ]
110
+ });
111
+ processTree.add(5, ()=>{
99
112
  if (webpackScope.length === 0) {
100
113
  return Promise.resolve();
101
114
  }
@@ -117,9 +130,7 @@ class Build {
117
130
  });
118
131
  }, {
119
132
  dependsOn: [
120
- 0,
121
- 1,
122
- 2
133
+ 4
123
134
  ]
124
135
  });
125
136
  await processTree.run();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile, lernaExec, typeCheck, ProcessTree } from '../utils';\nimport { kendoUILicense } from './kendo-ui-license';\nimport { Command } from './types';\n\ninterface Args {\n 'cdn-path'?: string;\n 'code-coverage'?: boolean;\n 'config'?: string;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'stat'?: boolean;\n 'use-tsc'?: boolean;\n}\n\nexport enum BuildProcesses {\n 'Compile',\n 'KendoUILicense',\n 'PreparePackage',\n 'TypeCheck',\n 'BundlePackage',\n}\n\nexport class Build implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'build project for production';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n if (this.args['cdn-path']) {\n process.env.CLIENT_CDN_PATH = this.args['cdn-path'];\n }\n\n const scope = packages.map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof BuildProcesses>();\n\n processTree.add(BuildProcesses.Compile, () => compile({ packages: scope, useTsc }));\n processTree.add(BuildProcesses.KendoUILicense, () => kendoUILicense());\n processTree.add(BuildProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(BuildProcesses.TypeCheck, () => typeCheck({ packages: scope }), {\n dependsOn: [BuildProcesses.PreparePackage],\n });\n processTree.add(\n BuildProcesses.BundlePackage,\n () => {\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'stream': true,\n '--': [\n ...[this.args.config ? `--config \"${this.args.config}\"` : undefined],\n ...[this.args['code-coverage'] ? '--code-coverage' : undefined],\n ...[this.args.stat ? '--stat' : undefined],\n ].filter(item => !!item) as string[],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Build","BuildProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","process","env","CLIENT_CDN_PATH","map","name","processTree","ProcessTree","add","compile","kendoUILicense","lernaExec","cmd","stream","typeCheck","dependsOn","webpackScope","filter","Promise","resolve","config","undefined","stat","item","run","constructor","greedy"],"mappings":";;;;;;;;;;;QAuBaA;eAAAA;;QARDC;eAAAA;;;uBAfwC;wBACkB;gCACvC;;;;;;;;;;;;;;;;;;;;;;;AAaxB,IAAA,AAAKA,wCAAAA;;;;;;WAAAA;;AAQL,MAAMD;IAKTE,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;QACZC,IAAAA,iBAAS,EAAC,IAAI,CAACC,IAAI,EAAE;YAAEC,UAAU;gBAAC;gBAAa;aAA0B;QAAC;QAE1E,MAAMC,SAAS,IAAI,CAACF,IAAI,CAAC,UAAU;QAEnC,MAAMG,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACL,IAAI,CAACK,KAAK;YACtBC,QAAQ,IAAI,CAACN,IAAI,CAACM,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QACA,IAAIP,SAASQ,MAAM,KAAK,GAAG;YACvB;QACJ;QAEA,IAAI,IAAI,CAACX,IAAI,CAAC,WAAW,EAAE;YACvBY,QAAQC,GAAG,CAACC,eAAe,GAAG,IAAI,CAACd,IAAI,CAAC,WAAW;QACvD;QAEA,MAAMK,QAAQF,SAASY,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;QAEzC,MAAMC,cAAc,IAAIC,mBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAMC,IAAAA,eAAO,EAAC;gBAAEjB,UAAUE;gBAAOH;YAAO;QAChFe,YAAYE,GAAG,IAAgC,IAAME,IAAAA,8BAAc;QACnEJ,YAAYE,GAAG,IAAgC,IAC3CG,IAAAA,iBAAS,EAAC;gBACNC,KAAK;gBACLlB;gBACAmB,QAAQ;YACZ;QAEJP,YAAYE,GAAG,IAA2B,IAAMM,IAAAA,iBAAS,EAAC;gBAAEtB,UAAUE;YAAM,IAAI;YAC5EqB,WAAW;;aAA+B;QAC9C;QACAT,YAAYE,GAAG,IAEX;YACI,MAAMQ,eAAexB,SAChByB,MAAM,CAAC,CAAC,EAAErB,IAAI,EAAE,GAAKA,SAASC,kBAAW,CAACE,OAAO,EACjDK,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;YAEvB,IAAIW,aAAahB,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YAEA,OAAOR,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASK;gBACT,UAAU;gBACV,MAAM;uBACC;wBAAC,IAAI,CAAC3B,IAAI,CAAC+B,MAAM,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC/B,IAAI,CAAC+B,MAAM,CAAC,CAAC,CAAC,GAAGC;qBAAU;uBACjE;wBAAC,IAAI,CAAChC,IAAI,CAAC,gBAAgB,GAAG,oBAAoBgC;qBAAU;uBAC5D;wBAAC,IAAI,CAAChC,IAAI,CAACiC,IAAI,GAAG,WAAWD;qBAAU;iBAC7C,CAACJ,MAAM,CAACM,CAAAA,OAAQ,CAAC,CAACA;YACvB;QACJ,GACA;YACIR,WAAW;;;;aAIV;QACL;QAGJ,MAAMT,YAAYkB,GAAG;IACzB;IAzEAC,YAAY,AAAQpC,IAAU,CAAE;;QAFhC,uBAASqC,UAAT,KAAA;aAEoBrC,OAAAA;aAFXqC,SAAS;IAEe;AA0ErC"}
1
+ {"version":3,"sources":["../../../src/cli/commands/build.ts"],"sourcesContent":["import { getPackages, logErrors, PackageType } from '../../utils';\nimport { checkArgs, compile, lernaExec, typeCheck, ProcessTree } from '../utils';\nimport { kendoUILicense } from './kendo-ui-license';\nimport { Command } from './types';\n\ninterface Args {\n 'cdn-path'?: string;\n 'code-coverage'?: boolean;\n 'config'?: string;\n 'ignore'?: string | string[];\n 'scope'?: string | string[];\n 'stat'?: boolean;\n 'use-tsc'?: boolean;\n}\n\nenum BuildProcesses {\n Compile,\n KendoUILicense,\n PreparePackage,\n TypeCheck,\n BundleExposedDependencies,\n BundlePackage,\n}\n\nexport class Build implements Command {\n readonly greedy = true;\n\n constructor(private args: Args) {}\n\n description() {\n return 'build project for production';\n }\n\n @logErrors\n async execute() {\n checkArgs(this.args, { obsolete: ['--esbuild', '--experimental-bundlers'] });\n\n const useTsc = this.args['use-tsc'];\n\n const packages = getPackages({\n scope: this.args.scope,\n ignore: this.args.ignore,\n type: [PackageType.TSC, PackageType.Webpack],\n });\n if (packages.length === 0) {\n return;\n }\n\n if (this.args['cdn-path']) {\n process.env.CLIENT_CDN_PATH = this.args['cdn-path'];\n }\n\n const scope = packages.map(({ name }) => name);\n const webpackScope = packages\n .filter(({ type }) => type === PackageType.Webpack)\n .map(({ name }) => name);\n\n const processTree = new ProcessTree<typeof BuildProcesses>();\n\n processTree.add(BuildProcesses.Compile, () => compile({ packages: scope, useTsc }));\n processTree.add(BuildProcesses.KendoUILicense, () => kendoUILicense());\n processTree.add(BuildProcesses.PreparePackage, () =>\n lernaExec({\n cmd: 'startup prepare-package',\n scope,\n stream: true,\n })\n );\n processTree.add(BuildProcesses.TypeCheck, () => typeCheck({ packages: scope }), {\n dependsOn: [BuildProcesses.PreparePackage],\n });\n processTree.add(\n BuildProcesses.BundleExposedDependencies,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'parallel': true,\n 'stream': true,\n '--': ['--exposed-dependencies'],\n });\n },\n {\n dependsOn: [\n BuildProcesses.Compile,\n BuildProcesses.KendoUILicense,\n BuildProcesses.PreparePackage,\n ],\n }\n );\n processTree.add(\n BuildProcesses.BundlePackage,\n () => {\n if (webpackScope.length === 0) {\n return Promise.resolve();\n }\n\n return lernaExec({\n 'cmd': 'startup bundle-package',\n 'scope': webpackScope,\n 'stream': true,\n '--': [\n ...[this.args.config ? `--config \"${this.args.config}\"` : undefined],\n ...[this.args['code-coverage'] ? '--code-coverage' : undefined],\n ...[this.args.stat ? '--stat' : undefined],\n ].filter(item => !!item) as string[],\n });\n },\n { dependsOn: [BuildProcesses.BundleExposedDependencies] }\n );\n\n await processTree.run();\n }\n}\n"],"names":["Build","BuildProcesses","description","execute","checkArgs","args","obsolete","useTsc","packages","getPackages","scope","ignore","type","PackageType","TSC","Webpack","length","process","env","CLIENT_CDN_PATH","map","name","webpackScope","filter","processTree","ProcessTree","add","compile","kendoUILicense","lernaExec","cmd","stream","typeCheck","dependsOn","Promise","resolve","config","undefined","stat","item","run","greedy"],"mappings":";;;;+BAwBaA;;;eAAAA;;;uBAxBuC;wBACkB;gCACvC;;;;;;;;;;;;;;;;;;;;;;;AAa/B,IAAA,AAAKC,wCAAAA;;;;;;;WAAAA;EAAAA;AASE,MAAMD;IAKTE,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;QACZC,IAAAA,iBAAS,EAAC,IAAI,CAACC,IAAI,EAAE;YAAEC,UAAU;gBAAC;gBAAa;aAA0B;QAAC;QAE1E,MAAMC,SAAS,IAAI,CAACF,IAAI,CAAC,UAAU;QAEnC,MAAMG,WAAWC,IAAAA,kBAAW,EAAC;YACzBC,OAAO,IAAI,CAACL,IAAI,CAACK,KAAK;YACtBC,QAAQ,IAAI,CAACN,IAAI,CAACM,MAAM;YACxBC,MAAM;gBAACC,kBAAW,CAACC,GAAG;gBAAED,kBAAW,CAACE,OAAO;aAAC;QAChD;QACA,IAAIP,SAASQ,MAAM,KAAK,GAAG;YACvB;QACJ;QAEA,IAAI,IAAI,CAACX,IAAI,CAAC,WAAW,EAAE;YACvBY,QAAQC,GAAG,CAACC,eAAe,GAAG,IAAI,CAACd,IAAI,CAAC,WAAW;QACvD;QAEA,MAAMK,QAAQF,SAASY,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;QACzC,MAAMC,eAAed,SAChBe,MAAM,CAAC,CAAC,EAAEX,IAAI,EAAE,GAAKA,SAASC,kBAAW,CAACE,OAAO,EACjDK,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;QAEvB,MAAMG,cAAc,IAAIC,mBAAW;QAEnCD,YAAYE,GAAG,IAAyB,IAAMC,IAAAA,eAAO,EAAC;gBAAEnB,UAAUE;gBAAOH;YAAO;QAChFiB,YAAYE,GAAG,IAAgC,IAAME,IAAAA,8BAAc;QACnEJ,YAAYE,GAAG,IAAgC,IAC3CG,IAAAA,iBAAS,EAAC;gBACNC,KAAK;gBACLpB;gBACAqB,QAAQ;YACZ;QAEJP,YAAYE,GAAG,IAA2B,IAAMM,IAAAA,iBAAS,EAAC;gBAAExB,UAAUE;YAAM,IAAI;YAC5EuB,WAAW;;aAA+B;QAC9C;QACAT,YAAYE,GAAG,IAEX;YACI,IAAIJ,aAAaN,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YACA,OAAON,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASP;gBACT,YAAY;gBACZ,UAAU;gBACV,MAAM;oBAAC;iBAAyB;YACpC;QACJ,GACA;YACIW,WAAW;;;;aAIV;QACL;QAEJT,YAAYE,GAAG,IAEX;YACI,IAAIJ,aAAaN,MAAM,KAAK,GAAG;gBAC3B,OAAOkB,QAAQC,OAAO;YAC1B;YAEA,OAAON,IAAAA,iBAAS,EAAC;gBACb,OAAO;gBACP,SAASP;gBACT,UAAU;gBACV,MAAM;uBACC;wBAAC,IAAI,CAACjB,IAAI,CAAC+B,MAAM,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC/B,IAAI,CAAC+B,MAAM,CAAC,CAAC,CAAC,GAAGC;qBAAU;uBACjE;wBAAC,IAAI,CAAChC,IAAI,CAAC,gBAAgB,GAAG,oBAAoBgC;qBAAU;uBAC5D;wBAAC,IAAI,CAAChC,IAAI,CAACiC,IAAI,GAAG,WAAWD;qBAAU;iBAC7C,CAACd,MAAM,CAACgB,CAAAA,OAAQ,CAAC,CAACA;YACvB;QACJ,GACA;YAAEN,WAAW;;aAA0C;QAAC;QAG5D,MAAMT,YAAYgB,GAAG;IACzB;IAxFA,YAAY,AAAQnC,IAAU,CAAE;;QAFhC,uBAASoC,UAAT,KAAA;aAEoBpC,OAAAA;aAFXoC,SAAS;IAEe;AAyFrC"}
@@ -2,13 +2,13 @@ import { Command } from '.';
2
2
  interface Args {
3
3
  'config'?: string;
4
4
  'code-coverage'?: boolean;
5
+ 'exposed-dependencies'?: boolean;
5
6
  'stat'?: boolean;
6
7
  'watch'?: boolean;
7
8
  }
8
9
  export declare class BundlePackage implements Command {
9
10
  private args;
10
11
  constructor(args: Args);
11
- description(): undefined;
12
12
  execute(): Promise<void>;
13
13
  }
14
14
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAsBhB"}
1
+ {"version":3,"file":"bundle-package.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/bundle-package.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,IAAI;IACV,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAkBhB"}
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "BundlePackage", {
8
8
  return BundlePackage;
9
9
  }
10
10
  });
11
- const _path = /*#__PURE__*/ _interop_require_default(require("path"));
12
11
  const _utils = require("../../utils");
13
12
  const _utils1 = require("../utils");
14
13
  function _define_property(obj, key, value) {
@@ -24,11 +23,6 @@ function _define_property(obj, key, value) {
24
23
  }
25
24
  return obj;
26
25
  }
27
- function _interop_require_default(obj) {
28
- return obj && obj.__esModule ? obj : {
29
- default: obj
30
- };
31
- }
32
26
  function _ts_decorate(decorators, target, key, desc) {
33
27
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
34
28
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -39,26 +33,24 @@ function _ts_metadata(k, v) {
39
33
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
40
34
  }
41
35
  class BundlePackage {
42
- description() {
43
- return undefined;
44
- }
45
36
  async execute() {
46
37
  const { config, stat = false, watch } = this.args;
47
- if ((0, _utils1.getModuleType)(_path.default.join(process.cwd(), './tsconfig.json')) !== 'esnext') {
48
- _utils.log.warning('\x1b[31m', 'It\'s recommended to use the "esnext" option for the "compilerOptions.module" in the "tsconfig.json" for the Webpack packages!', '\x1b[0m');
38
+ if ((0, _utils1.getModuleType)((0, _utils.getTsConfig)()) !== 'esnext') {
39
+ _utils.log.warning('webpack packages should set compilerOptions.module to "esnext" in tsconfig.json');
49
40
  }
41
+ const emitExposedDependencies = this.args['exposed-dependencies'];
50
42
  const options = {
51
- config,
52
- codeCoverage: this.args['code-coverage']
43
+ ...emitExposedDependencies ? {} : {
44
+ config
45
+ },
46
+ codeCoverage: this.args['code-coverage'],
47
+ emitExposedDependencies
53
48
  };
54
- if (!watch) {
55
- await (0, _utils1.bundle)({
56
- buildStat: stat,
57
- ...options
58
- });
59
- } else {
60
- await (0, _utils1.bundleWatch)(options);
61
- }
49
+ await (0, _utils1.bundle)({
50
+ buildStat: stat,
51
+ ...options,
52
+ watch
53
+ });
62
54
  }
63
55
  constructor(args){
64
56
  _define_property(this, "args", void 0);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/bundle-package.ts"],"sourcesContent":["import path from 'path';\n\nimport { log, logErrors } from '../../utils';\nimport { bundle, bundleWatch, getModuleType } from '../utils';\nimport { Command } from '.';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'stat'?: boolean;\n 'watch'?: boolean;\n}\n\nexport class BundlePackage implements Command {\n constructor(private args: Args) {}\n\n description() {\n return undefined;\n }\n\n @logErrors\n async execute() {\n const { config, stat = false, watch } = this.args;\n\n if (getModuleType(path.join(process.cwd(), './tsconfig.json')) !== 'esnext') {\n log.warning(\n '\\x1b[31m',\n 'It\\'s recommended to use the \"esnext\" option for the \"compilerOptions.module\" in the \"tsconfig.json\" for the Webpack packages!',\n '\\x1b[0m'\n );\n }\n\n const options = {\n config,\n codeCoverage: this.args['code-coverage'],\n };\n\n if (!watch) {\n await bundle({ buildStat: stat, ...options });\n } else {\n await bundleWatch(options);\n }\n }\n}\n"],"names":["BundlePackage","description","undefined","execute","config","stat","watch","args","getModuleType","path","join","process","cwd","log","warning","options","codeCoverage","bundle","buildStat","bundleWatch","constructor"],"mappings":";;;;+BAaaA;;;eAAAA;;;6DAbI;uBAEc;wBACoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAU5C,MAAMA;IAGTC,cAAc;QACV,OAAOC;IACX;IAEA,MACMC,UAAU;QACZ,MAAM,EAAEC,MAAM,EAAEC,OAAO,KAAK,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;QAEjD,IAAIC,IAAAA,qBAAa,EAACC,aAAI,CAACC,IAAI,CAACC,QAAQC,GAAG,IAAI,wBAAwB,UAAU;YACzEC,UAAG,CAACC,OAAO,CACP,YACA,kIACA;QAER;QAEA,MAAMC,UAAU;YACZX;YACAY,cAAc,IAAI,CAACT,IAAI,CAAC,gBAAgB;QAC5C;QAEA,IAAI,CAACD,OAAO;YACR,MAAMW,IAAAA,cAAM,EAAC;gBAAEC,WAAWb;gBAAM,GAAGU,OAAO;YAAC;QAC/C,OAAO;YACH,MAAMI,IAAAA,mBAAW,EAACJ;QACtB;IACJ;IA5BAK,YAAY,AAAQb,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AA6BrC"}
1
+ {"version":3,"sources":["../../../src/cli/commands/bundle-package.ts"],"sourcesContent":["import { getTsConfig, log, logErrors } from '../../utils';\nimport { bundle, getModuleType } from '../utils';\nimport { Command } from '.';\n\ninterface Args {\n 'config'?: string;\n 'code-coverage'?: boolean;\n 'exposed-dependencies'?: boolean;\n 'stat'?: boolean;\n 'watch'?: boolean;\n}\n\nexport class BundlePackage implements Command {\n constructor(private args: Args) {}\n\n @logErrors\n async execute() {\n const { config, stat = false, watch } = this.args;\n\n if (getModuleType(getTsConfig()) !== 'esnext') {\n log.warning(\n 'webpack packages should set compilerOptions.module to \"esnext\" in tsconfig.json'\n );\n }\n\n const emitExposedDependencies = this.args['exposed-dependencies'];\n const options: Parameters<typeof bundle>[0] = {\n ...(emitExposedDependencies ? {} : { config }),\n codeCoverage: this.args['code-coverage'],\n emitExposedDependencies,\n };\n\n await bundle({ buildStat: stat, ...options, watch });\n }\n}\n"],"names":["BundlePackage","execute","config","stat","watch","args","getModuleType","getTsConfig","log","warning","emitExposedDependencies","options","codeCoverage","bundle","buildStat"],"mappings":";;;;+BAYaA;;;eAAAA;;;uBAZ+B;wBACN;;;;;;;;;;;;;;;;;;;;;;;AAW/B,MAAMA;IAGT,MACMC,UAAU;QACZ,MAAM,EAAEC,MAAM,EAAEC,OAAO,KAAK,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;QAEjD,IAAIC,IAAAA,qBAAa,EAACC,IAAAA,kBAAW,SAAQ,UAAU;YAC3CC,UAAG,CAACC,OAAO,CACP;QAER;QAEA,MAAMC,0BAA0B,IAAI,CAACL,IAAI,CAAC,uBAAuB;QACjE,MAAMM,UAAwC;YAC1C,GAAID,0BAA0B,CAAC,IAAI;gBAAER;YAAO,CAAC;YAC7CU,cAAc,IAAI,CAACP,IAAI,CAAC,gBAAgB;YACxCK;QACJ;QAEA,MAAMG,IAAAA,cAAM,EAAC;YAAEC,WAAWX;YAAM,GAAGQ,OAAO;YAAEP;QAAM;IACtD;IApBA,YAAY,AAAQC,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAqBrC"}
@@ -21,7 +21,7 @@ function _ts_metadata(k, v) {
21
21
  }
22
22
  class Clean {
23
23
  description() {
24
- return 'resets project to fresh state';
24
+ return 'reset project to fresh state';
25
25
  }
26
26
  async execute() {
27
27
  [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { exec, execSync } from 'child_process';\nimport { log, logErrors } from '../../utils';\nimport { Command } from './types';\n\nexport class Clean implements Command {\n description() {\n return 'resets project to fresh state';\n }\n\n @logErrors\n async execute() {\n ['npx nx reset', 'npx jest --clearCache', 'npm cache clear --force'].forEach(command => {\n log.info(`Running: ${command}`);\n execSync(command, { stdio: ['ignore', 'ignore', 'inherit'] });\n });\n\n // Use exec() to avoid error when startup dependencies are deleted while startup is running\n const command = 'git clean -fdX';\n log.info(`Running: ${command}`);\n exec(command);\n\n return Promise.resolve();\n }\n}\n"],"names":["Clean","description","execute","forEach","command","log","info","execSync","stdio","exec","Promise","resolve"],"mappings":";;;;+BAIaA;;;eAAAA;;;+BAJkB;uBACA;;;;;;;;;;AAGxB,MAAMA;IACTC,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;QACZ;YAAC;YAAgB;YAAyB;SAA0B,CAACC,OAAO,CAACC,CAAAA;YACzEC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;YAC9BG,IAAAA,uBAAQ,EAACH,SAAS;gBAAEI,OAAO;oBAAC;oBAAU;oBAAU;iBAAU;YAAC;QAC/D;QAEA,2FAA2F;QAC3F,MAAMJ,UAAU;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;QAC9BK,IAAAA,mBAAI,EAACL;QAEL,OAAOM,QAAQC,OAAO;IAC1B;AACJ"}
1
+ {"version":3,"sources":["../../../src/cli/commands/clean.ts"],"sourcesContent":["import { exec, execSync } from 'child_process';\nimport { log, logErrors } from '../../utils';\nimport { Command } from './types';\n\nexport class Clean implements Command {\n description() {\n return 'reset project to fresh state';\n }\n\n @logErrors\n async execute() {\n ['npx nx reset', 'npx jest --clearCache', 'npm cache clear --force'].forEach(command => {\n log.info(`Running: ${command}`);\n execSync(command, { stdio: ['ignore', 'ignore', 'inherit'] });\n });\n\n // Use exec() to avoid error when startup dependencies are deleted while startup is running\n const command = 'git clean -fdX';\n log.info(`Running: ${command}`);\n exec(command);\n\n return Promise.resolve();\n }\n}\n"],"names":["Clean","description","execute","forEach","command","log","info","execSync","stdio","exec","Promise","resolve"],"mappings":";;;;+BAIaA;;;eAAAA;;;+BAJkB;uBACA;;;;;;;;;;AAGxB,MAAMA;IACTC,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;QACZ;YAAC;YAAgB;YAAyB;SAA0B,CAACC,OAAO,CAACC,CAAAA;YACzEC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;YAC9BG,IAAAA,uBAAQ,EAACH,SAAS;gBAAEI,OAAO;oBAAC;oBAAU;oBAAU;iBAAU;YAAC;QAC/D;QAEA,2FAA2F;QAC3F,MAAMJ,UAAU;QAChBC,UAAG,CAACC,IAAI,CAAC,CAAC,SAAS,EAAEF,SAAS;QAC9BK,IAAAA,mBAAI,EAACL;QAEL,OAAOM,QAAQC,OAAO;IAC1B;AACJ"}
@@ -6,7 +6,6 @@ interface Args {
6
6
  export declare class ESLintCommand implements Command {
7
7
  private args;
8
8
  constructor(args: Args);
9
- description(): undefined;
10
9
  execute(): Promise<void>;
11
10
  }
12
11
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAI5B,UAAU,IAAI;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAIhB"}
1
+ {"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/eslint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAI5B,UAAU,IAAI;IAEV,CAAC,EAAE,MAAM,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,aAAc,YAAW,OAAO;IAC7B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGxB,OAAO;CAIhB"}
@@ -33,9 +33,6 @@ function _ts_metadata(k, v) {
33
33
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
34
  }
35
35
  class ESLintCommand {
36
- description() {
37
- return undefined;
38
- }
39
36
  async execute() {
40
37
  const { _: paths, fix } = this.args;
41
38
  await (0, _utils1.eslint)({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/eslint.ts"],"sourcesContent":["import { Command } from '.';\nimport { logErrors } from '../../utils';\nimport { eslint } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n fix?: boolean;\n}\n\nexport class ESLintCommand implements Command {\n constructor(private args: Args) {}\n\n description() {\n return undefined;\n }\n\n @logErrors\n async execute() {\n const { _: paths, fix } = this.args;\n await eslint({ fix, paths });\n }\n}\n"],"names":["ESLintCommand","description","undefined","execute","_","paths","fix","args","eslint","constructor"],"mappings":";;;;+BAUaA;;;eAAAA;;;uBATa;wBACH;;;;;;;;;;;;;;;;;;;;;;;AAQhB,MAAMA;IAGTC,cAAc;QACV,OAAOC;IACX;IAEA,MACMC,UAAU;QACZ,MAAM,EAAEC,GAAGC,KAAK,EAAEC,GAAG,EAAE,GAAG,IAAI,CAACC,IAAI;QACnC,MAAMC,IAAAA,cAAM,EAAC;YAAEF;YAAKD;QAAM;IAC9B;IAVAI,YAAY,AAAQF,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAWrC"}
1
+ {"version":3,"sources":["../../../src/cli/commands/eslint.ts"],"sourcesContent":["import { Command } from '.';\nimport { logErrors } from '../../utils';\nimport { eslint } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n fix?: boolean;\n}\n\nexport class ESLintCommand implements Command {\n constructor(private args: Args) {}\n\n @logErrors\n async execute() {\n const { _: paths, fix } = this.args;\n await eslint({ fix, paths });\n }\n}\n"],"names":["ESLintCommand","execute","_","paths","fix","args","eslint"],"mappings":";;;;+BAUaA;;;eAAAA;;;uBATa;wBACH;;;;;;;;;;;;;;;;;;;;;;;AAQhB,MAAMA;IAGT,MACMC,UAAU;QACZ,MAAM,EAAEC,GAAGC,KAAK,EAAEC,GAAG,EAAE,GAAG,IAAI,CAACC,IAAI;QACnC,MAAMC,IAAAA,cAAM,EAAC;YAAEF;YAAKD;QAAM;IAC9B;IANA,YAAY,AAAQE,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAOrC"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoB1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAuB3C,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAE1E"}
1
+ {"version":3,"file":"get-command.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoB1C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAyB3C,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CAE1E"}
@@ -27,6 +27,7 @@ const _runtask = require("./run-task");
27
27
  const _start = require("./start");
28
28
  const _stylescheck = require("./styles-check");
29
29
  const _tests = require("./tests");
30
+ const _uploadsourcemaps = require("./upload-sourcemaps");
30
31
  const commands = {
31
32
  [_utils.CommandName.build]: _build.Build,
32
33
  [_utils.CommandName['bundle-package']]: _bundlepackage.BundlePackage,
@@ -45,7 +46,8 @@ const commands = {
45
46
  [_utils.CommandName.start]: _start.Start,
46
47
  [_utils.CommandName['styles-check']]: _stylescheck.StylesCheck,
47
48
  [_utils.CommandName.test]: _tests.Tests,
48
- [_utils.CommandName.task]: _runtask.RunTask
49
+ [_utils.CommandName.task]: _runtask.RunTask,
50
+ [_utils.CommandName['upload-sourcemaps']]: _uploadsourcemaps.UploadSourcemaps
49
51
  };
50
52
  function getCommand(name) {
51
53
  return commands[name];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\n\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport { Clean } from './clean';\nimport { ConvertEslintConfig } from './convert-eslint-config';\nimport { ESLintCommand } from './eslint';\nimport { Init } from './init';\nimport { Install } from './install';\nimport { KendoUILicense } from './kendo-ui-license';\nimport { Lint } from './lint';\nimport { MFEPackageClean } from './mfe-package-clean';\nimport { MFEPackagePublish } from './mfe-package-publish';\nimport { MFEPublish } from './mfe-publish';\nimport { PreparePackage } from './prepare-package';\nimport { Review } from './review';\nimport { RunTask } from './run-task';\nimport { Start } from './start';\nimport { StylesCheck } from './styles-check';\nimport { Tests } from './tests';\nimport { Command, Newable } from './types';\n\nconst commands: Record<CommandName, Newable<Command>> = {\n [CommandName.build]: Build,\n [CommandName['bundle-package']]: BundlePackage,\n [CommandName['convert-eslint-config']]: ConvertEslintConfig,\n [CommandName.clean]: Clean,\n [CommandName.eslint]: ESLintCommand,\n [CommandName.init]: Init,\n [CommandName.install]: Install,\n [CommandName['kendo-ui-license']]: KendoUILicense,\n [CommandName.lint]: Lint,\n [CommandName['mfe-package-clean']]: MFEPackageClean,\n [CommandName['mfe-package-publish']]: MFEPackagePublish,\n [CommandName['mfe-publish']]: MFEPublish,\n [CommandName['prepare-package']]: PreparePackage,\n [CommandName.review]: Review,\n [CommandName.start]: Start,\n [CommandName['styles-check']]: StylesCheck,\n [CommandName.test]: Tests,\n [CommandName.task]: RunTask,\n};\n\nexport function getCommand(name: CommandName): Newable<Command> | undefined {\n return commands[name];\n}\n"],"names":["getCommand","commands","CommandName","build","Build","BundlePackage","ConvertEslintConfig","clean","Clean","eslint","ESLintCommand","init","Init","install","Install","KendoUILicense","lint","Lint","MFEPackageClean","MFEPackagePublish","MFEPublish","PreparePackage","review","Review","start","Start","StylesCheck","test","Tests","task","RunTask","name"],"mappings":";;;;+BA2CgBA;;;eAAAA;;;uBA3CY;uBAEN;+BACQ;uBACR;qCACc;wBACN;sBACT;yBACG;gCACO;sBACV;iCACW;mCACE;4BACP;gCACI;wBACR;yBACC;uBACF;6BACM;uBACN;AAGtB,MAAMC,WAAkD;IACpD,CAACC,kBAAW,CAACC,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACF,kBAAW,CAAC,iBAAiB,CAAC,EAAEG,4BAAa;IAC9C,CAACH,kBAAW,CAAC,wBAAwB,CAAC,EAAEI,wCAAmB;IAC3D,CAACJ,kBAAW,CAACK,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACN,kBAAW,CAACO,MAAM,CAAC,EAAEC,qBAAa;IACnC,CAACR,kBAAW,CAACS,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACV,kBAAW,CAACW,OAAO,CAAC,EAAEC,gBAAO;IAC9B,CAACZ,kBAAW,CAAC,mBAAmB,CAAC,EAAEa,8BAAc;IACjD,CAACb,kBAAW,CAACc,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACf,kBAAW,CAAC,oBAAoB,CAAC,EAAEgB,gCAAe;IACnD,CAAChB,kBAAW,CAAC,sBAAsB,CAAC,EAAEiB,oCAAiB;IACvD,CAACjB,kBAAW,CAAC,cAAc,CAAC,EAAEkB,sBAAU;IACxC,CAAClB,kBAAW,CAAC,kBAAkB,CAAC,EAAEmB,8BAAc;IAChD,CAACnB,kBAAW,CAACoB,MAAM,CAAC,EAAEC,cAAM;IAC5B,CAACrB,kBAAW,CAACsB,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACvB,kBAAW,CAAC,eAAe,CAAC,EAAEwB,wBAAW;IAC1C,CAACxB,kBAAW,CAACyB,IAAI,CAAC,EAAEC,YAAK;IACzB,CAAC1B,kBAAW,CAAC2B,IAAI,CAAC,EAAEC,gBAAO;AAC/B;AAEO,SAAS9B,WAAW+B,IAAiB;IACxC,OAAO9B,QAAQ,CAAC8B,KAAK;AACzB"}
1
+ {"version":3,"sources":["../../../src/cli/commands/get-command.ts"],"sourcesContent":["import { CommandName } from '../../utils';\n\nimport { Build } from './build';\nimport { BundlePackage } from './bundle-package';\nimport { Clean } from './clean';\nimport { ConvertEslintConfig } from './convert-eslint-config';\nimport { ESLintCommand } from './eslint';\nimport { Init } from './init';\nimport { Install } from './install';\nimport { KendoUILicense } from './kendo-ui-license';\nimport { Lint } from './lint';\nimport { MFEPackageClean } from './mfe-package-clean';\nimport { MFEPackagePublish } from './mfe-package-publish';\nimport { MFEPublish } from './mfe-publish';\nimport { PreparePackage } from './prepare-package';\nimport { Review } from './review';\nimport { RunTask } from './run-task';\nimport { Start } from './start';\nimport { StylesCheck } from './styles-check';\nimport { Tests } from './tests';\nimport { Command, Newable } from './types';\nimport { UploadSourcemaps } from './upload-sourcemaps';\n\nconst commands: Record<CommandName, Newable<Command>> = {\n [CommandName.build]: Build,\n [CommandName['bundle-package']]: BundlePackage,\n [CommandName['convert-eslint-config']]: ConvertEslintConfig,\n [CommandName.clean]: Clean,\n [CommandName.eslint]: ESLintCommand,\n [CommandName.init]: Init,\n [CommandName.install]: Install,\n [CommandName['kendo-ui-license']]: KendoUILicense,\n [CommandName.lint]: Lint,\n [CommandName['mfe-package-clean']]: MFEPackageClean,\n [CommandName['mfe-package-publish']]: MFEPackagePublish,\n [CommandName['mfe-publish']]: MFEPublish,\n [CommandName['prepare-package']]: PreparePackage,\n [CommandName.review]: Review,\n [CommandName.start]: Start,\n [CommandName['styles-check']]: StylesCheck,\n [CommandName.test]: Tests,\n [CommandName.task]: RunTask,\n [CommandName['upload-sourcemaps']]: UploadSourcemaps,\n};\n\nexport function getCommand(name: CommandName): Newable<Command> | undefined {\n return commands[name];\n}\n"],"names":["getCommand","commands","CommandName","build","Build","BundlePackage","ConvertEslintConfig","clean","Clean","eslint","ESLintCommand","init","Init","install","Install","KendoUILicense","lint","Lint","MFEPackageClean","MFEPackagePublish","MFEPublish","PreparePackage","review","Review","start","Start","StylesCheck","test","Tests","task","RunTask","UploadSourcemaps","name"],"mappings":";;;;+BA6CgBA;;;eAAAA;;;uBA7CY;uBAEN;+BACQ;uBACR;qCACc;wBACN;sBACT;yBACG;gCACO;sBACV;iCACW;mCACE;4BACP;gCACI;wBACR;yBACC;uBACF;6BACM;uBACN;kCAEW;AAEjC,MAAMC,WAAkD;IACpD,CAACC,kBAAW,CAACC,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACF,kBAAW,CAAC,iBAAiB,CAAC,EAAEG,4BAAa;IAC9C,CAACH,kBAAW,CAAC,wBAAwB,CAAC,EAAEI,wCAAmB;IAC3D,CAACJ,kBAAW,CAACK,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACN,kBAAW,CAACO,MAAM,CAAC,EAAEC,qBAAa;IACnC,CAACR,kBAAW,CAACS,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACV,kBAAW,CAACW,OAAO,CAAC,EAAEC,gBAAO;IAC9B,CAACZ,kBAAW,CAAC,mBAAmB,CAAC,EAAEa,8BAAc;IACjD,CAACb,kBAAW,CAACc,IAAI,CAAC,EAAEC,UAAI;IACxB,CAACf,kBAAW,CAAC,oBAAoB,CAAC,EAAEgB,gCAAe;IACnD,CAAChB,kBAAW,CAAC,sBAAsB,CAAC,EAAEiB,oCAAiB;IACvD,CAACjB,kBAAW,CAAC,cAAc,CAAC,EAAEkB,sBAAU;IACxC,CAAClB,kBAAW,CAAC,kBAAkB,CAAC,EAAEmB,8BAAc;IAChD,CAACnB,kBAAW,CAACoB,MAAM,CAAC,EAAEC,cAAM;IAC5B,CAACrB,kBAAW,CAACsB,KAAK,CAAC,EAAEC,YAAK;IAC1B,CAACvB,kBAAW,CAAC,eAAe,CAAC,EAAEwB,wBAAW;IAC1C,CAACxB,kBAAW,CAACyB,IAAI,CAAC,EAAEC,YAAK;IACzB,CAAC1B,kBAAW,CAAC2B,IAAI,CAAC,EAAEC,gBAAO;IAC3B,CAAC5B,kBAAW,CAAC,oBAAoB,CAAC,EAAE6B,kCAAgB;AACxD;AAEO,SAAS/B,WAAWgC,IAAiB;IACxC,OAAO/B,QAAQ,CAAC+B,KAAK;AACzB"}
@@ -12,13 +12,14 @@ const _utils = require("../../utils");
12
12
  const _getcommand = require("./get-command");
13
13
  function getUserCommands() {
14
14
  return Object.values(_utils.CommandName).sort((a, b)=>a.localeCompare(b)).map((name)=>{
15
+ var _description, _this;
15
16
  const Command = (0, _getcommand.getCommand)(name);
16
17
  // eslint-disable-next-line @typescript-eslint/naming-convention
17
18
  return {
18
19
  name,
19
- description: new Command({
20
+ description: (_description = (_this = new Command({
20
21
  _: []
21
- }).description()
22
+ })).description) === null || _description === void 0 ? void 0 : _description.call(_this)
22
23
  };
23
24
  }).filter(({ description })=>!!description);
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/get-user-commands.ts"],"sourcesContent":["import { CommandName } from '../../utils';\n\nimport { getCommand } from './get-command';\n\ninterface UserCommand {\n name: string;\n description: string;\n}\n\nexport function getUserCommands() {\n return Object.values(CommandName)\n .sort((a, b) => a.localeCompare(b))\n .map(name => {\n const Command = getCommand(name)!;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n return { name, description: new Command({ _: [] }).description() };\n })\n .filter(({ description }) => !!description) as UserCommand[];\n}\n"],"names":["getUserCommands","Object","values","CommandName","sort","a","b","localeCompare","map","name","Command","getCommand","description","_","filter"],"mappings":";;;;+BASgBA;;;eAAAA;;;uBATY;4BAED;AAOpB,SAASA;IACZ,OAAOC,OAAOC,MAAM,CAACC,kBAAW,EAC3BC,IAAI,CAAC,CAACC,GAAGC,IAAMD,EAAEE,aAAa,CAACD,IAC/BE,GAAG,CAACC,CAAAA;QACD,MAAMC,UAAUC,IAAAA,sBAAU,EAACF;QAC3B,gEAAgE;QAChE,OAAO;YAAEA;YAAMG,aAAa,IAAIF,QAAQ;gBAAEG,GAAG,EAAE;YAAC,GAAGD,WAAW;QAAG;IACrE,GACCE,MAAM,CAAC,CAAC,EAAEF,WAAW,EAAE,GAAK,CAAC,CAACA;AACvC"}
1
+ {"version":3,"sources":["../../../src/cli/commands/get-user-commands.ts"],"sourcesContent":["import { CommandName } from '../../utils';\n\nimport { getCommand } from './get-command';\n\ninterface UserCommand {\n name: string;\n description: string;\n}\n\nexport function getUserCommands() {\n return Object.values(CommandName)\n .sort((a, b) => a.localeCompare(b))\n .map(name => {\n const Command = getCommand(name)!;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n return { name, description: new Command({ _: [] }).description?.() };\n })\n .filter(({ description }) => !!description) as UserCommand[];\n}\n"],"names":["getUserCommands","Object","values","CommandName","sort","a","b","localeCompare","map","name","Command","getCommand","description","_","filter"],"mappings":";;;;+BASgBA;;;eAAAA;;;uBATY;4BAED;AAOpB,SAASA;IACZ,OAAOC,OAAOC,MAAM,CAACC,kBAAW,EAC3BC,IAAI,CAAC,CAACC,GAAGC,IAAMD,EAAEE,aAAa,CAACD,IAC/BE,GAAG,CAACC,CAAAA;YAG2B,cAAA;QAF5B,MAAMC,UAAUC,IAAAA,sBAAU,EAACF;QAC3B,gEAAgE;QAChE,OAAO;YAAEA;YAAMG,WAAW,GAAE,eAAA,CAAA,QAAA,IAAIF,QAAQ;gBAAEG,GAAG,EAAE;YAAC,IAAGD,WAAW,cAAlC,mCAAA,kBAAA;QAAuC;IACvE,GACCE,MAAM,CAAC,CAAC,EAAEF,WAAW,EAAE,GAAK,CAAC,CAACA;AACvC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/init.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { log, logErrors } from '../../utils';\nimport { runCommand, runCommandOutput } from '../utils/cli-os';\nimport { Command } from './';\n\ninterface Args {\n output?: string;\n}\n\nconst webUrl = 'https://github.com/servicetitan/frontend-example.git';\nconst sshUrl = 'git@github.com:servicetitan/frontend-example.git';\n\nexport class Init implements Command {\n constructor(private args: Args) {}\n\n description() {\n return 'create example project';\n }\n\n @logErrors\n async execute() {\n const destination = path.resolve(this.args.output ?? '.');\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n } else if (!fs.lstatSync(destination).isDirectory()) {\n throw new Error(`${destination} is not a directory`);\n } else if (fs.readdirSync(destination).length !== 0) {\n throw new Error(`${destination} is not an empty directory`);\n }\n\n const gitUrls = [webUrl, sshUrl];\n if (!!process.env.CI && !!process.env.GITHUB_TOKEN) {\n gitUrls.unshift(\n webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`)\n );\n }\n\n for (const url of gitUrls) {\n // eslint-disable-next-line no-await-in-loop\n if (await cloneRepo(url, destination)) {\n log.info(`copied example project to ${destination}`);\n return;\n }\n }\n\n if (!gitUrls.some(isReachable)) {\n throw new Error('could not read servicetitan/frontend-example repository');\n }\n }\n}\n\nasync function cloneRepo(url: string, destination: string) {\n try {\n await runCommand(`git clone -q ${url} ${destination}`, { quiet: true });\n } catch {\n return false;\n }\n fs.rmSync(path.join(destination, '.git'), { recursive: true, force: true });\n fs.rmSync(path.join(destination, '.github', 'CODEOWNERS'));\n fs.rmSync(path.join(destination, 'package-lock.json'));\n return true;\n}\n\nfunction isReachable(url: string) {\n try {\n runCommandOutput(`git ls-remote -qt ${url}`, { quiet: true });\n } catch {\n return false;\n }\n return true;\n}\n"],"names":["Init","webUrl","sshUrl","description","execute","destination","path","resolve","args","output","fs","existsSync","mkdirSync","recursive","lstatSync","isDirectory","Error","readdirSync","length","gitUrls","process","env","CI","GITHUB_TOKEN","unshift","replace","url","cloneRepo","log","info","some","isReachable","constructor","runCommand","quiet","rmSync","join","force","runCommandOutput"],"mappings":";;;;+BAcaA;;;eAAAA;;;2DAdE;6DACE;uBAEc;uBACc;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAO7C,MAAMC,SAAS;AACf,MAAMC,SAAS;AAER,MAAMF;IAGTG,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;YACqB;QAAjC,MAAMC,cAAcC,aAAI,CAACC,OAAO,CAAC,CAAA,oBAAA,IAAI,CAACC,IAAI,CAACC,MAAM,cAAhB,+BAAA,oBAAoB;QACrD,IAAI,CAACC,WAAE,CAACC,UAAU,CAACN,cAAc;YAC7BK,WAAE,CAACE,SAAS,CAACP,aAAa;gBAAEQ,WAAW;YAAK;QAChD,OAAO,IAAI,CAACH,WAAE,CAACI,SAAS,CAACT,aAAaU,WAAW,IAAI;YACjD,MAAM,IAAIC,MAAM,GAAGX,YAAY,mBAAmB,CAAC;QACvD,OAAO,IAAIK,WAAE,CAACO,WAAW,CAACZ,aAAaa,MAAM,KAAK,GAAG;YACjD,MAAM,IAAIF,MAAM,GAAGX,YAAY,0BAA0B,CAAC;QAC9D;QAEA,MAAMc,UAAU;YAAClB;YAAQC;SAAO;QAChC,IAAI,CAAC,CAACkB,QAAQC,GAAG,CAACC,EAAE,IAAI,CAAC,CAACF,QAAQC,GAAG,CAACE,YAAY,EAAE;YAChDJ,QAAQK,OAAO,CACXvB,OAAOwB,OAAO,CAAC,cAAc,CAAC,OAAO,EAAEL,QAAQC,GAAG,CAACE,YAAY,CAAC,WAAW,CAAC;QAEpF;QAEA,KAAK,MAAMG,OAAOP,QAAS;YACvB,4CAA4C;YAC5C,IAAI,MAAMQ,UAAUD,KAAKrB,cAAc;gBACnCuB,UAAG,CAACC,IAAI,CAAC,CAAC,0BAA0B,EAAExB,aAAa;gBACnD;YACJ;QACJ;QAEA,IAAI,CAACc,QAAQW,IAAI,CAACC,cAAc;YAC5B,MAAM,IAAIf,MAAM;QACpB;IACJ;IAnCAgB,YAAY,AAAQxB,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAoCrC;;;;;;;AAEA,eAAemB,UAAUD,GAAW,EAAErB,WAAmB;IACrD,IAAI;QACA,MAAM4B,IAAAA,iBAAU,EAAC,CAAC,aAAa,EAAEP,IAAI,CAAC,EAAErB,aAAa,EAAE;YAAE6B,OAAO;QAAK;IACzE,EAAE,UAAM;QACJ,OAAO;IACX;IACAxB,WAAE,CAACyB,MAAM,CAAC7B,aAAI,CAAC8B,IAAI,CAAC/B,aAAa,SAAS;QAAEQ,WAAW;QAAMwB,OAAO;IAAK;IACzE3B,WAAE,CAACyB,MAAM,CAAC7B,aAAI,CAAC8B,IAAI,CAAC/B,aAAa,WAAW;IAC5CK,WAAE,CAACyB,MAAM,CAAC7B,aAAI,CAAC8B,IAAI,CAAC/B,aAAa;IACjC,OAAO;AACX;AAEA,SAAS0B,YAAYL,GAAW;IAC5B,IAAI;QACAY,IAAAA,uBAAgB,EAAC,CAAC,kBAAkB,EAAEZ,KAAK,EAAE;YAAEQ,OAAO;QAAK;IAC/D,EAAE,UAAM;QACJ,OAAO;IACX;IACA,OAAO;AACX"}
1
+ {"version":3,"sources":["../../../src/cli/commands/init.ts"],"sourcesContent":["import fs from 'fs';\nimport path from 'path';\n\nimport { log, logErrors } from '../../utils';\nimport { runCommand, runCommandOutput } from '../utils/cli-os';\nimport { Command } from './';\n\ninterface Args {\n output?: string;\n}\n\nconst webUrl = 'https://github.com/servicetitan/frontend-example.git';\nconst sshUrl = 'git@github.com:servicetitan/frontend-example.git';\n\nexport class Init implements Command {\n constructor(private args: Args) {}\n\n description() {\n return 'create example project';\n }\n\n @logErrors\n async execute() {\n const destination = path.resolve(this.args.output ?? '.');\n if (!fs.existsSync(destination)) {\n fs.mkdirSync(destination, { recursive: true });\n } else if (!fs.lstatSync(destination).isDirectory()) {\n throw new Error(`${destination} is not a directory`);\n } else if (fs.readdirSync(destination).length !== 0) {\n throw new Error(`${destination} is not an empty directory`);\n }\n\n const gitUrls = [webUrl, sshUrl];\n if (!!process.env.CI && !!process.env.GITHUB_TOKEN) {\n gitUrls.unshift(\n webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`)\n );\n }\n\n for (const url of gitUrls) {\n // eslint-disable-next-line no-await-in-loop\n if (await cloneRepo(url, destination)) {\n log.info(`copied example project to ${destination}`);\n return;\n }\n }\n\n if (!gitUrls.some(isReachable)) {\n throw new Error('could not read servicetitan/frontend-example repository');\n }\n }\n}\n\nasync function cloneRepo(url: string, destination: string) {\n try {\n await runCommand(`git clone -q ${url} ${destination}`, { quiet: true });\n } catch {\n return false;\n }\n fs.rmSync(path.join(destination, '.git'), { recursive: true, force: true });\n fs.rmSync(path.join(destination, '.github', 'CODEOWNERS'));\n fs.rmSync(path.join(destination, 'package-lock.json'));\n return true;\n}\n\nfunction isReachable(url: string) {\n try {\n runCommandOutput(`git ls-remote -qt ${url}`, { quiet: true });\n } catch {\n return false;\n }\n return true;\n}\n"],"names":["Init","webUrl","sshUrl","description","execute","destination","path","resolve","args","output","fs","existsSync","mkdirSync","recursive","lstatSync","isDirectory","Error","readdirSync","length","gitUrls","process","env","CI","GITHUB_TOKEN","unshift","replace","url","cloneRepo","log","info","some","isReachable","runCommand","quiet","rmSync","join","force","runCommandOutput"],"mappings":";;;;+BAcaA;;;eAAAA;;;2DAdE;6DACE;uBAEc;uBACc;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAO7C,MAAMC,SAAS;AACf,MAAMC,SAAS;AAER,MAAMF;IAGTG,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;YACqB;QAAjC,MAAMC,cAAcC,aAAI,CAACC,OAAO,CAAC,CAAA,oBAAA,IAAI,CAACC,IAAI,CAACC,MAAM,cAAhB,+BAAA,oBAAoB;QACrD,IAAI,CAACC,WAAE,CAACC,UAAU,CAACN,cAAc;YAC7BK,WAAE,CAACE,SAAS,CAACP,aAAa;gBAAEQ,WAAW;YAAK;QAChD,OAAO,IAAI,CAACH,WAAE,CAACI,SAAS,CAACT,aAAaU,WAAW,IAAI;YACjD,MAAM,IAAIC,MAAM,GAAGX,YAAY,mBAAmB,CAAC;QACvD,OAAO,IAAIK,WAAE,CAACO,WAAW,CAACZ,aAAaa,MAAM,KAAK,GAAG;YACjD,MAAM,IAAIF,MAAM,GAAGX,YAAY,0BAA0B,CAAC;QAC9D;QAEA,MAAMc,UAAU;YAAClB;YAAQC;SAAO;QAChC,IAAI,CAAC,CAACkB,QAAQC,GAAG,CAACC,EAAE,IAAI,CAAC,CAACF,QAAQC,GAAG,CAACE,YAAY,EAAE;YAChDJ,QAAQK,OAAO,CACXvB,OAAOwB,OAAO,CAAC,cAAc,CAAC,OAAO,EAAEL,QAAQC,GAAG,CAACE,YAAY,CAAC,WAAW,CAAC;QAEpF;QAEA,KAAK,MAAMG,OAAOP,QAAS;YACvB,4CAA4C;YAC5C,IAAI,MAAMQ,UAAUD,KAAKrB,cAAc;gBACnCuB,UAAG,CAACC,IAAI,CAAC,CAAC,0BAA0B,EAAExB,aAAa;gBACnD;YACJ;QACJ;QAEA,IAAI,CAACc,QAAQW,IAAI,CAACC,cAAc;YAC5B,MAAM,IAAIf,MAAM;QACpB;IACJ;IAnCA,YAAY,AAAQR,IAAU,CAAE;;aAAZA,OAAAA;IAAa;AAoCrC;;;;;;;AAEA,eAAemB,UAAUD,GAAW,EAAErB,WAAmB;IACrD,IAAI;QACA,MAAM2B,IAAAA,iBAAU,EAAC,CAAC,aAAa,EAAEN,IAAI,CAAC,EAAErB,aAAa,EAAE;YAAE4B,OAAO;QAAK;IACzE,EAAE,UAAM;QACJ,OAAO;IACX;IACAvB,WAAE,CAACwB,MAAM,CAAC5B,aAAI,CAAC6B,IAAI,CAAC9B,aAAa,SAAS;QAAEQ,WAAW;QAAMuB,OAAO;IAAK;IACzE1B,WAAE,CAACwB,MAAM,CAAC5B,aAAI,CAAC6B,IAAI,CAAC9B,aAAa,WAAW;IAC5CK,WAAE,CAACwB,MAAM,CAAC5B,aAAI,CAAC6B,IAAI,CAAC9B,aAAa;IACjC,OAAO;AACX;AAEA,SAAS0B,YAAYL,GAAW;IAC5B,IAAI;QACAW,IAAAA,uBAAgB,EAAC,CAAC,kBAAkB,EAAEX,KAAK,EAAE;YAAEO,OAAO;QAAK;IAC/D,EAAE,UAAM;QACJ,OAAO;IACX;IACA,OAAO;AACX"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { log, logErrors, getStartupVersion } from '../../utils';\nimport { Command } from './types';\n\ninterface Args {\n quiet?: boolean;\n fix?: boolean;\n}\n\nexport class Install implements Command {\n constructor(private readonly args?: Args) {}\n\n description() {\n return 'install project dependencies';\n }\n\n @logErrors\n async execute() {\n /**\n * Note, if these are changed, update bootstrap.js to match\n * @see {@link file://./../../../../../bootstrap.js}\n */\n const npmArguments = [\n process.env.CI ? 'ci' : 'i',\n '--audit=false',\n '--fund=false',\n '--legacy-peer-deps',\n ...(this.args?.fix ? ['--package-lock-only', '--prefer-dedupe'] : []),\n ].join(' ');\n\n if (!this.args?.quiet) {\n log.info(`startup cli v${getStartupVersion()}`);\n log.info(`Running npm ${npmArguments} ...`);\n }\n\n execSync(`npm ${npmArguments}`, { stdio: 'inherit' });\n\n return Promise.resolve(); // stops \"async method has no 'await' expression\" lint error\n }\n}\n"],"names":["Install","description","execute","npmArguments","process","env","CI","args","fix","join","quiet","log","info","getStartupVersion","execSync","stdio","Promise","resolve","constructor"],"mappings":";;;;+BASaA;;;eAAAA;;;+BATY;uBACyB;;;;;;;;;;;;;;;;;;;;;;;AAQ3C,MAAMA;IAGTC,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;YAUJ,YAGH;QAZL;;;SAGC,GACD,MAAMC,eAAe;YACjBC,QAAQC,GAAG,CAACC,EAAE,GAAG,OAAO;YACxB;YACA;YACA;eACI,EAAA,aAAA,IAAI,CAACC,IAAI,cAAT,iCAAA,WAAWC,GAAG,IAAG;gBAAC;gBAAuB;aAAkB,GAAG,EAAE;SACvE,CAACC,IAAI,CAAC;QAEP,IAAI,GAAC,cAAA,IAAI,CAACF,IAAI,cAAT,kCAAA,YAAWG,KAAK,GAAE;YACnBC,UAAG,CAACC,IAAI,CAAC,CAAC,aAAa,EAAEC,IAAAA,wBAAiB,KAAI;YAC9CF,UAAG,CAACC,IAAI,CAAC,CAAC,YAAY,EAAET,aAAa,IAAI,CAAC;QAC9C;QAEAW,IAAAA,uBAAQ,EAAC,CAAC,IAAI,EAAEX,cAAc,EAAE;YAAEY,OAAO;QAAU;QAEnD,OAAOC,QAAQC,OAAO,IAAI,4DAA4D;IAC1F;IA5BAC,YAAY,AAAiBX,IAAW,CAAE;;aAAbA,OAAAA;IAAc;AA6B/C"}
1
+ {"version":3,"sources":["../../../src/cli/commands/install.ts"],"sourcesContent":["import { execSync } from 'child_process';\nimport { log, logErrors, getStartupVersion } from '../../utils';\nimport { Command } from './types';\n\ninterface Args {\n quiet?: boolean;\n fix?: boolean;\n}\n\nexport class Install implements Command {\n constructor(private readonly args?: Args) {}\n\n description() {\n return 'install project dependencies';\n }\n\n @logErrors\n async execute() {\n /**\n * Note, if these are changed, update bootstrap.js to match\n * @see {@link file://./../../../../../bootstrap.js}\n */\n const npmArguments = [\n process.env.CI ? 'ci' : 'i',\n '--audit=false',\n '--fund=false',\n '--legacy-peer-deps',\n ...(this.args?.fix ? ['--package-lock-only', '--prefer-dedupe'] : []),\n ].join(' ');\n\n if (!this.args?.quiet) {\n log.info(`startup cli v${getStartupVersion()}`);\n log.info(`Running npm ${npmArguments} ...`);\n }\n\n execSync(`npm ${npmArguments}`, { stdio: 'inherit' });\n\n return Promise.resolve(); // stops \"async method has no 'await' expression\" lint error\n }\n}\n"],"names":["Install","description","execute","npmArguments","process","env","CI","args","fix","join","quiet","log","info","getStartupVersion","execSync","stdio","Promise","resolve"],"mappings":";;;;+BASaA;;;eAAAA;;;+BATY;uBACyB;;;;;;;;;;;;;;;;;;;;;;;AAQ3C,MAAMA;IAGTC,cAAc;QACV,OAAO;IACX;IAEA,MACMC,UAAU;YAUJ,YAGH;QAZL;;;SAGC,GACD,MAAMC,eAAe;YACjBC,QAAQC,GAAG,CAACC,EAAE,GAAG,OAAO;YACxB;YACA;YACA;eACI,EAAA,aAAA,IAAI,CAACC,IAAI,cAAT,iCAAA,WAAWC,GAAG,IAAG;gBAAC;gBAAuB;aAAkB,GAAG,EAAE;SACvE,CAACC,IAAI,CAAC;QAEP,IAAI,GAAC,cAAA,IAAI,CAACF,IAAI,cAAT,kCAAA,YAAWG,KAAK,GAAE;YACnBC,UAAG,CAACC,IAAI,CAAC,CAAC,aAAa,EAAEC,IAAAA,wBAAiB,KAAI;YAC9CF,UAAG,CAACC,IAAI,CAAC,CAAC,YAAY,EAAET,aAAa,IAAI,CAAC;QAC9C;QAEAW,IAAAA,uBAAQ,EAAC,CAAC,IAAI,EAAEX,cAAc,EAAE;YAAEY,OAAO;QAAU;QAEnD,OAAOC,QAAQC,OAAO,IAAI,4DAA4D;IAC1F;IA5BA,YAAY,AAAiBV,IAAW,CAAE;;aAAbA,OAAAA;IAAc;AA6B/C"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/lint.ts"],"sourcesContent":["import path from 'path';\n\nimport stylelint from 'stylelint';\n\nimport {\n getDestinationFolders,\n getPackages,\n getStylelintConfiguration,\n log,\n logErrors,\n} from '../../utils';\nimport { Command } from '.';\nimport { eslint, lernaExec } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n /** Apply fixes for issues? */\n fix?: boolean;\n /** Packages to lint */\n scope?: string | string[];\n /** Packages to skip */\n ignore?: string | string[];\n /** Run eslint separately for each package? */\n parallel?: boolean;\n}\n\nexport class Lint implements Command {\n readonly greedy = true;\n\n private readonly paths: string[];\n\n constructor(private args: Args) {\n this.paths = [...args._];\n }\n\n description() {\n return 'run eslint and stylelint';\n }\n\n async execute() {\n await this.checkStyles();\n await this.eslint();\n await this.stylelint();\n }\n\n @logErrors\n private async eslint() {\n if (this.useParallelESLint()) {\n const { fix, ignore, scope } = this.args;\n const packages = getPackages({ scope, ignore });\n const args = fix ? ['--fix'] : [];\n\n await lernaExec({\n 'cmd': 'startup eslint',\n 'scope': packages.map(({ name }) => name),\n 'bail': false,\n '--': args,\n });\n return;\n }\n\n log.info('Running eslint...');\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async stylelint() {\n const { disabled, ...config } = getStylelintConfiguration();\n if (disabled) {\n return;\n }\n\n const { fix } = this.args;\n const { paths } = this;\n\n log.info('Running stylelint...');\n const allowedExtensions = ['css', 'scss', 'less'];\n const glob = `**/*.{${allowedExtensions.join(',')}}`;\n let files = paths.reduce((result, path) => {\n const extension = path.split('.').pop();\n if (extension) {\n if (allowedExtensions.includes(extension.toLowerCase())) {\n result.push(path);\n }\n } else {\n result.push(pathUniJoin(path, glob));\n }\n return result;\n }, new Array<string>());\n\n if (!files.length) {\n files = [glob];\n }\n\n const { report, errored } = await stylelint.lint({\n files,\n ignorePattern: ['node_modules', ...getDestinationFolders()],\n formatter: 'string',\n fix,\n quietDeprecationWarnings: true,\n ...config,\n });\n\n process.stdout.write(report);\n\n if (errored) {\n process.exitCode = 1;\n }\n }\n\n @logErrors\n private async checkStyles() {\n const { ignore, scope } = this.args;\n\n const packages = getPackages({ ignore, scope });\n\n await lernaExec({\n cmd: 'startup styles-check',\n scope: packages.map(({ name }) => name),\n stream: true,\n });\n }\n\n private useParallelESLint() {\n const { parallel, scope, ignore } = this.args;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return !this.paths.length && (parallel || scope?.length || ignore?.length);\n }\n}\n\nfunction pathUniJoin(...chunks: string[]) {\n return path.join(...chunks).replace(/\\\\/g, '/');\n}\n"],"names":["Lint","description","execute","checkStyles","eslint","stylelint","useParallelESLint","fix","ignore","scope","args","packages","getPackages","lernaExec","map","name","log","info","paths","disabled","config","getStylelintConfiguration","allowedExtensions","glob","join","files","reduce","result","path","extension","split","pop","includes","toLowerCase","push","pathUniJoin","Array","length","report","errored","lint","ignorePattern","getDestinationFolders","formatter","quietDeprecationWarnings","process","stdout","write","exitCode","cmd","stream","parallel","constructor","greedy","_","chunks","replace"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/lint.ts"],"sourcesContent":["import path from 'path';\n\nimport stylelint from 'stylelint';\n\nimport {\n getDestinationFolders,\n getPackages,\n getStylelintConfiguration,\n log,\n logErrors,\n} from '../../utils';\nimport { Command } from '.';\nimport { eslint, lernaExec } from '../utils';\n\ninterface Args {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _: string[];\n /** Apply fixes for issues? */\n fix?: boolean;\n /** Packages to lint */\n scope?: string | string[];\n /** Packages to skip */\n ignore?: string | string[];\n /** Run eslint separately for each package? */\n parallel?: boolean;\n}\n\nexport class Lint implements Command {\n readonly greedy = true;\n\n private readonly paths: string[];\n\n constructor(private args: Args) {\n this.paths = [...args._];\n }\n\n description() {\n return 'run eslint and stylelint';\n }\n\n async execute() {\n await this.checkStyles();\n await this.eslint();\n await this.stylelint();\n }\n\n @logErrors\n private async eslint() {\n if (this.useParallelESLint()) {\n const { fix, ignore, scope } = this.args;\n const packages = getPackages({ scope, ignore });\n const args = fix ? ['--fix'] : [];\n\n await lernaExec({\n 'cmd': 'startup eslint',\n 'scope': packages.map(({ name }) => name),\n 'bail': false,\n '--': args,\n });\n return;\n }\n\n log.info('Running eslint...');\n await eslint({ fix: this.args.fix, paths: this.paths });\n }\n\n @logErrors\n private async stylelint() {\n const { disabled, ...config } = getStylelintConfiguration();\n if (disabled) {\n return;\n }\n\n const { fix } = this.args;\n const { paths } = this;\n\n log.info('Running stylelint...');\n const allowedExtensions = ['css', 'scss', 'less'];\n const glob = `**/*.{${allowedExtensions.join(',')}}`;\n let files = paths.reduce((result, path) => {\n const extension = path.split('.').pop();\n if (extension) {\n if (allowedExtensions.includes(extension.toLowerCase())) {\n result.push(path);\n }\n } else {\n result.push(pathUniJoin(path, glob));\n }\n return result;\n }, new Array<string>());\n\n if (!files.length) {\n files = [glob];\n }\n\n const { report, errored } = await stylelint.lint({\n files,\n ignorePattern: ['node_modules', ...getDestinationFolders()],\n formatter: 'string',\n fix,\n quietDeprecationWarnings: true,\n ...config,\n });\n\n process.stdout.write(report);\n\n if (errored) {\n process.exitCode = 1;\n }\n }\n\n @logErrors\n private async checkStyles() {\n const { ignore, scope } = this.args;\n\n const packages = getPackages({ ignore, scope });\n\n await lernaExec({\n cmd: 'startup styles-check',\n scope: packages.map(({ name }) => name),\n stream: true,\n });\n }\n\n private useParallelESLint() {\n const { parallel, scope, ignore } = this.args;\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return !this.paths.length && (parallel || scope?.length || ignore?.length);\n }\n}\n\nfunction pathUniJoin(...chunks: string[]) {\n return path.join(...chunks).replace(/\\\\/g, '/');\n}\n"],"names":["Lint","description","execute","checkStyles","eslint","stylelint","useParallelESLint","fix","ignore","scope","args","packages","getPackages","lernaExec","map","name","log","info","paths","disabled","config","getStylelintConfiguration","allowedExtensions","glob","join","files","reduce","result","path","extension","split","pop","includes","toLowerCase","push","pathUniJoin","Array","length","report","errored","lint","ignorePattern","getDestinationFolders","formatter","quietDeprecationWarnings","process","stdout","write","exitCode","cmd","stream","parallel","greedy","_","chunks","replace"],"mappings":";;;;+BA2BaA;;;eAAAA;;;6DA3BI;kEAEK;uBAQf;wBAE2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAe3B,MAAMA;IASTC,cAAc;QACV,OAAO;IACX;IAEA,MAAMC,UAAU;QACZ,MAAM,IAAI,CAACC,WAAW;QACtB,MAAM,IAAI,CAACC,MAAM;QACjB,MAAM,IAAI,CAACC,SAAS;IACxB;IAEA,MACcD,SAAS;QACnB,IAAI,IAAI,CAACE,iBAAiB,IAAI;YAC1B,MAAM,EAAEC,GAAG,EAAEC,MAAM,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;YACxC,MAAMC,WAAWC,IAAAA,kBAAW,EAAC;gBAAEH;gBAAOD;YAAO;YAC7C,MAAME,OAAOH,MAAM;gBAAC;aAAQ,GAAG,EAAE;YAEjC,MAAMM,IAAAA,iBAAS,EAAC;gBACZ,OAAO;gBACP,SAASF,SAASG,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;gBACpC,QAAQ;gBACR,MAAML;YACV;YACA;QACJ;QAEAM,UAAG,CAACC,IAAI,CAAC;QACT,MAAMb,IAAAA,cAAM,EAAC;YAAEG,KAAK,IAAI,CAACG,IAAI,CAACH,GAAG;YAAEW,OAAO,IAAI,CAACA,KAAK;QAAC;IACzD;IAEA,MACcb,YAAY;QACtB,MAAM,EAAEc,QAAQ,EAAE,GAAGC,QAAQ,GAAGC,IAAAA,gCAAyB;QACzD,IAAIF,UAAU;YACV;QACJ;QAEA,MAAM,EAAEZ,GAAG,EAAE,GAAG,IAAI,CAACG,IAAI;QACzB,MAAM,EAAEQ,KAAK,EAAE,GAAG,IAAI;QAEtBF,UAAG,CAACC,IAAI,CAAC;QACT,MAAMK,oBAAoB;YAAC;YAAO;YAAQ;SAAO;QACjD,MAAMC,OAAO,CAAC,MAAM,EAAED,kBAAkBE,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,IAAIC,QAAQP,MAAMQ,MAAM,CAAC,CAACC,QAAQC;YAC9B,MAAMC,YAAYD,KAAKE,KAAK,CAAC,KAAKC,GAAG;YACrC,IAAIF,WAAW;gBACX,IAAIP,kBAAkBU,QAAQ,CAACH,UAAUI,WAAW,KAAK;oBACrDN,OAAOO,IAAI,CAACN;gBAChB;YACJ,OAAO;gBACHD,OAAOO,IAAI,CAACC,YAAYP,MAAML;YAClC;YACA,OAAOI;QACX,GAAG,IAAIS;QAEP,IAAI,CAACX,MAAMY,MAAM,EAAE;YACfZ,QAAQ;gBAACF;aAAK;QAClB;QAEA,MAAM,EAAEe,MAAM,EAAEC,OAAO,EAAE,GAAG,MAAMlC,kBAAS,CAACmC,IAAI,CAAC;YAC7Cf;YACAgB,eAAe;gBAAC;mBAAmBC,IAAAA,4BAAqB;aAAG;YAC3DC,WAAW;YACXpC;YACAqC,0BAA0B;YAC1B,GAAGxB,MAAM;QACb;QAEAyB,QAAQC,MAAM,CAACC,KAAK,CAACT;QAErB,IAAIC,SAAS;YACTM,QAAQG,QAAQ,GAAG;QACvB;IACJ;IAEA,MACc7C,cAAc;QACxB,MAAM,EAAEK,MAAM,EAAEC,KAAK,EAAE,GAAG,IAAI,CAACC,IAAI;QAEnC,MAAMC,WAAWC,IAAAA,kBAAW,EAAC;YAAEJ;YAAQC;QAAM;QAE7C,MAAMI,IAAAA,iBAAS,EAAC;YACZoC,KAAK;YACLxC,OAAOE,SAASG,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;YAClCmC,QAAQ;QACZ;IACJ;IAEQ5C,oBAAoB;QACxB,MAAM,EAAE6C,QAAQ,EAAE1C,KAAK,EAAED,MAAM,EAAE,GAAG,IAAI,CAACE,IAAI;QAC7C,wEAAwE;QACxE,OAAO,CAAC,IAAI,CAACQ,KAAK,CAACmB,MAAM,IAAKc,CAAAA,aAAY1C,kBAAAA,4BAAAA,MAAO4B,MAAM,MAAI7B,mBAAAA,6BAAAA,OAAQ6B,MAAM,CAAD;IAC5E;IAhGA,YAAY,AAAQ3B,IAAU,CAAE;;QAJhC,uBAAS0C,UAAT,KAAA;QAEA,uBAAiBlC,SAAjB,KAAA;aAEoBR,OAAAA;aAJX0C,SAAS;QAKd,IAAI,CAAClC,KAAK,GAAG;eAAIR,KAAK2C,CAAC;SAAC;IAC5B;AA+FJ;;;;;;;;;;;;;;;;;;;AAEA,SAASlB,YAAY,GAAGmB,MAAgB;IACpC,OAAO1B,aAAI,CAACJ,IAAI,IAAI8B,QAAQC,OAAO,CAAC,OAAO;AAC/C"}
@@ -1,5 +1,5 @@
1
1
  import { Command } from './types';
2
- export interface ArgsPackageClean {
2
+ export interface Args {
3
3
  all?: true;
4
4
  branch?: string;
5
5
  count?: number;
@@ -7,9 +7,8 @@ export interface ArgsPackageClean {
7
7
  registry?: string;
8
8
  }
9
9
  export declare class MFEPackageClean implements Command {
10
- private args;
11
- constructor(args: ArgsPackageClean);
12
- description(): undefined;
10
+ private readonly args;
11
+ constructor(args: Args);
13
12
  execute(): Promise<void>;
14
13
  private excludeTagged;
15
14
  private getCleanData;
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC7B,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,eAAgB,YAAW,OAAO;IAC/B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAE1C,WAAW;IAKL,OAAO;IA4Cb,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,mBAAmB;CA0C9B"}
1
+ {"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,IAAI;IACjB,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,eAAgB,YAAW,OAAO;IAC/B,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGjC,OAAO;IA4Cb,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,YAAY;IAyBpB,OAAO,CAAC,mBAAmB;CA0C9B"}
@@ -35,9 +35,6 @@ function _ts_metadata(k, v) {
35
35
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
36
36
  }
37
37
  class MFEPackageClean {
38
- description() {
39
- return undefined;
40
- }
41
38
  async execute() {
42
39
  if (!(0, _utils.isWebComponent)()) {
43
40
  throw new Error('only web-components can be cleaned');
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { getBranchesConfigs } from '../../utils/get-branch-configs';\nimport { gitGetBranch } from '../utils/cli-git';\nimport { Version, npmGetPackageVersionsDetails, npmUnpublish } from '../utils/cli-npm';\nimport { Command } from './types';\n\nexport interface ArgsPackageClean {\n all?: true;\n branch?: string;\n count?: number;\n dry?: boolean;\n registry?: string;\n}\n\nexport class MFEPackageClean implements Command {\n constructor(private args: ArgsPackageClean) {}\n\n description() {\n return undefined;\n }\n\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('only web-components can be cleaned');\n }\n\n const data = this.getCleanData();\n const packageName = readJson('package.json').name;\n const branchedVersions = this.getBranchedVersions(packageName, data.registry);\n\n log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, null, 2));\n\n const branchedVersionsToClean: Record<string, Version[]> = {};\n for (const [branch, versions] of Object.entries(branchedVersions)) {\n // Limit branches for now\n if (!data.branches.includes(branch)) {\n log.info(`ignoring unrecognized branch \"${branch}\"`);\n continue;\n }\n\n branchedVersionsToClean[branch] = this.excludeTagged(versions)\n .sort(({ date: adt }, { date: bdt }) => (adt > bdt ? -1 : 1))\n .slice(data.count);\n }\n\n log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, null, 2));\n const unVersions = Object.keys(branchedVersionsToClean).reduce(\n (out, br) => [...out, ...branchedVersionsToClean[br].map(({ name }) => name)],\n []\n );\n\n if (this.args.dry) {\n return;\n }\n\n for (const version of unVersions) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await npmUnpublish(data.registry, packageName, version);\n } catch {\n log.error(`error while removing ${packageName} version ${version}`);\n }\n }\n }\n\n private excludeTagged(versions: Version[]) {\n return versions.filter(({ name, tag }) => {\n if (tag) {\n log.info(`ignoring version ${name} tagged \"${tag}\"`);\n return false;\n }\n return true;\n });\n }\n\n private getCleanData(): {\n count: number;\n registry: string;\n branches: string[];\n } {\n let count = this.args.count;\n if (!count || count < 0) {\n count = 5;\n }\n\n let branches: string[];\n\n if (this.args.all === true) {\n branches = Object.keys(getBranchesConfigs());\n } else if (typeof this.args.branch === 'string') {\n branches = [this.args.branch];\n } else {\n branches = [gitGetBranch()];\n }\n\n const registry = this.args.registry ?? 'https://verdaccio.servicetitan.com';\n\n return { count, registry, branches };\n }\n\n private getBranchedVersions(packageName: string, registry: string) {\n const versions = npmGetPackageVersionsDetails(registry, packageName);\n const branchedVersions: Record<string, Version[]> = {};\n\n function addVersion(branch: string, version: Version) {\n branchedVersions[branch] ??= [];\n branchedVersions[branch].push(version);\n }\n\n for (const version of versions) {\n const { name } = version;\n if (!name.startsWith('0.0.0-')) {\n continue;\n }\n\n const buildVersion = name.replace('0.0.0-', '');\n\n // master version generated by nerdbank versioning\n if (/^(\\d+)\\.(\\d+)\\.(\\d+)$/.test(buildVersion)) {\n addVersion('master', version);\n continue;\n }\n\n // branch version generated by nerdbank versioning\n const match1 = buildVersion.match(/^(\\d+)\\.(\\d+)\\.(\\d+)-([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match1?.length) {\n addVersion(match1[4], version);\n continue;\n }\n\n // branch version generated by mfe-publisher versioning\n const match2 = buildVersion.match(/^([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match2?.length) {\n addVersion(match2[1], version);\n continue;\n }\n\n log.info(`skipping unrecognized version: ${name}`);\n }\n\n return branchedVersions;\n }\n}\n"],"names":["MFEPackageClean","description","undefined","execute","isWebComponent","Error","data","getCleanData","packageName","readJson","name","branchedVersions","getBranchedVersions","registry","log","info","count","JSON","stringify","branchedVersionsToClean","branch","versions","Object","entries","branches","includes","excludeTagged","sort","date","adt","bdt","slice","unVersions","keys","reduce","out","br","map","args","dry","version","npmUnpublish","error","filter","tag","all","getBranchesConfigs","gitGetBranch","npmGetPackageVersionsDetails","addVersion","push","startsWith","buildVersion","replace","test","match1","match","length","match2","constructor"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/cli/commands/mfe-package-clean.ts"],"sourcesContent":["import { isWebComponent, log, logErrors, readJson } from '../../utils';\nimport { getBranchesConfigs } from '../../utils/get-branch-configs';\nimport { gitGetBranch } from '../utils/cli-git';\nimport { Version, npmGetPackageVersionsDetails, npmUnpublish } from '../utils/cli-npm';\nimport { Command } from './types';\n\nexport interface Args {\n all?: true;\n branch?: string;\n count?: number;\n dry?: boolean;\n registry?: string;\n}\n\nexport class MFEPackageClean implements Command {\n constructor(private readonly args: Args) {}\n\n @logErrors\n async execute() {\n if (!isWebComponent()) {\n throw new Error('only web-components can be cleaned');\n }\n\n const data = this.getCleanData();\n const packageName = readJson('package.json').name;\n const branchedVersions = this.getBranchedVersions(packageName, data.registry);\n\n log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, null, 2));\n\n const branchedVersionsToClean: Record<string, Version[]> = {};\n for (const [branch, versions] of Object.entries(branchedVersions)) {\n // Limit branches for now\n if (!data.branches.includes(branch)) {\n log.info(`ignoring unrecognized branch \"${branch}\"`);\n continue;\n }\n\n branchedVersionsToClean[branch] = this.excludeTagged(versions)\n .sort(({ date: adt }, { date: bdt }) => (adt > bdt ? -1 : 1))\n .slice(data.count);\n }\n\n log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, null, 2));\n const unVersions = Object.keys(branchedVersionsToClean).reduce(\n (out, br) => [...out, ...branchedVersionsToClean[br].map(({ name }) => name)],\n []\n );\n\n if (this.args.dry) {\n return;\n }\n\n for (const version of unVersions) {\n try {\n // eslint-disable-next-line no-await-in-loop\n await npmUnpublish(data.registry, packageName, version);\n } catch {\n log.error(`error while removing ${packageName} version ${version}`);\n }\n }\n }\n\n private excludeTagged(versions: Version[]) {\n return versions.filter(({ name, tag }) => {\n if (tag) {\n log.info(`ignoring version ${name} tagged \"${tag}\"`);\n return false;\n }\n return true;\n });\n }\n\n private getCleanData(): {\n count: number;\n registry: string;\n branches: string[];\n } {\n let count = this.args.count;\n if (!count || count < 0) {\n count = 5;\n }\n\n let branches: string[];\n\n if (this.args.all === true) {\n branches = Object.keys(getBranchesConfigs());\n } else if (typeof this.args.branch === 'string') {\n branches = [this.args.branch];\n } else {\n branches = [gitGetBranch()];\n }\n\n const registry = this.args.registry ?? 'https://verdaccio.servicetitan.com';\n\n return { count, registry, branches };\n }\n\n private getBranchedVersions(packageName: string, registry: string) {\n const versions = npmGetPackageVersionsDetails(registry, packageName);\n const branchedVersions: Record<string, Version[]> = {};\n\n function addVersion(branch: string, version: Version) {\n branchedVersions[branch] ??= [];\n branchedVersions[branch].push(version);\n }\n\n for (const version of versions) {\n const { name } = version;\n if (!name.startsWith('0.0.0-')) {\n continue;\n }\n\n const buildVersion = name.replace('0.0.0-', '');\n\n // master version generated by nerdbank versioning\n if (/^(\\d+)\\.(\\d+)\\.(\\d+)$/.test(buildVersion)) {\n addVersion('master', version);\n continue;\n }\n\n // branch version generated by nerdbank versioning\n const match1 = buildVersion.match(/^(\\d+)\\.(\\d+)\\.(\\d+)-([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match1?.length) {\n addVersion(match1[4], version);\n continue;\n }\n\n // branch version generated by mfe-publisher versioning\n const match2 = buildVersion.match(/^([\\dA-Za-z-]+).([\\dA-Za-z]+)$/);\n if (match2?.length) {\n addVersion(match2[1], version);\n continue;\n }\n\n log.info(`skipping unrecognized version: ${name}`);\n }\n\n return branchedVersions;\n }\n}\n"],"names":["MFEPackageClean","execute","isWebComponent","Error","data","getCleanData","packageName","readJson","name","branchedVersions","getBranchedVersions","registry","log","info","count","JSON","stringify","branchedVersionsToClean","branch","versions","Object","entries","branches","includes","excludeTagged","sort","date","adt","bdt","slice","unVersions","keys","reduce","out","br","map","args","dry","version","npmUnpublish","error","filter","tag","all","getBranchesConfigs","gitGetBranch","npmGetPackageVersionsDetails","addVersion","push","startsWith","buildVersion","replace","test","match1","match","length","match2"],"mappings":"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"}
@@ -1,17 +1,22 @@
1
1
  import { Command } from './types';
2
- export interface ArgsPackagePublish {
2
+ export interface Args {
3
3
  branch?: string;
4
4
  build?: string;
5
5
  dry?: boolean;
6
6
  force?: boolean;
7
7
  registry?: string;
8
8
  tag?: string;
9
+ uploadSourcemaps?: boolean;
9
10
  }
10
11
  export declare class MFEPackagePublish implements Command {
11
- private args;
12
- constructor(args: ArgsPackagePublish);
13
- description(): undefined;
12
+ private readonly args;
13
+ constructor(args: Args);
14
14
  execute(): Promise<void>;
15
+ private get dryRunPrefix();
16
+ private checkPackage;
17
+ private tryTagExistingVersion;
18
+ private publishPackage;
19
+ private uploadSourcemaps;
15
20
  private getPublishData;
16
21
  private setPackageFiles;
17
22
  private validateMetadata;
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,kBAAkB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,iBAAkB,YAAW,OAAO;IACjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAE5C,WAAW;IAKL,OAAO;IA8Db,OAAO,CAAC,cAAc;YAsCR,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;CAqB7B"}
1
+ {"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,IAAI;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAoBD,qBAAa,iBAAkB,YAAW,OAAO;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAGjC,OAAO;IAoBb,OAAO,KAAK,YAAY,GAEvB;IAED,OAAO,CAAC,YAAY;YAoBN,qBAAqB;YA2BrB,cAAc;IAc5B,OAAO,CAAC,gBAAgB;IAQxB,OAAO,CAAC,cAAc;YAyBR,eAAe;IAqB7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;CAqB7B"}