@docusaurus/core 0.0.0-4240 → 0.0.0-4244

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.
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { ThemeAliases, LoadedPlugin } from '@docusaurus/types';
8
- export declare function loadThemeAliases(themePaths: string[], userThemePaths?: string[]): ThemeAliases;
8
+ export declare function loadThemeAliases(themePaths: string[], userThemePaths: string[]): ThemeAliases;
9
9
  export declare function loadPluginsThemeAliases({ siteDir, plugins, }: {
10
10
  siteDir: string;
11
11
  plugins: LoadedPlugin[];
@@ -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-4240",
4
+ "version": "0.0.0-4244",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
7
7
  "access": "public"
@@ -31,12 +31,11 @@
31
31
  "url": "https://github.com/facebook/docusaurus/issues"
32
32
  },
33
33
  "devDependencies": {
34
- "@docusaurus/module-type-aliases": "0.0.0-4240",
35
- "@docusaurus/types": "0.0.0-4240",
34
+ "@docusaurus/module-type-aliases": "0.0.0-4244",
35
+ "@docusaurus/types": "0.0.0-4244",
36
36
  "@types/copy-webpack-plugin": "^8.0.1",
37
37
  "@types/css-minimizer-webpack-plugin": "^3.0.2",
38
38
  "@types/detect-port": "^1.3.0",
39
- "@types/github-slugger": "^1.3.0",
40
39
  "@types/mini-css-extract-plugin": "^1.4.3",
41
40
  "@types/nprogress": "^0.2.0",
42
41
  "@types/react-dom": "^17.0.9",
@@ -56,11 +55,11 @@
56
55
  "@babel/runtime": "^7.15.4",
57
56
  "@babel/runtime-corejs3": "^7.15.4",
58
57
  "@babel/traverse": "^7.12.13",
59
- "@docusaurus/cssnano-preset": "0.0.0-4240",
58
+ "@docusaurus/cssnano-preset": "0.0.0-4244",
60
59
  "@docusaurus/react-loadable": "5.5.2",
61
- "@docusaurus/utils": "0.0.0-4240",
62
- "@docusaurus/utils-common": "0.0.0-4240",
63
- "@docusaurus/utils-validation": "0.0.0-4240",
60
+ "@docusaurus/utils": "0.0.0-4244",
61
+ "@docusaurus/utils-common": "0.0.0-4244",
62
+ "@docusaurus/utils-validation": "0.0.0-4244",
64
63
  "@slorber/static-site-generator-webpack-plugin": "^4.0.0",
65
64
  "@svgr/webpack": "^6.0.0",
66
65
  "autoprefixer": "^10.3.5",
@@ -82,7 +81,6 @@
82
81
  "eta": "^1.12.3",
83
82
  "file-loader": "^6.2.0",
84
83
  "fs-extra": "^10.0.0",
85
- "github-slugger": "^1.4.0",
86
84
  "globby": "^11.0.2",
87
85
  "html-minifier-terser": "^6.0.2",
88
86
  "html-tags": "^3.1.0",
@@ -129,5 +127,5 @@
129
127
  "engines": {
130
128
  "node": ">=14"
131
129
  },
132
- "gitHead": "7402103577fe6c4f5f45cc3bc98a397c54e6a34e"
130
+ "gitHead": "92169a27a03dacb747edc8d13166daed2a3efd25"
133
131
  }