refactor(content-docs): move isCategoriesShorthand to utils (#5962)

This commit is contained in:
Armano 2021-11-18 01:25:07 +01:00 committed by GitHub
parent ac1df888ae
commit 2f7d6fea1e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 39 additions and 29 deletions

View file

@ -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';

View file

@ -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';

View file

@ -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',

View file

@ -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

View file

@ -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 {

View file

@ -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 {

View file

@ -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';

View file

@ -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 () {

View file

@ -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';

View file

@ -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,

View file

@ -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,

View file

@ -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

View file

@ -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,

View file

@ -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(),

View file

@ -15,7 +15,7 @@ import {
DefaultNumberPrefixParser,
stripPathNumberPrefixes,
} from './numberPrefix';
import {NumberPrefixParser} from './types';
import type {NumberPrefixParser} from './types';
export default function getSlug({
baseID,

View file

@ -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 {

View file

@ -14,7 +14,7 @@ import {
transformSidebarItems,
collectSidebarLinks,
} from './sidebars/utils';
import {
import type {
TranslationFileContent,
TranslationFile,
TranslationFiles,

View file

@ -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';