remote-reload-utils 0.0.4 → 0.0.6

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 CHANGED
@@ -26,12 +26,29 @@ pnpm dev
26
26
 
27
27
  ```ts
28
28
  import { loadRemoteMultiVersion } from 'remote-reload-utils';
29
- const scope = await loadRemoteMultiVersion({
30
- name: 'my-lib',
31
- pkg: 'my-lib',
32
- version: 'latest',
33
- });
34
-
35
- // scope 形如 "my-lib@1.2.3"
36
- const { Button } = await loadRemote(`${scope}/Button`);
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 declare const squared: (n: number) => number;
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(`\u{65E0}\u{6CD5}\u{83B7}\u{53D6} ${pkg} \u{7684}\u{7248}\u{672C}\u{4FE1}\u{606F}`);
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] \u{6240}\u{6709} CDN \u{52A0}\u{8F7D}\u{5931}\u{8D25}: ${urls.join(', ')}`);
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(`\u{65E0}\u{6CD5}\u{83B7}\u{53D6} ${pkg} \u{7684}\u{7248}\u{672C}\u{4FE1}\u{606F}`);
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] \u{6240}\u{6709} CDN \u{52A0}\u{8F7D}\u{5931}\u{8D25}: ${urls.join(', ')}`);
79
+ throw new Error(`[MF] 所有 CDN 加载失败: ${urls.join(', ')}`);
80
80
  }
81
81
  export { loadRemoteMultiVersion };
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "remote-reload-utils",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "type": "module",
5
+ "description": "Utilities for remote reload in Module Federation & React Component",
5
6
  "exports": {
6
7
  ".": {
7
8
  "types": "./dist/loadRemote.d.ts",
@@ -9,21 +10,33 @@
9
10
  "require": "./dist/main.cjs"
10
11
  }
11
12
  },
12
- "main": "./dist/index.cjs",
13
- "types": "./dist/index.d.ts",
13
+ "main": "./dist/main.cjs",
14
+ "types": "./dist/loadRemote.d.ts",
14
15
  "files": [
15
16
  "dist",
16
17
  "loadRemote.md"
17
18
  ],
19
+ "gitRepository": {
20
+ "type": "git",
21
+ "url": "https://github.com/TaueFenCheng/react-mf-lib.git",
22
+ "directory": "packages/remote-reload-utils"
23
+ },
18
24
  "scripts": {
19
25
  "build": "rslib build",
20
26
  "dev": "rslib build --watch",
21
- "prepublishOnly": "npm run build"
27
+ "prepublishOnly": "npm run build",
28
+ "format": "biome format --write",
29
+ "check": "biome check --write",
30
+ "test": "vitest run",
31
+ "lint": "biome format ./src --write"
22
32
  },
23
33
  "devDependencies": {
24
- "@rslib/core": "^0.12.2",
34
+ "@rslib/core": "0.17.0",
25
35
  "@types/node": "^22.17.2",
26
- "typescript": "^5.9.2"
36
+ "rsbuild-plugin-publint": "^0.3.3",
37
+ "typescript": "^5.9.2",
38
+ "base-biome-config": "0.0.8",
39
+ "@biomejs/biome": "2.0.6"
27
40
  },
28
41
  "dependencies": {
29
42
  "@module-federation/enhanced": "0.18.3"