@servicetitan/startup 27.3.0 → 27.4.0-canary.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 (135) hide show
  1. package/dist/cli/commands/get-branch-configs.d.ts +4 -0
  2. package/dist/cli/commands/get-branch-configs.d.ts.map +1 -0
  3. package/dist/cli/commands/get-branch-configs.js +13 -0
  4. package/dist/cli/commands/get-branch-configs.js.map +1 -0
  5. package/dist/cli/commands/get-command.d.ts.map +1 -1
  6. package/dist/cli/commands/get-command.js +4 -2
  7. package/dist/cli/commands/get-command.js.map +1 -1
  8. package/dist/cli/commands/init.d.ts +0 -1
  9. package/dist/cli/commands/init.d.ts.map +1 -1
  10. package/dist/cli/commands/init.js +39 -9
  11. package/dist/cli/commands/init.js.map +1 -1
  12. package/dist/cli/commands/mfe-package-clean.d.ts +13 -0
  13. package/dist/cli/commands/mfe-package-clean.d.ts.map +1 -0
  14. package/dist/cli/commands/mfe-package-clean.js +113 -0
  15. package/dist/cli/commands/mfe-package-clean.js.map +1 -0
  16. package/dist/cli/commands/mfe-package-publish.d.ts +20 -0
  17. package/dist/cli/commands/mfe-package-publish.d.ts.map +1 -0
  18. package/dist/cli/commands/mfe-package-publish.js +153 -0
  19. package/dist/cli/commands/mfe-package-publish.js.map +1 -0
  20. package/dist/cli/commands/mfe-publish.d.ts +4 -29
  21. package/dist/cli/commands/mfe-publish.d.ts.map +1 -1
  22. package/dist/cli/commands/mfe-publish.js +1 -213
  23. package/dist/cli/commands/mfe-publish.js.map +1 -1
  24. package/dist/cli/utils/assets-copy.d.ts.map +1 -1
  25. package/dist/cli/utils/assets-copy.js +3 -3
  26. package/dist/cli/utils/assets-copy.js.map +1 -1
  27. package/dist/cli/utils/bundle.d.ts.map +1 -1
  28. package/dist/cli/utils/bundle.js +10 -11
  29. package/dist/cli/utils/bundle.js.map +1 -1
  30. package/dist/cli/utils/cli-os.d.ts +9 -2
  31. package/dist/cli/utils/cli-os.d.ts.map +1 -1
  32. package/dist/cli/utils/cli-os.js +16 -8
  33. package/dist/cli/utils/cli-os.js.map +1 -1
  34. package/dist/cli/utils/styles-copy.d.ts.map +1 -1
  35. package/dist/cli/utils/styles-copy.js +3 -3
  36. package/dist/cli/utils/styles-copy.js.map +1 -1
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +4 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/utils/get-configuration.d.ts +2 -1
  42. package/dist/utils/get-configuration.d.ts.map +1 -1
  43. package/dist/utils/get-configuration.js +5 -0
  44. package/dist/utils/get-configuration.js.map +1 -1
  45. package/dist/utils/get-exposed-dependencies.d.ts +7 -0
  46. package/dist/utils/get-exposed-dependencies.d.ts.map +1 -0
  47. package/dist/utils/get-exposed-dependencies.js +10 -0
  48. package/dist/utils/get-exposed-dependencies.js.map +1 -0
  49. package/dist/utils/get-folders.js +2 -2
  50. package/dist/utils/get-folders.js.map +1 -1
  51. package/dist/utils/index.d.ts +1 -0
  52. package/dist/utils/index.d.ts.map +1 -1
  53. package/dist/utils/index.js +1 -0
  54. package/dist/utils/index.js.map +1 -1
  55. package/dist/webpack/configs/dev-server-config.d.ts.map +1 -1
  56. package/dist/webpack/configs/dev-server-config.js +4 -1
  57. package/dist/webpack/configs/dev-server-config.js.map +1 -1
  58. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.d.ts.map +1 -1
  59. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js +2 -9
  60. package/dist/webpack/configs/plugins/define-exposed-dependencies-plugin.js.map +1 -1
  61. package/dist/webpack/configs/plugins/virtual-modules-plugin.d.ts.map +1 -1
  62. package/dist/webpack/configs/plugins/virtual-modules-plugin.js +15 -5
  63. package/dist/webpack/configs/plugins/virtual-modules-plugin.js.map +1 -1
  64. package/dist/webpack/configs/types.d.ts +16 -0
  65. package/dist/webpack/configs/types.d.ts.map +1 -1
  66. package/dist/webpack/configs/utils/generate-metadata.d.ts.map +1 -1
  67. package/dist/webpack/configs/utils/generate-metadata.js +3 -3
  68. package/dist/webpack/configs/utils/generate-metadata.js.map +1 -1
  69. package/package.json +9 -15
  70. package/src/cli/commands/__tests__/init.test.ts +108 -28
  71. package/src/cli/commands/__tests__/mfe-package-clean.test.ts +1 -1
  72. package/src/cli/commands/__tests__/mfe-package-publish.test.ts +77 -7
  73. package/src/cli/commands/get-branch-configs.ts +8 -0
  74. package/src/cli/commands/get-command.ts +3 -1
  75. package/src/cli/commands/init.ts +40 -10
  76. package/src/cli/commands/mfe-package-clean.ts +132 -0
  77. package/src/cli/commands/mfe-package-publish.ts +189 -0
  78. package/src/cli/commands/mfe-publish.ts +5 -294
  79. package/src/cli/utils/__tests__/assets-copy.test.ts +3 -7
  80. package/src/cli/utils/__tests__/bundle.test.ts +45 -6
  81. package/src/cli/utils/__tests__/cli-os.test.ts +41 -6
  82. package/src/cli/utils/__tests__/styles-copy.test.ts +3 -7
  83. package/src/cli/utils/assets-copy.ts +3 -3
  84. package/src/cli/utils/bundle.ts +14 -20
  85. package/src/cli/utils/cli-os.ts +20 -8
  86. package/src/cli/utils/styles-copy.ts +3 -3
  87. package/src/index.ts +2 -0
  88. package/src/utils/__tests__/get-configuration.test.ts +6 -0
  89. package/src/utils/get-configuration.ts +6 -1
  90. package/src/utils/get-exposed-dependencies.ts +19 -0
  91. package/src/utils/get-folders.ts +1 -1
  92. package/src/utils/index.ts +1 -0
  93. package/src/webpack/__tests__/create-webpack-config-web-component.test.ts +47 -13
  94. package/src/webpack/__tests__/create-webpack-config.test.ts +10 -0
  95. package/src/webpack/configs/dev-server-config.ts +7 -2
  96. package/src/webpack/configs/plugins/define-exposed-dependencies-plugin.ts +6 -16
  97. package/src/webpack/configs/plugins/virtual-modules-plugin.ts +17 -5
  98. package/src/webpack/configs/types.ts +19 -0
  99. package/src/webpack/configs/utils/generate-metadata.ts +5 -5
  100. package/template/.eslintrc.json +0 -3
  101. package/template/.gitignore +0 -21
  102. package/template/.npmrc +0 -3
  103. package/template/.prettierrc +0 -9
  104. package/template/.stylelintignore +0 -1
  105. package/template/.stylelintrc.json +0 -3
  106. package/template/.vscode/extensions.json +0 -18
  107. package/template/.vscode/settings.json +0 -4
  108. package/template/lerna.json +0 -4
  109. package/template/package.json +0 -32
  110. package/template/packages/application/package.json +0 -35
  111. package/template/packages/application/src/__tests__/app.test.tsx +0 -33
  112. package/template/packages/application/src/app.css +0 -3
  113. package/template/packages/application/src/app.tsx +0 -45
  114. package/template/packages/application/src/design-system.css +0 -3
  115. package/template/packages/application/src/index.tsx +0 -8
  116. package/template/packages/application/src/main-page.tsx +0 -5
  117. package/template/packages/application/src/second-page.tsx +0 -5
  118. package/template/packages/application/tsconfig.json +0 -13
  119. package/template/packages/feature-a/package.json +0 -19
  120. package/template/packages/feature-a/src/index.ts +0 -0
  121. package/template/packages/feature-a/tsconfig.json +0 -9
  122. package/template/packages/feature-b/package.json +0 -19
  123. package/template/packages/feature-b/src/index.ts +0 -0
  124. package/template/packages/feature-b/tsconfig.json +0 -9
  125. package/template/packages/feature-c/package.json +0 -19
  126. package/template/packages/feature-c/src/index.ts +0 -0
  127. package/template/packages/feature-c/tsconfig.json +0 -9
  128. package/template/setupTests.ts +0 -27
  129. package/template/tsconfig.test.json +0 -5
  130. package/template-react18/packages/application/package.json +0 -35
  131. package/template-react18/packages/application/src/index.tsx +0 -9
  132. package/template-react18/packages/feature-a/package.json +0 -19
  133. package/template-react18/packages/feature-b/package.json +0 -19
  134. package/template-react18/packages/feature-c/package.json +0 -19
  135. package/tsconfig.json +0 -13
