@module-federation/dts-plugin 0.1.19 → 0.1.21
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/dist/CHANGELOG.md +27 -0
- package/dist/{DtsWorker-d731dc2b.d.ts → DtsWorker-7113d2b0.d.ts} +6 -3
- package/dist/core.d.mts +85 -0
- package/dist/core.d.ts +5 -5
- package/dist/core.js +1105 -1008
- package/dist/dynamic-remote-type-hints-plugin.d.mts +5 -0
- package/dist/dynamic-remote-type-hints-plugin.d.ts +5 -0
- package/dist/dynamic-remote-type-hints-plugin.js +198 -0
- package/dist/esm/chunk-55BKSNZ4.js +2372 -0
- package/dist/esm/chunk-G7ONFBMA.js +24 -0
- package/dist/esm/chunk-MQRIERJP.js +236 -0
- package/dist/esm/core.js +44 -0
- package/dist/esm/dynamic-remote-type-hints-plugin.js +73 -0
- package/dist/esm/fork-dev-worker.js +141 -0
- package/dist/esm/fork-generate-dts.js +26 -0
- package/dist/esm/index.js +406 -0
- package/dist/esm/start-broker.js +36 -0
- package/dist/fork-dev-worker.d.ts +15 -0
- package/dist/fork-dev-worker.js +2543 -0
- package/dist/{forkGenerateDts.d.ts → fork-generate-dts.d.mts} +1 -1
- package/dist/fork-generate-dts.d.ts +9 -0
- package/dist/fork-generate-dts.js +1902 -0
- package/dist/iife/launch-web-client.js +91 -42
- package/dist/index.d.mts +10 -0
- package/dist/index.js +1287 -1181
- package/dist/package.json +11 -2
- package/dist/{startBroker.d.ts → start-broker.d.mts} +2 -0
- package/dist/start-broker.d.ts +42 -0
- package/dist/start-broker.js +1273 -0
- package/package.json +14 -5
- package/dist/forkDevWorker.js +0 -2523
- package/dist/forkGenerateDts.js +0 -1618
- package/dist/launch-web-client.d.ts +0 -2
- package/dist/startBroker.js +0 -902
- /package/dist/{forkDevWorker.d.ts → fork-dev-worker.d.mts} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__name
|
|
3
|
+
} from "./chunk-MQRIERJP.js";
|
|
4
|
+
|
|
5
|
+
// packages/dts-plugin/src/dev-worker/utils.ts
|
|
6
|
+
var DEFAULT_LOCAL_IPS = [
|
|
7
|
+
"localhost",
|
|
8
|
+
"127.0.0.1"
|
|
9
|
+
];
|
|
10
|
+
function getIpFromEntry(entry, ipv4) {
|
|
11
|
+
let ip;
|
|
12
|
+
entry.replace(/https?:\/\/([0-9|.]+|localhost):/, (str, matched) => {
|
|
13
|
+
ip = matched;
|
|
14
|
+
return str;
|
|
15
|
+
});
|
|
16
|
+
if (ip) {
|
|
17
|
+
return DEFAULT_LOCAL_IPS.includes(ip) ? ipv4 : ip;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
__name(getIpFromEntry, "getIpFromEntry");
|
|
21
|
+
|
|
22
|
+
export {
|
|
23
|
+
getIpFromEntry
|
|
24
|
+
};
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
21
|
+
var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
|
|
22
|
+
get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
|
|
23
|
+
}) : x)(function(x) {
|
|
24
|
+
if (typeof require !== "undefined")
|
|
25
|
+
return require.apply(this, arguments);
|
|
26
|
+
throw Error('Dynamic require of "' + x + '" is not supported');
|
|
27
|
+
});
|
|
28
|
+
var __export = (target, all) => {
|
|
29
|
+
for (var name in all)
|
|
30
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
31
|
+
};
|
|
32
|
+
var __publicField = (obj, key, value) => {
|
|
33
|
+
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
34
|
+
return value;
|
|
35
|
+
};
|
|
36
|
+
var __async = (__this, __arguments, generator) => {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
var fulfilled = (value) => {
|
|
39
|
+
try {
|
|
40
|
+
step(generator.next(value));
|
|
41
|
+
} catch (e) {
|
|
42
|
+
reject(e);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var rejected = (value) => {
|
|
46
|
+
try {
|
|
47
|
+
step(generator.throw(value));
|
|
48
|
+
} catch (e) {
|
|
49
|
+
reject(e);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
53
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
// packages/dts-plugin/src/server/constant.ts
|
|
58
|
+
var DEFAULT_WEB_SOCKET_PORT = 16322;
|
|
59
|
+
var WEB_SOCKET_CONNECT_MAGIC_ID = "1hpzW-zo2z-o8io-gfmV1-2cb1d82";
|
|
60
|
+
var MF_SERVER_IDENTIFIER = "Module Federation Dev Server";
|
|
61
|
+
var WEB_CLIENT_OPTIONS_IDENTIFIER = "__WEB_CLIENT_OPTIONS__";
|
|
62
|
+
var DEFAULT_TAR_NAME = "@mf-types.zip";
|
|
63
|
+
|
|
64
|
+
// packages/dts-plugin/src/server/message/Action/Update.ts
|
|
65
|
+
var UpdateKind;
|
|
66
|
+
(function(UpdateKind2) {
|
|
67
|
+
UpdateKind2["UPDATE_TYPE"] = "UPDATE_TYPE";
|
|
68
|
+
UpdateKind2["RELOAD_PAGE"] = "RELOAD_PAGE";
|
|
69
|
+
})(UpdateKind || (UpdateKind = {}));
|
|
70
|
+
|
|
71
|
+
// packages/dts-plugin/src/server/message/Message.ts
|
|
72
|
+
var _Message = class _Message {
|
|
73
|
+
constructor(type, kind) {
|
|
74
|
+
__publicField(this, "type");
|
|
75
|
+
__publicField(this, "kind");
|
|
76
|
+
__publicField(this, "time");
|
|
77
|
+
this.type = type;
|
|
78
|
+
this.kind = kind;
|
|
79
|
+
this.time = Date.now();
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
__name(_Message, "Message");
|
|
83
|
+
var Message = _Message;
|
|
84
|
+
|
|
85
|
+
// packages/dts-plugin/src/server/message/Action/Action.ts
|
|
86
|
+
var ActionKind;
|
|
87
|
+
(function(ActionKind2) {
|
|
88
|
+
ActionKind2["ADD_SUBSCRIBER"] = "ADD_SUBSCRIBER";
|
|
89
|
+
ActionKind2["EXIT_SUBSCRIBER"] = "EXIT_SUBSCRIBER";
|
|
90
|
+
ActionKind2["ADD_PUBLISHER"] = "ADD_PUBLISHER";
|
|
91
|
+
ActionKind2["UPDATE_PUBLISHER"] = "UPDATE_PUBLISHER";
|
|
92
|
+
ActionKind2["NOTIFY_SUBSCRIBER"] = "NOTIFY_SUBSCRIBER";
|
|
93
|
+
ActionKind2["EXIT_PUBLISHER"] = "EXIT_PUBLISHER";
|
|
94
|
+
ActionKind2["ADD_WEB_CLIENT"] = "ADD_WEB_CLIENT";
|
|
95
|
+
ActionKind2["NOTIFY_WEB_CLIENT"] = "NOTIFY_WEB_CLIENT";
|
|
96
|
+
ActionKind2["FETCH_TYPES"] = "FETCH_TYPES";
|
|
97
|
+
ActionKind2["ADD_DYNAMIC_REMOTE"] = "ADD_DYNAMIC_REMOTE";
|
|
98
|
+
})(ActionKind || (ActionKind = {}));
|
|
99
|
+
var _Action = class _Action extends Message {
|
|
100
|
+
constructor(content, kind) {
|
|
101
|
+
super("Action", kind);
|
|
102
|
+
__publicField(this, "payload");
|
|
103
|
+
const { payload } = content;
|
|
104
|
+
this.payload = payload;
|
|
105
|
+
}
|
|
106
|
+
};
|
|
107
|
+
__name(_Action, "Action");
|
|
108
|
+
var Action = _Action;
|
|
109
|
+
|
|
110
|
+
// packages/dts-plugin/src/server/message/Action/FetchTypes.ts
|
|
111
|
+
var _FetchTypesAction = class _FetchTypesAction extends Action {
|
|
112
|
+
constructor(payload) {
|
|
113
|
+
super({
|
|
114
|
+
payload
|
|
115
|
+
}, ActionKind.FETCH_TYPES);
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
__name(_FetchTypesAction, "FetchTypesAction");
|
|
119
|
+
var FetchTypesAction = _FetchTypesAction;
|
|
120
|
+
|
|
121
|
+
// packages/dts-plugin/src/server/message/Action/AddDynamicRemote.ts
|
|
122
|
+
var _AddDynamicRemoteAction = class _AddDynamicRemoteAction extends Action {
|
|
123
|
+
constructor(payload) {
|
|
124
|
+
super({
|
|
125
|
+
payload
|
|
126
|
+
}, ActionKind.ADD_DYNAMIC_REMOTE);
|
|
127
|
+
}
|
|
128
|
+
};
|
|
129
|
+
__name(_AddDynamicRemoteAction, "AddDynamicRemoteAction");
|
|
130
|
+
var AddDynamicRemoteAction = _AddDynamicRemoteAction;
|
|
131
|
+
|
|
132
|
+
// packages/dts-plugin/src/core/constant.ts
|
|
133
|
+
var REMOTE_ALIAS_IDENTIFIER = "REMOTE_ALIAS_IDENTIFIER";
|
|
134
|
+
var REMOTE_API_TYPES_FILE_NAME = "apis.d.ts";
|
|
135
|
+
var HOST_API_TYPES_FILE_NAME = "index.d.ts";
|
|
136
|
+
var UpdateMode;
|
|
137
|
+
(function(UpdateMode2) {
|
|
138
|
+
UpdateMode2["POSITIVE"] = "POSITIVE";
|
|
139
|
+
UpdateMode2["PASSIVE"] = "PASSIVE";
|
|
140
|
+
})(UpdateMode || (UpdateMode = {}));
|
|
141
|
+
|
|
142
|
+
// packages/dts-plugin/src/server/message/Action/AddPublisher.ts
|
|
143
|
+
var _AddPublisherAction = class _AddPublisherAction extends Action {
|
|
144
|
+
constructor(payload) {
|
|
145
|
+
super({
|
|
146
|
+
payload
|
|
147
|
+
}, ActionKind.ADD_PUBLISHER);
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
__name(_AddPublisherAction, "AddPublisherAction");
|
|
151
|
+
var AddPublisherAction = _AddPublisherAction;
|
|
152
|
+
|
|
153
|
+
// packages/dts-plugin/src/server/message/Action/AddSubscriber.ts
|
|
154
|
+
var _AddSubscriberAction = class _AddSubscriberAction extends Action {
|
|
155
|
+
constructor(payload) {
|
|
156
|
+
super({
|
|
157
|
+
payload
|
|
158
|
+
}, ActionKind.ADD_SUBSCRIBER);
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
__name(_AddSubscriberAction, "AddSubscriberAction");
|
|
162
|
+
var AddSubscriberAction = _AddSubscriberAction;
|
|
163
|
+
|
|
164
|
+
// packages/dts-plugin/src/server/message/Action/ExitSubscriber.ts
|
|
165
|
+
var _ExitSubscriberAction = class _ExitSubscriberAction extends Action {
|
|
166
|
+
constructor(payload) {
|
|
167
|
+
super({
|
|
168
|
+
payload
|
|
169
|
+
}, ActionKind.EXIT_SUBSCRIBER);
|
|
170
|
+
}
|
|
171
|
+
};
|
|
172
|
+
__name(_ExitSubscriberAction, "ExitSubscriberAction");
|
|
173
|
+
var ExitSubscriberAction = _ExitSubscriberAction;
|
|
174
|
+
|
|
175
|
+
// packages/dts-plugin/src/server/message/Action/ExitPublisher.ts
|
|
176
|
+
var _ExitPublisherAction = class _ExitPublisherAction extends Action {
|
|
177
|
+
constructor(payload) {
|
|
178
|
+
super({
|
|
179
|
+
payload
|
|
180
|
+
}, ActionKind.EXIT_PUBLISHER);
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
__name(_ExitPublisherAction, "ExitPublisherAction");
|
|
184
|
+
var ExitPublisherAction = _ExitPublisherAction;
|
|
185
|
+
|
|
186
|
+
// packages/dts-plugin/src/server/message/Action/NotifyWebClient.ts
|
|
187
|
+
var _NotifyWebClientAction = class _NotifyWebClientAction extends Action {
|
|
188
|
+
constructor(payload) {
|
|
189
|
+
super({
|
|
190
|
+
payload
|
|
191
|
+
}, ActionKind.NOTIFY_WEB_CLIENT);
|
|
192
|
+
}
|
|
193
|
+
};
|
|
194
|
+
__name(_NotifyWebClientAction, "NotifyWebClientAction");
|
|
195
|
+
var NotifyWebClientAction = _NotifyWebClientAction;
|
|
196
|
+
|
|
197
|
+
// packages/dts-plugin/src/server/message/Action/UpdatePublisher.ts
|
|
198
|
+
var _UpdatePublisherAction = class _UpdatePublisherAction extends Action {
|
|
199
|
+
constructor(payload) {
|
|
200
|
+
super({
|
|
201
|
+
payload
|
|
202
|
+
}, ActionKind.UPDATE_PUBLISHER);
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
__name(_UpdatePublisherAction, "UpdatePublisherAction");
|
|
206
|
+
var UpdatePublisherAction = _UpdatePublisherAction;
|
|
207
|
+
|
|
208
|
+
export {
|
|
209
|
+
__spreadValues,
|
|
210
|
+
__spreadProps,
|
|
211
|
+
__name,
|
|
212
|
+
__require,
|
|
213
|
+
__export,
|
|
214
|
+
__publicField,
|
|
215
|
+
__async,
|
|
216
|
+
Message,
|
|
217
|
+
DEFAULT_WEB_SOCKET_PORT,
|
|
218
|
+
WEB_SOCKET_CONNECT_MAGIC_ID,
|
|
219
|
+
MF_SERVER_IDENTIFIER,
|
|
220
|
+
WEB_CLIENT_OPTIONS_IDENTIFIER,
|
|
221
|
+
DEFAULT_TAR_NAME,
|
|
222
|
+
ActionKind,
|
|
223
|
+
UpdateKind,
|
|
224
|
+
AddPublisherAction,
|
|
225
|
+
AddSubscriberAction,
|
|
226
|
+
ExitSubscriberAction,
|
|
227
|
+
ExitPublisherAction,
|
|
228
|
+
NotifyWebClientAction,
|
|
229
|
+
UpdatePublisherAction,
|
|
230
|
+
FetchTypesAction,
|
|
231
|
+
AddDynamicRemoteAction,
|
|
232
|
+
REMOTE_ALIAS_IDENTIFIER,
|
|
233
|
+
REMOTE_API_TYPES_FILE_NAME,
|
|
234
|
+
HOST_API_TYPES_FILE_NAME,
|
|
235
|
+
UpdateMode
|
|
236
|
+
};
|
package/dist/esm/core.js
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DTSManager,
|
|
3
|
+
DtsWorker,
|
|
4
|
+
consumeTypes,
|
|
5
|
+
generateTypes,
|
|
6
|
+
generateTypesInChildProcess,
|
|
7
|
+
getDTSManagerConstructor,
|
|
8
|
+
isTSProject,
|
|
9
|
+
retrieveHostConfig,
|
|
10
|
+
retrieveMfTypesPath,
|
|
11
|
+
retrieveOriginalOutDir,
|
|
12
|
+
retrieveRemoteConfig,
|
|
13
|
+
retrieveTypesAssetsInfo,
|
|
14
|
+
retrieveTypesZipPath,
|
|
15
|
+
rpc_exports,
|
|
16
|
+
validateOptions
|
|
17
|
+
} from "./chunk-55BKSNZ4.js";
|
|
18
|
+
import {
|
|
19
|
+
HOST_API_TYPES_FILE_NAME,
|
|
20
|
+
REMOTE_ALIAS_IDENTIFIER,
|
|
21
|
+
REMOTE_API_TYPES_FILE_NAME,
|
|
22
|
+
UpdateMode
|
|
23
|
+
} from "./chunk-MQRIERJP.js";
|
|
24
|
+
export {
|
|
25
|
+
DTSManager,
|
|
26
|
+
DtsWorker,
|
|
27
|
+
HOST_API_TYPES_FILE_NAME,
|
|
28
|
+
REMOTE_ALIAS_IDENTIFIER,
|
|
29
|
+
REMOTE_API_TYPES_FILE_NAME,
|
|
30
|
+
UpdateMode,
|
|
31
|
+
consumeTypes,
|
|
32
|
+
generateTypes,
|
|
33
|
+
generateTypesInChildProcess,
|
|
34
|
+
getDTSManagerConstructor,
|
|
35
|
+
isTSProject,
|
|
36
|
+
retrieveHostConfig,
|
|
37
|
+
retrieveMfTypesPath,
|
|
38
|
+
retrieveOriginalOutDir,
|
|
39
|
+
retrieveRemoteConfig,
|
|
40
|
+
retrieveTypesAssetsInfo,
|
|
41
|
+
retrieveTypesZipPath,
|
|
42
|
+
rpc_exports as rpc,
|
|
43
|
+
validateOptions
|
|
44
|
+
};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getIpFromEntry
|
|
3
|
+
} from "./chunk-G7ONFBMA.js";
|
|
4
|
+
import {
|
|
5
|
+
AddDynamicRemoteAction,
|
|
6
|
+
DEFAULT_WEB_SOCKET_PORT,
|
|
7
|
+
FetchTypesAction,
|
|
8
|
+
WEB_SOCKET_CONNECT_MAGIC_ID,
|
|
9
|
+
__name
|
|
10
|
+
} from "./chunk-MQRIERJP.js";
|
|
11
|
+
|
|
12
|
+
// packages/dts-plugin/src/server/createWebsocket.ts
|
|
13
|
+
import WebSocket from "isomorphic-ws";
|
|
14
|
+
function createWebsocket() {
|
|
15
|
+
return new WebSocket(`ws://127.0.0.1:${DEFAULT_WEB_SOCKET_PORT}?WEB_SOCKET_CONNECT_MAGIC_ID=${WEB_SOCKET_CONNECT_MAGIC_ID}`);
|
|
16
|
+
}
|
|
17
|
+
__name(createWebsocket, "createWebsocket");
|
|
18
|
+
|
|
19
|
+
// packages/dts-plugin/src/runtime-plugins/dynamic-remote-type-hints-plugin.ts
|
|
20
|
+
var PLUGIN_NAME = "dynamic-remote-type-hints-plugin";
|
|
21
|
+
function dynamicRemoteTypeHintsPlugin() {
|
|
22
|
+
let ws = createWebsocket();
|
|
23
|
+
let isConnected = false;
|
|
24
|
+
ws.onopen = () => {
|
|
25
|
+
isConnected = true;
|
|
26
|
+
};
|
|
27
|
+
ws.onerror = (err) => {
|
|
28
|
+
console.error(`[ ${PLUGIN_NAME} ] err: ${err}`);
|
|
29
|
+
};
|
|
30
|
+
return {
|
|
31
|
+
name: "dynamic-remote-type-hints-plugin",
|
|
32
|
+
registerRemote(args) {
|
|
33
|
+
const { remote, origin } = args;
|
|
34
|
+
try {
|
|
35
|
+
if (!isConnected) {
|
|
36
|
+
return args;
|
|
37
|
+
}
|
|
38
|
+
if (!("entry" in remote)) {
|
|
39
|
+
return args;
|
|
40
|
+
}
|
|
41
|
+
const defaultIpV4 = typeof FEDERATION_IPV4 === "string" ? FEDERATION_IPV4 : "127.0.0.1";
|
|
42
|
+
const remoteIp = getIpFromEntry(remote.entry, defaultIpV4);
|
|
43
|
+
const remoteInfo = {
|
|
44
|
+
name: remote.name,
|
|
45
|
+
url: remote.entry,
|
|
46
|
+
alias: remote.alias || remote.name
|
|
47
|
+
};
|
|
48
|
+
if (remoteIp) {
|
|
49
|
+
ws.send(JSON.stringify(new AddDynamicRemoteAction({
|
|
50
|
+
remoteIp,
|
|
51
|
+
remoteInfo,
|
|
52
|
+
name: origin.name,
|
|
53
|
+
ip: defaultIpV4
|
|
54
|
+
})));
|
|
55
|
+
}
|
|
56
|
+
ws.send(JSON.stringify(new FetchTypesAction({
|
|
57
|
+
name: origin.name,
|
|
58
|
+
ip: defaultIpV4,
|
|
59
|
+
remoteInfo
|
|
60
|
+
})));
|
|
61
|
+
return args;
|
|
62
|
+
} catch (err) {
|
|
63
|
+
console.error(new Error(err));
|
|
64
|
+
return args;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
__name(dynamicRemoteTypeHintsPlugin, "dynamicRemoteTypeHintsPlugin");
|
|
70
|
+
var dynamic_remote_type_hints_plugin_default = dynamicRemoteTypeHintsPlugin;
|
|
71
|
+
export {
|
|
72
|
+
dynamic_remote_type_hints_plugin_default as default
|
|
73
|
+
};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ModuleFederationDevServer,
|
|
3
|
+
createKoaServer,
|
|
4
|
+
fileLog,
|
|
5
|
+
getDTSManagerConstructor,
|
|
6
|
+
getIPV4,
|
|
7
|
+
retrieveHostConfig,
|
|
8
|
+
retrieveMfTypesPath,
|
|
9
|
+
retrieveRemoteConfig,
|
|
10
|
+
retrieveTypesZipPath,
|
|
11
|
+
rpc_exports
|
|
12
|
+
} from "./chunk-55BKSNZ4.js";
|
|
13
|
+
import {
|
|
14
|
+
getIpFromEntry
|
|
15
|
+
} from "./chunk-G7ONFBMA.js";
|
|
16
|
+
import {
|
|
17
|
+
DEFAULT_TAR_NAME,
|
|
18
|
+
UpdateKind,
|
|
19
|
+
UpdateMode,
|
|
20
|
+
__async,
|
|
21
|
+
__name
|
|
22
|
+
} from "./chunk-MQRIERJP.js";
|
|
23
|
+
|
|
24
|
+
// packages/dts-plugin/src/dev-worker/forkDevWorker.ts
|
|
25
|
+
import { decodeName } from "@module-federation/sdk";
|
|
26
|
+
var typesManager;
|
|
27
|
+
var serverAddress;
|
|
28
|
+
var moduleServer;
|
|
29
|
+
var cacheOptions;
|
|
30
|
+
function getLocalRemoteNames(options, encodeNameIdentifier) {
|
|
31
|
+
if (!options) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
const { mapRemotesToDownload } = retrieveHostConfig(options);
|
|
35
|
+
return Object.keys(mapRemotesToDownload).reduce((sum, remoteModuleName) => {
|
|
36
|
+
const remoteInfo = mapRemotesToDownload[remoteModuleName];
|
|
37
|
+
const name = encodeNameIdentifier ? decodeName(remoteInfo.name, encodeNameIdentifier) : remoteInfo.name;
|
|
38
|
+
const ip = getIpFromEntry(remoteInfo.url, getIPV4());
|
|
39
|
+
if (!ip) {
|
|
40
|
+
return sum;
|
|
41
|
+
}
|
|
42
|
+
sum.push({
|
|
43
|
+
name,
|
|
44
|
+
entry: remoteInfo.url,
|
|
45
|
+
ip
|
|
46
|
+
});
|
|
47
|
+
return sum;
|
|
48
|
+
}, []);
|
|
49
|
+
}
|
|
50
|
+
__name(getLocalRemoteNames, "getLocalRemoteNames");
|
|
51
|
+
function updateCallback(_0) {
|
|
52
|
+
return __async(this, arguments, function* ({ updateMode, name, remoteTypeTarPath, remoteInfo, once }) {
|
|
53
|
+
const { disableHotTypesReload, disableLiveReload } = cacheOptions || {};
|
|
54
|
+
fileLog(`sync remote module ${name}, types to ${cacheOptions == null ? void 0 : cacheOptions.name},typesManager.updateTypes run`, "forkDevWorker", "info");
|
|
55
|
+
if (!disableLiveReload && moduleServer) {
|
|
56
|
+
moduleServer.update({
|
|
57
|
+
updateKind: UpdateKind.RELOAD_PAGE,
|
|
58
|
+
updateMode: UpdateMode.PASSIVE
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
if (!disableHotTypesReload && typesManager) {
|
|
62
|
+
yield typesManager.updateTypes({
|
|
63
|
+
updateMode,
|
|
64
|
+
remoteName: name,
|
|
65
|
+
remoteTarPath: remoteTypeTarPath,
|
|
66
|
+
remoteInfo,
|
|
67
|
+
once
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
__name(updateCallback, "updateCallback");
|
|
73
|
+
function forkDevWorker(options, action) {
|
|
74
|
+
return __async(this, null, function* () {
|
|
75
|
+
if (!typesManager) {
|
|
76
|
+
const { name, remote, host, extraOptions } = options;
|
|
77
|
+
const DTSManagerConstructor = getDTSManagerConstructor(remote == null ? void 0 : remote.implementation);
|
|
78
|
+
typesManager = new DTSManagerConstructor({
|
|
79
|
+
remote,
|
|
80
|
+
host,
|
|
81
|
+
extraOptions
|
|
82
|
+
});
|
|
83
|
+
if (!options.disableHotTypesReload && remote) {
|
|
84
|
+
const { remoteOptions, tsConfig } = retrieveRemoteConfig(remote);
|
|
85
|
+
const mfTypesPath = retrieveMfTypesPath(tsConfig, remoteOptions);
|
|
86
|
+
const mfTypesZipPath = retrieveTypesZipPath(mfTypesPath, remoteOptions);
|
|
87
|
+
yield Promise.all([
|
|
88
|
+
createKoaServer({
|
|
89
|
+
typeTarPath: mfTypesZipPath
|
|
90
|
+
}).then((res) => {
|
|
91
|
+
serverAddress = res.serverAddress;
|
|
92
|
+
}),
|
|
93
|
+
typesManager.generateTypes()
|
|
94
|
+
]).catch((err) => {
|
|
95
|
+
fileLog(`${name} module generateTypes done, localServerAddress: ${JSON.stringify(err)}`, "forkDevWorker", "error");
|
|
96
|
+
});
|
|
97
|
+
fileLog(`${name} module generateTypes done, localServerAddress: ${serverAddress}`, "forkDevWorker", "info");
|
|
98
|
+
}
|
|
99
|
+
moduleServer = new ModuleFederationDevServer({
|
|
100
|
+
name,
|
|
101
|
+
remotes: getLocalRemoteNames(host, extraOptions == null ? void 0 : extraOptions["encodeNameIdentifier"]),
|
|
102
|
+
updateCallback,
|
|
103
|
+
remoteTypeTarPath: `${serverAddress}/${DEFAULT_TAR_NAME}`
|
|
104
|
+
});
|
|
105
|
+
cacheOptions = options;
|
|
106
|
+
}
|
|
107
|
+
if (action === "update" && cacheOptions) {
|
|
108
|
+
fileLog(`remoteModule ${cacheOptions.name} receive devWorker update, start typesManager.updateTypes `, "forkDevWorker", "info");
|
|
109
|
+
if (!cacheOptions.disableLiveReload) {
|
|
110
|
+
moduleServer == null ? void 0 : moduleServer.update({
|
|
111
|
+
updateKind: UpdateKind.RELOAD_PAGE,
|
|
112
|
+
updateMode: UpdateMode.POSITIVE
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
if (!cacheOptions.disableHotTypesReload) {
|
|
116
|
+
typesManager == null ? void 0 : typesManager.updateTypes({
|
|
117
|
+
updateMode: UpdateMode.POSITIVE,
|
|
118
|
+
remoteName: cacheOptions.name
|
|
119
|
+
}).then(() => {
|
|
120
|
+
moduleServer == null ? void 0 : moduleServer.update({
|
|
121
|
+
updateKind: UpdateKind.UPDATE_TYPE,
|
|
122
|
+
updateMode: UpdateMode.POSITIVE
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
__name(forkDevWorker, "forkDevWorker");
|
|
130
|
+
process.on("message", (message) => {
|
|
131
|
+
fileLog(`ChildProcess(${process.pid}), message: ${JSON.stringify(message)} `, "forkDevWorker", "info");
|
|
132
|
+
if (message.type === rpc_exports.RpcGMCallTypes.EXIT) {
|
|
133
|
+
fileLog(`ChildProcess(${process.pid}) SIGTERM, Federation DevServer will exit...`, "forkDevWorker", "error");
|
|
134
|
+
moduleServer.exit();
|
|
135
|
+
process.exit(0);
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
rpc_exports.exposeRpc(forkDevWorker);
|
|
139
|
+
export {
|
|
140
|
+
forkDevWorker
|
|
141
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
RpcGMCallTypes,
|
|
3
|
+
exposeRpc,
|
|
4
|
+
generateTypes
|
|
5
|
+
} from "./chunk-55BKSNZ4.js";
|
|
6
|
+
import {
|
|
7
|
+
__async,
|
|
8
|
+
__name
|
|
9
|
+
} from "./chunk-MQRIERJP.js";
|
|
10
|
+
|
|
11
|
+
// packages/dts-plugin/src/core/lib/forkGenerateDts.ts
|
|
12
|
+
function forkGenerateDts(options) {
|
|
13
|
+
return __async(this, null, function* () {
|
|
14
|
+
return generateTypes(options);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
__name(forkGenerateDts, "forkGenerateDts");
|
|
18
|
+
process.on("message", (message) => {
|
|
19
|
+
if (message.type === RpcGMCallTypes.EXIT) {
|
|
20
|
+
process.exit(0);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
exposeRpc(forkGenerateDts);
|
|
24
|
+
export {
|
|
25
|
+
forkGenerateDts
|
|
26
|
+
};
|