diff --git a/packages/docusaurus-types/package.json b/packages/docusaurus-types/package.json index d5f16bedcb3b..7f275c48cab7 100644 --- a/packages/docusaurus-types/package.json +++ b/packages/docusaurus-types/package.json @@ -13,11 +13,17 @@ "directory": "packages/docusaurus-types" }, "license": "MIT", + "scripts": { + "test": "tsc -p ." + }, "dependencies": { "commander": "^5.1.0", "joi": "^17.4.0", "querystring": "0.2.0", "webpack": "^5.40.0", "webpack-merge": "^5.8.0" + }, + "devDependencies": { + "typescript": "^4.3.4" } } diff --git a/packages/docusaurus-types/src/index.d.ts b/packages/docusaurus-types/src/index.d.ts index 673c9d2f72b8..7f23d567fe43 100644 --- a/packages/docusaurus-types/src/index.d.ts +++ b/packages/docusaurus-types/src/index.d.ts @@ -198,7 +198,7 @@ export interface Props extends LoadContext, InjectedHtmlTags { siteMetadata: DocusaurusSiteMetadata; routes: RouteConfig[]; routesPaths: string[]; - plugins: LoadedPlugin[]; + plugins: LoadedPlugin[]; } export interface PluginContentLoadedActions { @@ -219,7 +219,7 @@ export type AllContent = Record< // TODO improve type (not exposed by postcss-loader) export type PostCssOptions = Record & {plugins: unknown[]}; -export interface Plugin { +export interface Plugin { name: string; loadContent?(): Promise; contentLoaded?({ @@ -283,12 +283,14 @@ export interface Plugin { }): ThemeConfig; } -export type InitializedPlugin = Plugin & { +export type InitializedPlugin = Plugin & { readonly options: PluginOptions; readonly version: DocusaurusPluginVersionInformation; }; -export type LoadedPlugin = InitializedPlugin & {readonly content: unknown}; +export type LoadedPlugin = InitializedPlugin & { + readonly content: Content; +}; export type PluginModule = { (context: LoadContext, options: T): Plugin; diff --git a/packages/docusaurus-types/tsconfig.json b/packages/docusaurus-types/tsconfig.json new file mode 100644 index 000000000000..46fb75e5881d --- /dev/null +++ b/packages/docusaurus-types/tsconfig.json @@ -0,0 +1,7 @@ +{ + "$schema": "http://json.schemastore.org/tsconfig", + "extends": "../../tsconfig.json", + "compilerOptions": { + "noEmit": true + } +} diff --git a/yarn.lock b/yarn.lock index 08136dd3a6e5..6b46a55ebd16 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18490,6 +18490,11 @@ typescript@^4.1.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.2.tgz#399ab18aac45802d6f2498de5054fcbbe716a805" integrity sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw== +typescript@^4.3.4: + version "4.3.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" + integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew== + ua-parser-js@^0.7.18: version "0.7.28" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.28.tgz#8ba04e653f35ce210239c64661685bf9121dec31"