@@ -0,0 +1,4 @@
1
+ export declare const getBranchConfigs: () => Record<string, {
2
+ tag?: string;
3
+ }>;
4
+ //# sourceMappingURL=get-branch-configs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-branch-configs.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/get-branch-configs.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,QAAO,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAOlE,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getBranchConfigs = void 0;
4
+ const getBranchConfigs = () => {
5
+ return {
6
+ develop: { tag: 'dev' },
7
+ dev: { tag: 'dev' },
8
+ next: { tag: 'next' },
9
+ master: { tag: 'prod' },
10
+ };
11
+ };
12
+ exports.getBranchConfigs = getBranchConfigs;
13
+ //# sourceMappingURL=get-branch-configs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-branch-configs.js","sourceRoot":"","sources":["../../../src/cli/commands/get-branch-configs.ts"],"names":[],"mappings":";;;AAAO,MAAM,gBAAgB,GAAG,GAAqC,EAAE;IACnE,OAAO;QACH,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACvB,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;QACnB,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;QACrB,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE;KAC1B,CAAC;AACN,CAAC,CAAC;AAPW,QAAA,gBAAgB,oBAO3B"}
@@ -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;AAc1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,KAAK,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAE5C,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CA+B1E"}
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;AAgB1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,KAAK,OAAO,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAE5C,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,CA+B1E"}
@@ -9,6 +9,8 @@ const init_1 = require("./init");
9
9
  const install_1 = require("./install");
