@docusaurus/core 2.0.1 → 2.2.0
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/bin/docusaurus.mjs +4 -0
- package/lib/client/SiteMetadataDefaults.js +9 -1
- package/lib/client/exports/Link.js +2 -2
- package/lib/client/preload.js +3 -1
- package/lib/commands/swizzle/common.d.ts +1 -0
- package/lib/commands/swizzle/common.js +1 -0
- package/lib/commands/swizzle/context.d.ts +2 -2
- package/lib/commands/swizzle/context.js +2 -2
- package/lib/commands/swizzle/index.js +1 -1
- package/lib/commands/writeTranslations.js +11 -5
- package/lib/server/configValidation.d.ts +1 -1
- package/lib/server/configValidation.js +33 -10
- package/lib/server/plugins/synthetic.js +3 -2
- package/lib/webpack/templates/index.html.template.ejs +0 -1
- package/lib/webpack/templates/ssr.html.template.d.ts +1 -1
- package/lib/webpack/templates/ssr.html.template.js +1 -5
- package/package.json +11 -11
package/bin/docusaurus.mjs
CHANGED
|
@@ -77,6 +77,10 @@ cli
|
|
|
77
77
|
'copy TypeScript theme files when possible (default: false)',
|
|
78
78
|
)
|
|
79
79
|
.option('--danger', 'enable swizzle for unsafe component of themes')
|
|
80
|
+
.option(
|
|
81
|
+
'--config <config>',
|
|
82
|
+
'path to Docusaurus config file (default: `[siteDir]/docusaurus.config.js`)',
|
|
83
|
+
)
|
|
80
84
|
.action(swizzle);
|
|
81
85
|
|
|
82
86
|
cli
|
|
@@ -9,13 +9,21 @@ import Head from '@docusaurus/Head';
|
|
|
9
9
|
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
|
|
10
10
|
import useBaseUrl from '@docusaurus/useBaseUrl';
|
|
11
11
|
export default function SiteMetadataDefaults() {
|
|
12
|
-
const { siteConfig: { favicon, title }, i18n: { currentLocale, localeConfigs }, } = useDocusaurusContext();
|
|
12
|
+
const { siteConfig: { favicon, title, noIndex }, i18n: { currentLocale, localeConfigs }, } = useDocusaurusContext();
|
|
13
13
|
const faviconUrl = useBaseUrl(favicon);
|
|
14
14
|
const { htmlLang, direction: htmlDir } = localeConfigs[currentLocale];
|
|
15
15
|
return (<Head>
|
|
16
|
+
{/*
|
|
17
|
+
charSet + generator are handled in the html templates
|
|
18
|
+
See https://github.com/facebook/docusaurus/pull/7952
|
|
19
|
+
<meta charSet="UTF-8" />
|
|
20
|
+
<meta name="generator" content={`Docusaurus v${docusaurusVersion}`} />
|
|
21
|
+
*/}
|
|
16
22
|
<html lang={htmlLang} dir={htmlDir}/>
|
|
17
23
|
<title>{title}</title>
|
|
18
24
|
<meta property="og:title" content={title}/>
|
|
25
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
|
26
|
+
{noIndex && <meta name="robots" content="noindex, nofollow"/>}
|
|
19
27
|
{favicon && <link rel="icon" href={faviconUrl}/>}
|
|
20
28
|
</Head>);
|
|
21
29
|
}
|
|
@@ -77,7 +77,7 @@ function Link({ isNavLink, to, href, activeClassName, isActive, 'data-noBrokenLi
|
|
|
77
77
|
ioRef.current.observe(el);
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
|
-
const
|
|
80
|
+
const onInteractionEnter = () => {
|
|
81
81
|
if (!preloaded.current && targetLink != null) {
|
|
82
82
|
window.docusaurus.preload(targetLink);
|
|
83
83
|
preloaded.current = true;
|
|
@@ -105,7 +105,7 @@ function Link({ isNavLink, to, href, activeClassName, isActive, 'data-noBrokenLi
|
|
|
105
105
|
return isRegularHtmlLink ? (
|
|
106
106
|
// eslint-disable-next-line jsx-a11y/anchor-has-content
|
|
107
107
|
<a ref={innerRef} href={targetLink} {...(targetLinkUnprefixed &&
|
|
108
|
-
!isInternal && { target: '_blank', rel: 'noopener noreferrer' })} {...props}/>) : (<LinkComponent {...props} onMouseEnter={
|
|
108
|
+
!isInternal && { target: '_blank', rel: 'noopener noreferrer' })} {...props}/>) : (<LinkComponent {...props} onMouseEnter={onInteractionEnter} onTouchStart={onInteractionEnter} innerRef={handleRef} to={targetLink}
|
|
109
109
|
// Avoid "React does not recognize the `activeClassName` prop on a DOM
|
|
110
110
|
// element"
|
|
111
111
|
{...(isNavLink && { isActive, activeClassName })}/>);
|
package/lib/client/preload.js
CHANGED
|
@@ -15,6 +15,8 @@ import { matchRoutes } from 'react-router-config';
|
|
|
15
15
|
* @returns Promise object represents whether pathname has been preloaded
|
|
16
16
|
*/
|
|
17
17
|
export default function preload(pathname) {
|
|
18
|
-
const matches =
|
|
18
|
+
const matches = Array.from(new Set([pathname, decodeURI(pathname)]))
|
|
19
|
+
.map((p) => matchRoutes(routes, p))
|
|
20
|
+
.flat();
|
|
19
21
|
return Promise.all(matches.map((match) => match.route.component.preload?.()));
|
|
20
22
|
}
|
|
@@ -27,6 +27,7 @@ export declare type SwizzleCLIOptions = {
|
|
|
27
27
|
list: boolean;
|
|
28
28
|
wrap: boolean;
|
|
29
29
|
eject: boolean;
|
|
30
|
+
config?: string;
|
|
30
31
|
};
|
|
31
32
|
export declare function normalizeOptions(options: Partial<SwizzleCLIOptions>): SwizzleCLIOptions;
|
|
32
33
|
export declare function findStringIgnoringCase(str: string, values: string[]): string | undefined;
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import type { SwizzleContext } from './common';
|
|
8
|
-
export declare function initSwizzleContext(siteDir: string): Promise<SwizzleContext>;
|
|
7
|
+
import type { SwizzleCLIOptions, SwizzleContext } from './common';
|
|
8
|
+
export declare function initSwizzleContext(siteDir: string, options: SwizzleCLIOptions): Promise<SwizzleContext>;
|
|
@@ -10,8 +10,8 @@ exports.initSwizzleContext = void 0;
|
|
|
10
10
|
const server_1 = require("../../server");
|
|
11
11
|
const init_1 = require("../../server/plugins/init");
|
|
12
12
|
const configs_1 = require("../../server/plugins/configs");
|
|
13
|
-
async function initSwizzleContext(siteDir) {
|
|
14
|
-
const context = await (0, server_1.loadContext)({ siteDir });
|
|
13
|
+
async function initSwizzleContext(siteDir, options) {
|
|
14
|
+
const context = await (0, server_1.loadContext)({ siteDir, config: options.config });
|
|
15
15
|
const plugins = await (0, init_1.initPlugins)(context);
|
|
16
16
|
const pluginConfigs = await (0, configs_1.loadPluginConfigs)(context);
|
|
17
17
|
return {
|
|
@@ -62,7 +62,7 @@ async function swizzle(themeNameParam = undefined, componentNameParam = undefine
|
|
|
62
62
|
const siteDir = await fs_extra_1.default.realpath(siteDirParam);
|
|
63
63
|
const options = (0, common_1.normalizeOptions)(optionsParam);
|
|
64
64
|
const { list, danger, typescript } = options;
|
|
65
|
-
const { plugins } = await (0, context_1.initSwizzleContext)(siteDir);
|
|
65
|
+
const { plugins } = await (0, context_1.initSwizzleContext)(siteDir, options);
|
|
66
66
|
const themeNames = (0, themes_1.getThemeNames)(plugins);
|
|
67
67
|
if (list && !themeNameParam) {
|
|
68
68
|
await listAllThemeComponents({ themeNames, plugins, typescript });
|
|
@@ -15,6 +15,14 @@ const init_1 = require("../server/plugins/init");
|
|
|
15
15
|
const translations_1 = require("../server/translations/translations");
|
|
16
16
|
const translationsExtractor_1 = require("../server/translations/translationsExtractor");
|
|
17
17
|
const utils_1 = require("../webpack/utils");
|
|
18
|
+
function resolveThemeCommonLibDir() {
|
|
19
|
+
try {
|
|
20
|
+
return path_1.default.dirname(require.resolve('@docusaurus/theme-common'));
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
18
26
|
/**
|
|
19
27
|
* This is a hack, so that @docusaurus/theme-common translations are extracted!
|
|
20
28
|
* A theme doesn't have a way to express that one of its dependency (like
|
|
@@ -23,13 +31,11 @@ const utils_1 = require("../webpack/utils");
|
|
|
23
31
|
* We just make an exception and assume that user is using an official theme
|
|
24
32
|
*/
|
|
25
33
|
async function getExtraSourceCodeFilePaths() {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return (0, translationsExtractor_1.globSourceCodeFilePaths)([themeCommonSourceDir]);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
34
|
+
const themeCommonLibDir = resolveThemeCommonLibDir();
|
|
35
|
+
if (!themeCommonLibDir) {
|
|
31
36
|
return []; // User may not use a Docusaurus official theme? Quite unlikely...
|
|
32
37
|
}
|
|
38
|
+
return (0, translationsExtractor_1.globSourceCodeFilePaths)([themeCommonLibDir]);
|
|
33
39
|
}
|
|
34
40
|
async function writePluginTranslationFiles({ localizationDir, plugin, options, }) {
|
|
35
41
|
if (plugin.getTranslationFiles) {
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
import { Joi } from '@docusaurus/utils-validation';
|
|
8
8
|
import type { DocusaurusConfig, I18nConfig } from '@docusaurus/types';
|
|
9
9
|
export declare const DEFAULT_I18N_CONFIG: I18nConfig;
|
|
10
|
-
export declare const DEFAULT_CONFIG: Pick<DocusaurusConfig, 'i18n' | 'onBrokenLinks' | 'onBrokenMarkdownLinks' | 'onDuplicateRoutes' | 'plugins' | 'themes' | 'presets' | 'stylesheets' | 'scripts' | 'clientModules' | 'customFields' | 'themeConfig' | 'titleDelimiter' | 'noIndex' | 'tagline' | 'baseUrlIssueBanner' | 'staticDirectories'>;
|
|
10
|
+
export declare const DEFAULT_CONFIG: Pick<DocusaurusConfig, 'i18n' | 'onBrokenLinks' | 'onBrokenMarkdownLinks' | 'onDuplicateRoutes' | 'plugins' | 'themes' | 'presets' | 'headTags' | 'stylesheets' | 'scripts' | 'clientModules' | 'customFields' | 'themeConfig' | 'titleDelimiter' | 'noIndex' | 'tagline' | 'baseUrlIssueBanner' | 'staticDirectories' | 'markdown'>;
|
|
11
11
|
export declare const ConfigSchema: Joi.ObjectSchema<DocusaurusConfig>;
|
|
12
12
|
export declare function validateConfig(config: unknown, siteConfigPath: string): DocusaurusConfig;
|
|
@@ -24,6 +24,7 @@ exports.DEFAULT_CONFIG = {
|
|
|
24
24
|
plugins: [],
|
|
25
25
|
themes: [],
|
|
26
26
|
presets: [],
|
|
27
|
+
headTags: [],
|
|
27
28
|
stylesheets: [],
|
|
28
29
|
scripts: [],
|
|
29
30
|
clientModules: [],
|
|
@@ -34,6 +35,9 @@ exports.DEFAULT_CONFIG = {
|
|
|
34
35
|
tagline: '',
|
|
35
36
|
baseUrlIssueBanner: true,
|
|
36
37
|
staticDirectories: [utils_1.DEFAULT_STATIC_DIR_NAME],
|
|
38
|
+
markdown: {
|
|
39
|
+
mermaid: false,
|
|
40
|
+
},
|
|
37
41
|
};
|
|
38
42
|
function createPluginSchema(theme) {
|
|
39
43
|
return (utils_validation_1.Joi.alternatives()
|
|
@@ -101,24 +105,29 @@ const I18N_CONFIG_SCHEMA = utils_validation_1.Joi.object({
|
|
|
101
105
|
})
|
|
102
106
|
.optional()
|
|
103
107
|
.default(exports.DEFAULT_I18N_CONFIG);
|
|
104
|
-
const SiteUrlSchema = utils_validation_1.
|
|
108
|
+
const SiteUrlSchema = utils_validation_1.Joi.string()
|
|
109
|
+
.required()
|
|
110
|
+
.custom((value, helpers) => {
|
|
105
111
|
try {
|
|
106
|
-
const { pathname } = new URL(
|
|
112
|
+
const { pathname } = new URL(value);
|
|
107
113
|
if (pathname !== '/') {
|
|
108
|
-
helpers.
|
|
109
|
-
warningMessage: `the url is not supposed to contain a sub-path like '${pathname}', please use the baseUrl field for sub-paths`,
|
|
110
|
-
});
|
|
114
|
+
return helpers.error('docusaurus.subPathError', { pathname });
|
|
111
115
|
}
|
|
112
116
|
}
|
|
113
|
-
catch {
|
|
114
|
-
|
|
115
|
-
}
|
|
117
|
+
catch {
|
|
118
|
+
return helpers.error('any.invalid');
|
|
119
|
+
}
|
|
120
|
+
return (0, utils_1.removeTrailingSlash)(value);
|
|
121
|
+
})
|
|
122
|
+
.messages({
|
|
123
|
+
'any.invalid': '"{#value}" does not look like a valid URL. Make sure it has a protocol; for example, "https://example.com".',
|
|
124
|
+
'docusaurus.subPathError': 'The url is not supposed to contain a sub-path like "{#pathname}". Please use the baseUrl field for sub-paths.',
|
|
125
|
+
});
|
|
116
126
|
// TODO move to @docusaurus/utils-validation
|
|
117
127
|
exports.ConfigSchema = utils_validation_1.Joi.object({
|
|
118
128
|
baseUrl: utils_validation_1.Joi.string()
|
|
119
129
|
.required()
|
|
120
|
-
.
|
|
121
|
-
.message('{{#label}} must be a string with a trailing slash.'),
|
|
130
|
+
.custom((value) => (0, utils_1.addLeadingSlash)((0, utils_1.addTrailingSlash)(value))),
|
|
122
131
|
baseUrlIssueBanner: utils_validation_1.Joi.boolean().default(exports.DEFAULT_CONFIG.baseUrlIssueBanner),
|
|
123
132
|
favicon: utils_validation_1.Joi.string().optional(),
|
|
124
133
|
title: utils_validation_1.Joi.string().required(),
|
|
@@ -160,6 +169,17 @@ exports.ConfigSchema = utils_validation_1.Joi.object({
|
|
|
160
169
|
})
|
|
161
170
|
.default(exports.DEFAULT_CONFIG.scripts),
|
|
162
171
|
ssrTemplate: utils_validation_1.Joi.string(),
|
|
172
|
+
headTags: utils_validation_1.Joi.array()
|
|
173
|
+
.items(utils_validation_1.Joi.object({
|
|
174
|
+
tagName: utils_validation_1.Joi.string().required(),
|
|
175
|
+
attributes: utils_validation_1.Joi.object()
|
|
176
|
+
.pattern(/[\w-]+/, utils_validation_1.Joi.string())
|
|
177
|
+
.required(),
|
|
178
|
+
}).unknown())
|
|
179
|
+
.messages({
|
|
180
|
+
'array.includes': '{#label} is invalid. A headTag must be an object with at least a "tagName" and an "attributes" property.',
|
|
181
|
+
})
|
|
182
|
+
.default(exports.DEFAULT_CONFIG.headTags),
|
|
163
183
|
stylesheets: utils_validation_1.Joi.array()
|
|
164
184
|
.items(utils_validation_1.Joi.string(), utils_validation_1.Joi.object({
|
|
165
185
|
href: utils_validation_1.Joi.string().required(),
|
|
@@ -180,6 +200,9 @@ exports.ConfigSchema = utils_validation_1.Joi.object({
|
|
|
180
200
|
.try(utils_validation_1.Joi.string().equal('babel'), utils_validation_1.Joi.function())
|
|
181
201
|
.optional(),
|
|
182
202
|
}).optional(),
|
|
203
|
+
markdown: utils_validation_1.Joi.object({
|
|
204
|
+
mermaid: utils_validation_1.Joi.boolean().default(exports.DEFAULT_CONFIG.markdown.mermaid),
|
|
205
|
+
}).default(exports.DEFAULT_CONFIG.markdown),
|
|
183
206
|
}).messages({
|
|
184
207
|
'docusaurus.configValidationWarning': 'Docusaurus config validation warning. Field {#label}: {#warningMessage}',
|
|
185
208
|
});
|
|
@@ -15,7 +15,7 @@ const path_1 = tslib_1.__importDefault(require("path"));
|
|
|
15
15
|
* - Inject scripts/stylesheets
|
|
16
16
|
*/
|
|
17
17
|
function createBootstrapPlugin({ siteDir, siteConfig, }) {
|
|
18
|
-
const { stylesheets, scripts, clientModules: siteConfigClientModules, } = siteConfig;
|
|
18
|
+
const { stylesheets, scripts, headTags, clientModules: siteConfigClientModules, } = siteConfig;
|
|
19
19
|
return {
|
|
20
20
|
name: 'docusaurus-bootstrap-plugin',
|
|
21
21
|
content: null,
|
|
@@ -46,7 +46,7 @@ function createBootstrapPlugin({ siteDir, siteConfig, }) {
|
|
|
46
46
|
},
|
|
47
47
|
});
|
|
48
48
|
return {
|
|
49
|
-
headTags: [...stylesheetsTags, ...scriptsTags],
|
|
49
|
+
headTags: [...headTags, ...stylesheetsTags, ...scriptsTags],
|
|
50
50
|
};
|
|
51
51
|
},
|
|
52
52
|
};
|
|
@@ -87,6 +87,7 @@ function createMDXFallbackPlugin({ siteDir, siteConfig, }) {
|
|
|
87
87
|
isMDXPartial: () => true,
|
|
88
88
|
// External MDX files might have front matter, just disable the warning
|
|
89
89
|
isMDXPartialFrontMatterWarningDisabled: true,
|
|
90
|
+
markdownConfig: siteConfig.markdown,
|
|
90
91
|
};
|
|
91
92
|
return {
|
|
92
93
|
module: {
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
<html lang="en">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
5
|
<meta name="generator" content="Docusaurus">
|
|
7
6
|
<title><%= htmlWebpackPlugin.options.title %></title>
|
|
8
7
|
<%= htmlWebpackPlugin.options.headTags %>
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
declare const _default: "\n<!DOCTYPE html>\n<html <%~ it.htmlAttributes %>>\n <head>\n <meta charset=\"UTF-8\">\n <meta name=\"
|
|
7
|
+
declare const _default: "\n<!DOCTYPE html>\n<html <%~ it.htmlAttributes %>>\n <head>\n <meta charset=\"UTF-8\">\n <meta name=\"generator\" content=\"Docusaurus v<%= it.version %>\">\n <% it.metaAttributes.forEach((metaAttribute) => { %>\n <%~ metaAttribute %>\n <% }); %>\n <%~ it.headTags %>\n <% it.stylesheets.forEach((stylesheet) => { %>\n <link rel=\"stylesheet\" href=\"<%= it.baseUrl %><%= stylesheet %>\" />\n <% }); %>\n <% it.scripts.forEach((script) => { %>\n <link rel=\"preload\" href=\"<%= it.baseUrl %><%= script %>\" as=\"script\">\n <% }); %>\n </head>\n <body <%~ it.bodyAttributes %>>\n <%~ it.preBodyTags %>\n <div id=\"__docusaurus\">\n <%~ it.appHtml %>\n </div>\n <% it.scripts.forEach((script) => { %>\n <script src=\"<%= it.baseUrl %><%= script %>\"></script>\n <% }); %>\n <%~ it.postBodyTags %>\n </body>\n</html>\n";
|
|
8
8
|
export default _default;
|
|
@@ -11,15 +11,11 @@ exports.default = `
|
|
|
11
11
|
<html <%~ it.htmlAttributes %>>
|
|
12
12
|
<head>
|
|
13
13
|
<meta charset="UTF-8">
|
|
14
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
15
14
|
<meta name="generator" content="Docusaurus v<%= it.version %>">
|
|
16
|
-
<% if (it.noIndex) { %>
|
|
17
|
-
<meta name="robots" content="noindex, nofollow" />
|
|
18
|
-
<% } %>
|
|
19
|
-
<%~ it.headTags %>
|
|
20
15
|
<% it.metaAttributes.forEach((metaAttribute) => { %>
|
|
21
16
|
<%~ metaAttribute %>
|
|
22
17
|
<% }); %>
|
|
18
|
+
<%~ it.headTags %>
|
|
23
19
|
<% it.stylesheets.forEach((stylesheet) => { %>
|
|
24
20
|
<link rel="stylesheet" href="<%= it.baseUrl %><%= stylesheet %>" />
|
|
25
21
|
<% }); %>
|
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": "2.0
|
|
4
|
+
"version": "2.2.0",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -43,13 +43,13 @@
|
|
|
43
43
|
"@babel/runtime": "^7.18.6",
|
|
44
44
|
"@babel/runtime-corejs3": "^7.18.6",
|
|
45
45
|
"@babel/traverse": "^7.18.8",
|
|
46
|
-
"@docusaurus/cssnano-preset": "2.0
|
|
47
|
-
"@docusaurus/logger": "2.0
|
|
48
|
-
"@docusaurus/mdx-loader": "2.0
|
|
46
|
+
"@docusaurus/cssnano-preset": "2.2.0",
|
|
47
|
+
"@docusaurus/logger": "2.2.0",
|
|
48
|
+
"@docusaurus/mdx-loader": "2.2.0",
|
|
49
49
|
"@docusaurus/react-loadable": "5.5.2",
|
|
50
|
-
"@docusaurus/utils": "2.0
|
|
51
|
-
"@docusaurus/utils-common": "2.0
|
|
52
|
-
"@docusaurus/utils-validation": "2.0
|
|
50
|
+
"@docusaurus/utils": "2.2.0",
|
|
51
|
+
"@docusaurus/utils-common": "2.2.0",
|
|
52
|
+
"@docusaurus/utils-validation": "2.2.0",
|
|
53
53
|
"@slorber/static-site-generator-webpack-plugin": "^4.0.7",
|
|
54
54
|
"@svgr/webpack": "^6.2.1",
|
|
55
55
|
"autoprefixer": "^10.4.7",
|
|
@@ -106,8 +106,8 @@
|
|
|
106
106
|
"webpackbar": "^5.0.2"
|
|
107
107
|
},
|
|
108
108
|
"devDependencies": {
|
|
109
|
-
"@docusaurus/module-type-aliases": "2.0
|
|
110
|
-
"@docusaurus/types": "2.0
|
|
109
|
+
"@docusaurus/module-type-aliases": "2.2.0",
|
|
110
|
+
"@docusaurus/types": "2.2.0",
|
|
111
111
|
"@types/detect-port": "^1.3.2",
|
|
112
112
|
"@types/react-dom": "^18.0.6",
|
|
113
113
|
"@types/react-router-config": "^5.0.6",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"@types/webpack-bundle-analyzer": "^4.4.1",
|
|
119
119
|
"react-test-renderer": "^17.0.2",
|
|
120
120
|
"tmp-promise": "^3.0.3",
|
|
121
|
-
"tree-node-cli": "^1.
|
|
121
|
+
"tree-node-cli": "^1.6.0"
|
|
122
122
|
},
|
|
123
123
|
"peerDependencies": {
|
|
124
124
|
"react": "^16.8.4 || ^17.0.0",
|
|
@@ -127,5 +127,5 @@
|
|
|
127
127
|
"engines": {
|
|
128
128
|
"node": ">=16.14"
|
|
129
129
|
},
|
|
130
|
-
"gitHead": "
|
|
130
|
+
"gitHead": "a308fb7c81832cca354192fe2984f52749441249"
|
|
131
131
|
}
|