diff --git a/.github/workflows/deploy-live.yml b/.github/workflows/deploy-live.yml index 0ccbd482..fcb06ec0 100644 --- a/.github/workflows/deploy-live.yml +++ b/.github/workflows/deploy-live.yml @@ -29,7 +29,7 @@ jobs: - name: Build site run: yarn build-demo && zip -r build.zip demo/build - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: build path: build.zip @@ -49,7 +49,7 @@ jobs: node-version: "18" cache: "yarn" - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build diff --git a/.github/workflows/deploy-preview.yml b/.github/workflows/deploy-preview.yml index b0454c33..783105d9 100644 --- a/.github/workflows/deploy-preview.yml +++ b/.github/workflows/deploy-preview.yml @@ -108,7 +108,7 @@ jobs: - name: Build site run: yarn build-demo && zip -r build.zip demo/build - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: build path: build.zip @@ -129,7 +129,7 @@ jobs: node-version: "18" cache: "yarn" - - uses: actions/download-artifact@v3 + - uses: actions/download-artifact@v4 with: name: build diff --git a/.github/workflows/validate.yaml b/.github/workflows/validate.yaml index ea5fdf9b..cd18d6d5 100644 --- a/.github/workflows/validate.yaml +++ b/.github/workflows/validate.yaml @@ -18,7 +18,7 @@ jobs: - uses: actions/setup-node@v3 with: node-version: "18" - - uses: actions/cache@v2 + - uses: actions/cache@v3 with: path: | node_modules @@ -37,7 +37,7 @@ jobs: - uses: actions/setup-node@v3 with: node-version: "18" - - uses: actions/cache@v2 + - uses: actions/cache@v3 with: path: | node_modules @@ -59,7 +59,7 @@ jobs: - uses: actions/setup-node@v3 with: node-version: "18" - - uses: actions/cache@v2 + - uses: actions/cache@v3 with: path: | node_modules @@ -79,7 +79,7 @@ jobs: - uses: actions/setup-node@v3 with: node-version: "18" - - uses: actions/cache@v2 + - uses: actions/cache@v3 with: path: | node_modules diff --git a/demo/.env.sample b/demo/.env.sample new file mode 100644 index 00000000..b98edaff --- /dev/null +++ b/demo/.env.sample @@ -0,0 +1,3 @@ +ALGOLIA_API_KEY=xxxxxxxx +ALGOLIA_APP_ID=yyyyyyyy +ALGOLIA_INDEX_NAME=zzzzzzzz \ No newline at end of file diff --git a/demo/.gitignore b/demo/.gitignore index b2d6de30..b62ada0a 100644 --- a/demo/.gitignore +++ b/demo/.gitignore @@ -14,6 +14,7 @@ .env.development.local .env.test.local .env.production.local +.env npm-debug.log* yarn-debug.log* diff --git a/demo/docusaurus.config.js b/demo/docusaurus.config.js index 9d4392ec..adf9c2eb 100644 --- a/demo/docusaurus.config.js +++ b/demo/docusaurus.config.js @@ -2,6 +2,7 @@ // Note: type annotations allow type checking and IDEs autocompletion const { DOCUSAURUS_VERSION } = require("@docusaurus/utils"); +require("dotenv").config(); /** @type {import('@docusaurus/types').Config} */ const config = { @@ -190,9 +191,9 @@ const config = { }, ], algolia: { - apiKey: "441074cace987cbf4640c039ebed303c", - appId: "J0EABTYI1A", - indexName: "docusaurus-openapi", + apiKey: process.env.ALGOLIA_API_KEY, + appId: process.env.ALGOLIA_APP_ID, + indexName: process.env.ALGOLIA_INDEX_NAME, }, announcementBar: { id: "announcementBar_1", diff --git a/demo/package.json b/demo/package.json index f00c9304..9b2fe779 100644 --- a/demo/package.json +++ b/demo/package.json @@ -28,6 +28,7 @@ "@mxenabled/docusaurus-plugin-openapi-docs": "^2.0.3", "@mxenabled/docusaurus-theme-openapi-docs": "^2.0.3", "clsx": "^1.1.1", + "dotenv": "^17.3.1", "prism-react-renderer": "^2.1.0", "react": "^18.2.0", "react-dom": "^18.2.0" diff --git a/demo/src/utils/prismDark.mjs b/demo/src/utils/prismDark.mjs index c2164e38..c70e77e7 100644 --- a/demo/src/utils/prismDark.mjs +++ b/demo/src/utils/prismDark.mjs @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import darkTheme from "prism-react-renderer/themes/vsDark/index.cjs.js"; +import { vsDark as darkTheme } from "prism-react-renderer/themes"; export default { plain: { diff --git a/demo/src/utils/prismLight.mjs b/demo/src/utils/prismLight.mjs index d87a3dd3..adf39a60 100644 --- a/demo/src/utils/prismLight.mjs +++ b/demo/src/utils/prismLight.mjs @@ -5,7 +5,7 @@ * LICENSE file in the root directory of this source tree. */ -import lightTheme from "prism-react-renderer/themes/github/index.cjs.js"; +import { github as lightTheme } from "prism-react-renderer/themes"; export default { ...lightTheme, diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createAuthentication.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createAuthentication.ts index 3fc5a3d9..03d27ba5 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createAuthentication.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createAuthentication.ts @@ -5,9 +5,9 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { OAuthFlowObject, SecuritySchemeObject } from "../openapi/types"; import { createDescription } from "./createDescription"; import { create, guard } from "./utils"; +import { OAuthFlowObject, SecuritySchemeObject } from "../openapi/types"; export function createAuthentication(securitySchemes: SecuritySchemeObject) { if (!securitySchemes || !Object.keys(securitySchemes).length) return ""; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createContactInfo.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createContactInfo.ts index 80fb0537..f64d1cf1 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createContactInfo.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createContactInfo.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { ContactObject } from "../openapi/types"; import { create, guard } from "./utils"; +import { ContactObject } from "../openapi/types"; export function createContactInfo(contact: ContactObject) { if (!contact || !Object.keys(contact).length) return ""; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createEndpoint.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createEndpoint.ts index dc181612..769f2184 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createEndpoint.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createEndpoint.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { ApiPageMetadata } from "../types"; import { create } from "./utils"; +import { ApiPageMetadata } from "../types"; type Method = Pick["api"]["method"]; type Path = Pick["api"]["path"]; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createLicense.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createLicense.ts index 59fcc116..24b49167 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createLicense.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createLicense.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { LicenseObject } from "../openapi/types"; import { create, guard } from "./utils"; +import { LicenseObject } from "../openapi/types"; export function createLicense(license: LicenseObject) { if (!license || !Object.keys(license).length) return ""; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createLogo.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createLogo.ts index 8e9006bb..09025598 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createLogo.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createLogo.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { LogoObject } from "../openapi/types"; import { create, guard } from "./utils"; +import { LogoObject } from "../openapi/types"; export function createLogo( logo: LogoObject | undefined, diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createParamsDetails.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createParamsDetails.ts index 38388e4e..020bd51e 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createParamsDetails.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createParamsDetails.ts @@ -5,10 +5,10 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ +import { create } from "./utils"; import { ApiItem } from "../types"; // import { createDetails } from "./createDetails"; // import { createDetailsSummary } from "./createDetailsSummary"; -import { create } from "./utils"; interface Props { parameters: ApiItem["parameters"]; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestBodyDetails.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestBodyDetails.ts index 47aa0b86..55cb8f56 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestBodyDetails.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestBodyDetails.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { MediaTypeObject } from "../openapi/types"; import { createRequestSchema } from "./createRequestSchema"; +import { MediaTypeObject } from "../openapi/types"; interface Props { title: string; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestSchema.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestSchema.ts index 07f5564b..661072e5 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestSchema.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createRequestSchema.ts @@ -5,10 +5,10 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { MediaTypeObject, SchemaObject } from "../openapi/types"; import { createDescription } from "./createDescription"; import { createNodes } from "./createSchema"; import { create } from "./utils"; +import { MediaTypeObject, SchemaObject } from "../openapi/types"; interface Props { style?: any; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createResponseSchema.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createResponseSchema.ts index e81297d8..76136f2f 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createResponseSchema.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createResponseSchema.ts @@ -5,18 +5,18 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { MediaTypeObject } from "../openapi/types"; import { createDescription } from "./createDescription"; // import { createDetails } from "./createDetails"; // import { createDetailsSummary } from "./createDetailsSummary"; import { getRequestBody as getResponseBody } from "./createRequestSchema"; +import { create } from "./utils"; +import { MediaTypeObject } from "../openapi/types"; // import { createNodes } from "./createSchema"; // import { // createExampleFromSchema, // createResponseExample, // createResponseExamples, // } from "./createStatusCodes"; -import { create } from "./utils"; interface Props { style?: any; diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createSchema.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createSchema.ts index b44b2bb0..44f114ac 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createSchema.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createSchema.ts @@ -5,10 +5,10 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { SchemaObject } from "../openapi/types"; import { createDescription } from "./createDescription"; import { getQualifierMessage, getSchemaName } from "./schema"; import { create } from "./utils"; +import { SchemaObject } from "../openapi/types"; const jsonSchemaMergeAllOf = require("json-schema-merge-allof"); diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/createStatusCodes.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/createStatusCodes.ts index 83c72570..e0ea77ff 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/createStatusCodes.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/createStatusCodes.ts @@ -7,14 +7,14 @@ import format from "xml-formatter"; -import { sampleResponseFromSchema } from "../openapi/createResponseExample"; -import { ApiItem } from "../types"; import { createDescription } from "./createDescription"; import { createDetails } from "./createDetails"; import { createDetailsSummary } from "./createDetailsSummary"; import { createResponseSchema } from "./createResponseSchema"; import { create } from "./utils"; import { guard } from "./utils"; +import { sampleResponseFromSchema } from "../openapi/createResponseExample"; +import { ApiItem } from "../types"; export default function json2xml(o: any, tab: any) { var toXml = function (v: any, name: string, ind: any) { diff --git a/packages/docusaurus-plugin-openapi-docs/src/markdown/index.ts b/packages/docusaurus-plugin-openapi-docs/src/markdown/index.ts index e4082857..9825359c 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/markdown/index.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/markdown/index.ts @@ -5,13 +5,6 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { - ContactObject, - LicenseObject, - // MediaTypeObject, - SecuritySchemeObject, -} from "../openapi/types"; -import { ApiPageMetadata, InfoPageMetadata, TagPageMetadata } from "../types"; import { createAuthentication } from "./createAuthentication"; import { createContactInfo } from "./createContactInfo"; // import { createDeprecationNotice } from "./createDeprecationNotice"; @@ -28,6 +21,13 @@ import { createTermsOfService } from "./createTermsOfService"; // import { createVendorExtensions } from "./createVendorExtensions"; import { createVersionBadge } from "./createVersionBadge"; import { greaterThan, lessThan, render } from "./utils"; +import { + ContactObject, + LicenseObject, + // MediaTypeObject, + SecuritySchemeObject, +} from "../openapi/types"; +import { ApiPageMetadata, InfoPageMetadata, TagPageMetadata } from "../types"; // interface Props { // title: string; diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/createRequestExample.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/createRequestExample.ts index 8413cb8e..4ec42738 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/createRequestExample.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/createRequestExample.ts @@ -8,8 +8,8 @@ import chalk from "chalk"; import merge from "lodash/merge"; -import { mergeAllOf } from "../markdown/createSchema"; import { SchemaObject } from "./types"; +import { mergeAllOf } from "../markdown/createSchema"; interface OASTypeToTypeMap { string: string; diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/createResponseExample.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/createResponseExample.ts index 11a287e8..7b0492da 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/createResponseExample.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/createResponseExample.ts @@ -8,8 +8,8 @@ import chalk from "chalk"; import merge from "lodash/merge"; -import { mergeAllOf } from "../markdown/createSchema"; import { SchemaObject } from "./types"; +import { mergeAllOf } from "../markdown/createSchema"; interface OASTypeToTypeMap { string: string; diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts index 3b761975..cd8649e7 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/openapi.ts @@ -18,6 +18,9 @@ import kebabCase from "lodash/kebabCase"; import unionBy from "lodash/unionBy"; import uniq from "lodash/uniq"; +import { sampleRequestFromSchema } from "./createRequestExample"; +import { OpenApiObject, TagObject } from "./types"; +import { loadAndResolveSpec } from "./utils/loadAndResolveSpec"; import { isURL } from "../index"; import { ApiMetadata, @@ -27,9 +30,6 @@ import { SidebarOptions, TagPageMetadata, } from "../types"; -import { sampleRequestFromSchema } from "./createRequestExample"; -import { OpenApiObject, TagObject } from "./types"; -import { loadAndResolveSpec } from "./utils/loadAndResolveSpec"; /** * Convenience function for converting raw JSON to a Postman Collection object. diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/loadAndResolveSpec.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/loadAndResolveSpec.ts index ee59054b..2b75c384 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/loadAndResolveSpec.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/loadAndResolveSpec.ts @@ -13,8 +13,8 @@ import chalk from "chalk"; // @ts-ignore import { convertObj } from "swagger2openapi"; -import { OpenApiObject } from "../types"; import { OpenAPIParser } from "./services/OpenAPIParser"; +import { OpenApiObject } from "../types"; function serializer(replacer: any, cycleReplacer: any) { var stack: any = [], diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/services/OpenAPIParser.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/services/OpenAPIParser.ts index 8f18c8b3..3e90a75a 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/services/OpenAPIParser.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/services/OpenAPIParser.ts @@ -7,11 +7,11 @@ // @ts-nocheck +import { RedocNormalizedOptions } from "./RedocNormalizedOptions"; import { OpenAPIRef, OpenAPISchema, OpenAPISpec, Referenced } from "../types"; import { isArray, isBoolean } from "../utils/helpers"; import { JsonPointer } from "../utils/JsonPointer"; import { getDefinitionName, isNamedDefinition } from "../utils/openapi"; -import { RedocNormalizedOptions } from "./RedocNormalizedOptions"; export type MergedOpenAPISchema = OpenAPISchema & { parentRefs?: string[] }; diff --git a/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/utils/openapi.ts b/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/utils/openapi.ts index 2fbd16d0..24158148 100644 --- a/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/utils/openapi.ts +++ b/packages/docusaurus-plugin-openapi-docs/src/openapi/utils/utils/openapi.ts @@ -9,6 +9,13 @@ import { dirname } from "path"; +import { + isNumeric, + removeQueryString, + resolveUrl, + isArray, + isBoolean, +} from "./helpers"; import { OpenAPIParser } from "../services/OpenAPIParser"; import { OpenAPIEncoding, @@ -21,13 +28,6 @@ import { OpenAPIServer, Referenced, } from "../types"; -import { - isNumeric, - removeQueryString, - resolveUrl, - isArray, - isBoolean, -} from "./helpers"; function isWildcardStatusCode( statusCode: string | number diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Authorization/slice.ts b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Authorization/slice.ts index 956f7f97..54ea27c6 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Authorization/slice.ts +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Authorization/slice.ts @@ -5,14 +5,14 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { createSlice, PayloadAction } from "@reduxjs/toolkit"; -import { createStorage, hashArray } from "@theme/ApiExplorer/storage-utils"; import { SecurityRequirementObject, SecuritySchemeObject, } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; /* eslint-disable import/no-extraneous-dependencies*/ import { ThemeConfig } from "@mxenabled/docusaurus-theme-openapi-docs/src/types"; +import { createSlice, PayloadAction } from "@reduxjs/toolkit"; +import { createStorage, hashArray } from "@theme/ApiExplorer/storage-utils"; import { getAuthDataKeys } from "./auth-types"; diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Body/index.tsx b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Body/index.tsx index 73edab10..6e47dbfe 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Body/index.tsx +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Body/index.tsx @@ -7,6 +7,7 @@ import React from "react"; +import { RequestBodyObject } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; import json2xml from "@theme/ApiExplorer/Body/json2xml"; import FormFileUpload from "@theme/ApiExplorer/FormFileUpload"; import FormItem from "@theme/ApiExplorer/FormItem"; @@ -17,7 +18,6 @@ import { useTypedDispatch, useTypedSelector } from "@theme/ApiItem/hooks"; import Markdown from "@theme/Markdown"; import SchemaTabs from "@theme/SchemaTabs"; import TabItem from "@theme/TabItem"; -import { RequestBodyObject } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; import format from "xml-formatter"; import { diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/ParamOptions/slice.ts b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/ParamOptions/slice.ts index f0572d1d..219884d0 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/ParamOptions/slice.ts +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/ParamOptions/slice.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { createSlice, PayloadAction } from "@reduxjs/toolkit"; import { ParameterObject } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; +import { createSlice, PayloadAction } from "@reduxjs/toolkit"; export type Param = ParameterObject & { value?: string[] | string }; diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Request/index.tsx b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Request/index.tsx index f4f1cd25..198caa0f 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Request/index.tsx +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Request/index.tsx @@ -9,6 +9,8 @@ import React, { useState } from "react"; import { useDoc } from "@docusaurus/theme-common/internal"; +import { ParameterObject } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; +import { ApiItem } from "@mxenabled/docusaurus-plugin-openapi-docs/src/types"; import sdk from "@paloaltonetworks/postman-collection"; import Accept from "@theme/ApiExplorer/Accept"; import Authorization from "@theme/ApiExplorer/Authorization"; @@ -25,8 +27,6 @@ import { } from "@theme/ApiExplorer/Response/slice"; import Server from "@theme/ApiExplorer/Server"; import { useTypedDispatch, useTypedSelector } from "@theme/ApiItem/hooks"; -import { ParameterObject } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; -import { ApiItem } from "@mxenabled/docusaurus-plugin-openapi-docs/src/types"; import { FormProvider, useForm } from "react-hook-form"; import makeRequest from "./makeRequest"; diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Response/index.tsx b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Response/index.tsx index ee609fb8..7ba85a31 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Response/index.tsx +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Response/index.tsx @@ -9,12 +9,12 @@ import React from "react"; import { usePrismTheme } from "@docusaurus/theme-common"; import { useDoc } from "@docusaurus/theme-common/internal"; +import { ApiItem } from "@mxenabled/docusaurus-plugin-openapi-docs/src/types"; import ApiCodeBlock from "@theme/ApiExplorer/ApiCodeBlock"; import { useTypedDispatch, useTypedSelector } from "@theme/ApiItem/hooks"; import SchemaTabs from "@theme/SchemaTabs"; import TabItem from "@theme/TabItem"; import clsx from "clsx"; -import { ApiItem } from "@mxenabled/docusaurus-plugin-openapi-docs/src/types"; import { clearResponse, clearCode, clearHeaders } from "./slice"; diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Server/slice.ts b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Server/slice.ts index 19463bec..0bdd0811 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Server/slice.ts +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/Server/slice.ts @@ -5,8 +5,8 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ -import { createSlice, PayloadAction } from "@reduxjs/toolkit"; import { ServerObject } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; +import { createSlice, PayloadAction } from "@reduxjs/toolkit"; // TODO: we might want to export this export interface State { diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/index.tsx b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/index.tsx index d14f5a9c..d56d53d2 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/index.tsx +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/index.tsx @@ -7,11 +7,11 @@ import React from "react"; +import { ApiItem } from "@mxenabled/docusaurus-plugin-openapi-docs/src/types"; import sdk from "@paloaltonetworks/postman-collection"; import CodeSnippets from "@theme/ApiExplorer/CodeSnippets"; import Request from "@theme/ApiExplorer/Request"; import Response from "@theme/ApiExplorer/Response"; -import { ApiItem } from "@mxenabled/docusaurus-plugin-openapi-docs/src/types"; import type { SampleResponses } from "@theme/ApiItem"; function ApiExplorer({ diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/persistanceMiddleware.ts b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/persistanceMiddleware.ts index e1684c34..33f4f772 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/persistanceMiddleware.ts +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiExplorer/persistanceMiddleware.ts @@ -5,6 +5,7 @@ * LICENSE file in the root directory of this source tree. * ========================================================================== */ +/* eslint-disable import/no-extraneous-dependencies*/ import { ThemeConfig } from "@mxenabled/docusaurus-theme-openapi-docs/src/types"; import { Middleware } from "@reduxjs/toolkit"; import { @@ -12,7 +13,6 @@ import { setSelectedAuth, } from "@theme/ApiExplorer/Authorization/slice"; import { AppDispatch, RootState } from "@theme/ApiItem/store"; -/* eslint-disable import/no-extraneous-dependencies*/ import { createStorage, hashArray } from "./storage-utils"; diff --git a/packages/docusaurus-theme-openapi-docs/src/theme/ApiItem/index.tsx b/packages/docusaurus-theme-openapi-docs/src/theme/ApiItem/index.tsx index 6496383e..793ec067 100644 --- a/packages/docusaurus-theme-openapi-docs/src/theme/ApiItem/index.tsx +++ b/packages/docusaurus-theme-openapi-docs/src/theme/ApiItem/index.tsx @@ -15,21 +15,22 @@ import { HtmlClassNameProvider } from "@docusaurus/theme-common"; import { DocProvider } from "@docusaurus/theme-common/internal"; import useDocusaurusContext from "@docusaurus/useDocusaurusContext"; import useIsBrowser from "@docusaurus/useIsBrowser"; -import { createAuth } from "@theme/ApiExplorer/Authorization/slice"; -import { createPersistanceMiddleware } from "@theme/ApiExplorer/persistanceMiddleware"; -import DocItemLayout from "@theme/ApiItem/Layout"; -import type { Props } from "@theme/DocItem"; -import DocItemMetadata from "@theme/DocItem/Metadata"; -import clsx from "clsx"; import { ServerObject, ParameterObject, } from "@mxenabled/docusaurus-plugin-openapi-docs/src/openapi/types"; import type { ApiItem as ApiItemType } from "@mxenabled/docusaurus-plugin-openapi-docs/src/types"; +/* eslint-disable import/no-extraneous-dependencies*/ import type { DocFrontMatter, ThemeConfig, } from "@mxenabled/docusaurus-theme-openapi-docs/src/types"; +import { createAuth } from "@theme/ApiExplorer/Authorization/slice"; +import { createPersistanceMiddleware } from "@theme/ApiExplorer/persistanceMiddleware"; +import DocItemLayout from "@theme/ApiItem/Layout"; +import type { Props } from "@theme/DocItem"; +import DocItemMetadata from "@theme/DocItem/Metadata"; +import clsx from "clsx"; import { Provider } from "react-redux"; import { createStoreWithoutState, createStoreWithState } from "./store"; @@ -44,6 +45,7 @@ if (ExecutionEnvironment.canUseDOM) { interface DocFM extends DocFrontMatter { readonly api_reference?: boolean; + readonly info_path?: string; } export interface SampleResponses {