@docusaurus/core 0.0.0-4872 → 0.0.0-4876
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/beforeCli.mjs +1 -2
- package/lib/client/.eslintrc.js +2 -3
- package/lib/client/BaseUrlIssueBanner/index.js +1 -2
- package/lib/client/LinksCollector.js +1 -2
- package/lib/client/exports/Link.js +1 -1
- package/lib/client/exports/useBaseUrl.js +3 -9
- package/lib/client/routeContext.js +1 -1
- package/lib/client/serverEntry.js +1 -1
- package/lib/commands/deploy.js +3 -2
- package/lib/commands/start.js +1 -1
- package/lib/commands/swizzle/actions.js +1 -1
- package/lib/server/brokenLinks.js +0 -1
- package/lib/server/choosePort.js +6 -25
- package/lib/server/index.js +2 -2
- package/lib/server/plugins/index.js +1 -1
- package/lib/server/plugins/init.js +2 -3
- package/lib/server/routes.js +2 -3
- package/lib/server/translations/translations.js +4 -4
- package/lib/webpack/base.js +4 -4
- package/lib/webpack/client.js +1 -1
- package/lib/webpack/utils.js +3 -3
- package/package.json +10 -10
package/bin/beforeCli.mjs
CHANGED
|
@@ -45,7 +45,6 @@ export default async function beforeCli() {
|
|
|
45
45
|
// Check is in background so it's fine to use a small value like 1h
|
|
46
46
|
// Use 0 for debugging
|
|
47
47
|
updateCheckInterval: 1000 * 60 * 60,
|
|
48
|
-
// updateCheckInterval: 0
|
|
49
48
|
});
|
|
50
49
|
|
|
51
50
|
// Hacky way to ensure we check for updates on first run
|
|
@@ -124,7 +123,7 @@ export default async function beforeCli() {
|
|
|
124
123
|
console.log(docusaurusUpdateMessage);
|
|
125
124
|
}
|
|
126
125
|
|
|
127
|
-
//
|
|
126
|
+
// Notify user if node version needs to be updated
|
|
128
127
|
if (!semver.satisfies(process.version, requiredVersion)) {
|
|
129
128
|
logger.error('Minimum Node.js version not met :(');
|
|
130
129
|
logger.info`You are using Node.js number=${process.version}, Requirement: Node.js number=${requiredVersion}.`;
|
package/lib/client/.eslintrc.js
CHANGED
|
@@ -11,12 +11,11 @@ module.exports = {
|
|
|
11
11
|
'error',
|
|
12
12
|
{
|
|
13
13
|
patterns: [
|
|
14
|
-
//
|
|
15
|
-
// prefer shipping vanilla JS
|
|
14
|
+
// Prevent importing lodash in client bundle for bundle size
|
|
16
15
|
'lodash',
|
|
17
16
|
'lodash.**',
|
|
18
17
|
'lodash/**',
|
|
19
|
-
//
|
|
18
|
+
// Prevent importing server code in client bundle
|
|
20
19
|
'**/../babel/**',
|
|
21
20
|
'**/../server/**',
|
|
22
21
|
'**/../commands/**',
|
|
@@ -30,7 +30,7 @@ function createInlineHtmlBanner(baseUrl) {
|
|
|
30
30
|
</div>
|
|
31
31
|
`;
|
|
32
32
|
}
|
|
33
|
-
//
|
|
33
|
+
// Needs to work for older browsers!
|
|
34
34
|
function createInlineScript(baseUrl) {
|
|
35
35
|
return `
|
|
36
36
|
window['${InsertBannerWindowAttribute}'] = true;
|
|
@@ -91,7 +91,6 @@ function BaseUrlIssueBanner() {
|
|
|
91
91
|
export default function MaybeBaseUrlIssueBanner() {
|
|
92
92
|
const { siteConfig: { baseUrl, baseUrlIssueBanner }, } = useDocusaurusContext();
|
|
93
93
|
const { pathname } = useLocation();
|
|
94
|
-
// returns true for the homepage during SSR
|
|
95
94
|
const isHomePage = pathname === baseUrl;
|
|
96
95
|
const enabled = baseUrlIssueBanner && isHomePage;
|
|
97
96
|
return enabled ? <BaseUrlIssueBanner /> : null;
|
|
@@ -17,8 +17,7 @@ export const createStatefulLinksCollector = () => {
|
|
|
17
17
|
};
|
|
18
18
|
const Context = React.createContext({
|
|
19
19
|
collectLink: () => {
|
|
20
|
-
//
|
|
21
|
-
// we only use the broken links checker server-side
|
|
20
|
+
// No-op for client. We only use the broken links checker server-side.
|
|
22
21
|
},
|
|
23
22
|
});
|
|
24
23
|
export const useLinksCollector = () => useContext(Context);
|
|
@@ -106,7 +106,7 @@ function Link({ isNavLink, to, href, activeClassName, isActive, 'data-noBrokenLi
|
|
|
106
106
|
// eslint-disable-next-line jsx-a11y/anchor-has-content
|
|
107
107
|
<a ref={innerRef} href={targetLink} {...(targetLinkUnprefixed &&
|
|
108
108
|
!isInternal && { target: '_blank', rel: 'noopener noreferrer' })} {...props}/>) : (<LinkComponent {...props} onMouseEnter={onMouseEnter} 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 })}/>);
|
|
112
112
|
}
|
|
@@ -7,15 +7,9 @@
|
|
|
7
7
|
import useDocusaurusContext from './useDocusaurusContext';
|
|
8
8
|
import { hasProtocol } from './isInternalUrl';
|
|
9
9
|
function addBaseUrl(siteUrl, baseUrl, url, { forcePrependBaseUrl = false, absolute = false } = {}) {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// it never makes sense to add a base url to a local anchor url
|
|
14
|
-
if (url.startsWith('#')) {
|
|
15
|
-
return url;
|
|
16
|
-
}
|
|
17
|
-
// it never makes sense to add a base url to an url with a protocol
|
|
18
|
-
if (hasProtocol(url)) {
|
|
10
|
+
// It never makes sense to add base url to a local anchor url, or one with a
|
|
11
|
+
// protocol
|
|
12
|
+
if (!url || url.startsWith('#') || hasProtocol(url)) {
|
|
19
13
|
return url;
|
|
20
14
|
}
|
|
21
15
|
if (forcePrependBaseUrl) {
|
|
@@ -19,7 +19,7 @@ function mergeContexts({ parent, value, }) {
|
|
|
19
19
|
// TODO deep merge this
|
|
20
20
|
const data = { ...parent.data, ...value?.data };
|
|
21
21
|
return {
|
|
22
|
-
//
|
|
22
|
+
// Nested routes are not supposed to override plugin attribute
|
|
23
23
|
plugin: parent.plugin,
|
|
24
24
|
data,
|
|
25
25
|
};
|
|
@@ -79,7 +79,7 @@ async function doRender(locals) {
|
|
|
79
79
|
const metaAttributes = metaStrings.filter(Boolean);
|
|
80
80
|
const { generatedFilesDir } = locals;
|
|
81
81
|
const manifestPath = path.join(generatedFilesDir, 'client-manifest.json');
|
|
82
|
-
const manifest =
|
|
82
|
+
const manifest = await fs.readJSON(manifestPath);
|
|
83
83
|
// Get all required assets for this particular page based on client
|
|
84
84
|
// manifest information.
|
|
85
85
|
const modulesToBeLoaded = [...manifest.entrypoints, ...Array.from(modules)];
|
package/lib/commands/deploy.js
CHANGED
|
@@ -89,8 +89,9 @@ This behavior can have SEO impacts and create relative link issues.
|
|
|
89
89
|
shelljs_1.default.echo('Skipping deploy on a pull request.');
|
|
90
90
|
shelljs_1.default.exit(0);
|
|
91
91
|
}
|
|
92
|
-
// github.io indicates organization repos that deploy via default branch.
|
|
93
|
-
//
|
|
92
|
+
// github.io indicates organization repos that deploy via default branch. All
|
|
93
|
+
// others use gh-pages (either case can be configured actually, but we can
|
|
94
|
+
// make educated guesses). Organization deploys look like:
|
|
94
95
|
// - Git repo: https://github.com/<organization>/<organization>.github.io
|
|
95
96
|
// - Site url: https://<organization>.github.io
|
|
96
97
|
const isGitHubPagesOrganizationDeploy = projectName.includes('.github.io');
|
package/lib/commands/start.js
CHANGED
|
@@ -34,7 +34,7 @@ async function start(siteDir, cliOptions) {
|
|
|
34
34
|
siteDir,
|
|
35
35
|
customConfigFilePath: cliOptions.config,
|
|
36
36
|
locale: cliOptions.locale,
|
|
37
|
-
localizePath: undefined, //
|
|
37
|
+
localizePath: undefined, // Should this be configurable?
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
// Process all related files as a prop.
|
|
@@ -32,7 +32,7 @@ async function eject({ siteDir, themePath, componentName, }) {
|
|
|
32
32
|
const fromPath = path_1.default.join(themePath, componentName);
|
|
33
33
|
const isDirectory = await isDir(fromPath);
|
|
34
34
|
const globPattern = isDirectory
|
|
35
|
-
? //
|
|
35
|
+
? // Do we really want to copy all components?
|
|
36
36
|
path_1.default.join(fromPath, '*')
|
|
37
37
|
: `${fromPath}.*`;
|
|
38
38
|
const globPatternPosix = (0, utils_1.posixPath)(globPattern);
|
|
@@ -52,7 +52,6 @@ function filterIntermediateRoutes(routesInput) {
|
|
|
52
52
|
function getAllBrokenLinks({ allCollectedLinks, routes, }) {
|
|
53
53
|
const filteredRoutes = filterIntermediateRoutes(routes);
|
|
54
54
|
const allBrokenLinks = lodash_1.default.mapValues(allCollectedLinks, (pageLinks, pagePath) => getPageBrokenLinks({ pageLinks, pagePath, routes: filteredRoutes }));
|
|
55
|
-
// remove pages without any broken link
|
|
56
55
|
return lodash_1.default.pickBy(allBrokenLinks, (brokenLinks) => brokenLinks.length > 0);
|
|
57
56
|
}
|
|
58
57
|
function getBrokenLinksErrorMessage(allBrokenLinks) {
|
package/lib/server/choosePort.js
CHANGED
|
@@ -14,37 +14,18 @@ const logger_1 = tslib_1.__importDefault(require("@docusaurus/logger"));
|
|
|
14
14
|
const prompts_1 = tslib_1.__importDefault(require("prompts"));
|
|
15
15
|
const execOptions = {
|
|
16
16
|
encoding: 'utf8',
|
|
17
|
-
stdio: [
|
|
18
|
-
'pipe',
|
|
19
|
-
'pipe',
|
|
20
|
-
'ignore',
|
|
21
|
-
],
|
|
17
|
+
stdio: [/* stdin */ 'pipe', /* stdout */ 'pipe', /* stderr */ 'ignore'],
|
|
22
18
|
};
|
|
23
|
-
// Clears console
|
|
24
19
|
function clearConsole() {
|
|
25
20
|
process.stdout.write(process.platform === 'win32' ? '\x1B[2J\x1B[0f' : '\x1B[2J\x1B[3J\x1B[H');
|
|
26
21
|
}
|
|
27
|
-
// Gets process id of what is on port
|
|
28
|
-
function getProcessIdOnPort(port) {
|
|
29
|
-
return (0, child_process_1.execSync)(`lsof -i:${port} -P -t -sTCP:LISTEN`, execOptions)
|
|
30
|
-
.split('\n')[0]
|
|
31
|
-
.trim();
|
|
32
|
-
}
|
|
33
|
-
// Gets process command
|
|
34
|
-
function getProcessCommand(processId) {
|
|
35
|
-
const command = (0, child_process_1.execSync)(`ps -o command -p ${processId} | sed -n 2p`, execOptions);
|
|
36
|
-
return command.replace(/\n$/, '');
|
|
37
|
-
}
|
|
38
|
-
// Gets directory of a process from its process id
|
|
39
|
-
function getDirectoryOfProcessById(processId) {
|
|
40
|
-
return (0, child_process_1.execSync)(`lsof -p ${processId} | awk '$4=="cwd" {for (i=9; i<=NF; i++) printf "%s ", $i}'`, execOptions).trim();
|
|
41
|
-
}
|
|
42
|
-
// Gets process on port
|
|
43
22
|
function getProcessForPort(port) {
|
|
44
23
|
try {
|
|
45
|
-
const processId =
|
|
46
|
-
|
|
47
|
-
|
|
24
|
+
const processId = (0, child_process_1.execSync)(`lsof -i:${port} -P -t -sTCP:LISTEN`, execOptions)
|
|
25
|
+
.split('\n')[0]
|
|
26
|
+
.trim();
|
|
27
|
+
const directory = (0, child_process_1.execSync)(`lsof -p ${processId} | awk '$4=="cwd" {for (i=9; i<=NF; i++) printf "%s ", $i}'`, execOptions).trim();
|
|
28
|
+
const command = (0, child_process_1.execSync)(`ps -o command -p ${processId} | sed -n 2p`, execOptions).replace(/\n$/, '');
|
|
48
29
|
return logger_1.default.interpolate `code=${command} subdue=${`(pid ${processId})`} in path=${directory}`;
|
|
49
30
|
}
|
|
50
31
|
catch {
|
package/lib/server/index.js
CHANGED
|
@@ -99,8 +99,8 @@ export default ${JSON.stringify(siteConfig, null, 2)};
|
|
|
99
99
|
`);
|
|
100
100
|
const genClientModules = (0, utils_1.generate)(generatedFilesDir, 'client-modules.js', `export default [
|
|
101
101
|
${clientModules
|
|
102
|
-
// import() is async
|
|
103
|
-
//
|
|
102
|
+
// Use `require()` because `import()` is async but client modules can have CSS
|
|
103
|
+
// and the order matters for loading CSS.
|
|
104
104
|
.map((clientModule) => ` require('${(0, utils_1.escapePath)(clientModule)}'),`)
|
|
105
105
|
.join('\n')}
|
|
106
106
|
];
|
|
@@ -67,7 +67,7 @@ async function loadPlugins(context) {
|
|
|
67
67
|
return;
|
|
68
68
|
}
|
|
69
69
|
const pluginId = plugin.options.id;
|
|
70
|
-
//
|
|
70
|
+
// Plugins data files are namespaced by pluginName/pluginId
|
|
71
71
|
const dataDir = path_1.default.join(context.generatedFilesDir, plugin.name, pluginId);
|
|
72
72
|
const pluginRouteContextModulePath = path_1.default.join(dataDir, `${(0, utils_1.docuHash)('pluginRouteContextModule')}.json`);
|
|
73
73
|
const pluginRouteContext = {
|
|
@@ -17,7 +17,7 @@ const utils_validation_1 = require("@docusaurus/utils-validation");
|
|
|
17
17
|
const configs_1 = require("./configs");
|
|
18
18
|
function getOptionValidationFunction(normalizedPluginConfig) {
|
|
19
19
|
if (normalizedPluginConfig.pluginModule) {
|
|
20
|
-
//
|
|
20
|
+
// Support both CommonJS and ES modules
|
|
21
21
|
return (normalizedPluginConfig.pluginModule.module?.default?.validateOptions ??
|
|
22
22
|
normalizedPluginConfig.pluginModule.module?.validateOptions);
|
|
23
23
|
}
|
|
@@ -25,7 +25,7 @@ function getOptionValidationFunction(normalizedPluginConfig) {
|
|
|
25
25
|
}
|
|
26
26
|
function getThemeValidationFunction(normalizedPluginConfig) {
|
|
27
27
|
if (normalizedPluginConfig.pluginModule) {
|
|
28
|
-
//
|
|
28
|
+
// Support both CommonJS and ES modules
|
|
29
29
|
return (normalizedPluginConfig.pluginModule.module.default?.validateThemeConfig ??
|
|
30
30
|
normalizedPluginConfig.pluginModule.module.validateThemeConfig);
|
|
31
31
|
}
|
|
@@ -41,7 +41,6 @@ async function initPlugins(context) {
|
|
|
41
41
|
const pluginRequire = (0, module_1.createRequire)(context.siteConfigPath);
|
|
42
42
|
const pluginConfigs = await (0, configs_1.loadPluginConfigs)(context);
|
|
43
43
|
async function doGetPluginVersion(normalizedPluginConfig) {
|
|
44
|
-
// get plugin version
|
|
45
44
|
if (normalizedPluginConfig.pluginModule?.path) {
|
|
46
45
|
const pluginPath = pluginRequire.resolve(normalizedPluginConfig.pluginModule?.path);
|
|
47
46
|
return (0, siteMetadata_1.getPluginVersion)(pluginPath, context.siteDir);
|
package/lib/server/routes.js
CHANGED
|
@@ -160,9 +160,8 @@ ${JSON.stringify(routeConfig)}`);
|
|
|
160
160
|
res.routesChunkNames[`${routePath}-${routeHash}`] = {
|
|
161
161
|
// Avoid clash with a prop called "component"
|
|
162
162
|
...genChunkNames({ __comp: component }, 'component', component, res),
|
|
163
|
-
...(context
|
|
164
|
-
|
|
165
|
-
: {}),
|
|
163
|
+
...(context &&
|
|
164
|
+
genChunkNames({ __context: context }, 'context', routePath, res)),
|
|
166
165
|
...genChunkNames(modules, 'module', routePath, res),
|
|
167
166
|
};
|
|
168
167
|
return serializeRouteConfig({
|
|
@@ -30,7 +30,7 @@ function ensureTranslationFileContent(content) {
|
|
|
30
30
|
async function readTranslationFileContent(filePath) {
|
|
31
31
|
if (await fs_extra_1.default.pathExists(filePath)) {
|
|
32
32
|
try {
|
|
33
|
-
const content =
|
|
33
|
+
const content = await fs_extra_1.default.readJSON(filePath);
|
|
34
34
|
ensureTranslationFileContent(content);
|
|
35
35
|
return content;
|
|
36
36
|
}
|
|
@@ -55,7 +55,7 @@ function mergeTranslationFileContent({ existingContent = {}, newContent, options
|
|
|
55
55
|
message: options.override
|
|
56
56
|
? message
|
|
57
57
|
: existingContent[key]?.message ?? message,
|
|
58
|
-
description,
|
|
58
|
+
description,
|
|
59
59
|
};
|
|
60
60
|
});
|
|
61
61
|
return result;
|
|
@@ -79,7 +79,7 @@ Maybe you should remove them? ${unknownKeys}`;
|
|
|
79
79
|
await fs_extra_1.default.outputFile(filePath, `${JSON.stringify(mergedContent, null, 2)}\n`);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
|
-
//
|
|
82
|
+
// Should we make this configurable?
|
|
83
83
|
function getTranslationsLocaleDirPath(context) {
|
|
84
84
|
return path_1.default.join(context.siteDir, utils_1.I18N_DIR_NAME, context.locale);
|
|
85
85
|
}
|
|
@@ -141,7 +141,7 @@ async function localizePluginTranslationFile({ siteDir, plugin, locale, translat
|
|
|
141
141
|
});
|
|
142
142
|
const localizedContent = await readTranslationFileContent(filePath);
|
|
143
143
|
if (localizedContent) {
|
|
144
|
-
//
|
|
144
|
+
// Localized messages "override" default unlocalized messages
|
|
145
145
|
return {
|
|
146
146
|
path: translationFile.path,
|
|
147
147
|
content: {
|
package/lib/webpack/base.js
CHANGED
|
@@ -18,11 +18,11 @@ const CSS_REGEX = /\.css$/i;
|
|
|
18
18
|
const CSS_MODULE_REGEX = /\.module\.css$/i;
|
|
19
19
|
exports.clientDir = path_1.default.join(__dirname, '..', 'client');
|
|
20
20
|
const LibrariesToTranspile = [
|
|
21
|
-
'copy-text-to-clipboard', //
|
|
21
|
+
'copy-text-to-clipboard', // Contains optional catch binding, incompatible with recent versions of Edge
|
|
22
22
|
];
|
|
23
23
|
const LibrariesToTranspileRegex = new RegExp(LibrariesToTranspile.map((libName) => `(node_modules/${libName})`).join('|'));
|
|
24
24
|
function excludeJS(modulePath) {
|
|
25
|
-
//
|
|
25
|
+
// Always transpile client dir
|
|
26
26
|
if (modulePath.startsWith(exports.clientDir)) {
|
|
27
27
|
return false;
|
|
28
28
|
}
|
|
@@ -135,7 +135,7 @@ async function createBaseConfig(props, isServer, minify = true) {
|
|
|
135
135
|
// include [name] in the filenames
|
|
136
136
|
name: false,
|
|
137
137
|
cacheGroups: {
|
|
138
|
-
//
|
|
138
|
+
// Disable the built-in cacheGroups
|
|
139
139
|
default: false,
|
|
140
140
|
common: {
|
|
141
141
|
name: 'common',
|
|
@@ -206,7 +206,7 @@ async function createBaseConfig(props, isServer, minify = true) {
|
|
|
206
206
|
chunkFilename: isProd
|
|
207
207
|
? 'assets/css/[name].[contenthash:8].css'
|
|
208
208
|
: '[name].css',
|
|
209
|
-
//
|
|
209
|
+
// Remove css order warnings if css imports are not sorted
|
|
210
210
|
// alphabetically. See https://github.com/webpack-contrib/mini-css-extract-plugin/pull/422
|
|
211
211
|
// for more reasoning
|
|
212
212
|
ignoreOrder: true,
|
package/lib/webpack/client.js
CHANGED
|
@@ -17,7 +17,7 @@ async function createClientConfig(props, minify = true) {
|
|
|
17
17
|
const isBuilding = process.argv[2] === 'build';
|
|
18
18
|
const config = await (0, base_1.createBaseConfig)(props, false, minify);
|
|
19
19
|
const clientConfig = (0, webpack_merge_1.default)(config, {
|
|
20
|
-
//
|
|
20
|
+
// Useless, disabled on purpose (errors on existing sites with no
|
|
21
21
|
// browserslist config)
|
|
22
22
|
// target: 'browserslist',
|
|
23
23
|
entry: path_1.default.resolve(__dirname, '../client/clientEntry.js'),
|
package/lib/webpack/utils.js
CHANGED
|
@@ -143,7 +143,7 @@ function applyConfigureWebpack(configureWebpack, config, isServer, jsLoader, con
|
|
|
143
143
|
}
|
|
144
144
|
exports.applyConfigureWebpack = applyConfigureWebpack;
|
|
145
145
|
function applyConfigurePostCss(configurePostCss, config) {
|
|
146
|
-
//
|
|
146
|
+
// Not ideal heuristic but good enough for our use-case?
|
|
147
147
|
function isPostCssLoader(loader) {
|
|
148
148
|
return !!loader?.options?.postcssOptions;
|
|
149
149
|
}
|
|
@@ -176,7 +176,7 @@ function compile(config) {
|
|
|
176
176
|
}
|
|
177
177
|
reject(err);
|
|
178
178
|
}
|
|
179
|
-
//
|
|
179
|
+
// Let plugins consume all the stats
|
|
180
180
|
const errorsWarnings = stats?.toJson('errors-warnings');
|
|
181
181
|
if (stats?.hasErrors()) {
|
|
182
182
|
reject(new Error('Failed to compile with errors.'));
|
|
@@ -266,7 +266,7 @@ function getMinimizer(useSimpleCssMinifier = false) {
|
|
|
266
266
|
parallel: getTerserParallel(),
|
|
267
267
|
terserOptions: {
|
|
268
268
|
parse: {
|
|
269
|
-
//
|
|
269
|
+
// We want uglify-js to parse ecma 8 code. However, we don't want it
|
|
270
270
|
// to apply any minification steps that turns valid ecma 5 code
|
|
271
271
|
// into invalid ecma 5 code. This is why the 'compress' and 'output'
|
|
272
272
|
// sections only apply transformations that are ecma 5 safe
|
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-
|
|
4
|
+
"version": "0.0.0-4876",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -41,13 +41,13 @@
|
|
|
41
41
|
"@babel/runtime": "^7.17.9",
|
|
42
42
|
"@babel/runtime-corejs3": "^7.17.9",
|
|
43
43
|
"@babel/traverse": "^7.17.9",
|
|
44
|
-
"@docusaurus/cssnano-preset": "0.0.0-
|
|
45
|
-
"@docusaurus/logger": "0.0.0-
|
|
46
|
-
"@docusaurus/mdx-loader": "0.0.0-
|
|
44
|
+
"@docusaurus/cssnano-preset": "0.0.0-4876",
|
|
45
|
+
"@docusaurus/logger": "0.0.0-4876",
|
|
46
|
+
"@docusaurus/mdx-loader": "0.0.0-4876",
|
|
47
47
|
"@docusaurus/react-loadable": "5.5.2",
|
|
48
|
-
"@docusaurus/utils": "0.0.0-
|
|
49
|
-
"@docusaurus/utils-common": "0.0.0-
|
|
50
|
-
"@docusaurus/utils-validation": "0.0.0-
|
|
48
|
+
"@docusaurus/utils": "0.0.0-4876",
|
|
49
|
+
"@docusaurus/utils-common": "0.0.0-4876",
|
|
50
|
+
"@docusaurus/utils-validation": "0.0.0-4876",
|
|
51
51
|
"@slorber/static-site-generator-webpack-plugin": "^4.0.4",
|
|
52
52
|
"@svgr/webpack": "^6.2.1",
|
|
53
53
|
"autoprefixer": "^10.4.4",
|
|
@@ -105,8 +105,8 @@
|
|
|
105
105
|
"webpackbar": "^5.0.2"
|
|
106
106
|
},
|
|
107
107
|
"devDependencies": {
|
|
108
|
-
"@docusaurus/module-type-aliases": "0.0.0-
|
|
109
|
-
"@docusaurus/types": "0.0.0-
|
|
108
|
+
"@docusaurus/module-type-aliases": "0.0.0-4876",
|
|
109
|
+
"@docusaurus/types": "0.0.0-4876",
|
|
110
110
|
"@types/detect-port": "^1.3.2",
|
|
111
111
|
"@types/nprogress": "^0.2.0",
|
|
112
112
|
"@types/react-dom": "^18.0.0",
|
|
@@ -127,5 +127,5 @@
|
|
|
127
127
|
"engines": {
|
|
128
128
|
"node": ">=14"
|
|
129
129
|
},
|
|
130
|
-
"gitHead": "
|
|
130
|
+
"gitHead": "ed43a09bc7cd70a5035d8ec19eb53393fd83dc4f"
|
|
131
131
|
}
|