@module-federation/bridge-react-webpack-plugin 0.0.0-next-20240830062908 → 0.0.0-next-20240830100524
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 +2 -16
- package/dist/index.cjs.js +42 -62
- package/dist/index.es.js +42 -62
- package/package.json +2 -2
- package/project.json +0 -12
- package/src/utis.ts +53 -75
- package/__tests__/mockRouterDir/router-v5/react-router-dom/package.json +0 -71
- package/__tests__/mockRouterDir/router-v6/react-router-dom/package.json +0 -49
- package/__tests__/utils.spec.ts +0 -71
- package/vitest.config.ts +0 -22
package/CHANGELOG.md
CHANGED
|
@@ -1,25 +1,11 @@
|
|
|
1
1
|
# @module-federation/bridge-react-webpack-plugin
|
|
2
2
|
|
|
3
|
-
## 0.0.0-next-
|
|
4
|
-
|
|
5
|
-
### Patch Changes
|
|
6
|
-
|
|
7
|
-
- Updated dependencies [813680f]
|
|
8
|
-
- @module-federation/sdk@0.0.0-next-20240830062908
|
|
9
|
-
|
|
10
|
-
## 0.6.0
|
|
11
|
-
|
|
12
|
-
### Patch Changes
|
|
13
|
-
|
|
14
|
-
- Updated dependencies [1d9bb77]
|
|
15
|
-
- @module-federation/sdk@0.6.0
|
|
16
|
-
|
|
17
|
-
## 0.5.2
|
|
3
|
+
## 0.0.0-next-20240830100524
|
|
18
4
|
|
|
19
5
|
### Patch Changes
|
|
20
6
|
|
|
21
7
|
- Updated dependencies [b90fa7d]
|
|
22
|
-
- @module-federation/sdk@0.
|
|
8
|
+
- @module-federation/sdk@0.0.0-next-20240830100524
|
|
23
9
|
|
|
24
10
|
## 0.5.1
|
|
25
11
|
|
package/dist/index.cjs.js
CHANGED
|
@@ -1625,29 +1625,6 @@ var semver = {
|
|
|
1625
1625
|
rcompareIdentifiers: identifiers.rcompareIdentifiers
|
|
1626
1626
|
};
|
|
1627
1627
|
const semver$1 = /* @__PURE__ */ getDefaultExportFromCjs(semver);
|
|
1628
|
-
const checkVersion = (version) => {
|
|
1629
|
-
const versionMatch = version.match(/\d.*/);
|
|
1630
|
-
if (!versionMatch)
|
|
1631
|
-
return 0;
|
|
1632
|
-
const cleanVersion = versionMatch[0];
|
|
1633
|
-
if (semver$1.gte(cleanVersion, "5.0.0") && semver$1.lt(cleanVersion, "6.0.0")) {
|
|
1634
|
-
return 5;
|
|
1635
|
-
} else if (semver$1.gte(cleanVersion, "6.0.0")) {
|
|
1636
|
-
return 6;
|
|
1637
|
-
}
|
|
1638
|
-
return 0;
|
|
1639
|
-
};
|
|
1640
|
-
const findPackageJson = (startPath) => {
|
|
1641
|
-
let currentPath = startPath;
|
|
1642
|
-
while (currentPath !== path.parse(currentPath).root) {
|
|
1643
|
-
const packageJsonPath = path.join(currentPath, "package.json");
|
|
1644
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
1645
|
-
return packageJsonPath;
|
|
1646
|
-
}
|
|
1647
|
-
currentPath = path.dirname(currentPath);
|
|
1648
|
-
}
|
|
1649
|
-
return null;
|
|
1650
|
-
};
|
|
1651
1628
|
const getBridgeRouterAlias = (originalAlias) => {
|
|
1652
1629
|
const userPackageJsonPath = path.resolve(process.cwd(), "package.json");
|
|
1653
1630
|
let userDependencies = {};
|
|
@@ -1660,51 +1637,54 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1660
1637
|
...userPackageJson.devDependencies
|
|
1661
1638
|
};
|
|
1662
1639
|
}
|
|
1640
|
+
const hasBridgeReact = "@module-federation/bridge-react" in userDependencies;
|
|
1663
1641
|
let bridgeRouterAlias = {};
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1682
|
-
|
|
1683
|
-
|
|
1684
|
-
"react-router-dom$": "@module-federation/bridge-react/dist/router-v5.es.js"
|
|
1685
|
-
};
|
|
1686
|
-
try {
|
|
1687
|
-
require.resolve("react-router-dom/index.js");
|
|
1688
|
-
} catch (error) {
|
|
1642
|
+
if (hasBridgeReact) {
|
|
1643
|
+
const reactRouterDomVersion = userDependencies["react-router-dom"];
|
|
1644
|
+
let majorVersion = 0;
|
|
1645
|
+
let reactRouterDomPath = "";
|
|
1646
|
+
if (reactRouterDomVersion) {
|
|
1647
|
+
majorVersion = semver$1.major(
|
|
1648
|
+
semver$1.coerce(reactRouterDomVersion || "0.0.0") ?? "0.0.0"
|
|
1649
|
+
);
|
|
1650
|
+
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1651
|
+
} else {
|
|
1652
|
+
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1653
|
+
const packageJsonPath = path.resolve(
|
|
1654
|
+
reactRouterDomPath,
|
|
1655
|
+
"../../package.json"
|
|
1656
|
+
);
|
|
1657
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
1658
|
+
majorVersion = parseInt(packageJson.version.split(".")[0]);
|
|
1659
|
+
}
|
|
1660
|
+
reactRouterDomPath = originalAlias || reactRouterDomPath;
|
|
1661
|
+
if (majorVersion === 5) {
|
|
1689
1662
|
bridgeRouterAlias = {
|
|
1690
|
-
|
|
1691
|
-
"react-router-dom/index.js": reactRouterDomPath
|
|
1663
|
+
"react-router-dom$": "@module-federation/bridge-react/dist/router-v5.es.js"
|
|
1692
1664
|
};
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1665
|
+
try {
|
|
1666
|
+
require.resolve("react-router-dom/index.js");
|
|
1667
|
+
} catch (error) {
|
|
1668
|
+
bridgeRouterAlias = {
|
|
1669
|
+
...bridgeRouterAlias,
|
|
1670
|
+
"react-router-dom/index.js": reactRouterDomPath
|
|
1671
|
+
};
|
|
1672
|
+
}
|
|
1673
|
+
} else if (majorVersion === 6) {
|
|
1701
1674
|
bridgeRouterAlias = {
|
|
1702
|
-
|
|
1703
|
-
"react-router-dom/dist/index.js": reactRouterDomPath
|
|
1675
|
+
"react-router-dom$": "@module-federation/bridge-react/dist/router-v6.es.js"
|
|
1704
1676
|
};
|
|
1677
|
+
try {
|
|
1678
|
+
require.resolve("react-router-dom/dist/index.js");
|
|
1679
|
+
} catch (error) {
|
|
1680
|
+
bridgeRouterAlias = {
|
|
1681
|
+
...bridgeRouterAlias,
|
|
1682
|
+
"react-router-dom/dist/index.js": reactRouterDomPath
|
|
1683
|
+
};
|
|
1684
|
+
}
|
|
1685
|
+
} else {
|
|
1686
|
+
console.warn("react-router-dom version is not supported");
|
|
1705
1687
|
}
|
|
1706
|
-
} else {
|
|
1707
|
-
console.warn("react-router-dom version is not supported");
|
|
1708
1688
|
}
|
|
1709
1689
|
console.log(
|
|
1710
1690
|
"<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>",
|
package/dist/index.es.js
CHANGED
|
@@ -1603,29 +1603,6 @@ var semver = {
|
|
|
1603
1603
|
rcompareIdentifiers: identifiers.rcompareIdentifiers
|
|
1604
1604
|
};
|
|
1605
1605
|
const semver$1 = /* @__PURE__ */ getDefaultExportFromCjs(semver);
|
|
1606
|
-
const checkVersion = (version) => {
|
|
1607
|
-
const versionMatch = version.match(/\d.*/);
|
|
1608
|
-
if (!versionMatch)
|
|
1609
|
-
return 0;
|
|
1610
|
-
const cleanVersion = versionMatch[0];
|
|
1611
|
-
if (semver$1.gte(cleanVersion, "5.0.0") && semver$1.lt(cleanVersion, "6.0.0")) {
|
|
1612
|
-
return 5;
|
|
1613
|
-
} else if (semver$1.gte(cleanVersion, "6.0.0")) {
|
|
1614
|
-
return 6;
|
|
1615
|
-
}
|
|
1616
|
-
return 0;
|
|
1617
|
-
};
|
|
1618
|
-
const findPackageJson = (startPath) => {
|
|
1619
|
-
let currentPath = startPath;
|
|
1620
|
-
while (currentPath !== path.parse(currentPath).root) {
|
|
1621
|
-
const packageJsonPath = path.join(currentPath, "package.json");
|
|
1622
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
1623
|
-
return packageJsonPath;
|
|
1624
|
-
}
|
|
1625
|
-
currentPath = path.dirname(currentPath);
|
|
1626
|
-
}
|
|
1627
|
-
return null;
|
|
1628
|
-
};
|
|
1629
1606
|
const getBridgeRouterAlias = (originalAlias) => {
|
|
1630
1607
|
const userPackageJsonPath = path.resolve(process.cwd(), "package.json");
|
|
1631
1608
|
let userDependencies = {};
|
|
@@ -1638,51 +1615,54 @@ const getBridgeRouterAlias = (originalAlias) => {
|
|
|
1638
1615
|
...userPackageJson.devDependencies
|
|
1639
1616
|
};
|
|
1640
1617
|
}
|
|
1618
|
+
const hasBridgeReact = "@module-federation/bridge-react" in userDependencies;
|
|
1641
1619
|
let bridgeRouterAlias = {};
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
"react-router-dom$": "@module-federation/bridge-react/dist/router-v5.es.js"
|
|
1663
|
-
};
|
|
1664
|
-
try {
|
|
1665
|
-
require.resolve("react-router-dom/index.js");
|
|
1666
|
-
} catch (error) {
|
|
1620
|
+
if (hasBridgeReact) {
|
|
1621
|
+
const reactRouterDomVersion = userDependencies["react-router-dom"];
|
|
1622
|
+
let majorVersion = 0;
|
|
1623
|
+
let reactRouterDomPath = "";
|
|
1624
|
+
if (reactRouterDomVersion) {
|
|
1625
|
+
majorVersion = semver$1.major(
|
|
1626
|
+
semver$1.coerce(reactRouterDomVersion || "0.0.0") ?? "0.0.0"
|
|
1627
|
+
);
|
|
1628
|
+
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1629
|
+
} else {
|
|
1630
|
+
reactRouterDomPath = require.resolve("react-router-dom");
|
|
1631
|
+
const packageJsonPath = path.resolve(
|
|
1632
|
+
reactRouterDomPath,
|
|
1633
|
+
"../../package.json"
|
|
1634
|
+
);
|
|
1635
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8"));
|
|
1636
|
+
majorVersion = parseInt(packageJson.version.split(".")[0]);
|
|
1637
|
+
}
|
|
1638
|
+
reactRouterDomPath = originalAlias || reactRouterDomPath;
|
|
1639
|
+
if (majorVersion === 5) {
|
|
1667
1640
|
bridgeRouterAlias = {
|
|
1668
|
-
|
|
1669
|
-
"react-router-dom/index.js": reactRouterDomPath
|
|
1641
|
+
"react-router-dom$": "@module-federation/bridge-react/dist/router-v5.es.js"
|
|
1670
1642
|
};
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1643
|
+
try {
|
|
1644
|
+
require.resolve("react-router-dom/index.js");
|
|
1645
|
+
} catch (error) {
|
|
1646
|
+
bridgeRouterAlias = {
|
|
1647
|
+
...bridgeRouterAlias,
|
|
1648
|
+
"react-router-dom/index.js": reactRouterDomPath
|
|
1649
|
+
};
|
|
1650
|
+
}
|
|
1651
|
+
} else if (majorVersion === 6) {
|
|
1679
1652
|
bridgeRouterAlias = {
|
|
1680
|
-
|
|
1681
|
-
"react-router-dom/dist/index.js": reactRouterDomPath
|
|
1653
|
+
"react-router-dom$": "@module-federation/bridge-react/dist/router-v6.es.js"
|
|
1682
1654
|
};
|
|
1655
|
+
try {
|
|
1656
|
+
require.resolve("react-router-dom/dist/index.js");
|
|
1657
|
+
} catch (error) {
|
|
1658
|
+
bridgeRouterAlias = {
|
|
1659
|
+
...bridgeRouterAlias,
|
|
1660
|
+
"react-router-dom/dist/index.js": reactRouterDomPath
|
|
1661
|
+
};
|
|
1662
|
+
}
|
|
1663
|
+
} else {
|
|
1664
|
+
console.warn("react-router-dom version is not supported");
|
|
1683
1665
|
}
|
|
1684
|
-
} else {
|
|
1685
|
-
console.warn("react-router-dom version is not supported");
|
|
1686
1666
|
}
|
|
1687
1667
|
console.log(
|
|
1688
1668
|
"<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/bridge-react-webpack-plugin",
|
|
3
|
-
"version": "0.0.0-next-
|
|
3
|
+
"version": "0.0.0-next-20240830100524",
|
|
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.0.0-next-
|
|
22
|
+
"@module-federation/sdk": "0.0.0-next-20240830100524"
|
|
23
23
|
},
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"typescript": "^5.2.2",
|
package/project.json
CHANGED
|
@@ -11,18 +11,6 @@
|
|
|
11
11
|
"npm run build --prefix packages/bridge/bridge-react-webpack-plugin"
|
|
12
12
|
]
|
|
13
13
|
}
|
|
14
|
-
},
|
|
15
|
-
"test": {
|
|
16
|
-
"executor": "nx:run-commands",
|
|
17
|
-
"options": {
|
|
18
|
-
"parallel": false,
|
|
19
|
-
"commands": [
|
|
20
|
-
{
|
|
21
|
-
"command": "vitest run -c packages/bridge/bridge-react-webpack-plugin/vitest.config.ts",
|
|
22
|
-
"forwardAllArgs": false
|
|
23
|
-
}
|
|
24
|
-
]
|
|
25
|
-
}
|
|
26
14
|
}
|
|
27
15
|
},
|
|
28
16
|
"tags": ["type:pkg"]
|
package/src/utis.ts
CHANGED
|
@@ -2,34 +2,6 @@ import fs from 'node:fs';
|
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import semver from 'semver';
|
|
4
4
|
|
|
5
|
-
export const checkVersion = (version: string) => {
|
|
6
|
-
// Extract the version number starting from the first digit
|
|
7
|
-
const versionMatch = version.match(/\d.*/);
|
|
8
|
-
if (!versionMatch) return 0;
|
|
9
|
-
|
|
10
|
-
const cleanVersion = versionMatch[0];
|
|
11
|
-
|
|
12
|
-
if (semver.gte(cleanVersion, '5.0.0') && semver.lt(cleanVersion, '6.0.0')) {
|
|
13
|
-
return 5;
|
|
14
|
-
} else if (semver.gte(cleanVersion, '6.0.0')) {
|
|
15
|
-
return 6;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return 0;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export const findPackageJson = (startPath: string): string | null => {
|
|
22
|
-
let currentPath = startPath;
|
|
23
|
-
while (currentPath !== path.parse(currentPath).root) {
|
|
24
|
-
const packageJsonPath = path.join(currentPath, 'package.json');
|
|
25
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
26
|
-
return packageJsonPath;
|
|
27
|
-
}
|
|
28
|
-
currentPath = path.dirname(currentPath);
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
5
|
export const getBridgeRouterAlias = (
|
|
34
6
|
originalAlias: string,
|
|
35
7
|
): Record<string, string> => {
|
|
@@ -46,63 +18,69 @@ export const getBridgeRouterAlias = (
|
|
|
46
18
|
};
|
|
47
19
|
}
|
|
48
20
|
|
|
49
|
-
|
|
50
|
-
let majorVersion = 0;
|
|
51
|
-
let reactRouterDomPath = '';
|
|
52
|
-
|
|
53
|
-
const reactRouterDomVersion = userDependencies['react-router-dom'];
|
|
21
|
+
const hasBridgeReact = '@module-federation/bridge-react' in userDependencies;
|
|
54
22
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
reactRouterDomPath =
|
|
62
|
-
}
|
|
23
|
+
let bridgeRouterAlias = {};
|
|
24
|
+
// user install @module-federation/bridge-react package or set bridgeReactRouterDomAlias
|
|
25
|
+
if (hasBridgeReact) {
|
|
26
|
+
// user install react-router-dom package
|
|
27
|
+
const reactRouterDomVersion = userDependencies['react-router-dom'];
|
|
28
|
+
let majorVersion = 0;
|
|
29
|
+
let reactRouterDomPath = '';
|
|
63
30
|
|
|
64
|
-
|
|
31
|
+
// if react-router-dom version is set, use the version in package.json
|
|
32
|
+
if (reactRouterDomVersion) {
|
|
33
|
+
majorVersion = semver.major(
|
|
34
|
+
semver.coerce(reactRouterDomVersion || '0.0.0') ?? '0.0.0',
|
|
35
|
+
);
|
|
36
|
+
reactRouterDomPath = require.resolve('react-router-dom');
|
|
37
|
+
} else {
|
|
38
|
+
// if react-router-dom version is not set, reslove react-router-dom to get the version
|
|
39
|
+
reactRouterDomPath = require.resolve('react-router-dom');
|
|
40
|
+
const packageJsonPath = path.resolve(
|
|
41
|
+
reactRouterDomPath,
|
|
42
|
+
'../../package.json',
|
|
43
|
+
);
|
|
44
|
+
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, 'utf-8'));
|
|
45
|
+
majorVersion = parseInt(packageJson.version.split('.')[0]);
|
|
46
|
+
}
|
|
65
47
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
majorVersion = checkVersion(packageJson.version);
|
|
69
|
-
} else {
|
|
70
|
-
console.warn('Unable to find package.json for react-router-dom');
|
|
71
|
-
}
|
|
48
|
+
// if react-router-dom path has set alias by user, use the originalAlias
|
|
49
|
+
reactRouterDomPath = originalAlias || reactRouterDomPath;
|
|
72
50
|
|
|
73
|
-
|
|
74
|
-
bridgeRouterAlias = {
|
|
75
|
-
'react-router-dom$':
|
|
76
|
-
'@module-federation/bridge-react/dist/router-v5.es.js',
|
|
77
|
-
};
|
|
78
|
-
try {
|
|
79
|
-
require.resolve('react-router-dom/index.js');
|
|
80
|
-
} catch (error) {
|
|
81
|
-
// if react-router-dom/index.js cannot be resolved, set the alias to origin reactRouterDomPath
|
|
51
|
+
if (majorVersion === 5) {
|
|
82
52
|
bridgeRouterAlias = {
|
|
83
|
-
|
|
84
|
-
|
|
53
|
+
'react-router-dom$':
|
|
54
|
+
'@module-federation/bridge-react/dist/router-v5.es.js',
|
|
85
55
|
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
}
|
|
96
|
-
// if react-router-dom/dist/index.js cannot be resolved, set the alias to origin reactRouterDomPath
|
|
56
|
+
try {
|
|
57
|
+
require.resolve('react-router-dom/index.js');
|
|
58
|
+
} catch (error) {
|
|
59
|
+
// if react-router-dom/index.js cannot be resolved, set the alias to origin reactRouterDomPath
|
|
60
|
+
bridgeRouterAlias = {
|
|
61
|
+
...bridgeRouterAlias,
|
|
62
|
+
'react-router-dom/index.js': reactRouterDomPath,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
} else if (majorVersion === 6) {
|
|
97
66
|
bridgeRouterAlias = {
|
|
98
|
-
|
|
99
|
-
|
|
67
|
+
'react-router-dom$':
|
|
68
|
+
'@module-federation/bridge-react/dist/router-v6.es.js',
|
|
100
69
|
};
|
|
70
|
+
|
|
71
|
+
try {
|
|
72
|
+
require.resolve('react-router-dom/dist/index.js');
|
|
73
|
+
} catch (error) {
|
|
74
|
+
// if react-router-dom/dist/index.js cannot be resolved, set the alias to origin reactRouterDomPath
|
|
75
|
+
bridgeRouterAlias = {
|
|
76
|
+
...bridgeRouterAlias,
|
|
77
|
+
'react-router-dom/dist/index.js': reactRouterDomPath,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
} else {
|
|
81
|
+
console.warn('react-router-dom version is not supported');
|
|
101
82
|
}
|
|
102
|
-
} else {
|
|
103
|
-
console.warn('react-router-dom version is not supported');
|
|
104
83
|
}
|
|
105
|
-
|
|
106
84
|
console.log(
|
|
107
85
|
'<<<<<<<<<<<<< bridgeRouterAlias >>>>>>>>>>>>>',
|
|
108
86
|
bridgeRouterAlias,
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "react-router-dom",
|
|
3
|
-
"version": "5.3.4",
|
|
4
|
-
"description": "DOM bindings for React Router",
|
|
5
|
-
"homepage": "https://reactrouter.com/",
|
|
6
|
-
"repository": {
|
|
7
|
-
"url": "https://github.com/remix-run/react-router.git",
|
|
8
|
-
"type": "git",
|
|
9
|
-
"directory": "packages/react-router-dom"
|
|
10
|
-
},
|
|
11
|
-
"license": "MIT",
|
|
12
|
-
"author": "Remix Software <hello@remix.run>",
|
|
13
|
-
"files": [
|
|
14
|
-
"LICENSE",
|
|
15
|
-
"README.md",
|
|
16
|
-
"BrowserRouter.js",
|
|
17
|
-
"HashRouter.js",
|
|
18
|
-
"Link.js",
|
|
19
|
-
"MemoryRouter.js",
|
|
20
|
-
"NavLink.js",
|
|
21
|
-
"Prompt.js",
|
|
22
|
-
"Redirect.js",
|
|
23
|
-
"Route.js",
|
|
24
|
-
"Router.js",
|
|
25
|
-
"StaticRouter.js",
|
|
26
|
-
"Switch.js",
|
|
27
|
-
"cjs",
|
|
28
|
-
"es",
|
|
29
|
-
"esm",
|
|
30
|
-
"index.js",
|
|
31
|
-
"generatePath.js",
|
|
32
|
-
"matchPath.js",
|
|
33
|
-
"modules/*.js",
|
|
34
|
-
"modules/utils/*.js",
|
|
35
|
-
"withRouter.js",
|
|
36
|
-
"warnAboutDeprecatedCJSRequire.js",
|
|
37
|
-
"umd"
|
|
38
|
-
],
|
|
39
|
-
"main": "index.js",
|
|
40
|
-
"module": "esm/react-router-dom.js",
|
|
41
|
-
"sideEffects": false,
|
|
42
|
-
"scripts": {
|
|
43
|
-
"build": "rollup -c",
|
|
44
|
-
"lint": "eslint modules"
|
|
45
|
-
},
|
|
46
|
-
"peerDependencies": {
|
|
47
|
-
"react": ">=15"
|
|
48
|
-
},
|
|
49
|
-
"dependencies": {
|
|
50
|
-
"@babel/runtime": "^7.12.13",
|
|
51
|
-
"history": "^4.9.0",
|
|
52
|
-
"loose-envify": "^1.3.1",
|
|
53
|
-
"prop-types": "^15.6.2",
|
|
54
|
-
"react-router": "5.3.4",
|
|
55
|
-
"tiny-invariant": "^1.0.2",
|
|
56
|
-
"tiny-warning": "^1.0.0"
|
|
57
|
-
},
|
|
58
|
-
"browserify": {
|
|
59
|
-
"transform": [
|
|
60
|
-
"loose-envify"
|
|
61
|
-
]
|
|
62
|
-
},
|
|
63
|
-
"keywords": [
|
|
64
|
-
"react",
|
|
65
|
-
"router",
|
|
66
|
-
"route",
|
|
67
|
-
"routing",
|
|
68
|
-
"history",
|
|
69
|
-
"link"
|
|
70
|
-
]
|
|
71
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "react-router-dom",
|
|
3
|
-
"version": "6.22.3",
|
|
4
|
-
"description": "Declarative routing for React web applications",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"react",
|
|
7
|
-
"router",
|
|
8
|
-
"route",
|
|
9
|
-
"routing",
|
|
10
|
-
"history",
|
|
11
|
-
"link"
|
|
12
|
-
],
|
|
13
|
-
"repository": {
|
|
14
|
-
"type": "git",
|
|
15
|
-
"url": "https://github.com/remix-run/react-router",
|
|
16
|
-
"directory": "packages/react-router-dom"
|
|
17
|
-
},
|
|
18
|
-
"license": "MIT",
|
|
19
|
-
"author": "Remix Software <hello@remix.run>",
|
|
20
|
-
"sideEffects": false,
|
|
21
|
-
"main": "./dist/main.js",
|
|
22
|
-
"unpkg": "./dist/umd/react-router-dom.production.min.js",
|
|
23
|
-
"module": "./dist/index.js",
|
|
24
|
-
"types": "./dist/index.d.ts",
|
|
25
|
-
"dependencies": {
|
|
26
|
-
"@remix-run/router": "1.15.3",
|
|
27
|
-
"react-router": "6.22.3"
|
|
28
|
-
},
|
|
29
|
-
"devDependencies": {
|
|
30
|
-
"react": "^18.2.0",
|
|
31
|
-
"react-dom": "^18.2.0"
|
|
32
|
-
},
|
|
33
|
-
"peerDependencies": {
|
|
34
|
-
"react": ">=16.8",
|
|
35
|
-
"react-dom": ">=16.8"
|
|
36
|
-
},
|
|
37
|
-
"files": [
|
|
38
|
-
"dist/",
|
|
39
|
-
"CHANGELOG.md",
|
|
40
|
-
"LICENSE.md",
|
|
41
|
-
"README.md",
|
|
42
|
-
"server.d.ts",
|
|
43
|
-
"server.js",
|
|
44
|
-
"server.mjs"
|
|
45
|
-
],
|
|
46
|
-
"engines": {
|
|
47
|
-
"node": ">=14.0.0"
|
|
48
|
-
}
|
|
49
|
-
}
|
package/__tests__/utils.spec.ts
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import path from 'node:path';
|
|
2
|
-
import {
|
|
3
|
-
checkVersion,
|
|
4
|
-
findPackageJson,
|
|
5
|
-
getBridgeRouterAlias,
|
|
6
|
-
} from '../src/utis';
|
|
7
|
-
|
|
8
|
-
const resolveRouterV5 = path.resolve(
|
|
9
|
-
__dirname,
|
|
10
|
-
'../__tests__/mockRouterDir/router-v5/react-router-dom',
|
|
11
|
-
);
|
|
12
|
-
const resolveRouterV5_PkgPath = path.resolve(
|
|
13
|
-
__dirname,
|
|
14
|
-
'../__tests__/mockRouterDir/router-v5/react-router-dom/package.json',
|
|
15
|
-
);
|
|
16
|
-
const resolveRouterV6 = path.resolve(
|
|
17
|
-
__dirname,
|
|
18
|
-
'../__tests__/mockRouterDir/router-v6/react-router-dom/dist/main.js',
|
|
19
|
-
);
|
|
20
|
-
const resolveRouterV6_PkgPath = path.resolve(
|
|
21
|
-
__dirname,
|
|
22
|
-
'../__tests__/mockRouterDir/router-v6/react-router-dom/package.json',
|
|
23
|
-
);
|
|
24
|
-
|
|
25
|
-
describe('test checkVersion: should return the correct major version for react-router-dom', () => {
|
|
26
|
-
it('should return 5', () => {
|
|
27
|
-
expect(checkVersion('5.0.0')).toBe(5);
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
it('should return 5', () => {
|
|
31
|
-
expect(checkVersion('^5.0.0')).toBe(5);
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
it('should return 6', () => {
|
|
35
|
-
expect(checkVersion('6.0.0')).toBe(6);
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
it('should return 6', () => {
|
|
39
|
-
expect(checkVersion('~6.0.0')).toBe(6);
|
|
40
|
-
});
|
|
41
|
-
|
|
42
|
-
it('should return 6', () => {
|
|
43
|
-
expect(checkVersion('^6.0.0')).toBe(6);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
describe('test findPackageJson: should return the correct package.json path for react-router-dom v5 and v6', () => {
|
|
48
|
-
it('should return the package.json path', () => {
|
|
49
|
-
expect(findPackageJson(resolveRouterV5)).toBe(resolveRouterV5_PkgPath);
|
|
50
|
-
expect(findPackageJson(resolveRouterV6)).toBe(resolveRouterV6_PkgPath);
|
|
51
|
-
});
|
|
52
|
-
});
|
|
53
|
-
|
|
54
|
-
describe('test getBridgeRouterAlias: should return the correct alias for react-router-dom v5 and v6', () => {
|
|
55
|
-
it('should return the correct alias for router v5', () => {
|
|
56
|
-
const res = getBridgeRouterAlias(resolveRouterV5);
|
|
57
|
-
expect(res).toEqual({
|
|
58
|
-
'react-router-dom$':
|
|
59
|
-
'@module-federation/bridge-react/dist/router-v5.es.js',
|
|
60
|
-
'react-router-dom/index.js': resolveRouterV5,
|
|
61
|
-
});
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
it('should return the correct alias for router v6', () => {
|
|
65
|
-
const res = getBridgeRouterAlias(resolveRouterV6);
|
|
66
|
-
expect(res).toEqual({
|
|
67
|
-
'react-router-dom$':
|
|
68
|
-
'@module-federation/bridge-react/dist/router-v6.es.js',
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
});
|
package/vitest.config.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { defineConfig } from 'vitest/config';
|
|
2
|
-
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
|
3
|
-
import path from 'path';
|
|
4
|
-
export default defineConfig({
|
|
5
|
-
define: {
|
|
6
|
-
__DEV__: true,
|
|
7
|
-
__TEST__: true,
|
|
8
|
-
__BROWSER__: false,
|
|
9
|
-
__VERSION__: '"unknown"',
|
|
10
|
-
__APP_VERSION__: '"0.0.0"',
|
|
11
|
-
},
|
|
12
|
-
plugins: [nxViteTsPaths()],
|
|
13
|
-
test: {
|
|
14
|
-
environment: 'jsdom',
|
|
15
|
-
include: [
|
|
16
|
-
path.resolve(__dirname, '__tests__/*.spec.ts'),
|
|
17
|
-
path.resolve(__dirname, '__tests__/*.spec.tsx'),
|
|
18
|
-
],
|
|
19
|
-
globals: true,
|
|
20
|
-
testTimeout: 10000,
|
|
21
|
-
},
|
|
22
|
-
});
|