10
10
  const kendo_ui_license_1 = require("./kendo-ui-license");
11
11
  const lint_1 = require("./lint");
12
+ const mfe_package_clean_1 = require("./mfe-package-clean");
13
+ const mfe_package_publish_1 = require("./mfe-package-publish");
12
14
  const mfe_publish_1 = require("./mfe-publish");
13
15
  const prepare_package_1 = require("./prepare-package");
14
16
  const start_1 = require("./start");
@@ -31,9 +33,9 @@ function getCommand(name) {
31
33
  case utils_1.CommandName.lint:
32
34
  return lint_1.Lint;
33
35
  case utils_1.CommandName['mfe-package-clean']:
34
- return mfe_publish_1.MFEPackageClean;
36
+ return mfe_package_clean_1.MFEPackageClean;
35
37
  case utils_1.CommandName['mfe-package-publish']:
36
- return mfe_publish_1.MFEPackagePublish;
38
+ return mfe_package_publish_1.MFEPackagePublish;
37
39
  case utils_1.CommandName['mfe-publish']:
38
40
  return mfe_publish_1.MFEPublish;
39
41
  case utils_1.CommandName['prepare-package']:
@@ -1 +1 @@
1
- {"version":3,"file":"get-command.js","sourceRoot":"","sources":["../../../src/cli/commands/get-command.ts"],"names":[],"mappings":";;AAkBA,gCA+BC;AAjDD,uCAA0C;AAE1C,mCAAgC;AAChC,qDAAiD;AACjD,qCAAyC;AACzC,iCAA8B;AAC9B,uCAAoC;AACpC,yDAAoD;AACpD,iCAA8B;AAC9B,+CAA+E;AAC/E,uDAAmD;AACnD,mCAAgC;AAChC,iDAA6C;AAC7C,mCAAgC;AAKhC,SAAgB,UAAU,CAAC,IAAiB;IACxC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,mBAAW,CAAC,KAAK;YAClB,OAAO,aAAK,CAAC;QACjB,KAAK,mBAAW,CAAC,gBAAgB,CAAC;YAC9B,OAAO,8BAAa,CAAC;QACzB,KAAK,mBAAW,CAAC,MAAM;YACnB,OAAO,sBAAa,CAAC;QACzB,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,WAAI,CAAC;QAChB,KAAK,mBAAW,CAAC,OAAO;YACpB,OAAO,iBAAO,CAAC;QACnB,KAAK,mBAAW,CAAC,kBAAkB,CAAC;YAChC,OAAO,iCAAc,CAAC;QAC1B,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,WAAI,CAAC;QAChB,KAAK,mBAAW,CAAC,mBAAmB,CAAC;YACjC,OAAO,6BAAe,CAAC;QAC3B,KAAK,mBAAW,CAAC,qBAAqB,CAAC;YACnC,OAAO,+BAAiB,CAAC;QAC7B,KAAK,mBAAW,CAAC,aAAa,CAAC;YAC3B,OAAO,wBAAU,CAAC;QACtB,KAAK,mBAAW,CAAC,iBAAiB,CAAC;YAC/B,OAAO,gCAAc,CAAC;QAC1B,KAAK,mBAAW,CAAC,KAAK;YAClB,OAAO,aAAK,CAAC;QACjB,KAAK,mBAAW,CAAC,cAAc,CAAC;YAC5B,OAAO,0BAAW,CAAC;QACvB,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,aAAK,CAAC;IACrB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"get-command.js","sourceRoot":"","sources":["../../../src/cli/commands/get-command.ts"],"names":[],"mappings":";;AAoBA,gCA+BC;AAnDD,uCAA0C;AAE1C,mCAAgC;AAChC,qDAAiD;AACjD,qCAAyC;AACzC,iCAA8B;AAC9B,uCAAoC;AACpC,yDAAoD;AACpD,iCAA8B;AAC9B,2DAAsD;AACtD,+DAA0D;AAC1D,+CAA2C;AAC3C,uDAAmD;AACnD,mCAAgC;AAChC,iDAA6C;AAC7C,mCAAgC;AAKhC,SAAgB,UAAU,CAAC,IAAiB;IACxC,QAAQ,IAAI,EAAE,CAAC;QACX,KAAK,mBAAW,CAAC,KAAK;YAClB,OAAO,aAAK,CAAC;QACjB,KAAK,mBAAW,CAAC,gBAAgB,CAAC;YAC9B,OAAO,8BAAa,CAAC;QACzB,KAAK,mBAAW,CAAC,MAAM;YACnB,OAAO,sBAAa,CAAC;QACzB,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,WAAI,CAAC;QAChB,KAAK,mBAAW,CAAC,OAAO;YACpB,OAAO,iBAAO,CAAC;QACnB,KAAK,mBAAW,CAAC,kBAAkB,CAAC;YAChC,OAAO,iCAAc,CAAC;QAC1B,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,WAAI,CAAC;QAChB,KAAK,mBAAW,CAAC,mBAAmB,CAAC;YACjC,OAAO,mCAAe,CAAC;QAC3B,KAAK,mBAAW,CAAC,qBAAqB,CAAC;YACnC,OAAO,uCAAiB,CAAC;QAC7B,KAAK,mBAAW,CAAC,aAAa,CAAC;YAC3B,OAAO,wBAAU,CAAC;QACtB,KAAK,mBAAW,CAAC,iBAAiB,CAAC;YAC/B,OAAO,gCAAc,CAAC;QAC1B,KAAK,mBAAW,CAAC,KAAK;YAClB,OAAO,aAAK,CAAC;QACjB,KAAK,mBAAW,CAAC,cAAc,CAAC;YAC5B,OAAO,0BAAW,CAAC;QACvB,KAAK,mBAAW,CAAC,IAAI;YACjB,OAAO,aAAK,CAAC;IACrB,CAAC;AACL,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { Command } from './';
2
2
  interface Args {
3
- react17?: boolean;
4
3
  output?: string;
5
4
  }
6
5
  export declare class Init implements Command {
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,UAAU,IAAI;IACV,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,IAAK,YAAW,OAAO;IACpB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CAgBhB"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,UAAU,IAAI;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,qBAAa,IAAK,YAAW,OAAO;IACpB,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;CA4BhB"}
@@ -14,10 +14,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Init = void 0;
16
16
  const fs_1 = __importDefault(require("fs"));
17
- const cpx2_1 = __importDefault(require("cpx2"));
18
- const util_1 = __importDefault(require("util"));
19
17
  const path_1 = __importDefault(require("path"));
20
18
  const utils_1 = require("../../utils");
19
+ const cli_os_1 = require("../utils/cli-os");
20
+ const webUrl = 'https://github.com/servicetitan/frontend-example.git';
21
+ const sshUrl = 'git@github.com:servicetitan/frontend-example.git';
21
22
  class Init {
22
23
  constructor(args) {
23
24
  Object.defineProperty(this, "args", {
@@ -28,7 +29,7 @@ class Init {
28
29
  });
29
30
  }
30
31
  description() {
31
- return 'generate empty project';
32
+ return 'create example project';
32
33
  }
33
34
  async execute() {
34
35
  var _a;
@@ -39,11 +40,22 @@ class Init {
39
40
  else if (!fs_1.default.lstatSync(destination).isDirectory()) {
40
41
  throw new Error(`${destination} is not a directory`);
41
42
  }
42
- await copyFiles('template', destination);
43
- if (!this.args.react17) {
44
- await copyFiles('template-react18', destination);
43
+ else if (fs_1.default.readdirSync(destination).length !== 0) {
44
+ throw new Error(`${destination} is not an empty directory`);
45
+ }
46
+ const gitUrls = [webUrl, sshUrl];
47
+ if (!!process.env.CI && !!process.env.GITHUB_TOKEN) {
48
+ gitUrls.unshift(webUrl.replace('github.com', `oauth2:${process.env.GITHUB_TOKEN}@github.com`));
49
+ }
50
+ for await (const url of gitUrls) {
51
+ if (await cloneRepo(url, destination)) {
52
+ utils_1.log.info(`copied example project to ${destination}`);
53
+ return;
54
+ }
55
+ }
56
+ if (!gitUrls.some(isReachable)) {
57
+ throw new Error('could not read servicetitan/frontend-example repository');
45
58
  }
46
- utils_1.log.info(`copied${this.args.react17 ? ' React 17' : ''} template to ${destination}`);
47
59
  }
48
60
  }
49
61
  exports.Init = Init;
@@ -53,7 +65,25 @@ __decorate([
53
65
  __metadata("design:paramtypes", []),
54
66
  __metadata("design:returntype", Promise)
55
67
  ], Init.prototype, "execute", null);
56
- async function copyFiles(from, to) {
57
- await util_1.default.promisify(cpx2_1.default.copy)(path_1.default.resolve(__dirname, `../../../${from}/**/{.*,*,.*/*}`), to);
68
+ async function cloneRepo(url, destination) {
69
+ try {
70
+ await (0, cli_os_1.runCommand)(`git clone -q ${url} ${destination}`, { quiet: true });
71
+ }
72
+ catch (e) {
73
+ return false;
74
+ }
75
+ fs_1.default.rmSync(path_1.default.join(destination, '.git'), { recursive: true, force: true });
76
+ fs_1.default.rmSync(path_1.default.join(destination, '.github', 'CODEOWNERS'));
77
+ fs_1.default.rmSync(path_1.default.join(destination, 'package-lock.json'));
78
+ return true;
79
+ }
80
+ function isReachable(url) {
81
+ try {
82
+ (0, cli_os_1.runCommandOutput)(`git ls-remote -qt ${url}`, { quiet: true });
83
+ }
84
+ catch (e) {
85
+ return false;
86
+ }
87
+ return true;
58
88
  }
59
89
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,gDAAuB;AACvB,gDAAwB;AACxB,gDAAwB;AAExB,uCAA6C;AAQ7C,MAAa,IAAI;IACb,YAAoB,IAAU;QAAlB;;;;mBAAQ,IAAI;WAAM;IAAG,CAAC;IAElC,WAAW;QACP,OAAO,wBAAwB,CAAC;IACpC,CAAC;IAGK,AAAN,KAAK,CAAC,OAAO;;QACT,MAAM,WAAW,GAAG,cAAI,CAAC,OAAO,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,mCAAI,GAAG,CAAC,CAAC;QAC1D,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,YAAE,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;aAAM,IAAI,CAAC,YAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,qBAAqB,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,SAAS,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACrB,MAAM,SAAS,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;QACrD,CAAC;QAED,WAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,gBAAgB,WAAW,EAAE,CAAC,CAAC;IACzF,CAAC;CACJ;AAxBD,oBAwBC;AAhBS;IADL,iBAAS;;;;mCAgBT;AAGL,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,EAAU;IAC7C,MAAM,cAAI,CAAC,SAAS,CAAC,cAAG,CAAC,IAAI,CAAC,CAAC,cAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,IAAI,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { Command } from './types';
2
+ export interface ArgsPackageClean {
3
+ count?: number;
4
+ }
5
+ export declare class MFEPackageClean implements Command {
6
+ private args;
7
+ constructor(args: ArgsPackageClean);
8
+ description(): undefined;
9
+ execute(): Promise<void>;
10
+ private getCleanData;
11
+ private getBranchedVersions;
12
+ }
13
+ //# sourceMappingURL=mfe-package-clean.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfe-package-clean.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,YAAW,OAAO;IAC/B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAE1C,WAAW;IAKL,OAAO;IA+Cb,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,mBAAmB;CAmD9B"}
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MFEPackageClean = void 0;
13
+ const utils_1 = require("../../utils");
14
+ const cli_npm_1 = require("../utils/cli-npm");
15
+ const get_branch_configs_1 = require("./get-branch-configs");
16
+ class MFEPackageClean {
17
+ constructor(args) {
18
+ Object.defineProperty(this, "args", {
19
+ enumerable: true,
20
+ configurable: true,
21
+ writable: true,
22
+ value: args
23
+ });
24
+ }
25
+ description() {
26
+ return undefined;
27
+ }
28
+ async execute() {
29
+ if (!(0, utils_1.isWebComponent)()) {
30
+ throw new Error('only web-components can be cleaned');
31
+ }
32
+ const data = this.getCleanData();
33
+ const packageJson = (0, utils_1.readJson)('package.json');
34
+ const packageName = packageJson.name;
35
+ const branchedVersions = this.getBranchedVersions(packageName, data.registry);
36
+ utils_1.log.info(`branched versions (${data.count}):`, JSON.stringify(branchedVersions, undefined, 4));
37
+ const branchedVersionsToClean = {};
38
+ for (const branch of Object.keys(branchedVersions)) {
39
+ // limit branches for now
40
+ if (!branchedVersions[branch] || !data.branches.includes(branch)) {
41
+ continue;
42
+ }
43
+ branchedVersions[branch].sort(([, adt], [, bdt]) => (adt > bdt ? -1 : 1));
44
+ branchedVersionsToClean[branch] = branchedVersions[branch].slice(data.count);
45
+ }
46
+ utils_1.log.info('found versions for unpublish:', JSON.stringify(branchedVersionsToClean, undefined, 4));
47
+ const unVersions = Object.keys(branchedVersionsToClean).reduce((out, br) => [...out, ...branchedVersionsToClean[br].map(([v]) => v)], []);
48
+ for (const version of unVersions) {
49
+ try {
50
+ // eslint-disable-next-line no-await-in-loop
51
+ await (0, cli_npm_1.npmUnpublish)(data.registry, packageName, version);
52
+ }
53
+ catch (_a) {
54
+ utils_1.log.error(`error while removing ${packageName} version ${version}`);
55
+ }
56
+ }
57
+ }
58
+ getCleanData() {
59
+ let count = this.args.count;
60
+ if (!count) {
61
+ count = 5;
62
+ }
63
+ const registry = 'https://verdaccio.servicetitan.com';
64
+ return { count, registry, branches: Object.keys((0, get_branch_configs_1.getBranchConfigs)()) };
65
+ }
66
+ getBranchedVersions(packageName, registry) {
67
+ const versions = (0, cli_npm_1.npmGetPackageVersionDates)(registry, packageName);
68
+ const branchedVersions = {};
69
+ const unknownVersions = [];
70
+ const addVersion = (branch, version, dt) => {
71
+ if (!branchedVersions[branch]) {
72
+ branchedVersions[branch] = [];
73
+ }
74
+ branchedVersions[branch].push([version, dt]);
75
+ };
76
+ for (const [version, dt] of versions) {
77
+ if (!version.startsWith('0.0.0-')) {
78
+ continue;
79
+ }
80
+ const buildVersion = version.replace('0.0.0-', '');
81
+ if (/^(\d+)\.(\d+)\.(\d+)$/.test(buildVersion)) {
82
+ // master version generated by nerdbank versioning
83
+ addVersion('master', version, dt);
84
+ continue;
85
+ }
86
+ const match1 = buildVersion.match(/^(\d+)\.(\d+)\.(\d+)-([\dA-Za-z-]+).([\dA-Za-z]+)$/);
87
+ if (match1 === null || match1 === void 0 ? void 0 : match1.length) {
88
+ // branch version generated by nerdbank versioning
89
+ addVersion(match1[4], version, dt);
90
+ continue;
91
+ }
92
+ const match2 = buildVersion.match(/^([\dA-Za-z-]+).([\dA-Za-z]+)$/);
93
+ if (match2 === null || match2 === void 0 ? void 0 : match2.length) {
94
+ // branch version generated by mfe-publisher versioning
95
+ addVersion(match2[1], version, dt);
96
+ continue;
97
+ }
98
+ unknownVersions.push(version);
99
+ }
100
+ if (unknownVersions.length) {
101
+ utils_1.log.info('unknown versions:', unknownVersions.join());
102
+ }
103
+ return branchedVersions;
104
+ }
105
+ }
106
+ exports.MFEPackageClean = MFEPackageClean;
107
+ __decorate([
108
+ utils_1.logErrors,
109
+ __metadata("design:type", Function),
110
+ __metadata("design:paramtypes", []),
111
+ __metadata("design:returntype", Promise)
112
+ ], MFEPackageClean.prototype, "execute", null);
113
+ //# sourceMappingURL=mfe-package-clean.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfe-package-clean.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-clean.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { Command } from './types';
2
+ export interface ArgsPackagePublish {
3
+ branch?: string;
4
+ build?: string;
5
+ dry?: boolean;
6
+ force?: boolean;
7
+ registry?: string;
8
+ tag?: string | false;
9
+ }
10
+ export declare class MFEPackagePublish implements Command {
11
+ private args;
12
+ constructor(args: ArgsPackagePublish);
13
+ description(): undefined;
14
+ execute(): Promise<void>;
15
+ private getPublishData;
16
+ private validateMetadata;
17
+ private validateEntryPoints;
18
+ private validateEntryPoint;
19
+ }
20
+ //# sourceMappingURL=mfe-package-publish.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfe-package-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"AAcA,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,GAAG,KAAK,CAAC;CACxB;AAED,qBAAa,iBAAkB,YAAW,OAAO;IACjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAE5C,WAAW;IAKL,OAAO;IAsEb,OAAO,CAAC,cAAc;IA6CtB,OAAO,CAAC,gBAAgB;IAYxB,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,kBAAkB;CAqB7B"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.MFEPackagePublish = void 0;
16
+ const path_1 = __importDefault(require("path"));
17
+ const fs_1 = __importDefault(require("fs"));
18
+ const utils_1 = require("../../utils");
19
+ const cli_git_1 = require("../utils/cli-git");
20
+ const cli_npm_1 = require("../utils/cli-npm");
21
+ const publish_1 = require("../utils/publish");
22
+ const get_branch_configs_1 = require("./get-branch-configs");
23
+ class MFEPackagePublish {
24
+ constructor(args) {
25
+ Object.defineProperty(this, "args", {
26
+ enumerable: true,
27
+ configurable: true,
28
+ writable: true,
29
+ value: args
30
+ });
31
+ }
32
+ description() {
33
+ return undefined;
34
+ }
35
+ async execute() {
36
+ if (!(0, utils_1.isWebComponent)()) {
37
+ throw new Error('only web-components can be published');
38
+ }
39
+ const packageJson = (0, utils_1.readJson)('package.json');
40
+ if (packageJson.private) {
41
+ utils_1.log.info('package is private, skipping publish');
42
+ return;
43
+ }
44
+ const data = this.getPublishData();
45
+ const packageName = packageJson.name;
46
+ if (!data.version) {
47
+ utils_1.log.info('no build version found, skipping publish');
48
+ return;
49
+ }
50
+ if (!data.isBranchConfigured && !data.force) {
51
+ utils_1.log.info('branch is not configured for publishing, use --force flag to publish if needed');
52
+ return;
53
+ }
54
+ this.validateMetadata();
55
+ const versions = (0, cli_npm_1.npmGetPackageVersions)(data.registry, packageName);
56
+ const dryRunPrefix = data.dry ? '(dry-run) ' : '';
57
+ if (versions.includes(data.version)) {
58
+ utils_1.log.info(`${dryRunPrefix}${packageName} version ${data.version} is already published, skipping publish`);
59
+ if (data.tag) {
60
+ utils_1.log.info(`${dryRunPrefix}adding tag "${data.tag}" to ${packageName} version ${data.version}`);
61
+ if (!data.dry) {
62
+ await (0, cli_npm_1.npmTagVersion)({
63
+ packageName,
64
+ packageVersion: data.version,
65
+ registry: data.registry,
66
+ tag: data.tag,
67
+ });
68
+ }
69
+ }
70
+ return;
71
+ }
72
+ await (0, cli_npm_1.npmPackageSet)('version', data.version);
73
+ await (0, cli_npm_1.npmPackageSet)('publishConfig.registry', data.registry);
74
+ if (!packageJson.files) {
75
+ await (0, cli_npm_1.npmPackageSet)('files[0]', 'dist');
76
+ await (0, cli_npm_1.npmPackageSet)('files[1]', 'package.json');
77
+ }
78
+ if (data.dry) {
79
+ await (0, cli_npm_1.npmPublishDry)();
80
+ }
81
+ else {
82
+ await (0, cli_npm_1.npmPublish)(data.tag);
83
+ }
84
+ utils_1.log.info(`${dryRunPrefix}published ${packageName} version ${data.version}`);
85
+ }
86
+ getPublishData() {
87
+ var _a, _b, _c;
88
+ const cli = this.args;
89
+ const branch = (_a = cli.branch) !== null && _a !== void 0 ? _a : (0, cli_git_1.gitGetBranch)();
90
+ const branchConfig = (0, get_branch_configs_1.getBranchConfigs)()[branch];
91
+ let buildVersion = cli.build;
92
+ if (!buildVersion) {
93
+ buildVersion = (0, publish_1.getDefaultBuildVersion)(branch, (0, cli_git_1.gitGetCommitHash)());
94
+ }
95
+ if (!buildVersion) {
96
+ throw new Error('build version is not set');
97
+ }
98
+ let tag;
99
+ if (cli.tag === false) {
100
+ tag = '';
101
+ }
102
+ else if (cli.tag) {
103
+ tag = cli.tag;
104
+ }
105
+ else {
106
+ tag = (_b = branchConfig === null || branchConfig === void 0 ? void 0 : branchConfig.tag) !== null && _b !== void 0 ? _b : '';
107
+ }
108
+ const registry = (_c = cli.registry) !== null && _c !== void 0 ? _c : 'https://verdaccio.servicetitan.com';
109
+ return {
110
+ tag,
111
+ version: '0.0.0-' + buildVersion,
112
+ buildVersion,
113
+ registry,
114
+ dry: !!cli.dry,
115
+ force: !!cli.force,
116
+ isBranchConfigured: !!branchConfig,
117
+ };
118
+ }
119
+ validateMetadata() {
120
+ const { destination: outDir } = (0, utils_1.getFolders)();
121
+ const metadataJson = path_1.default.join(outDir, 'metadata.json');
122
+ if (!fs_1.default.existsSync(metadataJson)) {
123
+ throw new Error(`${metadataJson} is not present`);
124
+ }
125
+ const metadata = (0, utils_1.readJson)(metadataJson);
126
+ this.validateEntryPoints(outDir, metadata);
127
+ }
128
+ validateEntryPoints(outDir, { entrypoints = {} }) {
129
+ const keys = ['full', 'light'];
130
+ keys.forEach(name => this.validateEntryPoint({ entryPoint: entrypoints[name], name, outDir }));
131
+ }
132
+ validateEntryPoint({ entryPoint = {}, name, outDir, }) {
133
+ const keys = ['css', 'js'];
134
+ keys.forEach(key => {
135
+ if (!entryPoint[key]) {
136
+ throw new Error(`${name}.${key} not found in metadata.json`);
137
+ }
138
+ entryPoint[key].forEach(filename => {
139
+ if (!fs_1.default.existsSync(path_1.default.join(outDir, 'bundle', name, filename))) {
140
+ throw new Error(`referenced bundle ${filename} was not found`);
141
+ }
142
+ });
143
+ });
144
+ }
145
+ }
146
+ exports.MFEPackagePublish = MFEPackagePublish;
147
+ __decorate([
148
+ utils_1.logErrors,
149
+ __metadata("design:type", Function),
150
+ __metadata("design:paramtypes", []),
151
+ __metadata("design:returntype", Promise)
152
+ ], MFEPackagePublish.prototype, "execute", null);
153
+ //# sourceMappingURL=mfe-package-publish.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfe-package-publish.js","sourceRoot":"","sources":["../../../src/cli/commands/mfe-package-publish.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,9 @@
1
- import { Command } from '.';
2
- interface ArgsPackagePublish {
3
- branch?: string;
4
- build?: string;
5
- concurrency?: number;
6
- dry?: boolean;
7
- force?: boolean;
8
- noTag?: string;
9
- registry?: string;
10
- tag?: string | false;
11
- }
12
- interface ArgsPackageClean {
13
- count?: number;
14
- }
1
+ import { ArgsPackageClean } from './mfe-package-clean';
2
+ import { ArgsPackagePublish } from './mfe-package-publish';
3
+ import { Command } from './types';
15
4
  interface Args extends ArgsPackagePublish, ArgsPackageClean {
16
5
  clean?: boolean;
6
+ concurrency?: number;
17
7
  scope?: string | string[];
18
8
  }
19
9
  export declare class MFEPublish implements Command {
@@ -23,20 +13,5 @@ export declare class MFEPublish implements Command {
23
13
  execute(): Promise<void>;
24
14
  getPublishOptions(): string[];
25
15
  }
26
- export declare class MFEPackagePublish implements Command {
27
- private args;
28
- constructor(args: ArgsPackagePublish);
29
- description(): undefined;
30
- execute(): Promise<void>;
31
- private getPublishData;
32
- }
33
- export declare class MFEPackageClean implements Command {
34
- private args;
35
- constructor(args: ArgsPackageClean);
36
- description(): undefined;
37
- execute(): Promise<void>;
38
- private getCleanData;
39
- private getBranchedVersions;
40
- }
41
16
  export {};
42
17
  //# sourceMappingURL=mfe-publish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"AAuBA,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC;AAE5B,UAAU,kBAAkB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CACxB;AAED,UAAU,gBAAgB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,UAAU,IAAK,SAAQ,kBAAkB,EAAE,gBAAgB;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,UAAW,YAAW,OAAO;IAC1B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;IA6Bb,iBAAiB,IAWe,MAAM,EAAE;CAE3C;AAED,qBAAa,iBAAkB,YAAW,OAAO;IACjC,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,kBAAkB;IAE5C,WAAW;IAKL,OAAO;IAoEb,OAAO,CAAC,cAAc;CA4CzB;AAED,qBAAa,eAAgB,YAAW,OAAO;IAC/B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,gBAAgB;IAE1C,WAAW;IAKL,OAAO;IA+Cb,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,mBAAmB;CAqD9B"}
1
+ {"version":3,"file":"mfe-publish.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/mfe-publish.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,UAAU,IAAK,SAAQ,kBAAkB,EAAE,gBAAgB;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC7B;AAED,qBAAa,UAAW,YAAW,OAAO;IAC1B,OAAO,CAAC,IAAI;gBAAJ,IAAI,EAAE,IAAI;IAE9B,WAAW;IAKL,OAAO;IA6Bb,iBAAiB,IAWe,MAAM,EAAE;CAE3C"}