zephyr-webpack-plugin 0.0.1

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 (116) hide show
  1. package/README.md +26 -0
  2. package/package.json +23 -0
  3. package/src/delegate-module/zephyr-delegate.d.ts +13 -0
  4. package/src/delegate-module/zephyr-delegate.js +121 -0
  5. package/src/delegate-module/zephyr-delegate.js.map +1 -0
  6. package/src/federation-dashboard-legacy/utils/convert-to-graph/convert-dependencies.d.ts +12 -0
  7. package/src/federation-dashboard-legacy/utils/convert-to-graph/convert-dependencies.js +31 -0
  8. package/src/federation-dashboard-legacy/utils/convert-to-graph/convert-dependencies.js.map +1 -0
  9. package/src/federation-dashboard-legacy/utils/convert-to-graph/convert-to-graph.d.ts +47 -0
  10. package/src/federation-dashboard-legacy/utils/convert-to-graph/convert-to-graph.js +56 -0
  11. package/src/federation-dashboard-legacy/utils/convert-to-graph/convert-to-graph.js.map +1 -0
  12. package/src/federation-dashboard-legacy/utils/convert-to-graph/get-licenses.d.ts +22 -0
  13. package/src/federation-dashboard-legacy/utils/convert-to-graph/get-licenses.js +31 -0
  14. package/src/federation-dashboard-legacy/utils/convert-to-graph/get-licenses.js.map +1 -0
  15. package/src/federation-dashboard-legacy/utils/convert-to-graph/module-part-one.d.ts +16 -0
  16. package/src/federation-dashboard-legacy/utils/convert-to-graph/module-part-one.js +113 -0
  17. package/src/federation-dashboard-legacy/utils/convert-to-graph/module-part-one.js.map +1 -0
  18. package/src/federation-dashboard-legacy/utils/convert-to-graph/module-part-two.d.ts +27 -0
  19. package/src/federation-dashboard-legacy/utils/convert-to-graph/module-part-two.js +123 -0
  20. package/src/federation-dashboard-legacy/utils/convert-to-graph/module-part-two.js.map +1 -0
  21. package/src/federation-dashboard-legacy/utils/convert-to-graph/object-has-keys.d.ts +6 -0
  22. package/src/federation-dashboard-legacy/utils/convert-to-graph/object-has-keys.js +20 -0
  23. package/src/federation-dashboard-legacy/utils/convert-to-graph/object-has-keys.js.map +1 -0
  24. package/src/federation-dashboard-legacy/utils/convert-to-graph/process-function-remotes.d.ts +9 -0
  25. package/src/federation-dashboard-legacy/utils/convert-to-graph/process-function-remotes.js +36 -0
  26. package/src/federation-dashboard-legacy/utils/convert-to-graph/process-function-remotes.js.map +1 -0
  27. package/src/federation-dashboard-legacy/utils/convert-to-graph/validate-params.d.ts +34 -0
  28. package/src/federation-dashboard-legacy/utils/convert-to-graph/validate-params.js +52 -0
  29. package/src/federation-dashboard-legacy/utils/convert-to-graph/validate-params.js.map +1 -0
  30. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.d.ts +27 -0
  31. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.js +418 -0
  32. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.js.map +1 -0
  33. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/add-runtime-requirement-to-promise-external.d.ts +4 -0
  34. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/add-runtime-requirement-to-promise-external.js +19 -0
  35. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/add-runtime-requirement-to-promise-external.js.map +1 -0
  36. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/compute-version-strategy.d.ts +4 -0
  37. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/compute-version-strategy.js +22 -0
  38. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/compute-version-strategy.js.map +1 -0
  39. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-plugin-options.d.ts +34 -0
  40. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-plugin-options.js +3 -0
  41. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-plugin-options.js.map +1 -0
  42. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-types.d.ts +23 -0
  43. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-types.js +3 -0
  44. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-types.js.map +1 -0
  45. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/find-package-json.d.ts +1 -0
  46. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/find-package-json.js +23 -0
  47. package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/find-package-json.js.map +1 -0
  48. package/src/federation-dashboard-legacy/utils/merge-graphs/merge-graphs.d.ts +20 -0
  49. package/src/federation-dashboard-legacy/utils/merge-graphs/merge-graphs.js +85 -0
  50. package/src/federation-dashboard-legacy/utils/merge-graphs/merge-graphs.js.map +1 -0
  51. package/src/index.d.ts +1 -0
  52. package/src/index.js +6 -0
  53. package/src/index.js.map +1 -0
  54. package/src/lib/actions/ze-enable-snapshot-on-edge.d.ts +3 -0
  55. package/src/lib/actions/ze-enable-snapshot-on-edge.js +41 -0
  56. package/src/lib/actions/ze-enable-snapshot-on-edge.js.map +1 -0
  57. package/src/lib/actions/ze-upload-assets.d.ts +3 -0
  58. package/src/lib/actions/ze-upload-assets.js +73 -0
  59. package/src/lib/actions/ze-upload-assets.js.map +1 -0
  60. package/src/lib/actions/ze-upload-build-stats.d.ts +1 -0
  61. package/src/lib/actions/ze-upload-build-stats.js +31 -0
  62. package/src/lib/actions/ze-upload-build-stats.js.map +1 -0
  63. package/src/lib/actions/ze-upload-snapshot.d.ts +3 -0
  64. package/src/lib/actions/ze-upload-snapshot.js +38 -0
  65. package/src/lib/actions/ze-upload-snapshot.js.map +1 -0
  66. package/src/lib/dependency-resolution/resolve-key-version-to-entry.d.ts +0 -0
  67. package/src/lib/dependency-resolution/resolve-key-version-to-entry.js +11 -0
  68. package/src/lib/dependency-resolution/resolve-key-version-to-entry.js.map +1 -0
  69. package/src/lib/payload-builders/ze-build-assets-map.d.ts +3 -0
  70. package/src/lib/payload-builders/ze-build-assets-map.js +53 -0
  71. package/src/lib/payload-builders/ze-build-assets-map.js.map +1 -0
  72. package/src/lib/payload-builders/ze-build-snapshot.d.ts +8 -0
  73. package/src/lib/payload-builders/ze-build-snapshot.js +38 -0
  74. package/src/lib/payload-builders/ze-build-snapshot.js.map +1 -0
  75. package/src/lib/upload/upload-envs.d.ts +5 -0
  76. package/src/lib/upload/upload-envs.js +24 -0
  77. package/src/lib/upload/upload-envs.js.map +1 -0
  78. package/src/lib/upload/upload-file.d.ts +6 -0
  79. package/src/lib/upload/upload-file.js +31 -0
  80. package/src/lib/upload/upload-file.js.map +1 -0
  81. package/src/lib/upload/upload-snapshot.d.ts +5 -0
  82. package/src/lib/upload/upload-snapshot.js +29 -0
  83. package/src/lib/upload/upload-snapshot.js.map +1 -0
  84. package/src/lib/utils/ze-http-request.d.ts +6 -0
  85. package/src/lib/utils/ze-http-request.js +31 -0
  86. package/src/lib/utils/ze-http-request.js.map +1 -0
  87. package/src/lib/utils/ze-log-event.d.ts +17 -0
  88. package/src/lib/utils/ze-log-event.js +48 -0
  89. package/src/lib/utils/ze-log-event.js.map +1 -0
  90. package/src/lib/utils/ze-util-find-app-name.d.ts +7 -0
  91. package/src/lib/utils/ze-util-find-app-name.js +35 -0
  92. package/src/lib/utils/ze-util-find-app-name.js.map +1 -0
  93. package/src/lib/utils/ze-util-get-git-info.d.ts +13 -0
  94. package/src/lib/utils/ze-util-get-git-info.js +53 -0
  95. package/src/lib/utils/ze-util-get-git-info.js.map +1 -0
  96. package/src/lib/with-zephyr.d.ts +3 -0
  97. package/src/lib/with-zephyr.js +90 -0
  98. package/src/lib/with-zephyr.js.map +1 -0
  99. package/src/lib/ze-setup-build-id.d.ts +4 -0
  100. package/src/lib/ze-setup-build-id.js +62 -0
  101. package/src/lib/ze-setup-build-id.js.map +1 -0
  102. package/src/lib/ze-setup-build-steps-logging.d.ts +5 -0
  103. package/src/lib/ze-setup-build-steps-logging.js +42 -0
  104. package/src/lib/ze-setup-build-steps-logging.js.map +1 -0
  105. package/src/lib/ze-setup-ze-deploy.d.ts +3 -0
  106. package/src/lib/ze-setup-ze-deploy.js +67 -0
  107. package/src/lib/ze-setup-ze-deploy.js.map +1 -0
  108. package/src/lib/ze-webpack-plugin.d.ts +33 -0
  109. package/src/lib/ze-webpack-plugin.js +73 -0
  110. package/src/lib/ze-webpack-plugin.js.map +1 -0
  111. package/src/types/ze-webpack-plugin-options.d.ts +32 -0
  112. package/src/types/ze-webpack-plugin-options.js +3 -0
  113. package/src/types/ze-webpack-plugin-options.js.map +1 -0
  114. package/src/types/zephyr-plugin-options.d.ts +7 -0
  115. package/src/types/zephyr-plugin-options.js +3 -0
  116. package/src/types/zephyr-plugin-options.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-http-request.js","sourceRoot":"","sources":["../../../../../../packages/zephyr-webpack-plugin/src/lib/utils/ze-http-request.ts"],"names":[],"mappings":";;;AAAA,kCAAkC;AAClC,oCAAoC;AAQ7B,KAAK,UAAU,OAAO,CAC3B,IAAkB,EAClB,OAAuB,EACvB,IAAc;IAEd,MAAM,GAAG,GAAG,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,GAAyB,EAAE,EAAE;YACrE,MAAM,QAAQ,GAAa,EAAE,CAAC;YAC9B,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAEhD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gBACjB,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;gBACtD,IAAI,CAAC;oBACH,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjC,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,EAAE,CAAC;YACT,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClB,CAAC;QAED,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC,CAAC,CAAC;AACL,CAAC;AA9BD,0BA8BC"}
