zephyr-webpack-plugin 0.0.6 → 0.0.8
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.
- package/package.json +8 -10
- package/src/delegate-module/zephyr-delegate.js +8 -1
- package/src/delegate-module/zephyr-delegate.js.map +1 -1
- package/src/federation-dashboard-legacy/get-dashboard-data.d.ts +5 -0
- package/src/federation-dashboard-legacy/get-dashboard-data.js +104 -0
- package/src/federation-dashboard-legacy/get-dashboard-data.js.map +1 -0
- package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.d.ts +14 -4
- package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.js +120 -116
- package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.js.map +1 -1
- package/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/federation-dashboard-plugin-options.d.ts +0 -2
- package/src/hacks/resolve-index-html.d.ts +2 -0
- package/src/hacks/resolve-index-html.js +22 -0
- package/src/hacks/resolve-index-html.js.map +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +6 -1
- package/src/index.js.map +1 -1
- package/src/lib/actions/ze-upload-build-stats.d.ts +4 -1
- package/src/lib/actions/ze-upload-build-stats.js +5 -0
- package/src/lib/actions/ze-upload-build-stats.js.map +1 -1
- package/src/lib/dependency-resolution/replace-remotes-with-delegates.js +2 -1
- package/src/lib/dependency-resolution/replace-remotes-with-delegates.js.map +1 -1
- package/src/lib/dependency-resolution/resolve-remote-dependencies.d.ts +5 -0
- package/src/lib/dependency-resolution/resolve-remote-dependencies.js +32 -0
- package/src/lib/dependency-resolution/resolve-remote-dependencies.js.map +1 -0
- package/src/lib/payload-builders/ze-build-assets-map.d.ts +2 -2
- package/src/lib/payload-builders/ze-build-assets-map.js +15 -16
- package/src/lib/payload-builders/ze-build-assets-map.js.map +1 -1
- package/src/lib/utils/is-mf-plugin.d.ts +4 -0
- package/src/lib/utils/is-mf-plugin.js +11 -0
- package/src/lib/utils/is-mf-plugin.js.map +1 -0
- package/src/lib/with-zephyr.d.ts +2 -1
- package/src/lib/with-zephyr.js +14 -31
- package/src/lib/with-zephyr.js.map +1 -1
- package/src/lib/ze-agent/index.d.ts +10 -0
- package/src/lib/ze-agent/index.js +57 -0
- package/src/lib/ze-agent/index.js.map +1 -0
- package/src/lib/ze-agent/lifecycle-events.d.ts +2 -0
- package/src/lib/ze-agent/lifecycle-events.js +20 -0
- package/src/lib/ze-agent/lifecycle-events.js.map +1 -0
- package/src/lib/ze-setup-ze-deploy.js +14 -49
- package/src/lib/ze-setup-ze-deploy.js.map +1 -1
- package/src/lib/ze-webpack-plugin.js +0 -13
- package/src/lib/ze-webpack-plugin.js.map +1 -1
- package/src/types/ze-webpack-plugin-options.d.ts +1 -2
- package/src/types/zephyr-plugin-options.d.ts +1 -0
- package/src/utils/debug.d.ts +2 -0
- package/src/utils/debug.js +8 -0
- package/src/utils/debug.js.map +1 -0
- package/src/utils/get-ze-build-asset.d.ts +6 -0
- package/src/utils/get-ze-build-asset.js +21 -0
- package/src/utils/get-ze-build-asset.js.map +1 -0
- package/src/lib/dependency-resolution/resolve-key-version-to-entry.d.ts +0 -0
- package/src/lib/dependency-resolution/resolve-key-version-to-entry.js +0 -11
- package/src/lib/dependency-resolution/resolve-key-version-to-entry.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zephyr-webpack-plugin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"is-ci": "
|
|
7
|
-
"webpack": "5.91.0",
|
|
6
|
+
"is-ci": "^3.0.1",
|
|
7
|
+
"webpack": "^5.91.0",
|
|
8
8
|
"tslib": "^2.3.0",
|
|
9
|
-
"@babel/parser": "7.23.6",
|
|
10
|
-
"@babel/types": "7.23.6",
|
|
11
|
-
"@babel/traverse": "7.23.7",
|
|
12
|
-
"@babel/generator": "7.23.6",
|
|
13
9
|
"@module-federation/automatic-vendor-federation": "1.2.1",
|
|
14
|
-
"zephyr-edge-contract": "0.0.
|
|
10
|
+
"zephyr-edge-contract": "^0.0.8",
|
|
11
|
+
"debug": "^4.3.4"
|
|
15
12
|
},
|
|
16
13
|
"devDependencies": {
|
|
17
|
-
"@types/is-ci": "3.0.4",
|
|
18
|
-
"@types/node-persist": "^3.1.8"
|
|
14
|
+
"@types/is-ci": "^3.0.4",
|
|
15
|
+
"@types/node-persist": "^3.1.8",
|
|
16
|
+
"@types/debug": "^4.1.12"
|
|
19
17
|
},
|
|
20
18
|
"main": "./src/index.js",
|
|
21
19
|
"type": "commonjs"
|
|
@@ -103,9 +103,16 @@ function delegate_module_template() {
|
|
|
103
103
|
.then((remoteUrl) => {
|
|
104
104
|
if (typeof remoteUrl !== 'string')
|
|
105
105
|
return;
|
|
106
|
+
const _win = window;
|
|
107
|
+
if (typeof __webpack_require__ !== 'undefined' &&
|
|
108
|
+
typeof __webpack_require__.l === 'function') {
|
|
109
|
+
__webpack_require__.l(remoteUrl, () => {
|
|
110
|
+
resolve(_win[remote_name]);
|
|
111
|
+
}, remote_name, remote_name);
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
106
114
|
return new Function(`return import("${remoteUrl}")`)()
|
|
107
115
|
.then((mod) => {
|
|
108
|
-
const _win = window;
|
|
109
116
|
if (typeof _win[remote_name] !== 'undefined') {
|
|
110
117
|
return resolve(_win[remote_name]);
|
|
111
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zephyr-delegate.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/delegate-module/zephyr-delegate.ts"],"names":[],"mappings":";;;AAAA,+DAK8B;
|
|
1
|
+
{"version":3,"file":"zephyr-delegate.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/delegate-module/zephyr-delegate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ConvertedGraph } from './utils/convert-to-graph/convert-to-graph';
|
|
2
|
+
import { ZephyrAgentProps } from '../lib/ze-agent';
|
|
3
|
+
export declare function getDashboardData({ stats, stats_json, pluginOptions, EDGE_URL, }: ZephyrAgentProps & {
|
|
4
|
+
EDGE_URL: string;
|
|
5
|
+
}): ConvertedGraph | undefined;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getDashboardData = void 0;
|
|
4
|
+
const FederationDashboardPlugin_1 = require("./utils/federation-dashboard-plugin/FederationDashboardPlugin");
|
|
5
|
+
const isCI = require("is-ci");
|
|
6
|
+
const zephyr_edge_contract_1 = require("zephyr-edge-contract");
|
|
7
|
+
function getDashboardData({ stats, stats_json, pluginOptions, EDGE_URL, }) {
|
|
8
|
+
const dashboardPlugin = new FederationDashboardPlugin_1.FederationDashboardPlugin({
|
|
9
|
+
app: pluginOptions.app,
|
|
10
|
+
git: pluginOptions.git,
|
|
11
|
+
context: {
|
|
12
|
+
isCI,
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
const convertedGraph = dashboardPlugin.processWebpackGraph({
|
|
16
|
+
stats,
|
|
17
|
+
stats_json,
|
|
18
|
+
pluginOptions,
|
|
19
|
+
});
|
|
20
|
+
if (!convertedGraph)
|
|
21
|
+
return;
|
|
22
|
+
/** todo: what we need here:
|
|
23
|
+
// - dependencies, devDependencies, peerDependencies
|
|
24
|
+
// - overrides [
|
|
25
|
+
// {
|
|
26
|
+
// "id": "react-dom",
|
|
27
|
+
// "name": "react-dom",
|
|
28
|
+
// "version": "18.2.0",
|
|
29
|
+
// "location": "react-dom",
|
|
30
|
+
// "applicationID": "react-dom"
|
|
31
|
+
// },
|
|
32
|
+
// {
|
|
33
|
+
// "id": "react",
|
|
34
|
+
// "name": "react",
|
|
35
|
+
// "version": "18.2.0",
|
|
36
|
+
// "location": "react",
|
|
37
|
+
// "applicationID": "react"
|
|
38
|
+
// }
|
|
39
|
+
// ]
|
|
40
|
+
// - consumes [
|
|
41
|
+
// {
|
|
42
|
+
// "consumingApplicationID": "GreenRecos",
|
|
43
|
+
// "applicationID": "team-green",
|
|
44
|
+
// "name": "GreenRecos",
|
|
45
|
+
// "usedIn": [
|
|
46
|
+
// {
|
|
47
|
+
// "file": "src/app/team-red-layout.tsx",
|
|
48
|
+
// "url": "/src/app/team-red-layout.tsx"
|
|
49
|
+
// }
|
|
50
|
+
// ]
|
|
51
|
+
// },
|
|
52
|
+
// {
|
|
53
|
+
// "consumingApplicationID": "BlueBasket",
|
|
54
|
+
// "applicationID": "team-blue",
|
|
55
|
+
// "name": "BlueBasket",
|
|
56
|
+
// "usedIn": [
|
|
57
|
+
// {
|
|
58
|
+
// "file": "src/app/team-red-layout.tsx",
|
|
59
|
+
// "url": "/src/app/team-red-layout.tsx"
|
|
60
|
+
// }
|
|
61
|
+
// ]
|
|
62
|
+
// },
|
|
63
|
+
// {
|
|
64
|
+
// "consumingApplicationID": "BlueBuy",
|
|
65
|
+
// "applicationID": "team-blue",
|
|
66
|
+
// "name": "BlueBuy",
|
|
67
|
+
// "usedIn": [
|
|
68
|
+
// {
|
|
69
|
+
// "file": "src/app/team-red-layout.tsx",
|
|
70
|
+
// "url": "/src/app/team-red-layout.tsx"
|
|
71
|
+
// }
|
|
72
|
+
// ]
|
|
73
|
+
// }
|
|
74
|
+
// ]
|
|
75
|
+
// - modules [
|
|
76
|
+
// {
|
|
77
|
+
// "id": "TeamRedLayout:TeamRedLayout",
|
|
78
|
+
// "name": "TeamRedLayout",
|
|
79
|
+
// "applicationID": "TeamRedLayout",
|
|
80
|
+
// "requires": [],
|
|
81
|
+
// "file": "./src/app/team-red-layout"
|
|
82
|
+
// }
|
|
83
|
+
// ]
|
|
84
|
+
*/
|
|
85
|
+
const version = (0, zephyr_edge_contract_1.createSnapshotId)(pluginOptions);
|
|
86
|
+
const { app, git } = pluginOptions;
|
|
87
|
+
const data_overrides = {
|
|
88
|
+
id: pluginOptions.application_uid,
|
|
89
|
+
name: pluginOptions.mfConfig?.name,
|
|
90
|
+
edge: { url: EDGE_URL },
|
|
91
|
+
app: Object.assign({}, app, { buildId: pluginOptions.zeConfig.buildId }),
|
|
92
|
+
version,
|
|
93
|
+
git,
|
|
94
|
+
remote: pluginOptions.mfConfig?.filename,
|
|
95
|
+
remotes: Object.keys(pluginOptions.mfConfig?.remotes || {}),
|
|
96
|
+
context: {
|
|
97
|
+
isCI: pluginOptions.isCI,
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
// todo: extend data
|
|
101
|
+
return Object.assign({}, convertedGraph, data_overrides);
|
|
102
|
+
}
|
|
103
|
+
exports.getDashboardData = getDashboardData;
|
|
104
|
+
//# sourceMappingURL=get-dashboard-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-dashboard-data.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/federation-dashboard-legacy/get-dashboard-data.ts"],"names":[],"mappings":";;;AACA,6GAA0G;AAC1G,8BAA8B;AAC9B,+DAAwD;AAGxD,SAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,aAAa,EACb,QAAQ,GAGT;IACC,MAAM,eAAe,GAAG,IAAI,qDAAyB,CAAC;QACpD,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,GAAG,EAAE,aAAa,CAAC,GAAG;QACtB,OAAO,EAAE;YACP,IAAI;SACL;KACF,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,eAAe,CAAC,mBAAmB,CAAC;QACzD,KAAK;QACL,UAAU;QACV,aAAa;KACd,CAAC,CAAC;IACH,IAAI,CAAC,cAAc;QAAE,OAAO;IAE5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8DG;IACH,MAAM,OAAO,GAAG,IAAA,uCAAgB,EAAC,aAAa,CAAC,CAAC;IAEhD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;IACnC,MAAM,cAAc,GAAG;QACrB,EAAE,EAAE,aAAa,CAAC,eAAe;QACjC,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,IAAI;QAClC,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE;QACvB,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxE,OAAO;QACP,GAAG;QACH,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ;QACxC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,IAAI,EAAE,CAAC;QAC3D,OAAO,EAAE;YACP,IAAI,EAAE,aAAa,CAAC,IAAI;SACzB;KACF,CAAC;IAEF,oBAAoB;IACpB,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAzGD,4CAyGC"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
-
import { Chunk,
|
|
1
|
+
import { Chunk, Compiler, Stats, StatsChunk, StatsCompilation } from 'webpack';
|
|
2
|
+
import { ConvertedGraph } from '../convert-to-graph/convert-to-graph';
|
|
2
3
|
import { TopLevelPackage } from '../convert-to-graph/validate-params';
|
|
4
|
+
import { ZeUploadBuildStats } from 'zephyr-edge-contract';
|
|
3
5
|
import { FederationDashboardPluginOptions } from './federation-dashboard-plugin-options';
|
|
4
6
|
import { Exposes } from './federation-dashboard-types';
|
|
7
|
+
import { ZeWebpackPluginOptions } from '../../../types/ze-webpack-plugin-options';
|
|
8
|
+
interface ProcessWebpackGraphParams {
|
|
9
|
+
stats: Stats;
|
|
10
|
+
stats_json: StatsCompilation;
|
|
11
|
+
pluginOptions: ZeWebpackPluginOptions;
|
|
12
|
+
}
|
|
5
13
|
export declare class FederationDashboardPlugin {
|
|
6
14
|
_options: FederationDashboardPluginOptions;
|
|
7
15
|
_dashData: string | undefined;
|
|
@@ -16,12 +24,14 @@ export declare class FederationDashboardPlugin {
|
|
|
16
24
|
* @param {Compiler} compiler
|
|
17
25
|
*/
|
|
18
26
|
apply(compiler: Compiler): void;
|
|
19
|
-
|
|
20
|
-
processWebpackGraph(curCompiler: Compilation): Promise<unknown>;
|
|
27
|
+
processWebpackGraph({ stats, stats_json, pluginOptions, }: ProcessWebpackGraphParams): ConvertedGraph | undefined;
|
|
21
28
|
getRemoteEntryChunk(stats: StatsCompilation, FederationPluginOptions: typeof this.FederationPluginOptions): StatsChunk | undefined;
|
|
22
29
|
getChunkDependencies(validChunkArray: Chunk[]): Record<string, never>;
|
|
23
30
|
buildVendorFederationMap(liveStats: Stats): TopLevelPackage;
|
|
24
31
|
mapToObjectRec(m: Record<string, Chunk[keyof Chunk]> | Map<string, Chunk[keyof Chunk]> | Chunk[keyof Chunk][]): Record<string, unknown>;
|
|
25
32
|
buildValidChunkArray(liveStats: Stats, FederationPluginOptions: typeof this.FederationPluginOptions): Chunk[];
|
|
26
|
-
postDashboardData(dashData:
|
|
33
|
+
postDashboardData(dashData: any): Promise<{
|
|
34
|
+
value: ZeUploadBuildStats;
|
|
35
|
+
} | undefined>;
|
|
27
36
|
}
|
|
37
|
+
export {};
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FederationDashboardPlugin = void 0;
|
|
4
|
-
const node_fs_1 = require("node:fs");
|
|
5
4
|
const node_path_1 = require("node:path");
|
|
6
|
-
const parser_1 = require("@babel/parser");
|
|
7
|
-
const types_1 = require("@babel/types");
|
|
8
|
-
const traverse_1 = require("@babel/traverse");
|
|
9
|
-
const generator_1 = require("@babel/generator");
|
|
10
5
|
const convert_to_graph_1 = require("../convert-to-graph/convert-to-graph");
|
|
11
|
-
const zephyr_edge_contract_1 = require("zephyr-edge-contract");
|
|
12
6
|
const find_package_json_1 = require("./find-package-json");
|
|
13
7
|
const compute_version_strategy_1 = require("./compute-version-strategy");
|
|
14
8
|
const add_runtime_requirement_to_promise_external_1 = require("./add-runtime-requirement-to-promise-external");
|
|
9
|
+
const is_mf_plugin_1 = require("../../../lib/utils/is-mf-plugin");
|
|
15
10
|
// convert this require to imports
|
|
16
11
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
17
12
|
const AutomaticVendorFederation = require('@module-federation/automatic-vendor-federation');
|
|
@@ -34,7 +29,7 @@ class FederationDashboardPlugin {
|
|
|
34
29
|
// todo: use buildid version (user_build_count)
|
|
35
30
|
compiler.options.output.uniqueName = `v${Date.now()}`;
|
|
36
31
|
new add_runtime_requirement_to_promise_external_1.AddRuntimeRequirementToPromiseExternal().apply(compiler);
|
|
37
|
-
const FederationPlugin = compiler.options.plugins.find(
|
|
32
|
+
const FederationPlugin = compiler.options.plugins.find(is_mf_plugin_1.isModuleFederationPlugin);
|
|
38
33
|
// todo: valorkin fixes
|
|
39
34
|
this._options.standalone = typeof FederationPlugin === 'undefined';
|
|
40
35
|
if (FederationPlugin) {
|
|
@@ -69,108 +64,137 @@ class FederationDashboardPlugin {
|
|
|
69
64
|
// }).apply(compiler);
|
|
70
65
|
// }
|
|
71
66
|
}
|
|
72
|
-
parseModuleAst(compilation, callback) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
67
|
+
/*parseModuleAst(compilation: Compilation, callback?: () => void): void {
|
|
68
|
+
const filePaths: { resource: string; file?: string }[] = [];
|
|
69
|
+
const allArgumentsUsed: string[][] = [];
|
|
70
|
+
// Explore each chunk (build output):
|
|
71
|
+
compilation.chunks.forEach((chunk) => {
|
|
72
|
+
// Explore each module within the chunk (built inputs):
|
|
73
|
+
chunk.getModules().forEach(
|
|
74
|
+
(
|
|
75
|
+
module: Module & {
|
|
76
|
+
resource?: string;
|
|
77
|
+
resourceResolveData?: { relativePath: string };
|
|
78
|
+
}
|
|
79
|
+
) => {
|
|
80
|
+
// Loop through all the dependencies that has the named export that we are looking for
|
|
81
|
+
const matchedNamedExports = module.dependencies.filter(
|
|
82
|
+
(dep: Dependency & { name?: string }) =>
|
|
83
|
+
dep.name === 'federateComponent'
|
|
84
|
+
);
|
|
85
|
+
|
|
86
|
+
if (matchedNamedExports.length > 0 && module.resource) {
|
|
87
|
+
filePaths.push({
|
|
88
|
+
resource: module.resource,
|
|
89
|
+
file: module.resourceResolveData?.relativePath,
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
|
|
95
|
+
filePaths.forEach(({ resource, file }) => {
|
|
96
|
+
const sourceCode = readFileSync(resource).toString('utf-8');
|
|
97
|
+
const ast = parse(sourceCode, {
|
|
98
|
+
sourceType: 'unambiguous',
|
|
99
|
+
plugins: ['jsx', 'typescript'],
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
// traverse the abstract syntax tree
|
|
103
|
+
traverse(ast, {
|
|
104
|
+
/!**
|
|
105
|
+
* We want to run a function depending on a found nodeType
|
|
106
|
+
* More node types are documented here: https://babeljs.io/docs/en/babel-types#api
|
|
107
|
+
*!/
|
|
108
|
+
CallExpression: (path) => {
|
|
109
|
+
const { node } = path;
|
|
110
|
+
const { callee, arguments: args } = node;
|
|
111
|
+
|
|
112
|
+
if (callee?.loc?.identifierName === 'federateComponent') {
|
|
113
|
+
const argsAreStrings = args.every(
|
|
114
|
+
(arg) => arg.type === 'StringLiteral'
|
|
115
|
+
);
|
|
116
|
+
if (!argsAreStrings) {
|
|
117
|
+
return;
|
|
86
118
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if ((0, types_1.isNode)(value)) {
|
|
122
|
-
// by breaking out of the loop here,
|
|
123
|
-
// we also prevent this args to be pushed to `allArgumentsUsed`
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
argsValue.push(value);
|
|
128
|
-
}
|
|
129
|
-
if (i === args.length - 1) {
|
|
130
|
-
// push to the top level array
|
|
131
|
-
allArgumentsUsed.push(argsValue.filter(Boolean));
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
});
|
|
137
|
-
});
|
|
119
|
+
const argsValue: (string | undefined)[] = [file];
|
|
120
|
+
|
|
121
|
+
// we collect the JS representation of each argument used in this function call
|
|
122
|
+
for (let i = 0; i < args.length; i++) {
|
|
123
|
+
const a = args[i];
|
|
124
|
+
let { code } = generate(a);
|
|
125
|
+
|
|
126
|
+
if (code.startsWith('{')) {
|
|
127
|
+
// wrap it in parentheses, so when it's eval-ed, it is eval-ed correctly into an JS object
|
|
128
|
+
code = `(${code})`;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
const value = eval(code);
|
|
132
|
+
|
|
133
|
+
// If the value is a Node, that means it was a variable name
|
|
134
|
+
// There is no easy way to resolve the variable real value, so we just skip any function calls
|
|
135
|
+
// that has variable as its args
|
|
136
|
+
if (isNode(value)) {
|
|
137
|
+
// by breaking out of the loop here,
|
|
138
|
+
// we also prevent this args to be pushed to `allArgumentsUsed`
|
|
139
|
+
break;
|
|
140
|
+
} else {
|
|
141
|
+
argsValue.push(value);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
if (i === args.length - 1) {
|
|
145
|
+
// push to the top level array
|
|
146
|
+
|
|
147
|
+
allArgumentsUsed.push(argsValue.filter(Boolean) as string[]);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
});
|
|
138
153
|
});
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
});
|
|
155
|
+
|
|
156
|
+
const uniqueArgs = allArgumentsUsed.reduce(
|
|
157
|
+
(acc, current) => {
|
|
158
|
+
const id = current.join('|');
|
|
159
|
+
acc[id] = current as [
|
|
160
|
+
file: string,
|
|
161
|
+
applicationID: string,
|
|
162
|
+
name: string,
|
|
163
|
+
];
|
|
164
|
+
return acc;
|
|
165
|
+
},
|
|
166
|
+
{} as Record<string, [file: string, applicationID: string, name: string]>
|
|
167
|
+
);
|
|
168
|
+
this.allArgumentsUsed = Object.values(uniqueArgs);
|
|
169
|
+
if (callback) callback();
|
|
170
|
+
}*/
|
|
171
|
+
processWebpackGraph({ stats, stats_json, pluginOptions, }) {
|
|
172
|
+
// async processWebpackGraph(/*curCompiler: Compilation*/): Promise<unknown> {
|
|
173
|
+
// const stats = curCompiler.getStats();
|
|
174
|
+
// const stats_json = stats.toJson();
|
|
175
|
+
// if (this._options.useAST) {
|
|
176
|
+
// this.parseModuleAst(curCompiler);
|
|
177
|
+
// }
|
|
154
178
|
// fs.writeFileSync('stats.json', JSON.stringify(stats, null, 2))
|
|
155
179
|
// get RemoteEntryChunk
|
|
156
|
-
const RemoteEntryChunk = this.getRemoteEntryChunk(
|
|
157
|
-
const validChunkArray = this.buildValidChunkArray(
|
|
180
|
+
const RemoteEntryChunk = this.getRemoteEntryChunk(stats_json, this.FederationPluginOptions);
|
|
181
|
+
const validChunkArray = this.buildValidChunkArray(stats, this.FederationPluginOptions);
|
|
158
182
|
const chunkDependencies = this.getChunkDependencies(validChunkArray);
|
|
159
|
-
const vendorFederation = this.buildVendorFederationMap(
|
|
183
|
+
const vendorFederation = this.buildVendorFederationMap(stats);
|
|
160
184
|
const rawData = {
|
|
161
185
|
name: this.FederationPluginOptions?.name,
|
|
162
186
|
remotes: Object.keys(this.FederationPluginOptions?.remotes || {}),
|
|
163
187
|
metadata: this._options.metadata || {},
|
|
164
188
|
topLevelPackage: vendorFederation || {},
|
|
165
|
-
publicPath:
|
|
189
|
+
publicPath: stats_json.publicPath,
|
|
166
190
|
federationRemoteEntry: RemoteEntryChunk,
|
|
167
|
-
buildHash:
|
|
191
|
+
buildHash: stats_json.hash,
|
|
168
192
|
environment: this._options.environment, // 'development' if not specified
|
|
169
|
-
version: (0, compute_version_strategy_1.computeVersionStrategy)(
|
|
193
|
+
version: (0, compute_version_strategy_1.computeVersionStrategy)(stats_json, this._options.versionStrategy),
|
|
170
194
|
posted: this._options.posted, // Date.now() if not specified
|
|
171
195
|
group: this._options.group, // 'default' if not specified
|
|
172
196
|
sha: compute_version_strategy_1.gitSha,
|
|
173
|
-
modules:
|
|
197
|
+
modules: stats_json.modules,
|
|
174
198
|
chunkDependencies,
|
|
175
199
|
functionRemotes: this.allArgumentsUsed,
|
|
176
200
|
};
|
|
@@ -182,32 +206,12 @@ class FederationDashboardPlugin {
|
|
|
182
206
|
console.warn('Error during dashboard data processing');
|
|
183
207
|
console.warn(err);
|
|
184
208
|
}
|
|
185
|
-
// todo: ze_webpack plugin
|
|
186
|
-
const ze_webpack_plugin = curCompiler.options.plugins.find((plugin) => plugin?.constructor.name === 'ZeWebpackPlugin');
|
|
187
|
-
const version = (0, zephyr_edge_contract_1.createSnapshotId)(ze_webpack_plugin._options);
|
|
188
|
-
// todo: override data from convert graph
|
|
189
|
-
const data_overrides = {
|
|
190
|
-
id: (0, zephyr_edge_contract_1.createFullAppName)(this._options.app),
|
|
191
|
-
version: version,
|
|
192
|
-
app: this._options.app,
|
|
193
|
-
git: this._options.git,
|
|
194
|
-
remotes: rawData.remotes,
|
|
195
|
-
context: {
|
|
196
|
-
isCI: this._options.context.isCI,
|
|
197
|
-
},
|
|
198
|
-
};
|
|
199
|
-
// todo: extend data
|
|
200
|
-
Object.assign(graphData, data_overrides);
|
|
201
209
|
if (!graphData) {
|
|
202
210
|
return;
|
|
203
211
|
}
|
|
212
|
+
return graphData;
|
|
204
213
|
// const dashData = (this._dashData = JSON.stringify(graphData));
|
|
205
|
-
return this.postDashboardData(graphData)
|
|
206
|
-
if (err) {
|
|
207
|
-
curCompiler.errors.push(err);
|
|
208
|
-
throw err;
|
|
209
|
-
}
|
|
210
|
-
});
|
|
214
|
+
// return this.postDashboardData(graphData);
|
|
211
215
|
// todo: this was generating dashboard plugin, not sure we need it anymore
|
|
212
216
|
/*return Promise.resolve().then(() => {
|
|
213
217
|
const statsBuf = Buffer.from(dashData || '{}', 'utf-8');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FederationDashboardPlugin.js","sourceRoot":"","sources":["../../../../../../../packages/zephyr-webpack-plugin/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"FederationDashboardPlugin.js","sourceRoot":"","sources":["../../../../../../../packages/zephyr-webpack-plugin/src/federation-dashboard-legacy/utils/federation-dashboard-plugin/FederationDashboardPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.onIndexHtmlResolved = exports.resolveIndexHtml = void 0;
|
|
4
|
+
const node_events_1 = require("node:events");
|
|
5
|
+
const debug_1 = require("../utils/debug");
|
|
6
|
+
const _index_html_emitted = new node_events_1.EventEmitter();
|
|
7
|
+
const _event_name = 'index-html-resolved';
|
|
8
|
+
function resolveIndexHtml(content) {
|
|
9
|
+
(0, debug_1.ze_log)('Index HTML resolved');
|
|
10
|
+
_index_html_emitted.emit(_event_name, content);
|
|
11
|
+
}
|
|
12
|
+
exports.resolveIndexHtml = resolveIndexHtml;
|
|
13
|
+
async function onIndexHtmlResolved() {
|
|
14
|
+
return new Promise((resolve, reject) => {
|
|
15
|
+
(0, debug_1.ze_log)('Waiting for index HTML to be resolved');
|
|
16
|
+
// wait for 1 minute (just in case)
|
|
17
|
+
setTimeout(reject, 60000);
|
|
18
|
+
_index_html_emitted.once(_event_name, resolve);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
exports.onIndexHtmlResolved = onIndexHtmlResolved;
|
|
22
|
+
//# sourceMappingURL=resolve-index-html.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-index-html.js","sourceRoot":"","sources":["../../../../../packages/zephyr-webpack-plugin/src/hacks/resolve-index-html.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,0CAAwC;AAExC,MAAM,mBAAmB,GAAG,IAAI,0BAAY,EAAE,CAAC;AAE/C,MAAM,WAAW,GAAG,qBAAqB,CAAC;AAE1C,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAA,cAAM,EAAC,qBAAqB,CAAC,CAAC;IAC9B,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;AACjD,CAAC;AAHD,4CAGC;AAEM,KAAK,UAAU,mBAAmB;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAA,cAAM,EAAC,uCAAuC,CAAC,CAAC;QAChD,mCAAmC;QACnC,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1B,mBAAmB,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAPD,kDAOC"}
|
package/src/index.d.ts
CHANGED
package/src/index.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.withZephyr = void 0;
|
|
3
|
+
exports.resolveIndexHtml = exports.onDeploymentDone = exports.withZephyr = void 0;
|
|
4
4
|
var with_zephyr_1 = require("./lib/with-zephyr");
|
|
5
5
|
Object.defineProperty(exports, "withZephyr", { enumerable: true, get: function () { return with_zephyr_1.withZephyr; } });
|
|
6
|
+
var lifecycle_events_1 = require("./lib/ze-agent/lifecycle-events");
|
|
7
|
+
Object.defineProperty(exports, "onDeploymentDone", { enumerable: true, get: function () { return lifecycle_events_1.onDeploymentDone; } });
|
|
8
|
+
// hacks
|
|
9
|
+
var resolve_index_html_1 = require("./hacks/resolve-index-html");
|
|
10
|
+
Object.defineProperty(exports, "resolveIndexHtml", { enumerable: true, get: function () { return resolve_index_html_1.resolveIndexHtml; } });
|
|
6
11
|
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/zephyr-webpack-plugin/src/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,yGAAA,UAAU,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/zephyr-webpack-plugin/src/index.ts"],"names":[],"mappings":";;;AAAA,iDAA+C;AAAtC,yGAAA,UAAU,OAAA;AACnB,oEAAmE;AAA1D,oHAAA,gBAAgB,OAAA;AAEzB,QAAQ;AACR,iEAA8D;AAArD,sHAAA,gBAAgB,OAAA"}
|