@docusaurus/core 2.0.0-beta.ff31de0ff → 2.0.0-rc.1
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/README.md +1 -0
- package/bin/beforeCli.mjs +140 -0
- package/bin/docusaurus.mjs +221 -0
- package/lib/babel/preset.d.ts +8 -3
- package/lib/babel/preset.js +10 -8
- package/lib/client/App.d.ts +2 -3
- package/lib/client/App.js +31 -28
- package/lib/client/BaseUrlIssueBanner/index.d.ts +27 -0
- package/lib/client/{baseUrlIssueBanner/BaseUrlIssueBanner.js → BaseUrlIssueBanner/index.js} +25 -14
- package/lib/client/{baseUrlIssueBanner → BaseUrlIssueBanner}/styles.module.css +0 -0
- package/lib/client/ClientLifecyclesDispatcher.d.ts +16 -0
- package/lib/client/ClientLifecyclesDispatcher.js +39 -0
- package/lib/client/LinksCollector.d.ts +3 -3
- package/lib/client/LinksCollector.js +8 -13
- package/lib/client/PendingNavigation.d.ts +17 -3
- package/lib/client/PendingNavigation.js +47 -72
- package/lib/client/{baseUrlIssueBanner/BaseUrlIssueBanner.d.ts → SiteMetadataDefaults.d.ts} +1 -2
- package/lib/client/SiteMetadataDefaults.js +21 -0
- package/lib/{choosePort.d.ts → client/browserContext.d.ts} +5 -5
- package/lib/client/browserContext.js +22 -0
- package/lib/client/clientEntry.js +14 -9
- package/lib/client/docusaurus.d.ts +12 -6
- package/lib/client/docusaurus.js +30 -43
- package/lib/client/docusaurusContext.d.ts +12 -0
- package/lib/client/docusaurusContext.js +25 -0
- package/lib/client/exports/BrowserOnly.d.ts +3 -5
- package/lib/client/exports/BrowserOnly.js +14 -7
- package/lib/client/exports/ComponentCreator.d.ts +6 -2
- package/lib/client/exports/ComponentCreator.js +75 -42
- package/lib/client/exports/ErrorBoundary.d.ts +18 -0
- package/lib/client/exports/ErrorBoundary.js +37 -0
- package/lib/client/exports/ExecutionEnvironment.js +7 -8
- package/lib/client/exports/Head.d.ts +2 -3
- package/lib/client/exports/Head.js +3 -4
- package/lib/client/exports/Interpolate.d.ts +2 -2
- package/lib/client/exports/Interpolate.js +20 -49
- package/lib/client/exports/Link.d.ts +4 -10
- package/lib/client/exports/Link.js +44 -38
- package/lib/client/exports/Translate.d.ts +1 -1
- package/lib/client/exports/Translate.js +14 -9
- package/lib/client/exports/constants.js +1 -11
- package/lib/client/exports/isInternalUrl.js +1 -1
- package/lib/client/exports/renderRoutes.d.ts +1 -2
- package/lib/client/exports/renderRoutes.js +1 -2
- package/lib/client/exports/router.d.ts +1 -1
- package/lib/client/exports/router.js +1 -1
- package/lib/client/exports/useBaseUrl.js +11 -14
- package/lib/client/exports/useDocusaurusContext.d.ts +2 -3
- package/lib/client/exports/useDocusaurusContext.js +3 -9
- package/lib/client/exports/useGlobalData.d.ts +4 -3
- package/lib/client/exports/useGlobalData.js +8 -15
- package/lib/{server/versions/__tests/index.test.d.ts → client/exports/useIsBrowser.d.ts} +1 -1
- package/lib/client/exports/useIsBrowser.js +11 -0
- package/lib/client/exports/useRouteContext.d.ts +8 -0
- package/lib/client/exports/useRouteContext.js +15 -0
- package/lib/client/flat.d.ts +12 -2
- package/lib/client/flat.js +19 -15
- package/lib/client/normalizeLocation.d.ts +2 -5
- package/lib/client/normalizeLocation.js +14 -10
- package/lib/client/prefetch.d.ts +1 -2
- package/lib/client/prefetch.js +12 -32
- package/lib/client/preload.d.ts +3 -4
- package/lib/client/preload.js +5 -12
- package/lib/client/routeContext.d.ts +13 -0
- package/lib/client/routeContext.js +31 -0
- package/lib/client/serverEntry.d.ts +10 -0
- package/lib/client/serverEntry.js +109 -136
- package/lib/client/theme-fallback/Error/index.d.ts +10 -0
- package/lib/client/theme-fallback/Error/index.js +45 -0
- package/lib/client/theme-fallback/Layout/index.d.ts +10 -0
- package/lib/client/theme-fallback/Layout/index.js +2 -26
- package/lib/client/theme-fallback/Loading/index.d.ts +9 -0
- package/lib/client/theme-fallback/Loading/index.js +50 -116
- package/lib/client/{exports/context.js → theme-fallback/NotFound/index.d.ts} +2 -2
- package/lib/client/theme-fallback/NotFound/index.js +19 -18
- package/lib/client/theme-fallback/Root/index.d.ts +10 -0
- package/lib/client/theme-fallback/Root/index.js +2 -6
- package/lib/{server/html-tags/htmlTags.d.ts → client/theme-fallback/SiteMetadata/index.d.ts} +2 -1
- package/lib/client/theme-fallback/SiteMetadata/index.js +10 -0
- package/lib/commands/build.d.ts +6 -2
- package/lib/commands/build.js +81 -64
- package/lib/commands/clear.d.ts +7 -1
- package/lib/commands/clear.js +34 -21
- package/lib/commands/deploy.d.ts +5 -2
- package/lib/commands/deploy.js +102 -81
- package/lib/commands/external.d.ts +2 -2
- package/lib/commands/external.js +9 -11
- package/lib/commands/serve.d.ts +8 -2
- package/lib/commands/serve.js +40 -20
- package/lib/commands/start.d.ts +9 -2
- package/lib/commands/start.js +111 -101
- package/lib/commands/swizzle/actions.d.ts +23 -0
- package/lib/commands/swizzle/actions.js +106 -0
- package/lib/commands/swizzle/common.d.ts +33 -0
- package/lib/commands/swizzle/common.js +56 -0
- package/lib/commands/swizzle/components.d.ts +29 -0
- package/lib/commands/swizzle/components.js +200 -0
- package/lib/commands/swizzle/config.d.ts +10 -0
- package/lib/commands/swizzle/config.js +84 -0
- package/lib/{server/client-modules/index.d.ts → commands/swizzle/context.d.ts} +2 -2
- package/lib/commands/swizzle/context.js +24 -0
- package/lib/commands/swizzle/index.d.ts +8 -0
- package/lib/commands/swizzle/index.js +119 -0
- package/lib/commands/swizzle/prompts.d.ts +12 -0
- package/lib/commands/swizzle/prompts.js +110 -0
- package/lib/{client/exports/context.d.ts → commands/swizzle/tables.d.ts} +3 -4
- package/lib/commands/swizzle/tables.js +113 -0
- package/lib/commands/swizzle/themes.d.ts +20 -0
- package/lib/commands/swizzle/themes.js +106 -0
- package/lib/commands/writeHeadingIds.d.ts +2 -6
- package/lib/commands/writeHeadingIds.js +22 -81
- package/lib/commands/writeTranslations.d.ts +4 -5
- package/lib/commands/writeTranslations.js +48 -28
- package/lib/index.d.ts +9 -9
- package/lib/index.js +14 -14
- package/lib/server/brokenLinks.d.ts +4 -17
- package/lib/server/brokenLinks.js +67 -56
- package/lib/server/clientModules.d.ts +12 -0
- package/lib/server/clientModules.js +20 -0
- package/lib/server/config.d.ts +5 -2
- package/lib/server/config.js +29 -6
- package/lib/server/configValidation.d.ts +5 -3
- package/lib/server/configValidation.js +105 -44
- package/lib/server/getHostPort.d.ts +14 -0
- package/lib/server/getHostPort.js +79 -0
- package/lib/server/htmlTags.d.ts +12 -0
- package/lib/server/htmlTags.js +62 -0
- package/lib/server/i18n.d.ts +3 -13
- package/lib/server/i18n.js +21 -55
- package/lib/server/index.d.ts +28 -6
- package/lib/server/index.js +86 -173
- package/lib/server/plugins/configs.d.ts +51 -0
- package/lib/server/plugins/configs.js +101 -0
- package/lib/server/plugins/index.d.ts +10 -10
- package/lib/server/plugins/index.js +76 -128
- package/lib/server/plugins/init.d.ts +6 -9
- package/lib/server/plugins/init.js +44 -109
- package/lib/server/plugins/moduleShorthand.d.ts +9 -0
- package/lib/server/plugins/moduleShorthand.js +46 -0
- package/lib/server/plugins/pluginIds.d.ts +6 -2
- package/lib/server/plugins/pluginIds.js +12 -7
- package/lib/server/plugins/presets.d.ts +12 -0
- package/lib/server/plugins/presets.js +49 -0
- package/lib/server/plugins/routeConfig.d.ts +11 -0
- package/lib/server/plugins/routeConfig.js +54 -0
- package/lib/server/plugins/synthetic.d.ts +20 -0
- package/lib/server/plugins/synthetic.js +111 -0
- package/lib/server/routes.d.ts +39 -7
- package/lib/server/routes.js +182 -95
- package/lib/server/siteMetadata.d.ts +12 -0
- package/lib/server/siteMetadata.js +81 -0
- package/lib/server/translations/translations.d.ts +16 -22
- package/lib/server/translations/translations.js +41 -73
- package/lib/server/translations/translationsExtractor.d.ts +10 -5
- package/lib/server/translations/translationsExtractor.js +158 -122
- package/lib/server/utils.d.ts +9 -3
- package/lib/server/utils.js +7 -9
- package/lib/webpack/aliases/index.d.ts +34 -0
- package/lib/webpack/aliases/index.js +106 -0
- package/lib/webpack/base.d.ts +3 -4
- package/lib/webpack/base.js +56 -58
- package/lib/webpack/client.d.ts +3 -3
- package/lib/webpack/client.js +12 -19
- package/lib/webpack/plugins/ChunkAssetPlugin.d.ts +13 -3
- package/lib/webpack/plugins/ChunkAssetPlugin.js +24 -17
- package/lib/webpack/plugins/CleanWebpackPlugin.d.ts +6 -25
- package/lib/webpack/plugins/CleanWebpackPlugin.js +34 -18
- package/lib/webpack/plugins/LogPlugin.d.ts +1 -1
- package/lib/webpack/plugins/LogPlugin.js +4 -5
- package/lib/webpack/plugins/WaitPlugin.d.ts +3 -3
- package/lib/webpack/plugins/WaitPlugin.js +1 -1
- package/lib/webpack/server.d.ts +5 -5
- package/lib/webpack/server.js +23 -8
- package/lib/{client → webpack}/templates/index.html.template.ejs +0 -0
- package/lib/webpack/templates/ssr.html.template.d.ts +8 -0
- package/lib/{client → webpack}/templates/ssr.html.template.js +5 -4
- package/lib/webpack/utils.d.ts +16 -31
- package/lib/webpack/utils.js +63 -183
- package/package.json +83 -77
- package/bin/docusaurus.js +0 -326
- package/lib/.tsbuildinfo +0 -5682
- package/lib/choosePort.js +0 -105
- package/lib/client/.eslintrc.js +0 -29
- package/lib/client/.tsbuildinfo +0 -4127
- package/lib/client/client-lifecycles-dispatcher.d.ts +0 -12
- package/lib/client/client-lifecycles-dispatcher.js +0 -27
- package/lib/client/nprogress.css +0 -36
- package/lib/commands/buildRemoteBranchUrl.d.ts +0 -7
- package/lib/commands/buildRemoteBranchUrl.js +0 -27
- package/lib/commands/commandUtils.d.ts +0 -3
- package/lib/commands/commandUtils.js +0 -21
- package/lib/commands/swizzle.d.ts +0 -9
- package/lib/commands/swizzle.js +0 -245
- package/lib/constants.d.ts +0 -18
- package/lib/constants.js +0 -23
- package/lib/server/client-modules/index.js +0 -14
- package/lib/server/duplicateRoutes.d.ts +0 -10
- package/lib/server/duplicateRoutes.js +0 -38
- package/lib/server/html-tags/htmlTags.js +0 -39
- package/lib/server/html-tags/index.d.ts +0 -9
- package/lib/server/html-tags/index.js +0 -43
- package/lib/server/loadSetup.d.ts +0 -9
- package/lib/server/loadSetup.js +0 -25
- package/lib/server/presets/index.d.ts +0 -11
- package/lib/server/presets/index.js +0 -48
- package/lib/server/themes/alias.d.ts +0 -8
- package/lib/server/themes/alias.js +0 -39
- package/lib/server/themes/index.d.ts +0 -8
- package/lib/server/themes/index.js +0 -35
- package/lib/server/versions/__fixtures__/dummy-plugin.js +0 -0
- package/lib/server/versions/__fixtures__/package.json +0 -3
- package/lib/server/versions/__tests/index.test.js +0 -25
- package/lib/server/versions/index.d.ts +0 -10
- package/lib/server/versions/index.js +0 -50
- package/lib/webpack/react-dev-utils-webpack5/README.md +0 -11
- package/lib/webpack/react-dev-utils-webpack5/evalSourceMapMiddleware.js +0 -57
- package/lib/webpack/react-dev-utils-webpack5/formatWebpackMessages.js +0 -138
- package/lib/webpack/react-dev-utils-webpack5/webpackHotDevClient.js +0 -285
- package/lib/webpack/sharedModuleAliases.d.ts +0 -10
- package/lib/webpack/sharedModuleAliases.js +0 -18
- package/tsconfig.client.json +0 -13
- package/tsconfig.json +0 -13
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
const tslib_1 = require("tslib");
|
|
10
|
-
const module_1 = tslib_1.__importDefault(require("module"));
|
|
11
|
-
const import_fresh_1 = tslib_1.__importDefault(require("import-fresh"));
|
|
12
|
-
function loadPresets(context) {
|
|
13
|
-
// We need to resolve plugins from the perspective of the siteDir, since the siteDir's package.json
|
|
14
|
-
// declares the dependency on these plugins.
|
|
15
|
-
// We need to fallback to createRequireFromPath since createRequire is only available in node v12.
|
|
16
|
-
// See: https://nodejs.org/api/modules.html#modules_module_createrequire_filename
|
|
17
|
-
const createRequire = module_1.default.createRequire || module_1.default.createRequireFromPath;
|
|
18
|
-
const pluginRequire = createRequire(context.siteConfigPath);
|
|
19
|
-
const presets = (context.siteConfig || {}).presets || [];
|
|
20
|
-
const unflatPlugins = [];
|
|
21
|
-
const unflatThemes = [];
|
|
22
|
-
presets.forEach((presetItem) => {
|
|
23
|
-
let presetModuleImport;
|
|
24
|
-
let presetOptions = {};
|
|
25
|
-
if (typeof presetItem === 'string') {
|
|
26
|
-
presetModuleImport = presetItem;
|
|
27
|
-
}
|
|
28
|
-
else if (Array.isArray(presetItem)) {
|
|
29
|
-
[presetModuleImport, presetOptions = {}] = presetItem;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
throw new Error('Invalid presets format detected in config.');
|
|
33
|
-
}
|
|
34
|
-
const presetModule = import_fresh_1.default(pluginRequire.resolve(presetModuleImport));
|
|
35
|
-
const preset = (presetModule.default || presetModule)(context, presetOptions);
|
|
36
|
-
if (preset.plugins) {
|
|
37
|
-
unflatPlugins.push(preset.plugins);
|
|
38
|
-
}
|
|
39
|
-
if (preset.themes) {
|
|
40
|
-
unflatThemes.push(preset.themes);
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
return {
|
|
44
|
-
plugins: [].concat(...unflatPlugins).filter(Boolean),
|
|
45
|
-
themes: [].concat(...unflatThemes).filter(Boolean),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
exports.default = loadPresets;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import { ThemeAlias } from '@docusaurus/types';
|
|
8
|
-
export default function themeAlias(themePath: string, addOriginalAlias: boolean): ThemeAlias;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
const tslib_1 = require("tslib");
|
|
10
|
-
const globby_1 = tslib_1.__importDefault(require("globby"));
|
|
11
|
-
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
12
|
-
const path_1 = tslib_1.__importDefault(require("path"));
|
|
13
|
-
const utils_1 = require("@docusaurus/utils");
|
|
14
|
-
const lodash_1 = require("lodash");
|
|
15
|
-
function themeAlias(themePath, addOriginalAlias) {
|
|
16
|
-
if (!fs_extra_1.default.pathExistsSync(themePath)) {
|
|
17
|
-
return {};
|
|
18
|
-
}
|
|
19
|
-
const themeComponentFiles = globby_1.default.sync(['**/*.{js,jsx,ts,tsx}'], {
|
|
20
|
-
cwd: themePath,
|
|
21
|
-
});
|
|
22
|
-
// See https://github.com/facebook/docusaurus/pull/3922
|
|
23
|
-
// ensure @theme/NavbarItem alias is created after @theme/NavbarItem/LocaleDropdown
|
|
24
|
-
const sortedThemeComponentFiles = lodash_1.sortBy(themeComponentFiles, (file) => file.endsWith('/index.js'));
|
|
25
|
-
const aliases = {};
|
|
26
|
-
sortedThemeComponentFiles.forEach((relativeSource) => {
|
|
27
|
-
const filePath = path_1.default.join(themePath, relativeSource);
|
|
28
|
-
const fileName = utils_1.fileToPath(relativeSource);
|
|
29
|
-
const aliasName = utils_1.posixPath(utils_1.normalizeUrl(['@theme', fileName]).replace(/\/$/, ''));
|
|
30
|
-
aliases[aliasName] = filePath;
|
|
31
|
-
if (addOriginalAlias) {
|
|
32
|
-
// For swizzled components to access the original.
|
|
33
|
-
const originalAliasName = utils_1.posixPath(utils_1.normalizeUrl(['@theme-original', fileName]).replace(/\/$/, ''));
|
|
34
|
-
aliases[originalAliasName] = filePath;
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
return aliases;
|
|
38
|
-
}
|
|
39
|
-
exports.default = themeAlias;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import { ThemeAlias } from '@docusaurus/types';
|
|
8
|
-
export default function loadThemeAlias(themePaths: string[], userThemePaths?: string[]): ThemeAlias;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
const tslib_1 = require("tslib");
|
|
10
|
-
const alias_1 = tslib_1.__importDefault(require("./alias"));
|
|
11
|
-
function buildThemeAliases(themeAliases, aliases = {}) {
|
|
12
|
-
Object.keys(themeAliases).forEach((aliasKey) => {
|
|
13
|
-
if (aliasKey in aliases) {
|
|
14
|
-
const componentName = aliasKey.substring(aliasKey.indexOf('/') + 1);
|
|
15
|
-
// eslint-disable-next-line no-param-reassign
|
|
16
|
-
aliases[`@theme-init/${componentName}`] = aliases[aliasKey];
|
|
17
|
-
}
|
|
18
|
-
// eslint-disable-next-line no-param-reassign
|
|
19
|
-
aliases[aliasKey] = themeAliases[aliasKey];
|
|
20
|
-
});
|
|
21
|
-
return aliases;
|
|
22
|
-
}
|
|
23
|
-
function loadThemeAlias(themePaths, userThemePaths = []) {
|
|
24
|
-
let aliases = {};
|
|
25
|
-
themePaths.forEach((themePath) => {
|
|
26
|
-
const themeAliases = alias_1.default(themePath, true);
|
|
27
|
-
aliases = { ...aliases, ...buildThemeAliases(themeAliases, aliases) };
|
|
28
|
-
});
|
|
29
|
-
userThemePaths.forEach((themePath) => {
|
|
30
|
-
const userThemeAliases = alias_1.default(themePath, false);
|
|
31
|
-
aliases = { ...aliases, ...buildThemeAliases(userThemeAliases, aliases) };
|
|
32
|
-
});
|
|
33
|
-
return aliases;
|
|
34
|
-
}
|
|
35
|
-
exports.default = loadThemeAlias;
|
|
File without changes
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
const __1 = require("..");
|
|
10
|
-
const path_1 = require("path");
|
|
11
|
-
describe('getPluginVersion', () => {
|
|
12
|
-
it('Can detect external packages plugins versions of correctly.', () => {
|
|
13
|
-
expect(__1.getPluginVersion(path_1.join(__dirname, '..', '__fixtures__', 'dummy-plugin.js'),
|
|
14
|
-
// Make the plugin appear external.
|
|
15
|
-
path_1.join(__dirname, '..', '..', '..', '..', '..', '..', 'website'))).toEqual({ type: 'package', version: 'random-version' });
|
|
16
|
-
});
|
|
17
|
-
it('Can detect project plugins versions correctly.', () => {
|
|
18
|
-
expect(__1.getPluginVersion(path_1.join(__dirname, '..', '__fixtures__', 'dummy-plugin.js'),
|
|
19
|
-
// Make the plugin appear project local.
|
|
20
|
-
path_1.join(__dirname, '..', '__fixtures__'))).toEqual({ type: 'project' });
|
|
21
|
-
});
|
|
22
|
-
it('Can detect local packages versions correctly.', () => {
|
|
23
|
-
expect(__1.getPluginVersion('/', '/')).toEqual({ type: 'local' });
|
|
24
|
-
});
|
|
25
|
-
});
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import { DocusaurusPluginVersionInformation } from '@docusaurus/types';
|
|
8
|
-
export declare function getPackageJsonVersion(packageJsonPath: string): string | undefined;
|
|
9
|
-
export declare function getPackageJsonName(packageJsonPath: string): string | undefined;
|
|
10
|
-
export declare function getPluginVersion(pluginPath: string, siteDir: string): DocusaurusPluginVersionInformation;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/**
|
|
3
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
4
|
-
*
|
|
5
|
-
* This source code is licensed under the MIT license found in the
|
|
6
|
-
* LICENSE file in the root directory of this source tree.
|
|
7
|
-
*/
|
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.getPluginVersion = exports.getPackageJsonName = exports.getPackageJsonVersion = void 0;
|
|
10
|
-
const fs_extra_1 = require("fs-extra");
|
|
11
|
-
const path_1 = require("path");
|
|
12
|
-
function getPackageJsonVersion(packageJsonPath) {
|
|
13
|
-
if (fs_extra_1.existsSync(packageJsonPath)) {
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-dynamic-require, global-require
|
|
15
|
-
const { version } = require(packageJsonPath);
|
|
16
|
-
return typeof version === 'string' ? version : undefined;
|
|
17
|
-
}
|
|
18
|
-
return undefined;
|
|
19
|
-
}
|
|
20
|
-
exports.getPackageJsonVersion = getPackageJsonVersion;
|
|
21
|
-
function getPackageJsonName(packageJsonPath) {
|
|
22
|
-
if (fs_extra_1.existsSync(packageJsonPath)) {
|
|
23
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires, import/no-dynamic-require, global-require
|
|
24
|
-
const { name } = require(packageJsonPath);
|
|
25
|
-
return typeof name === 'string' ? name : undefined;
|
|
26
|
-
}
|
|
27
|
-
return undefined;
|
|
28
|
-
}
|
|
29
|
-
exports.getPackageJsonName = getPackageJsonName;
|
|
30
|
-
function getPluginVersion(pluginPath, siteDir) {
|
|
31
|
-
let potentialPluginPackageJsonDirectory = path_1.dirname(pluginPath);
|
|
32
|
-
while (potentialPluginPackageJsonDirectory !== '/') {
|
|
33
|
-
const packageJsonPath = path_1.join(potentialPluginPackageJsonDirectory, 'package.json');
|
|
34
|
-
if (fs_extra_1.existsSync(packageJsonPath) && fs_extra_1.lstatSync(packageJsonPath).isFile()) {
|
|
35
|
-
if (potentialPluginPackageJsonDirectory === siteDir) {
|
|
36
|
-
// If the plugin belongs to the same docusaurus project, we classify it as local plugin.
|
|
37
|
-
return { type: 'project' };
|
|
38
|
-
}
|
|
39
|
-
return {
|
|
40
|
-
type: 'package',
|
|
41
|
-
name: getPackageJsonName(packageJsonPath),
|
|
42
|
-
version: getPackageJsonVersion(packageJsonPath),
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
potentialPluginPackageJsonDirectory = path_1.dirname(potentialPluginPackageJsonDirectory);
|
|
46
|
-
}
|
|
47
|
-
// In rare cases where a plugin is a path where no parent directory contains package.json, we can only classify it as local.
|
|
48
|
-
return { type: 'local' };
|
|
49
|
-
}
|
|
50
|
-
exports.getPluginVersion = getPluginVersion;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
This is a temporary copy of
|
|
2
|
-
|
|
3
|
-
CRA / react-dev-utils does not support Webpack 5 yet
|
|
4
|
-
|
|
5
|
-
https://github.com/facebook/create-react-app/issues/9994
|
|
6
|
-
|
|
7
|
-
This folder is a temporary copy of some react-dev-utils code to which we made some changes to support Webpack 5 without warnings
|
|
8
|
-
|
|
9
|
-
TODO remove this folder once Webpack 5 is supported (https://github.com/facebook/create-react-app/issues/9994)
|
|
10
|
-
|
|
11
|
-
The comment `// modified for Docusaurus` is added near the modified elements
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2015-present, Facebook, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
/* eslint-disable */
|
|
8
|
-
/*
|
|
9
|
-
* THIS FILE IS MODIFIED FOR DOCUSAURUS
|
|
10
|
-
* the above copyright header must be preserved for license compliance.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
Implementation based on comment: https://github.com/facebook/create-react-app/issues/9994#issuecomment-811289191
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
function base64SourceMap(source) {
|
|
18
|
-
const base64 = Buffer.from(JSON.stringify(source.map()), 'utf8').toString(
|
|
19
|
-
'base64',
|
|
20
|
-
);
|
|
21
|
-
return `data:application/json;charset=utf-8;base64,${base64}`;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// modified for Docusaurus => remove webpack 5 deprecation warnings
|
|
25
|
-
// See https://github.com/facebook/create-react-app/issues/9994#issuecomment-811289191
|
|
26
|
-
function getSourceById(server, id) {
|
|
27
|
-
const module = Array.from(server._stats.compilation.modules).find(
|
|
28
|
-
(m) => server._stats.compilation.chunkGraph.getModuleId(m) == id,
|
|
29
|
-
);
|
|
30
|
-
return module.originalSource();
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/*
|
|
34
|
-
* Middleware responsible for retrieving a generated source
|
|
35
|
-
* Receives a webpack internal url: "webpack-internal:///<module-id>"
|
|
36
|
-
* Returns a generated source: "<source-text><sourceMappingURL><sourceURL>"
|
|
37
|
-
*
|
|
38
|
-
* Based on EvalSourceMapDevToolModuleTemplatePlugin.js
|
|
39
|
-
*/
|
|
40
|
-
module.exports = function createEvalSourceMapMiddleware(server) {
|
|
41
|
-
return function handleWebpackInternalMiddleware(req, res, next) {
|
|
42
|
-
if (req.url.startsWith('/__get-internal-source')) {
|
|
43
|
-
const fileName = req.query.fileName;
|
|
44
|
-
const id = fileName.match(/webpack-internal:\/\/\/(.+)/)[1];
|
|
45
|
-
if (!id || !server._stats) {
|
|
46
|
-
next();
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
const source = getSourceById(server, id);
|
|
50
|
-
const sourceMapURL = `//# sourceMappingURL=${base64SourceMap(source)}`;
|
|
51
|
-
const sourceURL = `//# sourceURL=webpack-internal:///${module.id}`;
|
|
52
|
-
res.end(`${source.source()}\n${sourceMapURL}\n${sourceURL}`);
|
|
53
|
-
} else {
|
|
54
|
-
next();
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
};
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) 2015-present, Facebook, Inc.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
/* eslint-disable */
|
|
8
|
-
/*
|
|
9
|
-
* THIS FILE IS MODIFIED FOR DOCUSAURUS
|
|
10
|
-
* the above copyright header must be preserved for license compliance.
|
|
11
|
-
*/
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
Implementation has been copied from https://github.com/facebook/create-react-app/pull/10656
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
const friendlySyntaxErrorLabel = 'Syntax error:';
|
|
18
|
-
|
|
19
|
-
function isLikelyASyntaxError(message) {
|
|
20
|
-
return message.indexOf(friendlySyntaxErrorLabel) !== -1;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
// Cleans up webpack error messages.
|
|
24
|
-
function formatMessage(message) {
|
|
25
|
-
let lines = [];
|
|
26
|
-
|
|
27
|
-
// modified for Docusaurus => see https://github.com/facebook/create-react-app/pull/10656
|
|
28
|
-
if (typeof message === 'string') {
|
|
29
|
-
lines = message.split('\n');
|
|
30
|
-
} else if ('message' in message) {
|
|
31
|
-
lines = message['message'].split('\n');
|
|
32
|
-
} else if (Array.isArray(message)) {
|
|
33
|
-
message.forEach((message) => {
|
|
34
|
-
if ('message' in message) {
|
|
35
|
-
lines = message['message'].split('\n');
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Strip webpack-added headers off errors/warnings
|
|
41
|
-
// https://github.com/webpack/webpack/blob/master/lib/ModuleError.js
|
|
42
|
-
lines = lines.filter((line) => !/Module [A-z ]+\(from/.test(line));
|
|
43
|
-
|
|
44
|
-
// Transform parsing error into syntax error
|
|
45
|
-
// TODO: move this to our ESLint formatter?
|
|
46
|
-
lines = lines.map((line) => {
|
|
47
|
-
const parsingError = /Line (\d+):(?:(\d+):)?\s*Parsing error: (.+)$/.exec(
|
|
48
|
-
line,
|
|
49
|
-
);
|
|
50
|
-
if (!parsingError) {
|
|
51
|
-
return line;
|
|
52
|
-
}
|
|
53
|
-
const [, errorLine, errorColumn, errorMessage] = parsingError;
|
|
54
|
-
return `${friendlySyntaxErrorLabel} ${errorMessage} (${errorLine}:${errorColumn})`;
|
|
55
|
-
});
|
|
56
|
-
|
|
57
|
-
message = lines.join('\n');
|
|
58
|
-
// Smoosh syntax errors (commonly found in CSS)
|
|
59
|
-
message = message.replace(
|
|
60
|
-
/SyntaxError\s+\((\d+):(\d+)\)\s*(.+?)\n/g,
|
|
61
|
-
`${friendlySyntaxErrorLabel} $3 ($1:$2)\n`,
|
|
62
|
-
);
|
|
63
|
-
// Clean up export errors
|
|
64
|
-
message = message.replace(
|
|
65
|
-
/^.*export '(.+?)' was not found in '(.+?)'.*$/gm,
|
|
66
|
-
`Attempted import error: '$1' is not exported from '$2'.`,
|
|
67
|
-
);
|
|
68
|
-
message = message.replace(
|
|
69
|
-
/^.*export 'default' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm,
|
|
70
|
-
`Attempted import error: '$2' does not contain a default export (imported as '$1').`,
|
|
71
|
-
);
|
|
72
|
-
message = message.replace(
|
|
73
|
-
/^.*export '(.+?)' \(imported as '(.+?)'\) was not found in '(.+?)'.*$/gm,
|
|
74
|
-
`Attempted import error: '$1' is not exported from '$3' (imported as '$2').`,
|
|
75
|
-
);
|
|
76
|
-
lines = message.split('\n');
|
|
77
|
-
|
|
78
|
-
// Remove leading newline
|
|
79
|
-
if (lines.length > 2 && lines[1].trim() === '') {
|
|
80
|
-
lines.splice(1, 1);
|
|
81
|
-
}
|
|
82
|
-
// Clean up file name
|
|
83
|
-
lines[0] = lines[0].replace(/^(.*) \d+:\d+-\d+$/, '$1');
|
|
84
|
-
|
|
85
|
-
// Cleans up verbose "module not found" messages for files and packages.
|
|
86
|
-
if (lines[1] && lines[1].indexOf('Module not found: ') === 0) {
|
|
87
|
-
lines = [
|
|
88
|
-
lines[0],
|
|
89
|
-
lines[1]
|
|
90
|
-
.replace('Error: ', '')
|
|
91
|
-
.replace('Module not found: Cannot find file:', 'Cannot find file:'),
|
|
92
|
-
];
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// Add helpful message for users trying to use Sass for the first time
|
|
96
|
-
if (lines[1] && lines[1].match(/Cannot find module.+node-sass/)) {
|
|
97
|
-
lines[1] = 'To import Sass files, you first need to install node-sass.\n';
|
|
98
|
-
lines[1] +=
|
|
99
|
-
'Run `npm install node-sass` or `yarn add node-sass` inside your workspace.';
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
message = lines.join('\n');
|
|
103
|
-
// Internal stacks are generally useless so we strip them... with the
|
|
104
|
-
// exception of stacks containing `webpack:` because they're normally
|
|
105
|
-
// from user code generated by webpack. For more information see
|
|
106
|
-
// https://github.com/facebook/create-react-app/pull/1050
|
|
107
|
-
message = message.replace(
|
|
108
|
-
/^\s*at\s((?!webpack:).)*:\d+:\d+[\s)]*(\n|$)/gm,
|
|
109
|
-
'',
|
|
110
|
-
); // at ... ...:x:y
|
|
111
|
-
message = message.replace(/^\s*at\s<anonymous>(\n|$)/gm, ''); // at <anonymous>
|
|
112
|
-
lines = message.split('\n');
|
|
113
|
-
|
|
114
|
-
// Remove duplicated newlines
|
|
115
|
-
lines = lines.filter(
|
|
116
|
-
(line, index, arr) =>
|
|
117
|
-
index === 0 ||
|
|
118
|
-
line.trim() !== '' ||
|
|
119
|
-
line.trim() !== arr[index - 1].trim(),
|
|
120
|
-
);
|
|
121
|
-
|
|
122
|
-
// Reassemble the message
|
|
123
|
-
message = lines.join('\n');
|
|
124
|
-
return message.trim();
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
function formatWebpackMessages(json) {
|
|
128
|
-
const formattedErrors = json.errors.map(formatMessage);
|
|
129
|
-
const formattedWarnings = json.warnings.map(formatMessage);
|
|
130
|
-
const result = {errors: formattedErrors, warnings: formattedWarnings};
|
|
131
|
-
if (result.errors.some(isLikelyASyntaxError)) {
|
|
132
|
-
// If there are any syntax errors, show just them.
|
|
133
|
-
result.errors = result.errors.filter(isLikelyASyntaxError);
|
|
134
|
-
}
|
|
135
|
-
return result;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
module.exports = formatWebpackMessages;
|