@@ -0,0 +1,17 @@
1
+ interface LogEventOptions {
2
+ level: string;
3
+ action: string;
4
+ message: string;
5
+ meta?: Record<string, unknown>;
6
+ }
7
+ export interface LoggerOptions {
8
+ application_uid: string;
9
+ zeConfig: {
10
+ buildId: string | undefined;
11
+ };
12
+ isCI: boolean;
13
+ app: Record<string, unknown>;
14
+ git: Record<string, unknown>;
15
+ }
16
+ export declare function logger(options: LoggerOptions): ({ level, action, message, meta }: LogEventOptions) => void;
17
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = void 0;
4
+ const ze_http_request_1 = require("./ze-http-request");
5
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
6
+ const log = (v) => console.log(v);
7
+ function logger(options) {
8
+ return function logEvent({ level, action, message, meta }) {
9
+ const application_uid = options.application_uid;
10
+ (0, zephyr_edge_contract_1.getApplicationConfiguration)({ application_uid }).then(({ username, user_uuid, LOGS_ENDPOINT }) => {
11
+ const zeBuildId = options.zeConfig.buildId;
12
+ const git = options.git;
13
+ const createdAt = Date.now();
14
+ if (!level && !action) {
15
+ throw new Error('log level and action type must be provided');
16
+ }
17
+ message = `[${options.application_uid}](${username})[${zeBuildId}]: ${message}`;
18
+ meta = Object.assign({}, meta, {
19
+ isCI: options.isCI,
20
+ app: options.app,
21
+ git: options.git,
22
+ });
23
+ const data = JSON.stringify({
24
+ appId: application_uid,
25
+ zeUserId: user_uuid,
26
+ username,
27
+ zeBuildId,
28
+ logLevel: level,
29
+ actionType: action,
30
+ git,
31
+ message,
32
+ meta,
33
+ createdAt,
34
+ });
35
+ const reqOptions = {
36
+ path: `/logs`,
37
+ method: 'POST',
38
+ headers: {
39
+ 'Content-Length': data.length,
40
+ },
41
+ };
42
+ log(`[zephyr]: ${message}`);
43
+ (0, ze_http_request_1.request)(LOGS_ENDPOINT, reqOptions, data).catch(() => void 0);
44
+ });
45
+ };
46
+ }
47
+ exports.logger = logger;
48
+ //# sourceMappingURL=ze-log-event.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-log-event.js","sourceRoot":"","sources":["../../../../../../packages/zephyr-webpack-plugin/src/lib/utils/ze-log-event.ts"],"names":[],"mappings":";;;AAAA,uDAA4C;AAC5C,+DAAmE;AAEnE,MAAM,GAAG,GAAG,CAAC,CAAU,EAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAmBjD,SAAgB,MAAM,CAAC,OAAsB;IAC3C,OAAO,SAAS,QAAQ,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAmB;QACxE,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAChD,IAAA,kDAA2B,EAAC,EAAE,eAAe,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,EAAE,EAAE;YACzC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,KAAK,QAAQ,KAAK,SAAS,MAAM,OAAO,EAAE,CAAC;YAChF,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE;gBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG,EAAE,OAAO,CAAC,GAAG;aACjB,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,KAAK,EAAE,eAAe;gBACtB,QAAQ,EAAE,SAAS;gBACnB,QAAQ;gBACR,SAAS;gBACT,QAAQ,EAAE,KAAK;gBACf,UAAU,EAAE,MAAM;gBAClB,GAAG;gBACH,OAAO;gBACP,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG;gBACjB,IAAI,EAAE,OAAO;gBACb,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,gBAAgB,EAAE,IAAI,CAAC,MAAM;iBAC9B;aACF,CAAC;YAEF,GAAG,CAAC,aAAa,OAAO,EAAE,CAAC,CAAC;YAC5B,IAAA,yBAAO,EAAC,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/D,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA9CD,wBA8CC"}
@@ -0,0 +1,7 @@
1
+ interface PackageJson {
2
+ name: string;
3
+ version: string;
4
+ dependencies?: Record<string, string>;
5
+ }
6
+ export declare function getPackageJson(context: string | undefined): PackageJson | undefined;
7
+ export {};
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPackageJson = void 0;
4
+ const node_fs_1 = require("node:fs");
5
+ const node_path_1 = require("node:path");
6
+ function findClosestPackageJson(startPath) {
7
+ let dir = startPath;
8
+ do {
9
+ const packageJsonPath = (0, node_path_1.join)(dir, 'package.json');
10
+ if ((0, node_fs_1.existsSync)(packageJsonPath)) {
11
+ return (0, node_fs_1.readFileSync)(packageJsonPath, 'utf8');
12
+ }
13
+ const parentDir = (0, node_path_1.resolve)(dir, '..');
14
+ if (parentDir === dir) {
15
+ throw new Error('No package.json found');
16
+ }
17
+ dir = parentDir;
18
+ } while (startPath !== dir);
19
+ }
20
+ function getPackageJson(context) {
21
+ const packageJson = findClosestPackageJson(context || process.cwd());
22
+ if (!packageJson)
23
+ return void 0;
24
+ try {
25
+ return JSON.parse(packageJson);
26
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
+ }
28
+ catch (error) {
29
+ // todo: logger
30
+ console.error('Error:', error?.message);
31
+ return void 0;
32
+ }
33
+ }
34
+ exports.getPackageJson = getPackageJson;
35
+ //# sourceMappingURL=ze-util-find-app-name.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-util-find-app-name.js","sourceRoot":"","sources":["../../../../../../packages/zephyr-webpack-plugin/src/lib/utils/ze-util-find-app-name.ts"],"names":[],"mappings":";;;AAAA,qCAAmD;AACnD,yCAA0C;AAE1C,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,IAAI,GAAG,GAAG,SAAS,CAAC;IACpB,GAAG,CAAC;QACF,MAAM,eAAe,GAAG,IAAA,gBAAI,EAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAClD,IAAI,IAAA,oBAAU,EAAC,eAAe,CAAC,EAAE,CAAC;YAChC,OAAO,IAAA,sBAAY,EAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,SAAS,GAAG,IAAA,mBAAO,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,CAAC;QACD,GAAG,GAAG,SAAS,CAAC;IAClB,CAAC,QAAQ,SAAS,KAAK,GAAG,EAAE;AAC9B,CAAC;AAQD,SAAgB,cAAc,CAC5B,OAA2B;IAE3B,MAAM,WAAW,GAAG,sBAAsB,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC/B,8DAA8D;IAChE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,eAAe;QACf,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QACxC,OAAO,KAAK,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAbD,wCAaC"}
@@ -0,0 +1,13 @@
1
+ export interface GitInfo {
2
+ git: {
3
+ name: string;
4
+ email: string;
5
+ branch: string;
6
+ commit: string;
7
+ };
8
+ app: {
9
+ org: string | undefined;
10
+ project: string | undefined;
11
+ };
12
+ }
13
+ export declare function getGitInfo(): GitInfo | undefined;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGitInfo = void 0;
4
+ const node_child_process_1 = require("node:child_process");
5
+ function getGitInfo() {
6
+ try {
7
+ const username = (0, node_child_process_1.execSync)('git config user.name').toString().trim();
8
+ const email = (0, node_child_process_1.execSync)('git config user.email').toString().trim();
9
+ const remoteOrigin = (0, node_child_process_1.execSync)('git config --get remote.origin.url')
10
+ .toString()
11
+ .trim();
12
+ const branch = (0, node_child_process_1.execSync)('git rev-parse --abbrev-ref HEAD')
13
+ .toString()
14
+ .trim();
15
+ const commitHash = (0, node_child_process_1.execSync)('git rev-parse HEAD').toString().trim();
16
+ // parse remote origin url to get the organization and repository name
17
+ const urlParts = remoteOrigin
18
+ // Remove the protocol (like https://) and user info
19
+ .replace(/.+@/, '')
20
+ // Remove the .git at the end
21
+ .replace(/.git$/, '')
22
+ // Split at the colon to separate domain from path
23
+ .split(':')
24
+ // Take the last part, which is the path
25
+ .pop()
26
+ // Split the path into parts
27
+ ?.split('/');
28
+ const organization = urlParts && urlParts?.length > 1
29
+ ? urlParts[urlParts.length - 2]
30
+ : undefined;
31
+ const repositoryName = urlParts && urlParts.length > 0
32
+ ? urlParts[urlParts.length - 1]
33
+ : undefined;
34
+ return {
35
+ git: {
36
+ name: username,
37
+ email,
38
+ branch,
39
+ commit: commitHash,
40
+ },
41
+ app: {
42
+ org: organization?.toLowerCase(),
43
+ project: repositoryName?.toLowerCase(),
44
+ },
45
+ };
46
+ }
47
+ catch (error) {
48
+ console.error('Error retrieving Git information:', error);
49
+ return;
50
+ }
51
+ }
52
+ exports.getGitInfo = getGitInfo;
53
+ //# sourceMappingURL=ze-util-get-git-info.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-util-get-git-info.js","sourceRoot":"","sources":["../../../../../../packages/zephyr-webpack-plugin/src/lib/utils/ze-util-get-git-info.ts"],"names":[],"mappings":";;;AAAA,2DAA8C;AAe9C,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,6BAAQ,EAAC,sBAAsB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QACpE,MAAM,KAAK,GAAG,IAAA,6BAAQ,EAAC,uBAAuB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAClE,MAAM,YAAY,GAAG,IAAA,6BAAQ,EAAC,oCAAoC,CAAC;aAChE,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,IAAA,6BAAQ,EAAC,iCAAiC,CAAC;aACvD,QAAQ,EAAE;aACV,IAAI,EAAE,CAAC;QACV,MAAM,UAAU,GAAG,IAAA,6BAAQ,EAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;QAEpE,sEAAsE;QACtE,MAAM,QAAQ,GAAG,YAAY;YAC3B,oDAAoD;aACnD,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;YACnB,6BAA6B;aAC5B,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACrB,kDAAkD;aACjD,KAAK,CAAC,GAAG,CAAC;YACX,wCAAwC;aACvC,GAAG,EAAE;YACN,4BAA4B;YAC5B,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAEf,MAAM,YAAY,GAChB,QAAQ,IAAI,QAAQ,EAAE,MAAM,GAAG,CAAC;YAC9B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,cAAc,GAClB,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;YAC7B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;YAC/B,CAAC,CAAC,SAAS,CAAC;QAEhB,OAAO;YACL,GAAG,EAAE;gBACH,IAAI,EAAE,QAAQ;gBACd,KAAK;gBACL,MAAM;gBACN,MAAM,EAAE,UAAU;aACnB;YACD,GAAG,EAAE;gBACH,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE;gBAChC,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE;aACvC;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO;IACT,CAAC;AACH,CAAC;AAlDD,gCAkDC"}
@@ -0,0 +1,3 @@
1
+ import { Configuration } from 'webpack';
2
+ import { ZephyrPluginOptions } from '../types/zephyr-plugin-options';
3
+ export declare function withZephyr(_zephyrOptions?: ZephyrPluginOptions | ZephyrPluginOptions[]): (config: Configuration) => Promise<Configuration | undefined>;
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.withZephyr = void 0;
4
+ const webpack_1 = require("webpack");
5
+ const ze_util_find_app_name_1 = require("./utils/ze-util-find-app-name");
6
+ const ze_util_get_git_info_1 = require("./utils/ze-util-get-git-info");
7
+ const zephyr_delegate_1 = require("../delegate-module/zephyr-delegate");
8
+ const ze_webpack_plugin_1 = require("./ze-webpack-plugin");
9
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
10
+ const { ModuleFederationPlugin } = webpack_1.container;
11
+ function getCopyOfMFOptions(config) {
12
+ return config.plugins
13
+ ?.filter((plugin) => plugin?.constructor.name === 'ModuleFederationPlugin')
14
+ .map((mf) => {
15
+ const _mf = mf;
16
+ if (!_mf?._options)
17
+ return;
18
+ return JSON.parse(JSON.stringify(_mf._options));
19
+ })
20
+ .filter(Boolean);
21
+ }
22
+ function withZephyr(_zephyrOptions) {
23
+ return async function configure(config) {
24
+ // sources of app name: ze config(git org + git repo + package json name)
25
+ const packageJson = (0, ze_util_find_app_name_1.getPackageJson)(config.context);
26
+ const gitInfo = (0, ze_util_get_git_info_1.getGitInfo)();
27
+ // todo: exit zephyr sequence if no git origin or no package json
28
+ if (!gitInfo?.app.org || !gitInfo?.app.project || !packageJson?.name)
29
+ return;
30
+ const { org, project } = gitInfo.app;
31
+ const application_uid = (0, zephyr_edge_contract_1.createFullAppName)({
32
+ org,
33
+ project,
34
+ name: packageJson?.name,
35
+ });
36
+ // if mfs -> add MF plugins
37
+ // if mfs -> add FederationDashboardPlugin
38
+ const zephyrOptions = Array.isArray(_zephyrOptions)
39
+ ? _zephyrOptions
40
+ : [_zephyrOptions];
41
+ // todo: resolve edge url for current application from zephyr API
42
+ const delegate_config = {
43
+ org,
44
+ project,
45
+ application: undefined,
46
+ };
47
+ const mfConfigs = getCopyOfMFOptions(config);
48
+ const depsResolutionTasks = config.plugins
49
+ ?.filter((plugin) => plugin?.constructor.name.indexOf('ModuleFederationPlugin') === -1)
50
+ ?.map(async (mfConfig) => {
51
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
52
+ return await (0, zephyr_delegate_1.replace_remote_in_mf_config)(mfConfig, delegate_config);
53
+ });
54
+ if (depsResolutionTasks) {
55
+ await Promise.all(depsResolutionTasks);
56
+ }
57
+ // todo: make sample wich use direct mf config via ze options
58
+ zephyrOptions.forEach((zephyrOption) => {
59
+ if (!zephyrOption)
60
+ return;
61
+ config.plugins?.push(new ModuleFederationPlugin({
62
+ name: application_uid,
63
+ filename: 'remoteEntry.js',
64
+ shared: packageJson?.dependencies,
65
+ exposes: zephyrOption?.exposes,
66
+ // todo: rework this part
67
+ // remotes: zephyrOption.remotes?.map((application) =>
68
+ // replace_remote_with_delegate(
69
+ // application,
70
+ // Object.assign({}, delegate_config, { application })
71
+ // )
72
+ // )
73
+ }));
74
+ });
75
+ config.plugins?.push(new ze_webpack_plugin_1.ZeWebpackPlugin({
76
+ application_uid,
77
+ app: {
78
+ name: packageJson.name,
79
+ version: packageJson.version,
80
+ org,
81
+ project,
82
+ },
83
+ git: gitInfo?.git,
84
+ mfConfig: Array.isArray(mfConfigs) ? mfConfigs[0] : void 0,
85
+ }));
86
+ return config;
87
+ };
88
+ }
89
+ exports.withZephyr = withZephyr;
90
+ //# sourceMappingURL=with-zephyr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"with-zephyr.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/with-zephyr.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Compiler } from 'webpack';
2
+ import { ZeWebpackPluginOptions } from '../types/ze-webpack-plugin-options';
3
+ export declare function getBuildId(application_uid: string): Promise<string | undefined>;
4
+ export declare function setupZephyrConfig(pluginOptions: ZeWebpackPluginOptions, compiler: Compiler): void;
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupZephyrConfig = exports.getBuildId = void 0;
4
+ const ze_http_request_1 = require("./utils/ze-http-request");
5
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
6
+ const ze_log_event_1 = require("./utils/ze-log-event");
7
+ async function getBuildId(application_uid) {
8
+ const { BUILD_ID_ENDPOINT, user_uuid, jwt } = await (0, zephyr_edge_contract_1.getApplicationConfiguration)({
9
+ application_uid,
10
+ });
11
+ const token = await (0, zephyr_edge_contract_1.getToken)();
12
+ const options = {
13
+ path: `/`,
14
+ method: 'GET',
15
+ headers: {
16
+ can_write_jwt: jwt,
17
+ Authorization: 'Bearer ' + token,
18
+ },
19
+ };
20
+ const resp = await (0, ze_http_request_1.request)(BUILD_ID_ENDPOINT, options);
21
+ if (typeof resp === 'string') {
22
+ throw new Error(resp);
23
+ }
24
+ if (!resp || (typeof resp.status === 'number' && resp.status !== 200)) {
25
+ throw new Error(resp.message);
26
+ }
27
+ return resp[user_uuid];
28
+ }
29
+ exports.getBuildId = getBuildId;
30
+ function setupZephyrConfig(pluginOptions, compiler) {
31
+ const logEvent = (0, ze_log_event_1.logger)(pluginOptions);
32
+ const { pluginName, zeConfig, application_uid } = pluginOptions;
33
+ compiler.hooks.beforeCompile.tapAsync(pluginName, async (params, cb) => {
34
+ await (0, zephyr_edge_contract_1.checkAuth)();
35
+ const { username, email, EDGE_URL } = await (0, zephyr_edge_contract_1.getApplicationConfiguration)({
36
+ application_uid,
37
+ });
38
+ zeConfig.user = username;
39
+ zeConfig.edge_url = EDGE_URL;
40
+ zeConfig.buildId = void 0;
41
+ const buildId = await getBuildId(application_uid).catch((err) => {
42
+ logEvent({
43
+ level: 'error',
44
+ action: 'build:get-build-id:error',
45
+ message: `error receiving build number for '${email}'`,
46
+ meta: err.message,
47
+ });
48
+ console.error(err);
49
+ });
50
+ if (buildId) {
51
+ zeConfig.buildId = buildId;
52
+ logEvent({
53
+ level: 'info',
54
+ action: 'build:get-build-id:done',
55
+ message: `received build number '${buildId}' for '${zeConfig.user}'`,
56
+ });
57
+ }
58
+ return cb();
59
+ });
60
+ }
61
+ exports.setupZephyrConfig = setupZephyrConfig;
62
+ //# sourceMappingURL=ze-setup-build-id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-setup-build-id.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-setup-build-id.ts"],"names":[],"mappings":";;;AACA,6DAAkD;AAGlD,+DAI8B;AAC9B,uDAA8C;AAEvC,KAAK,UAAU,UAAU,CAC9B,eAAuB;IAEvB,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE,GACzC,MAAM,IAAA,kDAA2B,EAAC;QAChC,eAAe;KAChB,CAAC,CAAC;IACL,MAAM,KAAK,GAAG,MAAM,IAAA,+BAAQ,GAAE,CAAC;IAE/B,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,aAAa,EAAE,GAAG;YAClB,aAAa,EAAE,SAAS,GAAG,KAAK;SACjC;KACF,CAAC;IAMF,MAAM,IAAI,GAAG,MAAM,IAAA,yBAAO,EAAc,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAEpE,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,OAAQ,IAA+B,CAAC,SAAS,CAAC,CAAC;AACrD,CAAC;AAhCD,gCAgCC;AAED,SAAgB,iBAAiB,CAC/B,aAAqC,EACrC,QAAkB;IAElB,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,aAAa,CAAC;IAChE,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;QACrE,MAAM,IAAA,gCAAS,GAAE,CAAC;QAClB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAA,kDAA2B,EAAC;YACtE,eAAe;SAChB,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC7B,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;QAE1B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9D,QAAQ,CAAC;gBACP,KAAK,EAAE,OAAO;gBACd,MAAM,EAAE,0BAA0B;gBAClC,OAAO,EAAE,qCAAqC,KAAK,GAAG;gBACtD,IAAI,EAAE,GAAG,CAAC,OAAO;aAClB,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,CAAC;gBACP,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,yBAAyB;gBACjC,OAAO,EAAE,0BAA0B,OAAO,UAAU,QAAQ,CAAC,IAAI,GAAG;aACrE,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,EAAE,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AApCD,8CAoCC"}
@@ -0,0 +1,5 @@
1
+ import { Compiler } from 'webpack';
2
+ import { ZeWebpackPluginOptions } from '../types/ze-webpack-plugin-options';
3
+ export declare function logBuildSteps(pluginOptions: ZeWebpackPluginOptions, compiler: Compiler): {
4
+ buildStartedAt: number;
5
+ };
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logBuildSteps = void 0;
4
+ const ze_log_event_1 = require("./utils/ze-log-event");
5
+ function logBuildSteps(pluginOptions, compiler) {
6
+ const { pluginName, zeConfig, buildEnv } = pluginOptions;
7
+ const logEvent = (0, ze_log_event_1.logger)(pluginOptions);
8
+ let buildStartedAt = -1;
9
+ compiler.hooks.beforeCompile.tapAsync(pluginName, async (params, cb) => {
10
+ if (!zeConfig.buildId)
11
+ return cb();
12
+ buildStartedAt = Date.now();
13
+ logEvent({
14
+ level: 'info',
15
+ action: 'build:started',
16
+ message: `${buildEnv} build started`,
17
+ });
18
+ cb();
19
+ });
20
+ compiler.hooks.done.tap(pluginName, () => {
21
+ if (!zeConfig.buildId)
22
+ return;
23
+ logEvent({
24
+ level: 'info',
25
+ action: 'build:done',
26
+ message: `${buildEnv} build finished in ${Date.now() - buildStartedAt}ms`,
27
+ });
28
+ });
29
+ compiler.hooks.failed.tap(pluginName, (err) => {
30
+ if (!zeConfig.buildId)
31
+ return;
32
+ logEvent({
33
+ level: 'error',
34
+ action: 'build:failed',
35
+ message: `${buildEnv} build failed in ${Date.now() - buildStartedAt}ms`,
36
+ meta: { error: err.toString() },
37
+ });
38
+ });
39
+ return { buildStartedAt };
40
+ }
41
+ exports.logBuildSteps = logBuildSteps;
42
+ //# sourceMappingURL=ze-setup-build-steps-logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-setup-build-steps-logging.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-setup-build-steps-logging.ts"],"names":[],"mappings":";;;AACA,uDAA8C;AAG9C,SAAgB,aAAa,CAC3B,aAAqC,EACrC,QAAkB;IAElB,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC;IACzD,MAAM,QAAQ,GAAG,IAAA,qBAAM,EAAC,aAAa,CAAC,CAAC;IAEvC,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE;QACrE,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,CAAC;QACnC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,QAAQ,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,eAAe;YACvB,OAAO,EAAE,GAAG,QAAQ,gBAAgB;SACrC,CAAC,CAAC;QACH,EAAE,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE;QACvC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,QAAQ,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,GAAG,QAAQ,sBAAsB,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI;SAC1E,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO;QAC9B,QAAQ,CAAC;YACP,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,GAAG,QAAQ,oBAAoB,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI;YACvE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC;AArCD,sCAqCC"}
@@ -0,0 +1,3 @@
1
+ import { Compiler } from 'webpack';
2
+ import { ZeWebpackPluginOptions } from '../types/ze-webpack-plugin-options';
3
+ export declare function setupZeDeploy(pluginOptions: ZeWebpackPluginOptions, compiler: Compiler): void;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setupZeDeploy = void 0;
4
+ const ze_log_event_1 = require("./utils/ze-log-event");
5
+ const ze_enable_snapshot_on_edge_1 = require("./actions/ze-enable-snapshot-on-edge");
6
+ const ze_upload_snapshot_1 = require("./actions/ze-upload-snapshot");
7
+ const ze_upload_assets_1 = require("./actions/ze-upload-assets");
8
+ const ze_build_assets_map_1 = require("./payload-builders/ze-build-assets-map");
9
+ const ze_build_snapshot_1 = require("./payload-builders/ze-build-snapshot");
10
+ const ze_upload_build_stats_1 = require("./actions/ze-upload-build-stats");
11
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
12
+ function setupZeDeploy(pluginOptions, compiler) {
13
+ const { pluginName, zeConfig } = pluginOptions;
14
+ const logEvent = (0, ze_log_event_1.logger)(pluginOptions);
15
+ compiler.hooks.thisCompilation.tap(pluginName, (compilation) => {
16
+ compilation.hooks.processAssets.tapPromise({
17
+ name: pluginName,
18
+ stage: compiler.webpack.Compilation.PROCESS_ASSETS_STAGE_REPORT,
19
+ }, async (assets) => {
20
+ if (!zeConfig.buildId) {
21
+ // no id - no cloud builds ;)
22
+ return;
23
+ }
24
+ const { EDGE_URL, username, email } = await (0, zephyr_edge_contract_1.getApplicationConfiguration)({ application_uid: pluginOptions.application_uid });
25
+ const zeStart = Date.now();
26
+ const assetsMap = (0, ze_build_assets_map_1.zeBuildAssetsMap)(pluginOptions, assets);
27
+ const snapshot = (0, ze_build_snapshot_1.createSnapshot)({
28
+ options: pluginOptions,
29
+ assets: assetsMap,
30
+ username,
31
+ email,
32
+ });
33
+ const missingAssets = await (0, ze_upload_snapshot_1.zeUploadSnapshot)(pluginOptions, snapshot).catch((_) => void _);
34
+ if (typeof missingAssets === 'undefined')
35
+ return;
36
+ const assetsUploadSuccess = await (0, ze_upload_assets_1.zeUploadAssets)(pluginOptions, {
37
+ missingAssets,
38
+ assetsMap,
39
+ count: Object.keys(assets).length,
40
+ });
41
+ if (!assetsUploadSuccess)
42
+ return;
43
+ // eslint-disable-next-line
44
+ const dashboardPlugin = pluginOptions
45
+ .dashboard;
46
+ // todo: set proper metadata for dashboard plugin
47
+ // eslint-disable-next-line
48
+ dashboardPlugin.postDashboardData = async (dashData) => {
49
+ dashData.app.buildId = pluginOptions.zeConfig.buildId;
50
+ dashData.remote = pluginOptions.mfConfig?.filename;
51
+ // todo: @valorkin remove, this should be decided on API side
52
+ dashData.edge = { url: EDGE_URL };
53
+ return await (0, ze_upload_build_stats_1.zeUploadBuildStats)(dashData);
54
+ };
55
+ const envs = (await dashboardPlugin.processWebpackGraph(compilation));
56
+ // end of dashboard plugin hack around
57
+ await (0, ze_enable_snapshot_on_edge_1.zeEnableSnapshotOnEdge)(pluginOptions, snapshot, envs.value);
58
+ logEvent({
59
+ level: 'info',
60
+ action: 'build:deploy:done',
61
+ message: `build deployed in ${Date.now() - zeStart}ms`,
62
+ });
63
+ });
64
+ });
65
+ }
66
+ exports.setupZeDeploy = setupZeDeploy;
67
+ //# sourceMappingURL=ze-setup-ze-deploy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-setup-ze-deploy.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-setup-ze-deploy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Compiler } from 'webpack';
2
+ export declare class ZeWebpackPlugin {
3
+ _options: {
4
+ pluginName: string;
5
+ isCI: boolean;
6
+ buildEnv: string;
7
+ readonly appName: string;
8
+ readonly username: string;
9
+ zeConfig: {
10
+ user: string;
11
+ buildId: undefined;
12
+ edge_url: string;
13
+ };
14
+ application_uid: string;
15
+ app: {
16
+ org: string;
17
+ project: string;
18
+ name: string;
19
+ version: string;
20
+ };
21
+ git: {
22
+ name: string;
23
+ email: string;
24
+ branch: string;
25
+ commit: string;
26
+ };
27
+ dashboard: {
28
+ apply: (compiler: Compiler) => void;
29
+ };
30
+ };
31
+ constructor(options?: {});
32
+ apply(compiler: Compiler): void;
33
+ }
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZeWebpackPlugin = void 0;
4
+ const isCI = require("is-ci");
5
+ const ze_setup_build_id_1 = require("./ze-setup-build-id");
6
+ const ze_setup_build_steps_logging_1 = require("./ze-setup-build-steps-logging");
7
+ const ze_setup_ze_deploy_1 = require("./ze-setup-ze-deploy");
8
+ const zephyr_edge_contract_1 = require("zephyr-edge-contract");
9
+ const FederationDashboardPlugin_1 = require("../federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin");
10
+ const pluginName = 'ZeWebpackPlugin';
11
+ const default_zewebpack_options = {
12
+ pluginName,
13
+ isCI,
14
+ buildEnv: isCI ? 'ci' : 'local',
15
+ get appName() {
16
+ return (0, zephyr_edge_contract_1.createFullAppName)(this.app);
17
+ },
18
+ get username() {
19
+ return this.zeConfig.user;
20
+ },
21
+ zeConfig: {
22
+ user: '',
23
+ buildId: void 0,
24
+ edge_url: '',
25
+ },
26
+ application_uid: '',
27
+ app: {
28
+ // git org
29
+ org: '',
30
+ // git repo
31
+ project: '',
32
+ // package.json name
33
+ name: '',
34
+ // package.json version
35
+ version: '',
36
+ },
37
+ // todo: what if git not configured? - skip for now
38
+ git: {
39
+ name: '',
40
+ email: '',
41
+ branch: '',
42
+ commit: '',
43
+ },
44
+ dashboard: {
45
+ // eslint-disable-next-line
46
+ apply: (compiler) => { },
47
+ },
48
+ };
49
+ class ZeWebpackPlugin {
50
+ constructor(options = {}) {
51
+ this._options = default_zewebpack_options;
52
+ this._options = Object.assign(this._options, options ?? {});
53
+ }
54
+ apply(compiler) {
55
+ (0, ze_setup_build_id_1.setupZephyrConfig)(this._options, compiler);
56
+ (0, ze_setup_build_steps_logging_1.logBuildSteps)(this._options, compiler);
57
+ // setup dashboard plugin,
58
+ // - dash plugin should call a cb with data to be uploaded to API
59
+ // -
60
+ this._options.dashboard = new FederationDashboardPlugin_1.FederationDashboardPlugin({
61
+ zeOptions: this._options,
62
+ app: this._options.app,
63
+ git: this._options.git,
64
+ context: {
65
+ isCI,
66
+ },
67
+ });
68
+ this._options.dashboard.apply(compiler);
69
+ (0, ze_setup_ze_deploy_1.setupZeDeploy)(this._options, compiler);
70
+ }
71
+ }
72
+ exports.ZeWebpackPlugin = ZeWebpackPlugin;
73
+ //# sourceMappingURL=ze-webpack-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ze-webpack-plugin.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/lib/ze-webpack-plugin.ts"],"names":[],"mappings":";;;AACA,8BAA8B;AAE9B,2DAAwD;AACxD,iFAA+D;AAC/D,6DAAqD;AACrD,+DAAyD;AACzD,0IAAuI;AAEvI,MAAM,UAAU,GAAG,iBAAiB,CAAC;AAErC,MAAM,yBAAyB,GAAG;IAChC,UAAU;IACV,IAAI;IACJ,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;IAC/B,IAAI,OAAO;QACT,OAAO,IAAA,wCAAiB,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;IAC5B,CAAC;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE;QACR,OAAO,EAAE,KAAK,CAAC;QACf,QAAQ,EAAE,EAAE;KACb;IACD,eAAe,EAAE,EAAE;IACnB,GAAG,EAAE;QACH,UAAU;QACV,GAAG,EAAE,EAAE;QACP,WAAW;QACX,OAAO,EAAE,EAAE;QACX,oBAAoB;QACpB,IAAI,EAAE,EAAE;QACR,uBAAuB;QACvB,OAAO,EAAE,EAAE;KACZ;IACD,mDAAmD;IACnD,GAAG,EAAE;QACH,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,MAAM,EAAE,EAAE;KACX;IACD,SAAS,EAAE;QACT,2BAA2B;QAC3B,KAAK,EAAE,CAAC,QAAkB,EAAE,EAAE,GAAE,CAAC;KAClC;CACF,CAAC;AAEF,MAAa,eAAe;IAG1B,YAAY,OAAO,GAAG,EAAE;QAFxB,aAAQ,GAAG,yBAAyB,CAAC;QAGnC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,IAAA,qCAAiB,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAA,4CAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACvC,0BAA0B;QAC1B,iEAAiE;QACjE,IAAI;QACJ,IAAI,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,qDAAyB,CAAC;YACtD,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;YACtB,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;YACtB,OAAO,EAAE;gBACP,IAAI;aACL;SACF,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,IAAA,kCAAa,EAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;CACF;AAxBD,0CAwBC"}