@docusaurus/core 0.0.0-4242 → 0.0.0-4247

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.
@@ -12,25 +12,26 @@ const path_1 = (0, tslib_1.__importDefault)(require("path"));
12
12
  const constants_1 = require("../../constants");
13
13
  const alias_1 = (0, tslib_1.__importStar)(require("./alias"));
14
14
  const ThemeFallbackDir = path_1.default.resolve(__dirname, '../../client/theme-fallback');
15
- function buildThemeAliases(themeAliases, aliases = {}) {
16
- Object.keys(themeAliases).forEach((aliasKey) => {
17
- if (aliasKey in aliases) {
18
- const componentName = aliasKey.substring(aliasKey.indexOf('/') + 1);
19
- aliases[`@theme-init/${componentName}`] = aliases[aliasKey];
20
- }
21
- aliases[aliasKey] = themeAliases[aliasKey];
22
- });
23
- return aliases;
24
- }
25
- function loadThemeAliases(themePaths, userThemePaths = []) {
26
- let aliases = {}; // TODO refactor, inelegant side-effect
15
+ function loadThemeAliases(themePaths, userThemePaths) {
16
+ const aliases = {};
27
17
  themePaths.forEach((themePath) => {
28
18
  const themeAliases = (0, alias_1.default)(themePath, true);
29
- aliases = { ...aliases, ...buildThemeAliases(themeAliases, aliases) };
19
+ Object.keys(themeAliases).forEach((aliasKey) => {
20
+ // If this alias shadows a previous one, use @theme-init to preserve the initial one.
21
+ // @theme-init is only applied once: to the initial theme that provided this component
22
+ if (aliasKey in aliases) {
23
+ const componentName = aliasKey.substring(aliasKey.indexOf('/') + 1);
24
+ const initAlias = `@theme-init/${componentName}`;
25
+ if (!(initAlias in aliases)) {
26
+ aliases[initAlias] = aliases[aliasKey];
27
+ }
28
+ }
29
+ aliases[aliasKey] = themeAliases[aliasKey];
30
+ });
30
31
  });
31
32
  userThemePaths.forEach((themePath) => {
32
33
  const userThemeAliases = (0, alias_1.default)(themePath, false);
33
- aliases = { ...aliases, ...buildThemeAliases(userThemeAliases, aliases) };
34
+ Object.assign(aliases, userThemeAliases);
34
35
  });
35
36
  return (0, alias_1.sortAliases)(aliases);
36
37
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@docusaurus/core",
3
3
  "description": "Easy to Maintain Open Source Documentation Websites",
4
- "version": "0.0.0-4242",
4
+ "version": "0.0.0-4247",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -30,36 +30,22 @@
30
30
  "bugs": {
31
31
  "url": "https://github.com/facebook/docusaurus/issues"
32
32
  },
33
- "devDependencies": {
34
- "@docusaurus/module-type-aliases": "0.0.0-4242",
35
- "@docusaurus/types": "0.0.0-4242",
36
- "@types/copy-webpack-plugin": "^8.0.1",
37
- "@types/css-minimizer-webpack-plugin": "^3.0.2",
38
- "@types/detect-port": "^1.3.0",
39
- "@types/mini-css-extract-plugin": "^1.4.3",
40
- "@types/nprogress": "^0.2.0",
41
- "@types/react-dom": "^17.0.9",
42
- "@types/rtl-detect": "^1.0.0",
43
- "@types/serve-handler": "^6.1.1",
44
- "@types/webpack-bundle-analyzer": "^4.4.1",
45
- "tmp-promise": "^3.0.2"
46
- },
47
33
  "dependencies": {
48
- "@babel/core": "^7.12.16",
49
- "@babel/generator": "^7.12.15",
34
+ "@babel/core": "^7.16.0",
35
+ "@babel/generator": "^7.16.0",
50
36
  "@babel/plugin-syntax-dynamic-import": "^7.8.3",
51
- "@babel/plugin-transform-runtime": "^7.15.0",
52
- "@babel/preset-env": "^7.15.6",
53
- "@babel/preset-react": "^7.12.13",
54
- "@babel/preset-typescript": "^7.12.16",
55
- "@babel/runtime": "^7.15.4",
56
- "@babel/runtime-corejs3": "^7.15.4",
57
- "@babel/traverse": "^7.12.13",
58
- "@docusaurus/cssnano-preset": "0.0.0-4242",
37
+ "@babel/plugin-transform-runtime": "^7.16.0",
38
+ "@babel/preset-env": "^7.16.4",
39
+ "@babel/preset-react": "^7.16.0",
40
+ "@babel/preset-typescript": "^7.16.0",
41
+ "@babel/runtime": "^7.16.3",
42
+ "@babel/runtime-corejs3": "^7.16.3",
43
+ "@babel/traverse": "^7.16.3",
44
+ "@docusaurus/cssnano-preset": "0.0.0-4247",
59
45
  "@docusaurus/react-loadable": "5.5.2",
60
- "@docusaurus/utils": "0.0.0-4242",
61
- "@docusaurus/utils-common": "0.0.0-4242",
62
- "@docusaurus/utils-validation": "0.0.0-4242",
46
+ "@docusaurus/utils": "0.0.0-4247",
47
+ "@docusaurus/utils-common": "0.0.0-4247",
48
+ "@docusaurus/utils-validation": "0.0.0-4247",
63
49
  "@slorber/static-site-generator-webpack-plugin": "^4.0.0",
64
50
  "@svgr/webpack": "^6.0.0",
65
51
  "autoprefixer": "^10.3.5",
@@ -120,6 +106,20 @@
120
106
  "webpack-merge": "^5.8.0",
121
107
  "webpackbar": "^5.0.0-3"
122
108
  },
109
+ "devDependencies": {
110
+ "@docusaurus/module-type-aliases": "0.0.0-4247",
111
+ "@docusaurus/types": "0.0.0-4247",
112
+ "@types/copy-webpack-plugin": "^8.0.1",
113
+ "@types/css-minimizer-webpack-plugin": "^3.0.2",
114
+ "@types/detect-port": "^1.3.0",
115
+ "@types/mini-css-extract-plugin": "^1.4.3",
116
+ "@types/nprogress": "^0.2.0",
117
+ "@types/react-dom": "^17.0.9",
118
+ "@types/rtl-detect": "^1.0.0",
119
+ "@types/serve-handler": "^6.1.1",
120
+ "@types/webpack-bundle-analyzer": "^4.4.1",
121
+ "tmp-promise": "^3.0.2"
122
+ },
123
123
  "peerDependencies": {
124
124
  "react": "^16.8.4 || ^17.0.0",
125
125
  "react-dom": "^16.8.4 || ^17.0.0"
@@ -127,5 +127,5 @@
127
127
  "engines": {
128
128
  "node": ">=14"
129
129
  },
130
- "gitHead": "36ef25aaf6fe06e24e66feb89208d77f51ae6a48"
130
+ "gitHead": "b93efd5aa831144614e62e34cb16cadbe59f673d"
131
131
  }