remote-reload-utils 0.0.4 → 0.0.5
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/README.md +25 -8
- package/dist/index.d.ts +2 -1
- package/dist/main.cjs +2 -2
- package/dist/main.js +2 -2
- package/package.json +13 -6
package/README.md
CHANGED
|
@@ -26,12 +26,29 @@ pnpm dev
|
|
|
26
26
|
|
|
27
27
|
```ts
|
|
28
28
|
import { loadRemoteMultiVersion } from 'remote-reload-utils';
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
29
|
+
const [comp, setComp] = useState(null);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
async function init() {
|
|
32
|
+
const { scopeName, mf } = await loadRemoteMultiVersion({
|
|
33
|
+
name: 'react_mf_lib',
|
|
34
|
+
pkg: 'test-mf-unpkg',
|
|
35
|
+
version: '1.0.5',
|
|
36
|
+
// version: 'latest',
|
|
37
|
+
});
|
|
38
|
+
if (!mf) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (mf) {
|
|
42
|
+
console.log(mf);
|
|
43
|
+
const mod = await mf.loadRemote(`${scopeName}/Button`);
|
|
44
|
+
console.log(mod.default); // 这里就是远程组件
|
|
45
|
+
setComp(mod.default);
|
|
46
|
+
}
|
|
47
|
+
// 用 mf 实例加载暴露的模块
|
|
48
|
+
// const mod = await mf.loadRemote(`${scopeName}/Button`);
|
|
49
|
+
// const mod = await mf.loadRemote(`react_mf_lib/Button`);
|
|
50
|
+
// console.log(mod.default);
|
|
51
|
+
}
|
|
52
|
+
init();
|
|
53
|
+
}, []);
|
|
37
54
|
```
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export { loadReactVersion } from './loadReactVersion';
|
|
2
|
+
export { loadRemoteMultiVersion } from './loadRemote';
|
package/dist/main.cjs
CHANGED
|
@@ -29,7 +29,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
29
29
|
const runtime_namespaceObject = require("@module-federation/enhanced/runtime");
|
|
30
30
|
async function fetchLatestVersion(pkg) {
|
|
31
31
|
const res = await fetch(`https://registry.npmjs.org/${pkg}`);
|
|
32
|
-
if (!res.ok) throw new Error(
|
|
32
|
+
if (!res.ok) throw new Error(`无法获取 ${pkg} 的版本信息`);
|
|
33
33
|
const data = await res.json();
|
|
34
34
|
return data['dist-tags']?.latest;
|
|
35
35
|
}
|
|
@@ -104,7 +104,7 @@ async function loadRemoteMultiVersion(options) {
|
|
|
104
104
|
} catch {
|
|
105
105
|
await new Promise((res)=>setTimeout(res, delay));
|
|
106
106
|
}
|
|
107
|
-
throw new Error(`[MF]
|
|
107
|
+
throw new Error(`[MF] 所有 CDN 加载失败: ${urls.join(', ')}`);
|
|
108
108
|
}
|
|
109
109
|
exports.loadRemoteMultiVersion = __webpack_exports__.loadRemoteMultiVersion;
|
|
110
110
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
package/dist/main.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createInstance } from "@module-federation/enhanced/runtime";
|
|
2
2
|
async function fetchLatestVersion(pkg) {
|
|
3
3
|
const res = await fetch(`https://registry.npmjs.org/${pkg}`);
|
|
4
|
-
if (!res.ok) throw new Error(
|
|
4
|
+
if (!res.ok) throw new Error(`无法获取 ${pkg} 的版本信息`);
|
|
5
5
|
const data = await res.json();
|
|
6
6
|
return data['dist-tags']?.latest;
|
|
7
7
|
}
|
|
@@ -76,6 +76,6 @@ async function loadRemoteMultiVersion(options) {
|
|
|
76
76
|
} catch {
|
|
77
77
|
await new Promise((res)=>setTimeout(res, delay));
|
|
78
78
|
}
|
|
79
|
-
throw new Error(`[MF]
|
|
79
|
+
throw new Error(`[MF] 所有 CDN 加载失败: ${urls.join(', ')}`);
|
|
80
80
|
}
|
|
81
81
|
export { loadRemoteMultiVersion };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "remote-reload-utils",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"require": "./dist/main.cjs"
|
|
10
10
|
}
|
|
11
11
|
},
|
|
12
|
-
"main": "./dist/
|
|
13
|
-
"types": "./dist/
|
|
12
|
+
"main": "./dist/main.cjs",
|
|
13
|
+
"types": "./dist/loadRemote.d.ts",
|
|
14
14
|
"files": [
|
|
15
15
|
"dist",
|
|
16
16
|
"loadRemote.md"
|
|
@@ -18,12 +18,19 @@
|
|
|
18
18
|
"scripts": {
|
|
19
19
|
"build": "rslib build",
|
|
20
20
|
"dev": "rslib build --watch",
|
|
21
|
-
"prepublishOnly": "npm run build"
|
|
21
|
+
"prepublishOnly": "npm run build",
|
|
22
|
+
"format": "biome format --write",
|
|
23
|
+
"check": "biome check --write",
|
|
24
|
+
"test": "vitest run",
|
|
25
|
+
"lint": "biome format ./src --write"
|
|
22
26
|
},
|
|
23
27
|
"devDependencies": {
|
|
24
|
-
"@rslib/core": "
|
|
28
|
+
"@rslib/core": "0.17.0",
|
|
25
29
|
"@types/node": "^22.17.2",
|
|
26
|
-
"
|
|
30
|
+
"rsbuild-plugin-publint": "^0.3.3",
|
|
31
|
+
"typescript": "^5.9.2",
|
|
32
|
+
"base-biome-config": "0.0.8",
|
|
33
|
+
"@biomejs/biome": "2.0.6"
|
|
27
34
|
},
|
|
28
35
|
"dependencies": {
|
|
29
36
|
"@module-federation/enhanced": "0.18.3"
|