@module-federation/bridge-react-webpack-plugin 0.6.2 → 0.6.4
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/CHANGELOG.md +13 -0
- package/dist/index.cjs.js +32 -27
- package/dist/index.es.js +32 -27
- package/package.json +2 -2
- package/src/utis.ts +45 -38
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @module-federation/bridge-react-webpack-plugin
|
|
2
2
|
|
|
3
|
+
## 0.6.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d90295b: chore: adjust bridge router alias strategy to alias to router-v6 when not found react-router-dom in package.json
|
|
8
|
+
- @module-federation/sdk@0.6.4
|
|
9
|
+
|
|
10
|
+
## 0.6.3
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- @module-federation/sdk@0.6.3
|
|
15
|
+
|
|
3
16
|
## 0.6.2
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/dist/index.cjs.js
CHANGED
|
@@ -1648,7 +1648,7 @@ const findPackageJson = (startPath) => {
|
|
|
1648
1648
|
}
|
|
1649
1649
|
return null;
|
|
1650
1650
|
};
|
|
1651
|
-
const
|
|
1651
|
+
const getDependencies = () => {
|
|
1652
1652
|
const userPackageJsonPath = path.resolve(process.cwd(), "package.json");
|
|
1653
1653
|
let userDependencies = {};
|
|
1654
1654
|
if (fs.existsSync(userPackageJsonPath)) {
|
|
@@ -1660,28 +1660,15 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1660
1660
|
...userPackageJson.devDependencies
|
|
1661
1661
|
};
|
|
1662
1662
|
}
|
|
1663
|
+
return userDependencies;
|
|
1664
|
+
};
|
|
1665
|
+
const reactRouterDomV5AliasPath = "@module-federation/bridge-react/dist/router-v5.es.js";
|
|
1666
|
+
const reactRouterDomV6AliasPath = "@module-federation/bridge-react/dist/router-v6.es.js";
|
|
1667
|
+
const setRouterAlias = (majorVersion, reactRouterDomPath) => {
|
|
1663
1668
|
let bridgeRouterAlias = {};
|
|
1664
|
-
let majorVersion = 0;
|
|
1665
|
-
let reactRouterDomPath = "";
|
|
1666
|
-
const reactRouterDomVersion = userDependencies["react-router-dom"];
|
|
1667
|
-
if (originalAlias) {
|
|
1668
|
-
reactRouterDomPath = originalAlias;
|
|
1669
|
-
} else if (reactRouterDomVersion) {
|
|
1670
|
-
majorVersion = checkVersion(reactRouterDomVersion);
|
|
1671
|
-
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1672
|
-
} else {
|
|
1673
|
-
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1674
|
-
}
|
|
1675
|
-
const packageJsonPath = findPackageJson(reactRouterDomPath);
|
|
1676
|
-
if (packageJsonPath) {
|
|
1677
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
1678
|
-
majorVersion = checkVersion(packageJson.version);
|
|
1679
|
-
} else {
|
|
1680
|
-
console.warn("Unable to find package.json for react-router-dom");
|
|
1681
|
-
}
|
|
1682
1669
|
if (majorVersion === 5) {
|
|
1683
1670
|
bridgeRouterAlias = {
|
|
1684
|
-
"react-router-dom$":
|
|
1671
|
+
"react-router-dom$": reactRouterDomV5AliasPath
|
|
1685
1672
|
};
|
|
1686
1673
|
try {
|
|
1687
1674
|
require.resolve("react-router-dom/index.js");
|
|
@@ -1693,7 +1680,7 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1693
1680
|
}
|
|
1694
1681
|
} else if (majorVersion === 6) {
|
|
1695
1682
|
bridgeRouterAlias = {
|
|
1696
|
-
"react-router-dom$":
|
|
1683
|
+
"react-router-dom$": reactRouterDomV6AliasPath
|
|
1697
1684
|
};
|
|
1698
1685
|
try {
|
|
1699
1686
|
require.resolve("react-router-dom/dist/index.js");
|
|
@@ -1703,15 +1690,33 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1703
1690
|
"react-router-dom/dist/index.js": reactRouterDomPath
|
|
1704
1691
|
};
|
|
1705
1692
|
}
|
|
1706
|
-
} else {
|
|
1707
|
-
console.warn("react-router-dom version is not supported");
|
|
1708
1693
|
}
|
|
1709
|
-
console.log(
|
|
1710
|
-
"<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>",
|
|
1711
|
-
bridgeRouterAlias
|
|
1712
|
-
);
|
|
1713
1694
|
return bridgeRouterAlias;
|
|
1714
1695
|
};
|
|
1696
|
+
const getBridgeRouterAlias = (originalAlias) => {
|
|
1697
|
+
const userDependencies = getDependencies();
|
|
1698
|
+
const reactRouterDomPath = originalAlias ? originalAlias : userDependencies["react-router-dom"] ? require.resolve("react-router-dom") : "";
|
|
1699
|
+
const packageJsonPath = reactRouterDomPath ? findPackageJson(reactRouterDomPath) : "";
|
|
1700
|
+
if (packageJsonPath) {
|
|
1701
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
1702
|
+
const majorVersion = checkVersion(packageJson.version);
|
|
1703
|
+
const bridgeRouterAlias = setRouterAlias(majorVersion, reactRouterDomPath);
|
|
1704
|
+
console.log(
|
|
1705
|
+
"<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>",
|
|
1706
|
+
bridgeRouterAlias
|
|
1707
|
+
);
|
|
1708
|
+
return bridgeRouterAlias;
|
|
1709
|
+
} else {
|
|
1710
|
+
const bridgeRouterAlias = {
|
|
1711
|
+
"react-router-dom$": reactRouterDomV6AliasPath
|
|
1712
|
+
};
|
|
1713
|
+
console.log(
|
|
1714
|
+
"<<<<<<<<<<<<< default bridgeRouterAlias >>>>>>>>>>>>>",
|
|
1715
|
+
bridgeRouterAlias
|
|
1716
|
+
);
|
|
1717
|
+
return bridgeRouterAlias;
|
|
1718
|
+
}
|
|
1719
|
+
};
|
|
1715
1720
|
class ReactBridgeAliasChangerPlugin {
|
|
1716
1721
|
constructor(info) {
|
|
1717
1722
|
__publicField(this, "alias");
|
package/dist/index.es.js
CHANGED
|
@@ -1626,7 +1626,7 @@ const findPackageJson = (startPath) => {
|
|
|
1626
1626
|
}
|
|
1627
1627
|
return null;
|
|
1628
1628
|
};
|
|
1629
|
-
const
|
|
1629
|
+
const getDependencies = () => {
|
|
1630
1630
|
const userPackageJsonPath = path.resolve(process.cwd(), "package.json");
|
|
1631
1631
|
let userDependencies = {};
|
|
1632
1632
|
if (fs.existsSync(userPackageJsonPath)) {
|
|
@@ -1638,28 +1638,15 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1638
1638
|
...userPackageJson.devDependencies
|
|
1639
1639
|
};
|
|
1640
1640
|
}
|
|
1641
|
+
return userDependencies;
|
|
1642
|
+
};
|
|
1643
|
+
const reactRouterDomV5AliasPath = "@module-federation/bridge-react/dist/router-v5.es.js";
|
|
1644
|
+
const reactRouterDomV6AliasPath = "@module-federation/bridge-react/dist/router-v6.es.js";
|
|
1645
|
+
const setRouterAlias = (majorVersion, reactRouterDomPath) => {
|
|
1641
1646
|
let bridgeRouterAlias = {};
|
|
1642
|
-
let majorVersion = 0;
|
|
1643
|
-
let reactRouterDomPath = "";
|
|
1644
|
-
const reactRouterDomVersion = userDependencies["react-router-dom"];
|
|
1645
|
-
if (originalAlias) {
|
|
1646
|
-
reactRouterDomPath = originalAlias;
|
|
1647
|
-
} else if (reactRouterDomVersion) {
|
|
1648
|
-
majorVersion = checkVersion(reactRouterDomVersion);
|
|
1649
|
-
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1650
|
-
} else {
|
|
1651
|
-
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1652
|
-
}
|
|
1653
|
-
const packageJsonPath = findPackageJson(reactRouterDomPath);
|
|
1654
|
-
if (packageJsonPath) {
|
|
1655
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
1656
|
-
majorVersion = checkVersion(packageJson.version);
|
|
1657
|
-
} else {
|
|
1658
|
-
console.warn("Unable to find package.json for react-router-dom");
|
|
1659
|
-
}
|
|
1660
1647
|
if (majorVersion === 5) {
|
|
1661
1648
|
bridgeRouterAlias = {
|
|
1662
|
-
"react-router-dom$":
|
|
1649
|
+
"react-router-dom$": reactRouterDomV5AliasPath
|
|
1663
1650
|
};
|
|
1664
1651
|
try {
|
|
1665
1652
|
require.resolve("react-router-dom/index.js");
|
|
@@ -1671,7 +1658,7 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1671
1658
|
}
|
|
1672
1659
|
} else if (majorVersion === 6) {
|
|
1673
1660
|
bridgeRouterAlias = {
|
|
1674
|
-
"react-router-dom$":
|
|
1661
|
+
"react-router-dom$": reactRouterDomV6AliasPath
|
|
1675
1662
|
};
|
|
1676
1663
|
try {
|
|
1677
1664
|
require.resolve("react-router-dom/dist/index.js");
|
|
@@ -1681,15 +1668,33 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1681
1668
|
"react-router-dom/dist/index.js": reactRouterDomPath
|
|
1682
1669
|
};
|
|
1683
1670
|
}
|
|
1684
|
-
} else {
|
|
1685
|
-
console.warn("react-router-dom version is not supported");
|
|
1686
1671
|
}
|
|
1687
|
-
console.log(
|
|
1688
|
-
"<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>",
|
|
1689
|
-
bridgeRouterAlias
|
|
1690
|
-
);
|
|
1691
1672
|
return bridgeRouterAlias;
|
|
1692
1673
|
};
|
|
1674
|
+
const getBridgeRouterAlias = (originalAlias) => {
|
|
1675
|
+
const userDependencies = getDependencies();
|
|
1676
|
+
const reactRouterDomPath = originalAlias ? originalAlias : userDependencies["react-router-dom"] ? require.resolve("react-router-dom") : "";
|
|
1677
|
+
const packageJsonPath = reactRouterDomPath ? findPackageJson(reactRouterDomPath) : "";
|
|
1678
|
+
if (packageJsonPath) {
|
|
1679
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
1680
|
+
const majorVersion = checkVersion(packageJson.version);
|
|
1681
|
+
const bridgeRouterAlias = setRouterAlias(majorVersion, reactRouterDomPath);
|
|
1682
|
+
console.log(
|
|
1683
|
+
"<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>",
|
|
1684
|
+
bridgeRouterAlias
|
|
1685
|
+
);
|
|
1686
|
+
return bridgeRouterAlias;
|
|
1687
|
+
} else {
|
|
1688
|
+
const bridgeRouterAlias = {
|
|
1689
|
+
"react-router-dom$": reactRouterDomV6AliasPath
|
|
1690
|
+
};
|
|
1691
|
+
console.log(
|
|
1692
|
+
"<<<<<<<<<<<<< default bridgeRouterAlias >>>>>>>>>>>>>",
|
|
1693
|
+
bridgeRouterAlias
|
|
1694
|
+
);
|
|
1695
|
+
return bridgeRouterAlias;
|
|
1696
|
+
}
|
|
1697
|
+
};
|
|
1693
1698
|
class ReactBridgeAliasChangerPlugin {
|
|
1694
1699
|
constructor(info) {
|
|
1695
1700
|
__publicField(this, "alias");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/bridge-react-webpack-plugin",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"semver": "7.6.3",
|
|
21
21
|
"@types/semver": "7.5.8",
|
|
22
|
-
"@module-federation/sdk": "0.6.
|
|
22
|
+
"@module-federation/sdk": "0.6.4"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.2.2",
|
package/src/utis.ts
CHANGED
|
@@ -30,9 +30,7 @@ export const findPackageJson = (startPath: string): string | null => {
|
|
|
30
30
|
return null;
|
|
31
31
|
};
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
originalAlias: string,
|
|
35
|
-
): Record<string, string> => {
|
|
33
|
+
const getDependencies = () => {
|
|
36
34
|
const userPackageJsonPath = path.resolve(process.cwd(), 'package.json');
|
|
37
35
|
let userDependencies: Record<string, string> = {};
|
|
38
36
|
|
|
@@ -45,35 +43,19 @@ export const getBridgeRouterAlias = (
|
|
|
45
43
|
...userPackageJson.devDependencies,
|
|
46
44
|
};
|
|
47
45
|
}
|
|
46
|
+
return userDependencies;
|
|
47
|
+
};
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
const reactRouterDomVersion = userDependencies['react-router-dom'];
|
|
54
|
-
|
|
55
|
-
if (originalAlias) {
|
|
56
|
-
reactRouterDomPath = originalAlias;
|
|
57
|
-
} else if (reactRouterDomVersion) {
|
|
58
|
-
majorVersion = checkVersion(reactRouterDomVersion);
|
|
59
|
-
reactRouterDomPath = require.resolve('react-router-dom');
|
|
60
|
-
} else {
|
|
61
|
-
reactRouterDomPath = require.resolve('react-router-dom');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
const packageJsonPath = findPackageJson(reactRouterDomPath);
|
|
65
|
-
|
|
66
|
-
if (packageJsonPath) {
|
|
67
|
-
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
68
|
-
majorVersion = checkVersion(packageJson.version);
|
|
69
|
-
} else {
|
|
70
|
-
console.warn('Unable to find package.json for react-router-dom');
|
|
71
|
-
}
|
|
49
|
+
const reactRouterDomV5AliasPath =
|
|
50
|
+
'@module-federation/bridge-react/dist/router-v5.es.js';
|
|
51
|
+
const reactRouterDomV6AliasPath =
|
|
52
|
+
'@module-federation/bridge-react/dist/router-v6.es.js';
|
|
72
53
|
|
|
54
|
+
const setRouterAlias = (majorVersion: number, reactRouterDomPath: string) => {
|
|
55
|
+
let bridgeRouterAlias = {};
|
|
73
56
|
if (majorVersion === 5) {
|
|
74
57
|
bridgeRouterAlias = {
|
|
75
|
-
'react-router-dom$':
|
|
76
|
-
'@module-federation/bridge-react/dist/router-v5.es.js',
|
|
58
|
+
'react-router-dom$': reactRouterDomV5AliasPath,
|
|
77
59
|
};
|
|
78
60
|
try {
|
|
79
61
|
require.resolve('react-router-dom/index.js');
|
|
@@ -86,10 +68,8 @@ export const getBridgeRouterAlias = (
|
|
|
86
68
|
}
|
|
87
69
|
} else if (majorVersion === 6) {
|
|
88
70
|
bridgeRouterAlias = {
|
|
89
|
-
'react-router-dom$':
|
|
90
|
-
'@module-federation/bridge-react/dist/router-v6.es.js',
|
|
71
|
+
'react-router-dom$': reactRouterDomV6AliasPath,
|
|
91
72
|
};
|
|
92
|
-
|
|
93
73
|
try {
|
|
94
74
|
require.resolve('react-router-dom/dist/index.js');
|
|
95
75
|
} catch (error) {
|
|
@@ -99,13 +79,40 @@ export const getBridgeRouterAlias = (
|
|
|
99
79
|
'react-router-dom/dist/index.js': reactRouterDomPath,
|
|
100
80
|
};
|
|
101
81
|
}
|
|
102
|
-
} else {
|
|
103
|
-
console.warn('react-router-dom version is not supported');
|
|
104
82
|
}
|
|
105
|
-
|
|
106
|
-
console.log(
|
|
107
|
-
'<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>',
|
|
108
|
-
bridgeRouterAlias,
|
|
109
|
-
);
|
|
110
83
|
return bridgeRouterAlias;
|
|
111
84
|
};
|
|
85
|
+
|
|
86
|
+
export const getBridgeRouterAlias = (
|
|
87
|
+
originalAlias: string,
|
|
88
|
+
): Record<string, string> => {
|
|
89
|
+
const userDependencies = getDependencies();
|
|
90
|
+
const reactRouterDomPath = originalAlias
|
|
91
|
+
? originalAlias
|
|
92
|
+
: userDependencies['react-router-dom']
|
|
93
|
+
? require.resolve('react-router-dom')
|
|
94
|
+
: '';
|
|
95
|
+
const packageJsonPath = reactRouterDomPath
|
|
96
|
+
? findPackageJson(reactRouterDomPath)
|
|
97
|
+
: '';
|
|
98
|
+
// if find react-router-dom in package.json
|
|
99
|
+
if (packageJsonPath) {
|
|
100
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
101
|
+
const majorVersion = checkVersion(packageJson.version);
|
|
102
|
+
const bridgeRouterAlias = setRouterAlias(majorVersion, reactRouterDomPath);
|
|
103
|
+
console.log(
|
|
104
|
+
'<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>',
|
|
105
|
+
bridgeRouterAlias,
|
|
106
|
+
);
|
|
107
|
+
return bridgeRouterAlias;
|
|
108
|
+
} else {
|
|
109
|
+
const bridgeRouterAlias = {
|
|
110
|
+
'react-router-dom$': reactRouterDomV6AliasPath,
|
|
111
|
+
};
|
|
112
|
+
console.log(
|
|
113
|
+
'<<<<<<<<<<<<< default bridgeRouterAlias >>>>>>>>>>>>>',
|
|
114
|
+
bridgeRouterAlias,
|
|
115
|
+
);
|
|
116
|
+
return bridgeRouterAlias;
|
|
117
|
+
}
|
|
118
|
+
};
|