mirror of
https://github.com/facebook/docusaurus.git
synced 2025-05-01 19:27:48 +02:00
refactor(content-docs): move isCategoriesShorthand to utils (#5962)
This commit is contained in:
parent
ac1df888ae
commit
2f7d6fea1e
18 changed files with 39 additions and 29 deletions
|
@ -15,7 +15,7 @@ import {
|
|||
} from '../docs';
|
||||
import {loadSidebars} from '../sidebars';
|
||||
import {readVersionsMetadata} from '../versions';
|
||||
import {
|
||||
import type {
|
||||
DocFile,
|
||||
DocMetadataBase,
|
||||
MetadataOptions,
|
||||
|
@ -24,7 +24,7 @@ import {
|
|||
EditUrlFunction,
|
||||
DocNavLink,
|
||||
} from '../types';
|
||||
import {LoadContext} from '@docusaurus/types';
|
||||
import type {LoadContext} from '@docusaurus/types';
|
||||
import {DEFAULT_PLUGIN_ID} from '@docusaurus/core/lib/constants';
|
||||
import {DEFAULT_OPTIONS} from '../options';
|
||||
import {Optional} from 'utility-types';
|
||||
|
|
|
@ -14,7 +14,7 @@ import fs from 'fs-extra';
|
|||
import pluginContentDocs from '../index';
|
||||
import {loadContext} from '@docusaurus/core/src/server/index';
|
||||
import {applyConfigureWebpack} from '@docusaurus/core/src/webpack/utils';
|
||||
import {RouteConfig} from '@docusaurus/types';
|
||||
import type {RouteConfig} from '@docusaurus/types';
|
||||
import {posixPath} from '@docusaurus/utils';
|
||||
import {sortConfig} from '@docusaurus/core/src/server/plugins';
|
||||
import {DEFAULT_PLUGIN_ID} from '@docusaurus/core/lib/constants';
|
||||
|
|
|
@ -15,7 +15,7 @@ import {
|
|||
import {DEFAULT_OPTIONS} from '../options';
|
||||
import {DEFAULT_PLUGIN_ID} from '@docusaurus/core/lib/constants';
|
||||
import {PluginOptions, VersionMetadata} from '../types';
|
||||
import {I18n} from '@docusaurus/types';
|
||||
import type {I18n} from '@docusaurus/types';
|
||||
|
||||
const DefaultI18N: I18n = {
|
||||
currentLocale: 'en',
|
||||
|
|
|
@ -12,7 +12,7 @@ import {
|
|||
FrontMatterTOCHeadingLevels,
|
||||
validateFrontMatter,
|
||||
} from '@docusaurus/utils-validation';
|
||||
import {DocFrontMatter} from './types';
|
||||
import type {DocFrontMatter} from './types';
|
||||
|
||||
// NOTE: we don't add any default value on purpose here
|
||||
// We don't want default values to magically appear in doc metadata and props
|
||||
|
|
|
@ -19,7 +19,7 @@ import {
|
|||
Globby,
|
||||
normalizeFrontMatterTags,
|
||||
} from '@docusaurus/utils';
|
||||
import {LoadContext} from '@docusaurus/types';
|
||||
import type {LoadContext} from '@docusaurus/types';
|
||||
|
||||
import {getFileLastUpdate} from './lastUpdate';
|
||||
import {
|
||||
|
|
|
@ -5,7 +5,12 @@
|
|||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import {DocMetadata, GlobalDoc, LoadedVersion, GlobalVersion} from './types';
|
||||
import type {
|
||||
DocMetadata,
|
||||
GlobalDoc,
|
||||
LoadedVersion,
|
||||
GlobalVersion,
|
||||
} from './types';
|
||||
|
||||
export function toGlobalDataDoc(doc: DocMetadata): GlobalDoc {
|
||||
return {
|
||||
|
|
|
@ -20,7 +20,7 @@ import {
|
|||
addTrailingPathSeparator,
|
||||
createAbsoluteFilePathMatcher,
|
||||
} from '@docusaurus/utils';
|
||||
import {LoadContext, Plugin, RouteConfig} from '@docusaurus/types';
|
||||
import type {LoadContext, Plugin, RouteConfig} from '@docusaurus/types';
|
||||
import {loadSidebars} from './sidebars';
|
||||
import {CategoryMetadataFilenamePattern} from './sidebars/generator';
|
||||
import {readVersionDocs, processDocMetadata, handleNavigation} from './docs';
|
||||
|
@ -39,7 +39,7 @@ import {
|
|||
DocsMarkdownOption,
|
||||
VersionTag,
|
||||
} from './types';
|
||||
import {RuleSetRule} from 'webpack';
|
||||
import type {RuleSetRule} from 'webpack';
|
||||
import {cliDocsVersionCommand} from './cli';
|
||||
import {VERSIONS_JSON_FILE} from './constants';
|
||||
import {keyBy, mapValues} from 'lodash';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import {NumberPrefixParser} from './types';
|
||||
import type {NumberPrefixParser} from './types';
|
||||
|
||||
// Best-effort to avoid parsing some patterns as number prefix
|
||||
const IgnoredPrefixPatterns = (function () {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
import {PluginOptions} from './types';
|
||||
import type {PluginOptions} from './types';
|
||||
import {
|
||||
Joi,
|
||||
RemarkPluginsSchema,
|
||||
|
@ -14,7 +14,10 @@ import {
|
|||
} from '@docusaurus/utils-validation';
|
||||
import {GlobExcludeDefault} from '@docusaurus/utils';
|
||||
|
||||
import {OptionValidationContext, ValidationResult} from '@docusaurus/types';
|
||||
import type {
|
||||
OptionValidationContext,
|
||||
ValidationResult,
|
||||
} from '@docusaurus/types';
|
||||
import chalk from 'chalk';
|
||||
import admonitions from 'remark-admonitions';
|
||||
import {DefaultSidebarItemsGenerator} from './sidebars/generator';
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import {LoadedVersion, VersionTag, DocMetadata} from './types';
|
||||
import type {LoadedVersion, VersionTag, DocMetadata} from './types';
|
||||
import type {
|
||||
SidebarItemDoc,
|
||||
SidebarItemLink,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import type {SidebarOptions} from '../types';
|
||||
import {
|
||||
import type {
|
||||
NormalizedSidebarItem,
|
||||
NormalizedSidebar,
|
||||
NormalizedSidebars,
|
||||
|
@ -15,9 +15,9 @@ import {
|
|||
SidebarItemConfig,
|
||||
SidebarConfig,
|
||||
SidebarsConfig,
|
||||
isCategoriesShorthand,
|
||||
} from './types';
|
||||
import {mapValues} from 'lodash';
|
||||
import {isCategoriesShorthand} from './utils';
|
||||
|
||||
function normalizeCategoriesShorthand(
|
||||
sidebar: SidebarCategoriesShorthand,
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import {Optional} from 'utility-types';
|
||||
import type {Optional} from 'utility-types';
|
||||
import type {
|
||||
DocMetadataBase,
|
||||
VersionMetadata,
|
||||
|
@ -56,12 +56,6 @@ export type SidebarCategoriesShorthand = {
|
|||
[sidebarCategory: string]: SidebarItemConfig[];
|
||||
};
|
||||
|
||||
export function isCategoriesShorthand(
|
||||
item: SidebarItemConfig,
|
||||
): item is SidebarCategoriesShorthand {
|
||||
return typeof item !== 'string' && !item.type;
|
||||
}
|
||||
|
||||
export type SidebarItemConfig =
|
||||
| SidebarItemDoc
|
||||
| SidebarItemLink
|
||||
|
|
|
@ -13,10 +13,18 @@ import type {
|
|||
SidebarItemLink,
|
||||
SidebarItemDoc,
|
||||
SidebarItemType,
|
||||
SidebarCategoriesShorthand,
|
||||
SidebarItemConfig,
|
||||
} from './types';
|
||||
import {mapValues, difference} from 'lodash';
|
||||
import {getElementsAround, toMessageRelativeFilePath} from '@docusaurus/utils';
|
||||
|
||||
export function isCategoriesShorthand(
|
||||
item: SidebarItemConfig,
|
||||
): item is SidebarCategoriesShorthand {
|
||||
return typeof item !== 'string' && !item.type;
|
||||
}
|
||||
|
||||
export function transformSidebarItems(
|
||||
sidebar: Sidebar,
|
||||
updateFn: (item: SidebarItem) => SidebarItem,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import {Joi, URISchema} from '@docusaurus/utils-validation';
|
||||
import {
|
||||
import type {
|
||||
SidebarItemConfig,
|
||||
SidebarCategoriesShorthand,
|
||||
SidebarItemBase,
|
||||
|
@ -15,8 +15,8 @@ import {
|
|||
SidebarItemLink,
|
||||
SidebarItemCategoryConfig,
|
||||
SidebarsConfig,
|
||||
isCategoriesShorthand,
|
||||
} from './types';
|
||||
import {isCategoriesShorthand} from './utils';
|
||||
|
||||
const sidebarItemBaseSchema = Joi.object<SidebarItemBase>({
|
||||
className: Joi.string(),
|
||||
|
|
|
@ -15,7 +15,7 @@ import {
|
|||
DefaultNumberPrefixParser,
|
||||
stripPathNumberPrefixes,
|
||||
} from './numberPrefix';
|
||||
import {NumberPrefixParser} from './types';
|
||||
import type {NumberPrefixParser} from './types';
|
||||
|
||||
export default function getSlug({
|
||||
baseID,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
|
||||
import {groupTaggedItems} from '@docusaurus/utils';
|
||||
import {VersionTags, DocMetadata} from './types';
|
||||
import type {VersionTags, DocMetadata} from './types';
|
||||
import {mapValues} from 'lodash';
|
||||
|
||||
export function getVersionTags(docs: DocMetadata[]): VersionTags {
|
||||
|
|
|
@ -14,7 +14,7 @@ import {
|
|||
transformSidebarItems,
|
||||
collectSidebarLinks,
|
||||
} from './sidebars/utils';
|
||||
import {
|
||||
import type {
|
||||
TranslationFileContent,
|
||||
TranslationFile,
|
||||
TranslationFiles,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
import path from 'path';
|
||||
import fs from 'fs-extra';
|
||||
import {
|
||||
import type {
|
||||
PluginOptions,
|
||||
VersionBanner,
|
||||
VersionMetadata,
|
||||
|
@ -22,7 +22,7 @@ import {
|
|||
} from './constants';
|
||||
|
||||
import {DEFAULT_PLUGIN_ID} from '@docusaurus/core/lib/constants';
|
||||
import {LoadContext} from '@docusaurus/types';
|
||||
import type {LoadContext} from '@docusaurus/types';
|
||||
import {getPluginI18nPath, normalizeUrl, posixPath} from '@docusaurus/utils';
|
||||
import {difference} from 'lodash';
|
||||
import {resolveSidebarPathOption} from './sidebars';
|
||||
|
|
Loading…
Add table
Reference in a new issue