@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 CHANGED
@@ -1,25 +1,11 @@
1
1
  # @module-federation/bridge-react-webpack-plugin
2
2
 
3
- ## 0.0.0-next-20240830062908
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.5.2
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
- 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
- if (majorVersion === 5) {
1683
- bridgeRouterAlias = {
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
- ...bridgeRouterAlias,
1691
- "react-router-dom/index.js": reactRouterDomPath
1663
+ "react-router-dom$": "@module-federation/bridge-react/dist/router-v5.es.js"
1692
1664
  };
1693
- }
1694
- } else if (majorVersion === 6) {
1695
- bridgeRouterAlias = {
1696
- "react-router-dom$": "@module-federation/bridge-react/dist/router-v6.es.js"
1697
- };
1698
- try {
1699
- require.resolve("react-router-dom/dist/index.js");
1700
- } catch (error) {
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
- ...bridgeRouterAlias,
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
- 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
- if (majorVersion === 5) {
1661
- bridgeRouterAlias = {
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
- ...bridgeRouterAlias,
1669
- "react-router-dom/index.js": reactRouterDomPath
1641
+ "react-router-dom$": "@module-federation/bridge-react/dist/router-v5.es.js"
1670
1642
  };
1671
- }
1672
- } else if (majorVersion === 6) {
1673
- bridgeRouterAlias = {
1674
- "react-router-dom$": "@module-federation/bridge-react/dist/router-v6.es.js"
1675
- };
1676
- try {
1677
- require.resolve("react-router-dom/dist/index.js");
1678
- } catch (error) {
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
- ...bridgeRouterAlias,
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-20240830062908",
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-20240830062908"
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
- let bridgeRouterAlias = {};
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
- 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
- }
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
- const packageJsonPath = findPackageJson(reactRouterDomPath);
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
- 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
- }
48
+ // if react-router-dom path has set alias by user, use the originalAlias
49
+ reactRouterDomPath = originalAlias || reactRouterDomPath;
72
50
 
73
- if (majorVersion === 5) {
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
- ...bridgeRouterAlias,
84
- 'react-router-dom/index.js': reactRouterDomPath,
53
+ 'react-router-dom$':
54
+ '@module-federation/bridge-react/dist/router-v5.es.js',
85
55
  };
86
- }
87
- } else if (majorVersion === 6) {
88
- bridgeRouterAlias = {
89
- 'react-router-dom$':
90
- '@module-federation/bridge-react/dist/router-v6.es.js',
91
- };
92
-
93
- try {
94
- require.resolve('react-router-dom/dist/index.js');
95
- } catch (error) {
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
- ...bridgeRouterAlias,
99
- 'react-router-dom/dist/index.js': reactRouterDomPath,
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
- }
@@ -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
- });