fix(*): make TypeScript realize that each plugin package has a default export (#7294)

This commit is contained in:
Joshua Chen 2022-05-03 18:23:34 +08:00 committed by GitHub
parent b49ae67521
commit a2c993bf9a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
43 changed files with 208 additions and 187 deletions

View file

@ -3,7 +3,7 @@
"version": "2.0.0-beta.18",
"description": "Simple sitemap generation plugin for Docusaurus.",
"main": "lib/index.js",
"types": "src/plugin-sitemap.d.ts",
"types": "lib/index.d.ts",
"scripts": {
"build": "tsc",
"watch": "tsc --watch"

View file

@ -5,9 +5,8 @@
* LICENSE file in the root directory of this source tree.
*/
import {validateOptions, DEFAULT_OPTIONS} from '../options';
import {validateOptions, DEFAULT_OPTIONS, type Options} from '../options';
import {normalizePluginOptions} from '@docusaurus/utils-validation';
import type {Options} from '@docusaurus/plugin-sitemap';
function testValidate(options: Options) {
return validateOptions({validate: normalizePluginOptions, options});

View file

@ -6,11 +6,11 @@
*/
import {SitemapStream, streamToPromise} from 'sitemap';
import type {PluginOptions} from '@docusaurus/plugin-sitemap';
import type {DocusaurusConfig} from '@docusaurus/types';
import {applyTrailingSlash} from '@docusaurus/utils-common';
import {createMatcher} from '@docusaurus/utils';
import type {DocusaurusConfig} from '@docusaurus/types';
import type {HelmetServerState} from 'react-helmet-async';
import type {PluginOptions} from './options';
import type {ReactElement} from 'react';
export default async function createSitemap(

View file

@ -7,8 +7,8 @@
import fs from 'fs-extra';
import path from 'path';
import type {PluginOptions} from '@docusaurus/plugin-sitemap';
import createSitemap from './createSitemap';
import type {PluginOptions, Options} from './options';
import type {LoadContext, Plugin} from '@docusaurus/types';
export default function pluginSitemap(
@ -42,3 +42,4 @@ export default function pluginSitemap(
}
export {validateOptions} from './options';
export type {PluginOptions, Options};

View file

@ -7,9 +7,22 @@
import {Joi} from '@docusaurus/utils-validation';
import {EnumChangefreq} from 'sitemap';
import type {Options, PluginOptions} from '@docusaurus/plugin-sitemap';
import type {OptionValidationContext} from '@docusaurus/types';
export type PluginOptions = {
/** @see https://www.sitemaps.org/protocol.html#xmlTagDefinitions */
changefreq: EnumChangefreq;
/** @see https://www.sitemaps.org/protocol.html#xmlTagDefinitions */
priority: number;
/**
* A list of glob patterns; matching route paths will be filtered from the
* sitemap. Note that you may need to include the base URL in here.
*/
ignorePatterns: string[];
};
export type Options = Partial<PluginOptions>;
export const DEFAULT_OPTIONS: PluginOptions = {
changefreq: EnumChangefreq.WEEKLY,
priority: 0.5,

View file

@ -1,22 +0,0 @@
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
import type {EnumChangefreq} from 'sitemap';
export type PluginOptions = {
/** @see https://www.sitemaps.org/protocol.html#xmlTagDefinitions */
changefreq: EnumChangefreq;
/** @see https://www.sitemaps.org/protocol.html#xmlTagDefinitions */
priority: number;
/**
* A list of glob patterns; matching route paths will be filtered from the
* sitemap. Note that you may need to include the base URL in here.
*/
ignorePatterns: string[];
};
export type Options = Partial<PluginOptions>;