Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master'
Browse files Browse the repository at this point in the history
  • Loading branch information
ScriptedAlchemy committed Sep 7, 2023
2 parents d68df56 + b23509a commit 0eb85a7
Show file tree
Hide file tree
Showing 8 changed files with 120 additions and 74 deletions.
6 changes: 0 additions & 6 deletions .changeset/beige-wasps-greet.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/nice-olives-switch.md

This file was deleted.

5 changes: 0 additions & 5 deletions .changeset/seven-cougars-drop.md

This file was deleted.

6 changes: 0 additions & 6 deletions .changeset/twenty-monkeys-drum.md

This file was deleted.

2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Step 3:
Globally install and launch the dashboard:

```shell script
> npm install -g @module-federation/dashboard
> npm install -g @module-federation/dashboard-plugin
> mfdash
```

Expand Down
91 changes: 77 additions & 14 deletions dashboard-plugin/client-version.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,53 @@
module.exports = ({ currentHost, remoteName, dashboardURL }) => {
module.exports = ({
currentHost,
remoteName,
dashboardURL,
fallbackEntryURL,
fallbackRemoteVar,
dashboardTimeout,
}) => {
fallbackRemoteVar = fallbackRemoteVar || remoteName;
fallbackEntryURL = fallbackEntryURL || '';
if (!dashboardTimeout) {
dashboardTimeout = -1;
}
if (typeof dashboardTimeout !== 'number' || isNaN(dashboardTimeout)) {
throw new Error('Invalid dashboardTimeout');
}
//language=JS
return `promise new Promise((resolve, reject) => {
fetch("${dashboardURL}&currentHost=${currentHost}&remoteName=${remoteName}", {
var timeoutSignal;
let timeoutId = null;
var dashboardTimeout = ${dashboardTimeout};
if (dashboardTimeout > 0) {
var timeoutAbort = new AbortController();
timeoutSignal = timeoutAbort.signal;
timeoutId = setTimeout(function () {
timeoutAbort.abort();
}, dashboardTimeout);
}
fetch('${dashboardURL}&currentHost=${currentHost}&remoteName=${remoteName}', {
headers: {
"Content-Type": "application/json",
Accept: "application/json",
'Content-Type': 'application/json',
Accept: 'application/json',
},
signal: timeoutSignal,
})
.finally(function () {
if (timeoutId !== null) {
clearTimeout(timeoutId);
}
})
.then(function (res) {
return res.json()
return res.json();
})
.then(function (data) {
var name = data.name + "_" + data.version;
var name = data.name + '_' + data.version;
var filename = data.version + '.remoteEntry.js';
var url = new URL(filename, data.remoteURL)
var url = new URL(filename, data.remoteURL);
new Promise(function (resolve, reject) {
var __webpack_error__ = new Error()
var __webpack_error__ = new Error();
if (typeof window[name] !== 'undefined') return resolve();
__webpack_require__.l(
url.href,
Expand All @@ -31,11 +62,43 @@ module.exports = ({ currentHost, remoteName, dashboardURL }) => {
__webpack_error__.request = realSrc;
reject(__webpack_error__);
},
name,
name
);
}).then(function () {
resolve(window[name])
}).catch(reject)
})
.then(function () {
resolve(window[name]);
})
.catch(reject);
})
})`;
.catch(function (error) {
var fallbackEntryURL = '${fallbackEntryURL}';
if (!fallbackEntryURL) return Promise.reject(error);
var name = '${fallbackRemoteVar}';
var url = new URL(fallbackEntryURL);
new Promise(function (resolve, reject) {
var __webpack_error__ = new Error();
if (typeof window[name] !== 'undefined') return resolve();
__webpack_require__.l(
url.href,
function (event) {
if (typeof window[name] !== 'undefined') return resolve();
var errorType = event && (event.type === 'load' ? 'missing' : event.type);
var realSrc = event && event.target && event.target.src;
__webpack_error__.message =
'Loading script failed.\\n(' + errorType + ': ' + realSrc + ')';
__webpack_error__.name = 'ScriptExternalLoadError';
__webpack_error__.type = errorType;
__webpack_error__.request = realSrc;
reject(__webpack_error__);
},
name
);
})
.then(function () {
resolve(window[name]);
})
.catch(reject);
});
});`;
};
4 changes: 2 additions & 2 deletions dashboard-plugin/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
},
"repository": {
"type": "git",
"url": "https://github.com/module-federation/medusa.git"
"url": "https://github.com/module-federation/federation-dashboard.git"
},
"files": [
"bin",
Expand Down Expand Up @@ -45,7 +45,7 @@
},
"devDependencies": {
"jest": "26.6.3",
"webpack": "5.61.0",
"webpack": "5.76.0",
"webpack-sources": "2.3.1"
}
}
75 changes: 40 additions & 35 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1649,10 +1649,10 @@
dependencies:
"@babel/types" "^7.3.0"

"@types/eslint-scope@^3.7.0":
version "3.7.3"
resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz"
integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==
"@types/eslint-scope@^3.7.3":
version "3.7.4"
resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==
dependencies:
"@types/eslint" "*"
"@types/estree" "*"
Expand All @@ -1665,16 +1665,11 @@
"@types/estree" "*"
"@types/json-schema" "*"

"@types/estree@*":
"@types/estree@*", "@types/estree@^0.0.51":
version "0.0.51"
resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz"
integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==

"@types/estree@^0.0.50":
version "0.0.50"
resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz"
integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==

"@types/graceful-fs@^4.1.2":
version "4.1.5"
resolved "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz"
Expand Down Expand Up @@ -1952,11 +1947,16 @@ acorn@^7.1.1:
resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==

acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0:
acorn@^8.2.4, acorn@^8.5.0:
version "8.7.0"
resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz"
integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==

acorn@^8.7.1:
version "8.9.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59"
integrity sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==

add-stream@^1.0.0:
version "1.0.0"
resolved "https://registry.npmjs.org/add-stream/-/add-stream-1.0.0.tgz"
Expand Down Expand Up @@ -3164,10 +3164,10 @@ end-of-stream@^1.1.0:
dependencies:
once "^1.4.0"

enhanced-resolve@^5.8.3:
version "5.9.2"
resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.2.tgz"
integrity sha512-GIm3fQfwLJ8YZx2smuHpBKkXC1yOk+OBEmKckVyL0i/ea8mqDEykK3ld5dgH1QYPNyT/lIllxV2LULnxCHaHkA==
enhanced-resolve@^5.10.0:
version "5.15.0"
resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz#1af946c7d93603eb88e9896cee4904dc012e9c35"
integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
Expand Down Expand Up @@ -3868,6 +3868,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.5
resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz"
integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==

graceful-fs@^4.2.9:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==

grapheme-splitter@^1.0.4:
version "1.0.4"
resolved "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz"
Expand Down Expand Up @@ -5005,12 +5010,12 @@ jsesc@^2.5.1:
resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==

json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
json-parse-better-errors@^1.0.1:
version "1.0.2"
resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz"
integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==

json-parse-even-better-errors@^2.3.0:
json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
version "2.3.1"
resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz"
integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
Expand Down Expand Up @@ -7844,10 +7849,10 @@ walker@^1.0.7, walker@~1.0.5:
dependencies:
makeerror "1.0.12"

watchpack@^2.2.0:
version "2.3.1"
resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz"
integrity sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==
watchpack@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
dependencies:
glob-to-regexp "^0.4.1"
graceful-fs "^4.1.2"
Expand Down Expand Up @@ -7909,40 +7914,40 @@ webpack-sources@2.3.1:
source-list-map "^2.0.1"
source-map "^0.6.1"

webpack-sources@^3.2.0:
webpack-sources@^3.2.3:
version "3.2.3"
resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz"
resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==

webpack@5.61.0:
version "5.61.0"
resolved "https://registry.npmjs.org/webpack/-/webpack-5.61.0.tgz"
integrity sha512-fPdTuaYZ/GMGFm4WrPi2KRCqS1vDp773kj9S0iI5Uc//5cszsFEDgHNaX4Rj1vobUiU1dFIV3mA9k1eHeluFpw==
webpack@5.76.0:
version "5.76.0"
resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.0.tgz#f9fb9fb8c4a7dbdcd0d56a98e56b8a942ee2692c"
integrity sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==
dependencies:
"@types/eslint-scope" "^3.7.0"
"@types/estree" "^0.0.50"
"@types/eslint-scope" "^3.7.3"
"@types/estree" "^0.0.51"
"@webassemblyjs/ast" "1.11.1"
"@webassemblyjs/wasm-edit" "1.11.1"
"@webassemblyjs/wasm-parser" "1.11.1"
acorn "^8.4.1"
acorn "^8.7.1"
acorn-import-assertions "^1.7.6"
browserslist "^4.14.5"
chrome-trace-event "^1.0.2"
enhanced-resolve "^5.8.3"
enhanced-resolve "^5.10.0"
es-module-lexer "^0.9.0"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
graceful-fs "^4.2.4"
json-parse-better-errors "^1.0.2"
graceful-fs "^4.2.9"
json-parse-even-better-errors "^2.3.1"
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
schema-utils "^3.1.0"
tapable "^2.1.1"
terser-webpack-plugin "^5.1.3"
watchpack "^2.2.0"
webpack-sources "^3.2.0"
watchpack "^2.4.0"
webpack-sources "^3.2.3"

whatwg-encoding@^1.0.5:
version "1.0.5"
Expand Down

0 comments on commit 0eb85a7

Please sign in to comment.