@mehdad67/apitogo 0.1.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -0
- package/cli.js +13 -0
- package/client.d.ts +8 -0
- package/dist/cli/cli.js +10595 -0
- package/dist/cli/worker.js +190 -0
- package/dist/declarations/app/ZuploBuildConfig.d.ts +47 -0
- package/dist/declarations/app/demo.d.ts +2 -0
- package/dist/declarations/app/entry.client.d.ts +6 -0
- package/dist/declarations/app/entry.server.d.ts +11 -0
- package/dist/declarations/app/env.d.ts +30 -0
- package/dist/declarations/app/main.d.ts +102 -0
- package/dist/declarations/app/polyfills.d.ts +1 -0
- package/dist/declarations/app/processRoutes.d.ts +2 -0
- package/dist/declarations/app/sentry.d.ts +3 -0
- package/dist/declarations/app/standalone.d.ts +2 -0
- package/dist/declarations/app/utils/createRedirectRoutes.d.ts +3 -0
- package/dist/declarations/cli/common/logger.d.ts +1 -0
- package/dist/declarations/cli/common/package-json.d.ts +13 -0
- package/dist/declarations/config/config.d.ts +26 -0
- package/dist/declarations/config/create-plugin.d.ts +2 -0
- package/dist/declarations/config/file-exists.d.ts +1 -0
- package/dist/declarations/config/loader.d.ts +23 -0
- package/dist/declarations/config/resolve-modules.d.ts +34 -0
- package/dist/declarations/config/validators/BuildSchema.d.ts +49 -0
- package/dist/declarations/config/validators/HeaderNavigationSchema.d.ts +15712 -0
- package/dist/declarations/config/validators/InputNavigationSchema.d.ts +409 -0
- package/dist/declarations/config/validators/ModulesSchema.d.ts +417 -0
- package/dist/declarations/config/validators/NavigationSchema.d.ts +64 -0
- package/dist/declarations/config/validators/ProtectedRoutesSchema.d.ts +15 -0
- package/dist/declarations/config/validators/ZudokuConfig.d.ts +7203 -0
- package/dist/declarations/config/validators/icon-types.d.ts +2 -0
- package/dist/declarations/config/validators/reason-codes.d.ts +6 -0
- package/dist/declarations/index.d.ts +20 -0
- package/dist/declarations/lib/MissingIcon.d.ts +2 -0
- package/dist/declarations/lib/assets/language-icons/bun.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/c.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/commonlisp.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/cpp.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/csharp.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/css.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/dart.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/elixir.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/go.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/graphql.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/html.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/java.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/javascript.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/json.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/kotlin.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/markdown.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/mdx.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/npm.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/objectivec.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/ocaml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/php.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/pnpm.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/powershell.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/python.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/react.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/ruby.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/rust.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/scala.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/shell.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/swift.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/toml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/typescript.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/xml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/yaml.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/yarn.d.ts +3 -0
- package/dist/declarations/lib/assets/language-icons/zig.d.ts +3 -0
- package/dist/declarations/lib/authentication/AuthenticationPlugin.d.ts +10 -0
- package/dist/declarations/lib/authentication/authentication.d.ts +22 -0
- package/dist/declarations/lib/authentication/components/CallbackHandler.d.ts +3 -0
- package/dist/declarations/lib/authentication/components/OAuthErrorPage.d.ts +3 -0
- package/dist/declarations/lib/authentication/components/SignIn.d.ts +1 -0
- package/dist/declarations/lib/authentication/components/SignOut.d.ts +1 -0
- package/dist/declarations/lib/authentication/components/SignUp.d.ts +1 -0
- package/dist/declarations/lib/authentication/constants.d.ts +1 -0
- package/dist/declarations/lib/authentication/errors.d.ts +8 -0
- package/dist/declarations/lib/authentication/hook.d.ts +29 -0
- package/dist/declarations/lib/authentication/providers/auth0.d.ts +4 -0
- package/dist/declarations/lib/authentication/providers/azureb2c.d.ts +41 -0
- package/dist/declarations/lib/authentication/providers/clerk.d.ts +14 -0
- package/dist/declarations/lib/authentication/providers/firebase.d.ts +14 -0
- package/dist/declarations/lib/authentication/providers/openid.d.ts +58 -0
- package/dist/declarations/lib/authentication/providers/supabase.d.ts +14 -0
- package/dist/declarations/lib/authentication/providers/util.d.ts +1 -0
- package/dist/declarations/lib/authentication/state.d.ts +49 -0
- package/dist/declarations/lib/authentication/ui/AuthCard.d.ts +6 -0
- package/dist/declarations/lib/authentication/ui/EmailLinkCallbackUi.d.ts +4 -0
- package/dist/declarations/lib/authentication/ui/EmailLinkSentUi.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/EmailLinkSignInUi.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/EmailVerificationUi.d.ts +4 -0
- package/dist/declarations/lib/authentication/ui/ZudokuAuthUi.d.ts +34 -0
- package/dist/declarations/lib/authentication/ui/icons/Apple.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Facebook.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Github.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Google.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/Microsoft.d.ts +3 -0
- package/dist/declarations/lib/authentication/ui/icons/X.d.ts +3 -0
- package/dist/declarations/lib/authentication/utils/relativeRedirectUrl.d.ts +1 -0
- package/dist/declarations/lib/components/AiAssistantMenuItems.d.ts +6 -0
- package/dist/declarations/lib/components/AnchorLink.d.ts +2 -0
- package/dist/declarations/lib/components/Autocomplete.d.ts +15 -0
- package/dist/declarations/lib/components/Banner.d.ts +1 -0
- package/dist/declarations/lib/components/Bootstrap.d.ts +17 -0
- package/dist/declarations/lib/components/BuildCheck.d.ts +5 -0
- package/dist/declarations/lib/components/CategoryHeading.d.ts +5 -0
- package/dist/declarations/lib/components/ClientOnly.d.ts +6 -0
- package/dist/declarations/lib/components/DeveloperHint.d.ts +5 -0
- package/dist/declarations/lib/components/ErrorPage.d.ts +6 -0
- package/dist/declarations/lib/components/Footer.d.ts +1 -0
- package/dist/declarations/lib/components/Framed.d.ts +7 -0
- package/dist/declarations/lib/components/Header.d.ts +1 -0
- package/dist/declarations/lib/components/HeaderNavigation.d.ts +1 -0
- package/dist/declarations/lib/components/Heading.d.ts +14 -0
- package/dist/declarations/lib/components/InlineCode.d.ts +2 -0
- package/dist/declarations/lib/components/LandingLayout.d.ts +4 -0
- package/dist/declarations/lib/components/LanguageIcon.d.ts +3 -0
- package/dist/declarations/lib/components/Layout.d.ts +4 -0
- package/dist/declarations/lib/components/Main.d.ts +2 -0
- package/dist/declarations/lib/components/Markdown.d.ts +6 -0
- package/dist/declarations/lib/components/Mermaid.d.ts +8 -0
- package/dist/declarations/lib/components/Meta.d.ts +2 -0
- package/dist/declarations/lib/components/MobileTopNavigation.d.ts +1 -0
- package/dist/declarations/lib/components/MultiSelect.d.ts +9 -0
- package/dist/declarations/lib/components/NotFoundPage.d.ts +1 -0
- package/dist/declarations/lib/components/PageProgress.d.ts +1 -0
- package/dist/declarations/lib/components/PagefindSearchMeta.d.ts +4 -0
- package/dist/declarations/lib/components/Pagination.d.ts +11 -0
- package/dist/declarations/lib/components/PathRenderer.d.ts +11 -0
- package/dist/declarations/lib/components/PluginHeads.d.ts +6 -0
- package/dist/declarations/lib/components/Search.d.ts +3 -0
- package/dist/declarations/lib/components/Slot.d.ts +17 -0
- package/dist/declarations/lib/components/Spinner.d.ts +3 -0
- package/dist/declarations/lib/components/StatusPage.d.ts +7 -0
- package/dist/declarations/lib/components/ThemeSwitch.d.ts +1 -0
- package/dist/declarations/lib/components/TopNavigation.d.ts +14 -0
- package/dist/declarations/lib/components/Typography.d.ts +3 -0
- package/dist/declarations/lib/components/Zudoku.d.ts +15 -0
- package/dist/declarations/lib/components/cache.d.ts +9 -0
- package/dist/declarations/lib/components/context/RenderContext.d.ts +5 -0
- package/dist/declarations/lib/components/context/RouterEventsEmitter.d.ts +1 -0
- package/dist/declarations/lib/components/context/SlotProvider.d.ts +26 -0
- package/dist/declarations/lib/components/context/ViewportAnchorContext.d.ts +13 -0
- package/dist/declarations/lib/components/context/ZudokuContext.d.ts +15 -0
- package/dist/declarations/lib/components/context/ZudokuProvider.d.ts +8 -0
- package/dist/declarations/lib/components/context/ZudokuReactContext.d.ts +6 -0
- package/dist/declarations/lib/components/index.d.ts +25 -0
- package/dist/declarations/lib/components/navigation/Navigation.d.ts +5 -0
- package/dist/declarations/lib/components/navigation/NavigationBadge.d.ts +26 -0
- package/dist/declarations/lib/components/navigation/NavigationCategory.d.ts +5 -0
- package/dist/declarations/lib/components/navigation/NavigationFilterContext.d.ts +8 -0
- package/dist/declarations/lib/components/navigation/NavigationFilterInput.d.ts +3 -0
- package/dist/declarations/lib/components/navigation/NavigationItem.d.ts +6 -0
- package/dist/declarations/lib/components/navigation/NavigationWrapper.d.ts +7 -0
- package/dist/declarations/lib/components/navigation/PoweredByZudoku.d.ts +3 -0
- package/dist/declarations/lib/components/navigation/Toc.d.ts +4 -0
- package/dist/declarations/lib/components/navigation/ZuploLogo.d.ts +3 -0
- package/dist/declarations/lib/components/navigation/utils.d.ts +31 -0
- package/dist/declarations/lib/core/RouteGuard.d.ts +2 -0
- package/dist/declarations/lib/core/ZudokuContext.d.ts +124 -0
- package/dist/declarations/lib/core/plugins.d.ts +74 -0
- package/dist/declarations/lib/core/react-query.d.ts +1 -0
- package/dist/declarations/lib/core/router.d.ts +1 -0
- package/dist/declarations/lib/core/transform-config.d.ts +4 -0
- package/dist/declarations/lib/demo/DemoAnnouncement.d.ts +2 -0
- package/dist/declarations/lib/errors/ErrorAlert.d.ts +3 -0
- package/dist/declarations/lib/errors/ErrorMessage.d.ts +3 -0
- package/dist/declarations/lib/errors/RouterError.d.ts +3 -0
- package/dist/declarations/lib/errors/ServerError.d.ts +3 -0
- package/dist/declarations/lib/errors/TopLevelError.d.ts +2 -0
- package/dist/declarations/lib/hooks/index.d.ts +8 -0
- package/dist/declarations/lib/hooks/useEvent.d.ts +5 -0
- package/dist/declarations/lib/hooks/useHighlighter.d.ts +2 -0
- package/dist/declarations/lib/hooks/useHotkey.d.ts +4 -0
- package/dist/declarations/lib/icons.d.ts +2 -0
- package/dist/declarations/lib/navigation/applyRules.d.ts +8 -0
- package/dist/declarations/lib/navigation/pathMatcher.d.ts +11 -0
- package/dist/declarations/lib/oas/graphql/circular.d.ts +3 -0
- package/dist/declarations/lib/oas/graphql/constants.d.ts +2 -0
- package/dist/declarations/lib/oas/graphql/index.d.ts +33 -0
- package/dist/declarations/lib/oas/parser/dereference/index.d.ts +5 -0
- package/dist/declarations/lib/oas/parser/dereference/resolveRef.d.ts +2 -0
- package/dist/declarations/lib/oas/parser/index.d.ts +25 -0
- package/dist/declarations/lib/oas/parser/upgrade/index.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-catalog/Catalog.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-catalog/index.d.ts +31 -0
- package/dist/declarations/lib/plugins/api-keys/CreateApiKey.d.ts +5 -0
- package/dist/declarations/lib/plugins/api-keys/CreateApiKeyDialog.d.ts +11 -0
- package/dist/declarations/lib/plugins/api-keys/SettingsApiKeys.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-keys/index.d.ts +52 -0
- package/dist/declarations/lib/plugins/api-keys/settings/ApiKeyItem.d.ts +12 -0
- package/dist/declarations/lib/plugins/api-keys/settings/ApiKeyList.d.ts +4 -0
- package/dist/declarations/lib/plugins/api-keys/settings/RevealApiKey.d.ts +6 -0
- package/dist/declarations/lib/plugins/custom-pages/index.d.ts +8 -0
- package/dist/declarations/lib/plugins/markdown/MdxPage.d.ts +14 -0
- package/dist/declarations/lib/plugins/markdown/assets/ChatGPTLogo.d.ts +2 -0
- package/dist/declarations/lib/plugins/markdown/assets/ClaudeLogo.d.ts +2 -0
- package/dist/declarations/lib/plugins/markdown/index.d.ts +34 -0
- package/dist/declarations/lib/plugins/openapi/ApiHeader.d.ts +10 -0
- package/dist/declarations/lib/plugins/openapi/CollapsibleCode.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/ColorizedParam.d.ts +20 -0
- package/dist/declarations/lib/plugins/openapi/DownloadSchemaButton.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/Endpoint.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/GeneratedExampleSidecarBox.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/MCPEndpoint.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/OasProvider.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/OperationList.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/OperationListItem.d.ts +10 -0
- package/dist/declarations/lib/plugins/openapi/ParamInfos.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/ParameterList.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/ParameterListItem.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/RequestBodySidecarBox.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/ResponsesSidecarBox.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/SchemaInfo.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/SchemaList.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/Sidecar.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/SidecarBox.d.ts +9 -0
- package/dist/declarations/lib/plugins/openapi/SidecarExamples.d.ts +14 -0
- package/dist/declarations/lib/plugins/openapi/SimpleSelect.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/client/GraphQLClient.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/client/GraphQLContext.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/client/createServer.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/client/useCreateQuery.d.ts +14 -0
- package/dist/declarations/lib/plugins/openapi/components/ConstValue.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/components/EnumValues.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/components/NonHighlightedCode.d.ts +4 -0
- package/dist/declarations/lib/plugins/openapi/components/ResponseContent.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/components/SelectOnClick.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/context.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/graphql/fragment-masking.d.ts +19 -0
- package/dist/declarations/lib/plugins/openapi/graphql/gql.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/graphql/graphql.d.ts +528 -0
- package/dist/declarations/lib/plugins/openapi/graphql/index.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/index.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/interfaces.d.ts +94 -0
- package/dist/declarations/lib/plugins/openapi/playground/BodyPanel.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/playground/CollapsibleHeader.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/Headers.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/playground/IdentityDialog.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/playground/IdentitySelector.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/playground/ParamsGrid.d.ts +17 -0
- package/dist/declarations/lib/plugins/openapi/playground/PathParams.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/Playground.d.ts +89 -0
- package/dist/declarations/lib/plugins/openapi/playground/PlaygroundDialog.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/playground/QueryParams.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/RequestLoginDialog.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/createUrl.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/playground/fileUtils.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/playground/rememberedIdentity.d.ts +19 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/MultipartField.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/UrlPath.d.ts +3 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/UrlQueryParams.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.d.ts +40 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/AudioPlayer.d.ts +6 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/ResponseTab.d.ts +14 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/ResultPanel.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/playground/result-panel/convertToTypes.d.ts +10 -0
- package/dist/declarations/lib/plugins/openapi/playground/serializeQueryParams.d.ts +4 -0
- package/dist/declarations/lib/plugins/openapi/playground/useRememberSkipLoginDialog.d.ts +18 -0
- package/dist/declarations/lib/plugins/openapi/processors/removeExtensions.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/processors/removeParameters.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/processors/removePaths.d.ts +13 -0
- package/dist/declarations/lib/plugins/openapi/processors/traverse.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/schema/SchemaExampleAndDefault.d.ts +4 -0
- package/dist/declarations/lib/plugins/openapi/schema/SchemaPropertyItem.d.ts +8 -0
- package/dist/declarations/lib/plugins/openapi/schema/SchemaView.d.ts +7 -0
- package/dist/declarations/lib/plugins/openapi/schema/UnionView.d.ts +5 -0
- package/dist/declarations/lib/plugins/openapi/schema/union-helpers.d.ts +28 -0
- package/dist/declarations/lib/plugins/openapi/schema/utils.d.ts +9 -0
- package/dist/declarations/lib/plugins/openapi/state.d.ts +24 -0
- package/dist/declarations/lib/plugins/openapi/util/buildTagCategories.d.ts +12 -0
- package/dist/declarations/lib/plugins/openapi/util/createHttpSnippet.d.ts +11 -0
- package/dist/declarations/lib/plugins/openapi/util/createNavigationCategory.d.ts +9 -0
- package/dist/declarations/lib/plugins/openapi/util/generateSchemaExample.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/util/getRoutes.d.ts +18 -0
- package/dist/declarations/lib/plugins/openapi/util/methodColorMap.d.ts +2 -0
- package/dist/declarations/lib/plugins/openapi/util/methodToColor.d.ts +20 -0
- package/dist/declarations/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.d.ts +1 -0
- package/dist/declarations/lib/plugins/openapi/util/useWarmupSchema.d.ts +1 -0
- package/dist/declarations/lib/plugins/search-inkeep/index.d.ts +8 -0
- package/dist/declarations/lib/plugins/search-inkeep/inkeep.d.ts +6 -0
- package/dist/declarations/lib/plugins/search-pagefind/IndexingDialog.d.ts +3 -0
- package/dist/declarations/lib/plugins/search-pagefind/PagefindSearch.d.ts +6 -0
- package/dist/declarations/lib/plugins/search-pagefind/ResultList.d.ts +8 -0
- package/dist/declarations/lib/plugins/search-pagefind/get-results.d.ts +10 -0
- package/dist/declarations/lib/plugins/search-pagefind/index.d.ts +6 -0
- package/dist/declarations/lib/plugins/search-pagefind/types.d.ts +85 -0
- package/dist/declarations/lib/shiki-constants.d.ts +3 -0
- package/dist/declarations/lib/shiki.d.ts +31 -0
- package/dist/declarations/lib/testing/index.d.ts +17 -0
- package/dist/declarations/lib/ui/Accordion.d.ts +7 -0
- package/dist/declarations/lib/ui/ActionButton.d.ts +6 -0
- package/dist/declarations/lib/ui/Alert.d.ts +11 -0
- package/dist/declarations/lib/ui/AlertDialog.d.ts +17 -0
- package/dist/declarations/lib/ui/AspectRatio.d.ts +3 -0
- package/dist/declarations/lib/ui/Badge.d.ts +9 -0
- package/dist/declarations/lib/ui/Breadcrumb.d.ts +19 -0
- package/dist/declarations/lib/ui/Button.d.ts +10 -0
- package/dist/declarations/lib/ui/ButtonGroup.d.ts +11 -0
- package/dist/declarations/lib/ui/Callout.d.ts +53 -0
- package/dist/declarations/lib/ui/Card.d.ts +11 -0
- package/dist/declarations/lib/ui/Carousel.d.ts +18 -0
- package/dist/declarations/lib/ui/Checkbox.d.ts +4 -0
- package/dist/declarations/lib/ui/CodeBlock.d.ts +21 -0
- package/dist/declarations/lib/ui/CodeTabPanel.d.ts +11 -0
- package/dist/declarations/lib/ui/CodeTabs.d.ts +8 -0
- package/dist/declarations/lib/ui/Collapsible.d.ts +5 -0
- package/dist/declarations/lib/ui/Command.d.ts +94 -0
- package/dist/declarations/lib/ui/Dialog.d.ts +15 -0
- package/dist/declarations/lib/ui/DismissibleAlert.d.ts +13 -0
- package/dist/declarations/lib/ui/Drawer.d.ts +24 -0
- package/dist/declarations/lib/ui/DropdownMenu.d.ts +25 -0
- package/dist/declarations/lib/ui/EmbeddedCodeBlock.d.ts +16 -0
- package/dist/declarations/lib/ui/Form.d.ts +23 -0
- package/dist/declarations/lib/ui/Frame.d.ts +8 -0
- package/dist/declarations/lib/ui/HoverCard.d.ts +6 -0
- package/dist/declarations/lib/ui/Input.d.ts +4 -0
- package/dist/declarations/lib/ui/InputGroup.d.ts +16 -0
- package/dist/declarations/lib/ui/Item.d.ts +25 -0
- package/dist/declarations/lib/ui/Kbd.d.ts +3 -0
- package/dist/declarations/lib/ui/Label.d.ts +5 -0
- package/dist/declarations/lib/ui/NativeSelect.d.ts +5 -0
- package/dist/declarations/lib/ui/NavigationMenu.d.ts +14 -0
- package/dist/declarations/lib/ui/Pagination.d.ts +28 -0
- package/dist/declarations/lib/ui/Popover.d.ts +6 -0
- package/dist/declarations/lib/ui/Progress.d.ts +4 -0
- package/dist/declarations/lib/ui/RadioGroup.d.ts +5 -0
- package/dist/declarations/lib/ui/ReactComponentDoc.d.ts +20 -0
- package/dist/declarations/lib/ui/ScrollArea.d.ts +5 -0
- package/dist/declarations/lib/ui/Secret.d.ts +18 -0
- package/dist/declarations/lib/ui/Select.d.ts +15 -0
- package/dist/declarations/lib/ui/Separator.d.ts +4 -0
- package/dist/declarations/lib/ui/Skeleton.d.ts +2 -0
- package/dist/declarations/lib/ui/Slider.d.ts +4 -0
- package/dist/declarations/lib/ui/Stepper.d.ts +3 -0
- package/dist/declarations/lib/ui/Switch.d.ts +4 -0
- package/dist/declarations/lib/ui/SyntaxHighlight.d.ts +18 -0
- package/dist/declarations/lib/ui/Tabs.d.ts +7 -0
- package/dist/declarations/lib/ui/Textarea.d.ts +4 -0
- package/dist/declarations/lib/ui/Toggle.d.ts +12 -0
- package/dist/declarations/lib/ui/ToggleGroup.d.ts +12 -0
- package/dist/declarations/lib/ui/Tooltip.d.ts +8 -0
- package/dist/declarations/lib/ui/Value.d.ts +5 -0
- package/dist/declarations/lib/ui/util.d.ts +3 -0
- package/dist/declarations/lib/util/MdxComponents.d.ts +47 -0
- package/dist/declarations/lib/util/cn.d.ts +2 -0
- package/dist/declarations/lib/util/createVariantComponent.d.ts +12 -0
- package/dist/declarations/lib/util/flattenAllOf.d.ts +2 -0
- package/dist/declarations/lib/util/hastToJsx.d.ts +7 -0
- package/dist/declarations/lib/util/humanFileSize.d.ts +1 -0
- package/dist/declarations/lib/util/invariant.d.ts +13 -0
- package/dist/declarations/lib/util/joinUrl.d.ts +1 -0
- package/dist/declarations/lib/util/logInit.d.ts +1 -0
- package/dist/declarations/lib/util/objectEntries.d.ts +4 -0
- package/dist/declarations/lib/util/os.d.ts +2 -0
- package/dist/declarations/lib/util/pastellize.d.ts +4 -0
- package/dist/declarations/lib/util/problemJson.d.ts +10 -0
- package/dist/declarations/lib/util/readFrontmatter.d.ts +6 -0
- package/dist/declarations/lib/util/renderIf.d.ts +1 -0
- package/dist/declarations/lib/util/scrollIntoViewIfNeeded.d.ts +1 -0
- package/dist/declarations/lib/util/slugify.d.ts +3 -0
- package/dist/declarations/lib/util/syncZustandState.d.ts +5 -0
- package/dist/declarations/lib/util/traverse.d.ts +4 -0
- package/dist/declarations/lib/util/types.d.ts +7 -0
- package/dist/declarations/lib/util/url.d.ts +1 -0
- package/dist/declarations/lib/util/useCopyToClipboard.d.ts +1 -0
- package/dist/declarations/lib/util/useExposedProps.d.ts +9 -0
- package/dist/declarations/lib/util/useIsomorphicLayoutEffect.d.ts +3 -0
- package/dist/declarations/lib/util/useLatest.d.ts +1 -0
- package/dist/declarations/lib/util/useOnScreen.d.ts +5 -0
- package/dist/declarations/lib/util/useScrollToAnchor.d.ts +2 -0
- package/dist/declarations/lib/util/useScrollToTop.d.ts +1 -0
- package/dist/declarations/vite/index.d.ts +2 -0
- package/dist/declarations/vite/mdx/rehype-extract-toc-with-jsx.d.ts +17 -0
- package/dist/declarations/vite/plugin-theme.d.ts +8 -0
- package/dist/declarations/vite/shadcn-registry.d.ts +20 -0
- package/dist/declarations/zuplo/with-zuplo.d.ts +3 -0
- package/dist/flat-config.d.ts +641 -0
- package/docs/components/alert.mdx +130 -0
- package/docs/components/badge.mdx +70 -0
- package/docs/components/button.mdx +132 -0
- package/docs/components/callout.mdx +112 -0
- package/docs/components/card.mdx +104 -0
- package/docs/components/checkbox.mdx +72 -0
- package/docs/components/client-only.mdx +79 -0
- package/docs/components/code-tabs.mdx +179 -0
- package/docs/components/dialog.mdx +167 -0
- package/docs/components/head.mdx +200 -0
- package/docs/components/icons.mdx +27 -0
- package/docs/components/input.mdx +96 -0
- package/docs/components/label.mdx +86 -0
- package/docs/components/link.mdx +242 -0
- package/docs/components/markdown.mdx +151 -0
- package/docs/components/mermaid.mdx +81 -0
- package/docs/components/playground.mdx +87 -0
- package/docs/components/secret.mdx +79 -0
- package/docs/components/select.mdx +176 -0
- package/docs/components/shadcn.mdx +73 -0
- package/docs/components/slider.mdx +108 -0
- package/docs/components/slot.mdx +119 -0
- package/docs/components/stepper.mdx +138 -0
- package/docs/components/switch.mdx +96 -0
- package/docs/components/syntax-highlight.mdx +602 -0
- package/docs/components/textarea.mdx +78 -0
- package/docs/components/tooltip.mdx +195 -0
- package/docs/components/typography.mdx +61 -0
- package/docs/concepts/auth-provider-api-identities.md +109 -0
- package/docs/configuration/ai-assistants.md +65 -0
- package/docs/configuration/api-catalog.md +109 -0
- package/docs/configuration/api-reference.md +397 -0
- package/docs/configuration/authentication-auth0.md +174 -0
- package/docs/configuration/authentication-azure-ad.md +238 -0
- package/docs/configuration/authentication-clerk.md +110 -0
- package/docs/configuration/authentication-firebase.md +62 -0
- package/docs/configuration/authentication-pingfederate.md +136 -0
- package/docs/configuration/authentication-supabase.md +226 -0
- package/docs/configuration/authentication.md +200 -0
- package/docs/configuration/build-configuration.mdx +147 -0
- package/docs/configuration/docs.md +282 -0
- package/docs/configuration/footer.mdx +214 -0
- package/docs/configuration/llms.md +90 -0
- package/docs/configuration/make-config.mdx +90 -0
- package/docs/configuration/navigation.mdx +422 -0
- package/docs/configuration/overview.md +380 -0
- package/docs/configuration/protected-routes.md +150 -0
- package/docs/configuration/search.md +163 -0
- package/docs/configuration/sentry.mdx +44 -0
- package/docs/configuration/site.md +124 -0
- package/docs/configuration/slots.mdx +125 -0
- package/docs/configuration/vite-config.md +18 -0
- package/docs/custom-plugins.md +285 -0
- package/docs/customization/colors-theme.mdx +276 -0
- package/docs/customization/fonts.md +110 -0
- package/docs/deploy/apache-nginx.md +41 -0
- package/docs/deploy/apitogo.md +139 -0
- package/docs/deploy/cloudflare-pages.md +75 -0
- package/docs/deploy/direct-upload.md +18 -0
- package/docs/deploy/github-pages.md +50 -0
- package/docs/deploy/vercel.md +103 -0
- package/docs/deployment.md +21 -0
- package/docs/extending/events.md +124 -0
- package/docs/guides/custom-pages.md +106 -0
- package/docs/guides/environment-variables.md +99 -0
- package/docs/guides/managing-api-keys-and-identities.md +172 -0
- package/docs/guides/mermaid.mdx +70 -0
- package/docs/guides/navigation-migration.md +87 -0
- package/docs/guides/navigation-rules.mdx +203 -0
- package/docs/guides/processors.mdx +234 -0
- package/docs/guides/static-files.md +55 -0
- package/docs/guides/transforming-examples.md +156 -0
- package/docs/guides/using-multiple-apis.md +87 -0
- package/docs/markdown/admonitions.md +128 -0
- package/docs/markdown/code-blocks.md +196 -0
- package/docs/markdown/frontmatter.md +173 -0
- package/docs/markdown/mdx.md +68 -0
- package/docs/markdown/overview.md +275 -0
- package/docs/plugins.md +5 -0
- package/docs/quickstart.md +87 -0
- package/docs/writing.mdx +72 -0
- package/package.json +380 -0
- package/src/app/ZuploBuildConfig.ts +36 -0
- package/src/app/defaultTheme.css +77 -0
- package/src/app/demo-cdn.html +37 -0
- package/src/app/demo.html +21 -0
- package/src/app/demo.tsx +77 -0
- package/src/app/entry.client.tsx +118 -0
- package/src/app/entry.server.tsx +160 -0
- package/src/app/env.ts +40 -0
- package/src/app/font.geist.css +73 -0
- package/src/app/main.css +390 -0
- package/src/app/main.tsx +165 -0
- package/src/app/polyfills.ts +47 -0
- package/src/app/processRoutes.tsx +51 -0
- package/src/app/sentry.ts +24 -0
- package/src/app/standalone.html +23 -0
- package/src/app/standalone.tsx +60 -0
- package/src/app/utils/createRedirectRoutes.ts +11 -0
- package/src/config/config.ts +70 -0
- package/src/config/create-plugin.ts +71 -0
- package/src/config/file-exists.ts +6 -0
- package/src/config/loader.ts +258 -0
- package/src/config/resolve-modules.ts +260 -0
- package/src/config/validators/BuildSchema.ts +95 -0
- package/src/config/validators/HeaderNavigationSchema.ts +41 -0
- package/src/config/validators/InputNavigationSchema.test-d.ts +178 -0
- package/src/config/validators/InputNavigationSchema.ts +206 -0
- package/src/config/validators/ModulesSchema.ts +312 -0
- package/src/config/validators/NavigationSchema.ts +352 -0
- package/src/config/validators/ProtectedRoutesSchema.ts +35 -0
- package/src/config/validators/ZudokuConfig.ts +759 -0
- package/src/config/validators/auth.ts +3 -0
- package/src/config/validators/icon-types.ts +1955 -0
- package/src/config/validators/reason-codes.ts +7 -0
- package/src/env.d.ts +11 -0
- package/src/index.ts +74 -0
- package/src/lib/MissingIcon.tsx +22 -0
- package/src/lib/assets/language-icons/bun.tsx +50 -0
- package/src/lib/assets/language-icons/c.tsx +31 -0
- package/src/lib/assets/language-icons/commonlisp.tsx +22 -0
- package/src/lib/assets/language-icons/cpp.tsx +35 -0
- package/src/lib/assets/language-icons/csharp.tsx +35 -0
- package/src/lib/assets/language-icons/css.tsx +36 -0
- package/src/lib/assets/language-icons/dart.tsx +39 -0
- package/src/lib/assets/language-icons/elixir.tsx +19 -0
- package/src/lib/assets/language-icons/go.tsx +19 -0
- package/src/lib/assets/language-icons/graphql.tsx +19 -0
- package/src/lib/assets/language-icons/html.tsx +24 -0
- package/src/lib/assets/language-icons/java.tsx +35 -0
- package/src/lib/assets/language-icons/javascript.tsx +11 -0
- package/src/lib/assets/language-icons/json.tsx +19 -0
- package/src/lib/assets/language-icons/kotlin.tsx +30 -0
- package/src/lib/assets/language-icons/markdown.tsx +19 -0
- package/src/lib/assets/language-icons/mdx.tsx +23 -0
- package/src/lib/assets/language-icons/npm.tsx +15 -0
- package/src/lib/assets/language-icons/objectivec.tsx +23 -0
- package/src/lib/assets/language-icons/ocaml.tsx +34 -0
- package/src/lib/assets/language-icons/php.tsx +19 -0
- package/src/lib/assets/language-icons/pnpm.tsx +32 -0
- package/src/lib/assets/language-icons/powershell.tsx +27 -0
- package/src/lib/assets/language-icons/python.tsx +23 -0
- package/src/lib/assets/language-icons/react.tsx +21 -0
- package/src/lib/assets/language-icons/ruby.tsx +19 -0
- package/src/lib/assets/language-icons/rust.tsx +19 -0
- package/src/lib/assets/language-icons/scala.tsx +19 -0
- package/src/lib/assets/language-icons/shell.tsx +19 -0
- package/src/lib/assets/language-icons/swift.tsx +19 -0
- package/src/lib/assets/language-icons/toml.tsx +23 -0
- package/src/lib/assets/language-icons/typescript.tsx +23 -0
- package/src/lib/assets/language-icons/xml.tsx +19 -0
- package/src/lib/assets/language-icons/yaml.tsx +23 -0
- package/src/lib/assets/language-icons/yarn.tsx +17 -0
- package/src/lib/assets/language-icons/zig.tsx +32 -0
- package/src/lib/auth/issuer.ts +31 -0
- package/src/lib/authentication/AuthenticationPlugin.tsx +33 -0
- package/src/lib/authentication/authentication.ts +48 -0
- package/src/lib/authentication/components/CallbackHandler.tsx +45 -0
- package/src/lib/authentication/components/OAuthErrorPage.tsx +197 -0
- package/src/lib/authentication/components/SignIn.tsx +46 -0
- package/src/lib/authentication/components/SignOut.tsx +15 -0
- package/src/lib/authentication/components/SignUp.tsx +48 -0
- package/src/lib/authentication/constants.ts +1 -0
- package/src/lib/authentication/errors.ts +34 -0
- package/src/lib/authentication/hook.ts +139 -0
- package/src/lib/authentication/providers/auth0.tsx +91 -0
- package/src/lib/authentication/providers/azureb2c.tsx +223 -0
- package/src/lib/authentication/providers/clerk.tsx +224 -0
- package/src/lib/authentication/providers/firebase.tsx +486 -0
- package/src/lib/authentication/providers/openid.tsx +516 -0
- package/src/lib/authentication/providers/supabase.tsx +412 -0
- package/src/lib/authentication/providers/util.ts +26 -0
- package/src/lib/authentication/state.ts +91 -0
- package/src/lib/authentication/ui/AuthCard.tsx +7 -0
- package/src/lib/authentication/ui/EmailLinkCallbackUi.tsx +129 -0
- package/src/lib/authentication/ui/EmailLinkSentUi.tsx +105 -0
- package/src/lib/authentication/ui/EmailLinkSignInUi.tsx +100 -0
- package/src/lib/authentication/ui/EmailVerificationUi.tsx +128 -0
- package/src/lib/authentication/ui/ZudokuAuthUi.tsx +620 -0
- package/src/lib/authentication/ui/icons/Apple.tsx +10 -0
- package/src/lib/authentication/ui/icons/Facebook.tsx +15 -0
- package/src/lib/authentication/ui/icons/Github.tsx +16 -0
- package/src/lib/authentication/ui/icons/Google.tsx +16 -0
- package/src/lib/authentication/ui/icons/Microsoft.tsx +12 -0
- package/src/lib/authentication/ui/icons/X.tsx +10 -0
- package/src/lib/authentication/utils/relativeRedirectUrl.ts +16 -0
- package/src/lib/components/AiAssistantMenuItems.tsx +102 -0
- package/src/lib/components/AnchorLink.tsx +24 -0
- package/src/lib/components/Autocomplete.tsx +123 -0
- package/src/lib/components/Banner.tsx +52 -0
- package/src/lib/components/Bootstrap.tsx +77 -0
- package/src/lib/components/BuildCheck.tsx +87 -0
- package/src/lib/components/CategoryHeading.tsx +19 -0
- package/src/lib/components/ClientOnly.tsx +19 -0
- package/src/lib/components/DeveloperHint.tsx +39 -0
- package/src/lib/components/ErrorPage.tsx +26 -0
- package/src/lib/components/Footer.tsx +140 -0
- package/src/lib/components/Framed.tsx +51 -0
- package/src/lib/components/Header.tsx +260 -0
- package/src/lib/components/HeaderNavigation.tsx +148 -0
- package/src/lib/components/Heading.tsx +84 -0
- package/src/lib/components/InlineCode.tsx +15 -0
- package/src/lib/components/LandingLayout.tsx +21 -0
- package/src/lib/components/LanguageIcon.tsx +199 -0
- package/src/lib/components/Layout.tsx +53 -0
- package/src/lib/components/Main.tsx +51 -0
- package/src/lib/components/Markdown.tsx +55 -0
- package/src/lib/components/Mermaid.tsx +74 -0
- package/src/lib/components/Meta.tsx +46 -0
- package/src/lib/components/MobileTopNavigation.tsx +276 -0
- package/src/lib/components/MultiSelect.tsx +86 -0
- package/src/lib/components/NotFoundPage.tsx +37 -0
- package/src/lib/components/PageProgress.tsx +28 -0
- package/src/lib/components/PagefindSearchMeta.tsx +14 -0
- package/src/lib/components/Pagination.tsx +44 -0
- package/src/lib/components/PathRenderer.tsx +61 -0
- package/src/lib/components/PluginHeads.tsx +17 -0
- package/src/lib/components/Search.tsx +70 -0
- package/src/lib/components/Slot.tsx +64 -0
- package/src/lib/components/Spinner.tsx +5 -0
- package/src/lib/components/StatusPage.tsx +96 -0
- package/src/lib/components/ThemeSwitch.tsx +49 -0
- package/src/lib/components/TopNavigation.tsx +103 -0
- package/src/lib/components/Typography.tsx +12 -0
- package/src/lib/components/Zudoku.tsx +106 -0
- package/src/lib/components/cache.ts +27 -0
- package/src/lib/components/context/RenderContext.ts +11 -0
- package/src/lib/components/context/RouterEventsEmitter.tsx +19 -0
- package/src/lib/components/context/SlotProvider.tsx +149 -0
- package/src/lib/components/context/ViewportAnchorContext.tsx +137 -0
- package/src/lib/components/context/ZudokuContext.ts +140 -0
- package/src/lib/components/context/ZudokuProvider.tsx +22 -0
- package/src/lib/components/context/ZudokuReactContext.tsx +17 -0
- package/src/lib/components/index.ts +36 -0
- package/src/lib/components/navigation/Navigation.tsx +51 -0
- package/src/lib/components/navigation/NavigationBadge.tsx +48 -0
- package/src/lib/components/navigation/NavigationCategory.tsx +157 -0
- package/src/lib/components/navigation/NavigationFilterContext.tsx +28 -0
- package/src/lib/components/navigation/NavigationFilterInput.tsx +35 -0
- package/src/lib/components/navigation/NavigationItem.tsx +181 -0
- package/src/lib/components/navigation/NavigationWrapper.tsx +49 -0
- package/src/lib/components/navigation/PoweredByZudoku.tsx +39 -0
- package/src/lib/components/navigation/Toc.tsx +137 -0
- package/src/lib/components/navigation/ZudokuLogo.tsx +25 -0
- package/src/lib/components/navigation/ZuploLogo.tsx +14 -0
- package/src/lib/components/navigation/utils.ts +234 -0
- package/src/lib/core/RouteGuard.tsx +193 -0
- package/src/lib/core/ZudokuContext.ts +271 -0
- package/src/lib/core/plugins.ts +138 -0
- package/src/lib/core/react-query.ts +1 -0
- package/src/lib/core/router.ts +1 -0
- package/src/lib/core/transform-config.ts +67 -0
- package/src/lib/demo/DemoAnnouncement.tsx +17 -0
- package/src/lib/errors/ErrorAlert.tsx +28 -0
- package/src/lib/errors/ErrorMessage.tsx +50 -0
- package/src/lib/errors/RouterError.tsx +18 -0
- package/src/lib/errors/ServerError.tsx +5 -0
- package/src/lib/errors/TopLevelError.tsx +6 -0
- package/src/lib/hooks/index.ts +13 -0
- package/src/lib/hooks/useEvent.ts +41 -0
- package/src/lib/hooks/useHighlighter.ts +15 -0
- package/src/lib/hooks/useHotkey.ts +70 -0
- package/src/lib/icons.ts +2 -0
- package/src/lib/navigation/applyRules.ts +127 -0
- package/src/lib/navigation/pathMatcher.ts +81 -0
- package/src/lib/oas/graphql/circular.ts +69 -0
- package/src/lib/oas/graphql/constants.ts +2 -0
- package/src/lib/oas/graphql/index.ts +791 -0
- package/src/lib/oas/parser/dereference/index.ts +84 -0
- package/src/lib/oas/parser/dereference/resolveRef.ts +32 -0
- package/src/lib/oas/parser/index.ts +129 -0
- package/src/lib/oas/parser/schemas/v3.0.json +1489 -0
- package/src/lib/oas/parser/schemas/v3.1.json +1298 -0
- package/src/lib/oas/parser/upgrade/index.ts +174 -0
- package/src/lib/plugins/api-catalog/Catalog.tsx +80 -0
- package/src/lib/plugins/api-catalog/index.tsx +119 -0
- package/src/lib/plugins/api-keys/CreateApiKey.tsx +128 -0
- package/src/lib/plugins/api-keys/CreateApiKeyDialog.tsx +49 -0
- package/src/lib/plugins/api-keys/ProtectedRoute.tsx +33 -0
- package/src/lib/plugins/api-keys/SettingsApiKeys.tsx +72 -0
- package/src/lib/plugins/api-keys/index.tsx +274 -0
- package/src/lib/plugins/api-keys/settings/ApiKeyItem.tsx +342 -0
- package/src/lib/plugins/api-keys/settings/ApiKeyList.tsx +67 -0
- package/src/lib/plugins/api-keys/settings/RevealApiKey.tsx +127 -0
- package/src/lib/plugins/custom-pages/index.tsx +32 -0
- package/src/lib/plugins/markdown/MdxPage.tsx +260 -0
- package/src/lib/plugins/markdown/assets/ChatGPTLogo.tsx +11 -0
- package/src/lib/plugins/markdown/assets/ClaudeLogo.tsx +19 -0
- package/src/lib/plugins/markdown/index.tsx +62 -0
- package/src/lib/plugins/openapi/ApiHeader.tsx +96 -0
- package/src/lib/plugins/openapi/CollapsibleCode.tsx +88 -0
- package/src/lib/plugins/openapi/ColorizedParam.tsx +115 -0
- package/src/lib/plugins/openapi/DownloadSchemaButton.tsx +94 -0
- package/src/lib/plugins/openapi/Endpoint.tsx +85 -0
- package/src/lib/plugins/openapi/GeneratedExampleSidecarBox.tsx +52 -0
- package/src/lib/plugins/openapi/MCPEndpoint.tsx +273 -0
- package/src/lib/plugins/openapi/OasProvider.tsx +74 -0
- package/src/lib/plugins/openapi/OperationList.tsx +275 -0
- package/src/lib/plugins/openapi/OperationListItem.tsx +183 -0
- package/src/lib/plugins/openapi/ParamInfos.tsx +96 -0
- package/src/lib/plugins/openapi/ParameterList.tsx +53 -0
- package/src/lib/plugins/openapi/ParameterListItem.tsx +161 -0
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +67 -0
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +63 -0
- package/src/lib/plugins/openapi/ResponsesSidecarBox.tsx +120 -0
- package/src/lib/plugins/openapi/SchemaInfo.tsx +344 -0
- package/src/lib/plugins/openapi/SchemaList.tsx +113 -0
- package/src/lib/plugins/openapi/Sidecar.tsx +314 -0
- package/src/lib/plugins/openapi/SidecarBox.tsx +57 -0
- package/src/lib/plugins/openapi/SidecarExamples.tsx +177 -0
- package/src/lib/plugins/openapi/SimpleSelect.tsx +46 -0
- package/src/lib/plugins/openapi/client/GraphQLClient.tsx +73 -0
- package/src/lib/plugins/openapi/client/GraphQLContext.tsx +16 -0
- package/src/lib/plugins/openapi/client/createServer.ts +35 -0
- package/src/lib/plugins/openapi/client/useCreateQuery.ts +44 -0
- package/src/lib/plugins/openapi/components/ConstValue.tsx +24 -0
- package/src/lib/plugins/openapi/components/EnumValues.tsx +58 -0
- package/src/lib/plugins/openapi/components/NonHighlightedCode.tsx +22 -0
- package/src/lib/plugins/openapi/components/ResponseContent.tsx +117 -0
- package/src/lib/plugins/openapi/components/SelectOnClick.tsx +29 -0
- package/src/lib/plugins/openapi/context.tsx +16 -0
- package/src/lib/plugins/openapi/graphql/fragment-masking.ts +104 -0
- package/src/lib/plugins/openapi/graphql/gql.ts +95 -0
- package/src/lib/plugins/openapi/graphql/graphql.ts +835 -0
- package/src/lib/plugins/openapi/graphql/index.ts +2 -0
- package/src/lib/plugins/openapi/index.tsx +221 -0
- package/src/lib/plugins/openapi/interfaces.ts +100 -0
- package/src/lib/plugins/openapi/playground/BodyPanel.tsx +274 -0
- package/src/lib/plugins/openapi/playground/CollapsibleHeader.tsx +51 -0
- package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +60 -0
- package/src/lib/plugins/openapi/playground/Headers.tsx +194 -0
- package/src/lib/plugins/openapi/playground/IdentityDialog.tsx +75 -0
- package/src/lib/plugins/openapi/playground/IdentitySelector.tsx +38 -0
- package/src/lib/plugins/openapi/playground/ParamsGrid.tsx +45 -0
- package/src/lib/plugins/openapi/playground/PathParams.tsx +53 -0
- package/src/lib/plugins/openapi/playground/Playground.tsx +602 -0
- package/src/lib/plugins/openapi/playground/PlaygroundDialog.tsx +56 -0
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +151 -0
- package/src/lib/plugins/openapi/playground/RequestLoginDialog.tsx +70 -0
- package/src/lib/plugins/openapi/playground/Spinner.tsx +87 -0
- package/src/lib/plugins/openapi/playground/createUrl.ts +25 -0
- package/src/lib/plugins/openapi/playground/fileUtils.ts +36 -0
- package/src/lib/plugins/openapi/playground/rememberedIdentity.ts +26 -0
- package/src/lib/plugins/openapi/playground/request-panel/MultipartField.tsx +91 -0
- package/src/lib/plugins/openapi/playground/request-panel/UrlPath.tsx +31 -0
- package/src/lib/plugins/openapi/playground/request-panel/UrlQueryParams.tsx +29 -0
- package/src/lib/plugins/openapi/playground/request-panel/useKeyValueFieldManager.ts +340 -0
- package/src/lib/plugins/openapi/playground/result-panel/AudioPlayer.tsx +50 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseStatusBar.tsx +117 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResponseTab.tsx +355 -0
- package/src/lib/plugins/openapi/playground/result-panel/ResultPanel.tsx +106 -0
- package/src/lib/plugins/openapi/playground/result-panel/convertToTypes.ts +36 -0
- package/src/lib/plugins/openapi/playground/serializeQueryParams.ts +125 -0
- package/src/lib/plugins/openapi/playground/useRememberSkipLoginDialog.tsx +23 -0
- package/src/lib/plugins/openapi/processors/removeExtensions.ts +29 -0
- package/src/lib/plugins/openapi/processors/removeParameters.ts +103 -0
- package/src/lib/plugins/openapi/processors/removePaths.ts +57 -0
- package/src/lib/plugins/openapi/processors/traverse.ts +1 -0
- package/src/lib/plugins/openapi/schema/SchemaExampleAndDefault.tsx +39 -0
- package/src/lib/plugins/openapi/schema/SchemaPropertyItem.tsx +189 -0
- package/src/lib/plugins/openapi/schema/SchemaView.tsx +299 -0
- package/src/lib/plugins/openapi/schema/UnionView.tsx +132 -0
- package/src/lib/plugins/openapi/schema/union-helpers.ts +123 -0
- package/src/lib/plugins/openapi/schema/utils.ts +49 -0
- package/src/lib/plugins/openapi/state.ts +36 -0
- package/src/lib/plugins/openapi/util/buildTagCategories.ts +54 -0
- package/src/lib/plugins/openapi/util/createHttpSnippet.ts +135 -0
- package/src/lib/plugins/openapi/util/createNavigationCategory.tsx +39 -0
- package/src/lib/plugins/openapi/util/generateSchemaExample.ts +191 -0
- package/src/lib/plugins/openapi/util/getRoutes.tsx +265 -0
- package/src/lib/plugins/openapi/util/methodColorMap.tsx +11 -0
- package/src/lib/plugins/openapi/util/methodToColor.ts +27 -0
- package/src/lib/plugins/openapi/util/sanitizeMarkdownForMetatag.tsx +32 -0
- package/src/lib/plugins/openapi/util/useWarmupSchema.ts +23 -0
- package/src/lib/plugins/search-inkeep/index.tsx +108 -0
- package/src/lib/plugins/search-inkeep/inkeep.ts +24 -0
- package/src/lib/plugins/search-pagefind/IndexingDialog.tsx +162 -0
- package/src/lib/plugins/search-pagefind/PagefindSearch.tsx +202 -0
- package/src/lib/plugins/search-pagefind/ResultList.tsx +122 -0
- package/src/lib/plugins/search-pagefind/get-results.tsx +74 -0
- package/src/lib/plugins/search-pagefind/index.tsx +21 -0
- package/src/lib/plugins/search-pagefind/types.ts +118 -0
- package/src/lib/shiki-constants.ts +24 -0
- package/src/lib/shiki.ts +179 -0
- package/src/lib/testing/index.tsx +146 -0
- package/src/lib/ui/Accordion.tsx +55 -0
- package/src/lib/ui/ActionButton.tsx +21 -0
- package/src/lib/ui/Alert.tsx +84 -0
- package/src/lib/ui/AlertDialog.tsx +195 -0
- package/src/lib/ui/AspectRatio.tsx +5 -0
- package/src/lib/ui/Badge.tsx +48 -0
- package/src/lib/ui/Breadcrumb.tsx +115 -0
- package/src/lib/ui/Button.tsx +65 -0
- package/src/lib/ui/ButtonGroup.tsx +80 -0
- package/src/lib/ui/Callout.tsx +113 -0
- package/src/lib/ui/Card.tsx +95 -0
- package/src/lib/ui/Carousel.tsx +259 -0
- package/src/lib/ui/Checkbox.tsx +28 -0
- package/src/lib/ui/CodeBlock.tsx +92 -0
- package/src/lib/ui/CodeTabPanel.tsx +13 -0
- package/src/lib/ui/CodeTabs.tsx +161 -0
- package/src/lib/ui/Collapsible.tsx +31 -0
- package/src/lib/ui/Command.tsx +191 -0
- package/src/lib/ui/Dialog.tsx +138 -0
- package/src/lib/ui/DismissibleAlert.tsx +74 -0
- package/src/lib/ui/Drawer.tsx +121 -0
- package/src/lib/ui/DropdownMenu.tsx +254 -0
- package/src/lib/ui/EmbeddedCodeBlock.tsx +99 -0
- package/src/lib/ui/Form.tsx +176 -0
- package/src/lib/ui/Frame.tsx +81 -0
- package/src/lib/ui/HoverCard.tsx +26 -0
- package/src/lib/ui/Input.tsx +23 -0
- package/src/lib/ui/InputGroup.tsx +168 -0
- package/src/lib/ui/Item.tsx +213 -0
- package/src/lib/ui/Kbd.tsx +28 -0
- package/src/lib/ui/Label.tsx +23 -0
- package/src/lib/ui/NativeSelect.tsx +48 -0
- package/src/lib/ui/NavigationMenu.tsx +169 -0
- package/src/lib/ui/Pagination.tsx +115 -0
- package/src/lib/ui/Popover.tsx +28 -0
- package/src/lib/ui/Progress.tsx +25 -0
- package/src/lib/ui/RadioGroup.tsx +41 -0
- package/src/lib/ui/ReactComponentDoc.tsx +68 -0
- package/src/lib/ui/ScrollArea.tsx +45 -0
- package/src/lib/ui/Secret.tsx +133 -0
- package/src/lib/ui/Select.tsx +184 -0
- package/src/lib/ui/Separator.tsx +25 -0
- package/src/lib/ui/Skeleton.tsx +15 -0
- package/src/lib/ui/Slider.tsx +25 -0
- package/src/lib/ui/Stepper.tsx +8 -0
- package/src/lib/ui/Switch.tsx +26 -0
- package/src/lib/ui/SyntaxHighlight.tsx +54 -0
- package/src/lib/ui/Tabs.tsx +52 -0
- package/src/lib/ui/Textarea.tsx +22 -0
- package/src/lib/ui/Toggle.tsx +42 -0
- package/src/lib/ui/ToggleGroup.tsx +58 -0
- package/src/lib/ui/Tooltip.tsx +65 -0
- package/src/lib/ui/Value.tsx +42 -0
- package/src/lib/ui/util.tsx +8 -0
- package/src/lib/util/MdxComponents.tsx +150 -0
- package/src/lib/util/cn.ts +6 -0
- package/src/lib/util/createVariantComponent.tsx +61 -0
- package/src/lib/util/ensureArray.ts +3 -0
- package/src/lib/util/flattenAllOf.ts +72 -0
- package/src/lib/util/flattenAllOfProcessor.ts +74 -0
- package/src/lib/util/hastToJsx.tsx +67 -0
- package/src/lib/util/humanFileSize.ts +15 -0
- package/src/lib/util/invariant.ts +52 -0
- package/src/lib/util/joinUrl.ts +60 -0
- package/src/lib/util/logInit.ts +9 -0
- package/src/lib/util/objectEntries.ts +5 -0
- package/src/lib/util/os.ts +18 -0
- package/src/lib/util/pastellize.ts +25 -0
- package/src/lib/util/problemJson.ts +63 -0
- package/src/lib/util/readFrontmatter.ts +14 -0
- package/src/lib/util/renderIf.ts +4 -0
- package/src/lib/util/scrollIntoViewIfNeeded.ts +18 -0
- package/src/lib/util/slugify.ts +21 -0
- package/src/lib/util/syncZustandState.ts +22 -0
- package/src/lib/util/traverse.ts +70 -0
- package/src/lib/util/types.ts +7 -0
- package/src/lib/util/url.ts +18 -0
- package/src/lib/util/useCopyToClipboard.ts +17 -0
- package/src/lib/util/useExposedProps.tsx +27 -0
- package/src/lib/util/useIsomorphicLayoutEffect.ts +6 -0
- package/src/lib/util/useLatest.ts +18 -0
- package/src/lib/util/useOnScreen.ts +34 -0
- package/src/lib/util/useScrollToAnchor.ts +70 -0
- package/src/lib/util/useScrollToTop.ts +18 -0
- package/src/types.d.ts +57 -0
- package/src/vite/api/SchemaManager.ts +371 -0
- package/src/vite/api/schema-codegen.ts +163 -0
- package/src/vite/build.ts +237 -0
- package/src/vite/config.ts +258 -0
- package/src/vite/css/collect.ts +42 -0
- package/src/vite/css/plugin.ts +105 -0
- package/src/vite/debug.ts +18 -0
- package/src/vite/dev-server.ts +294 -0
- package/src/vite/html.ts +54 -0
- package/src/vite/index.ts +2 -0
- package/src/vite/llms.ts +99 -0
- package/src/vite/mdx/rehype-extract-toc-with-jsx-export.ts +19 -0
- package/src/vite/mdx/rehype-extract-toc-with-jsx.ts +70 -0
- package/src/vite/mdx/remark-code-tabs.ts +47 -0
- package/src/vite/mdx/remark-inject-filepath.ts +13 -0
- package/src/vite/mdx/remark-last-modified.ts +103 -0
- package/src/vite/mdx/remark-link-rewrite.ts +23 -0
- package/src/vite/mdx/remark-normalize-image-url.ts +15 -0
- package/src/vite/mdx/remark-static-generation.ts +149 -0
- package/src/vite/mdx/utils.ts +32 -0
- package/src/vite/output.ts +261 -0
- package/src/vite/package-root.ts +12 -0
- package/src/vite/pagefind-dev-index.ts +100 -0
- package/src/vite/pagefind-dev-stub.ts +17 -0
- package/src/vite/plugin-api-keys.ts +55 -0
- package/src/vite/plugin-api.ts +323 -0
- package/src/vite/plugin-auth.ts +42 -0
- package/src/vite/plugin-component.ts +45 -0
- package/src/vite/plugin-config-reload.ts +49 -0
- package/src/vite/plugin-config.ts +75 -0
- package/src/vite/plugin-custom-pages.ts +36 -0
- package/src/vite/plugin-doc-metadata.ts +45 -0
- package/src/vite/plugin-docs.ts +205 -0
- package/src/vite/plugin-markdown-export.ts +214 -0
- package/src/vite/plugin-mdx.ts +149 -0
- package/src/vite/plugin-metadata.ts +30 -0
- package/src/vite/plugin-modules.ts +144 -0
- package/src/vite/plugin-navigation.ts +106 -0
- package/src/vite/plugin-search.ts +59 -0
- package/src/vite/plugin-shiki-register.ts +97 -0
- package/src/vite/plugin-theme.ts +399 -0
- package/src/vite/plugin.ts +44 -0
- package/src/vite/prerender/prerender.ts +242 -0
- package/src/vite/prerender/utils.ts +76 -0
- package/src/vite/prerender/worker.ts +118 -0
- package/src/vite/reporter.ts +34 -0
- package/src/vite/shadcn-registry.ts +48 -0
- package/src/vite/sitemap.ts +78 -0
- package/src/vite/ssr-templates/cloudflare.ts +19 -0
- package/src/vite/ssr-templates/node.ts +25 -0
- package/src/vite/ssr-templates/vercel.ts +22 -0
- package/src/vite/zuplo.ts +30 -0
- package/src/vite-env.d.ts +6 -0
- package/src/zuplo/enrich-with-zuplo-mcp.ts +168 -0
- package/src/zuplo/enrich-with-zuplo.ts +256 -0
- package/src/zuplo/policy-types.ts +46 -0
- package/src/zuplo/with-zuplo-processors.ts +36 -0
- package/src/zuplo/with-zuplo.ts +14 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Supabase Setup
|
|
3
|
+
sidebar_label: Supabase
|
|
4
|
+
description:
|
|
5
|
+
Learn how to set up Supabase authentication for APIToGo, leveraging Supabase's built-in auth
|
|
6
|
+
providers for secure documentation access.
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
Supabase is an open-source Firebase alternative that provides authentication, database, and storage
|
|
10
|
+
services. This guide shows you how to integrate Supabase authentication with your APIToGo
|
|
11
|
+
documentation site.
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
You'll need a Supabase project. If you don't have one,
|
|
16
|
+
[create a free Supabase project](https://supabase.com/dashboard) to get started.
|
|
17
|
+
|
|
18
|
+
## Setup Steps
|
|
19
|
+
|
|
20
|
+
<Stepper>
|
|
21
|
+
|
|
22
|
+
1. **Configure Authentication Provider**
|
|
23
|
+
|
|
24
|
+
In your [Supabase Dashboard](https://supabase.com/dashboard):
|
|
25
|
+
- Navigate to **Authentication** → **Providers**
|
|
26
|
+
- Enable your preferred authentication provider (GitHub, Google, Azure, etc.)
|
|
27
|
+
- Configure the provider settings:
|
|
28
|
+
- **Redirect URL**: `https://your-project.supabase.co/auth/v1/callback`
|
|
29
|
+
- Copy any required credentials (Client ID, Client Secret) from the provider
|
|
30
|
+
|
|
31
|
+
2. **Get Your Project Credentials**
|
|
32
|
+
|
|
33
|
+
From your Supabase project dashboard:
|
|
34
|
+
- Go to **Settings** → **Data API**
|
|
35
|
+
- Copy your **Project URL** (looks like `https://your-project.supabase.co`)
|
|
36
|
+
- Go to **Settings** → **API Keys**
|
|
37
|
+
- Copy your **anon public** API key
|
|
38
|
+
|
|
39
|
+
3. **Configure APIToGo**
|
|
40
|
+
|
|
41
|
+
Add the Supabase configuration to your [APIToGo configuration file](./overview.md):
|
|
42
|
+
|
|
43
|
+
```ts title="apitogo.config.ts"
|
|
44
|
+
export default {
|
|
45
|
+
// ... other configuration
|
|
46
|
+
authentication: {
|
|
47
|
+
type: "supabase",
|
|
48
|
+
providers: ["github"], // one or more providers
|
|
49
|
+
supabaseUrl: "https://your-project.supabase.co",
|
|
50
|
+
supabaseKey: "<your-anon-public-key>",
|
|
51
|
+
},
|
|
52
|
+
// ... other configuration
|
|
53
|
+
};
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
You can configure multiple providers:
|
|
57
|
+
|
|
58
|
+
```ts title="apitogo.config.ts"
|
|
59
|
+
export default {
|
|
60
|
+
// ... other configuration
|
|
61
|
+
authentication: {
|
|
62
|
+
type: "supabase",
|
|
63
|
+
providers: ["github", "google", "azure"],
|
|
64
|
+
supabaseUrl: "https://your-project.supabase.co",
|
|
65
|
+
supabaseKey: "<your-anon-public-key>",
|
|
66
|
+
},
|
|
67
|
+
// ... other configuration
|
|
68
|
+
};
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
4. **Install Supabase Dependencies**
|
|
72
|
+
|
|
73
|
+
Add `@supabase/supabase-js` to your project dependencies:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npm install @supabase/supabase-js @supabase/auth-ui-shared @supabase/auth-ui-react
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
</Stepper>
|
|
80
|
+
|
|
81
|
+
## Supported Providers
|
|
82
|
+
|
|
83
|
+
Supabase supports numerous authentication providers. Use any of these values in the `providers`
|
|
84
|
+
array:
|
|
85
|
+
|
|
86
|
+
- `apple` - Sign in with Apple
|
|
87
|
+
- `azure` - Microsoft Azure AD
|
|
88
|
+
- `bitbucket` - Bitbucket
|
|
89
|
+
- `discord` - Discord
|
|
90
|
+
- `facebook` - Facebook
|
|
91
|
+
- `figma` - Figma
|
|
92
|
+
- `github` - GitHub
|
|
93
|
+
- `gitlab` - GitLab
|
|
94
|
+
- `google` - Google
|
|
95
|
+
- `kakao` - Kakao
|
|
96
|
+
- `keycloak` - Keycloak
|
|
97
|
+
- `linkedin` / `linkedin_oidc` - LinkedIn
|
|
98
|
+
- `notion` - Notion
|
|
99
|
+
- `slack` / `slack_oidc` - Slack
|
|
100
|
+
- `spotify` - Spotify
|
|
101
|
+
- `twitch` - Twitch
|
|
102
|
+
- `twitter` - Twitter/X
|
|
103
|
+
- `workos` - WorkOS
|
|
104
|
+
- `zoom` - Zoom
|
|
105
|
+
- `fly` - Fly.io
|
|
106
|
+
|
|
107
|
+
:::info
|
|
108
|
+
|
|
109
|
+
Email/password authentication does not need to be specified as a provider because it is enabled by
|
|
110
|
+
default in Supabase. To disable email/password authentication and only use OAuth providers, set
|
|
111
|
+
`onlyThirdPartyProviders: true` in your configuration.
|
|
112
|
+
|
|
113
|
+
:::
|
|
114
|
+
|
|
115
|
+
## Configuration Options
|
|
116
|
+
|
|
117
|
+
All available configuration options for Supabase authentication:
|
|
118
|
+
|
|
119
|
+
```ts title="apitogo.config.ts"
|
|
120
|
+
authentication: {
|
|
121
|
+
type: "supabase",
|
|
122
|
+
|
|
123
|
+
// Provider configuration (required)
|
|
124
|
+
// Array of one or more OAuth providers to enable
|
|
125
|
+
providers: ["google", "github"],
|
|
126
|
+
|
|
127
|
+
// Supabase credentials (required)
|
|
128
|
+
supabaseUrl: "https://your-project.supabase.co",
|
|
129
|
+
supabaseKey: "<your-anon-public-key>",
|
|
130
|
+
|
|
131
|
+
// Optional: Custom base path for auth routes (default: "/")
|
|
132
|
+
basePath: "/docs",
|
|
133
|
+
|
|
134
|
+
// Optional: Disable email/password authentication, only use OAuth providers
|
|
135
|
+
onlyThirdPartyProviders: true,
|
|
136
|
+
|
|
137
|
+
// Optional: Redirect URLs after authentication events
|
|
138
|
+
redirectToAfterSignUp: "/welcome",
|
|
139
|
+
redirectToAfterSignIn: "/dashboard",
|
|
140
|
+
redirectToAfterSignOut: "/",
|
|
141
|
+
}
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
### Authentication Routes
|
|
145
|
+
|
|
146
|
+
The Supabase authentication provider automatically creates the following routes:
|
|
147
|
+
|
|
148
|
+
- `/signin` - Sign in page with configured providers
|
|
149
|
+
- `/signup` - Sign up page with configured providers
|
|
150
|
+
- `/signout` - Sign out endpoint
|
|
151
|
+
|
|
152
|
+
If you configure a custom `basePath`, these routes will be prefixed with that path (e.g.,
|
|
153
|
+
`/docs/signin`).
|
|
154
|
+
|
|
155
|
+
## Advanced Configuration
|
|
156
|
+
|
|
157
|
+
### User Profile Data
|
|
158
|
+
|
|
159
|
+
APIToGo automatically extracts the following user information from Supabase authentication:
|
|
160
|
+
|
|
161
|
+
- `sub` - User ID from Supabase
|
|
162
|
+
- `email` - User's email address
|
|
163
|
+
- `name` - User's full name (from `user_metadata.full_name` or `user_metadata.name`)
|
|
164
|
+
- `emailVerified` - Whether the email has been confirmed
|
|
165
|
+
- `pictureUrl` - User's avatar URL (from `user_metadata.avatar_url`)
|
|
166
|
+
|
|
167
|
+
### Additional User Metadata
|
|
168
|
+
|
|
169
|
+
To store and access additional user information beyond what's provided by Supabase authentication:
|
|
170
|
+
|
|
171
|
+
1. Create a `profiles` table in your Supabase database
|
|
172
|
+
2. Set up a database trigger to create profile records on user signup
|
|
173
|
+
3. Use the Supabase client to query this data in your application
|
|
174
|
+
|
|
175
|
+
Example profile table structure:
|
|
176
|
+
|
|
177
|
+
```sql
|
|
178
|
+
CREATE TABLE profiles (
|
|
179
|
+
id UUID REFERENCES auth.users ON DELETE CASCADE,
|
|
180
|
+
username TEXT UNIQUE,
|
|
181
|
+
bio TEXT,
|
|
182
|
+
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
183
|
+
PRIMARY KEY (id)
|
|
184
|
+
);
|
|
185
|
+
|
|
186
|
+
-- Create trigger to automatically create profile on user signup
|
|
187
|
+
CREATE OR REPLACE FUNCTION public.handle_new_user()
|
|
188
|
+
RETURNS TRIGGER AS $$
|
|
189
|
+
BEGIN
|
|
190
|
+
INSERT INTO public.profiles (id)
|
|
191
|
+
VALUES (new.id);
|
|
192
|
+
RETURN new;
|
|
193
|
+
END;
|
|
194
|
+
$$ LANGUAGE plpgsql SECURITY DEFINER;
|
|
195
|
+
|
|
196
|
+
CREATE TRIGGER on_auth_user_created
|
|
197
|
+
AFTER INSERT ON auth.users
|
|
198
|
+
FOR EACH ROW EXECUTE PROCEDURE public.handle_new_user();
|
|
199
|
+
```
|
|
200
|
+
|
|
201
|
+
## Troubleshooting
|
|
202
|
+
|
|
203
|
+
### Common Issues
|
|
204
|
+
|
|
205
|
+
1. **"At least one provider must be provided" Error**: You must configure the `providers` option in
|
|
206
|
+
your authentication configuration with at least one authentication provider in the array.
|
|
207
|
+
|
|
208
|
+
2. **Invalid API Key**: Ensure you're using the `anon public` key, not the `service_role` key from
|
|
209
|
+
your Supabase project settings.
|
|
210
|
+
|
|
211
|
+
3. **Provider Not Working**: Verify the provider is enabled in your Supabase dashboard and properly
|
|
212
|
+
configured with the correct redirect URLs.
|
|
213
|
+
|
|
214
|
+
4. **Redirect URLs**: For local development, update your redirect URLs in both Supabase and the
|
|
215
|
+
OAuth provider to include `http://localhost:3000`.
|
|
216
|
+
|
|
217
|
+
5. **CORS Errors**: Check that your site's domain is properly configured in Supabase's allowed URLs
|
|
218
|
+
under **Authentication** → **URL Configuration**.
|
|
219
|
+
|
|
220
|
+
6. **Authentication Not Working**: Make sure you have installed all required dependencies:
|
|
221
|
+
`@supabase/supabase-js`, `@supabase/auth-ui-react`, and `@supabase/auth-ui-shared`.
|
|
222
|
+
|
|
223
|
+
## Next Steps
|
|
224
|
+
|
|
225
|
+
- Explore [Supabase Auth documentation](https://supabase.com/docs/guides/auth) for advanced features
|
|
226
|
+
- Learn about [protecting routes](./authentication.md#protected-routes) in your documentation
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Overview
|
|
3
|
+
sidebar_icon: shield-check
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
If you use a managed authentication service, such as Auth0, Clerk, or OpenID, you can implement this
|
|
7
|
+
into your site and allow users to browse and interact with your documentation and API reference in a
|
|
8
|
+
logged in state.
|
|
9
|
+
|
|
10
|
+
## Configuration
|
|
11
|
+
|
|
12
|
+
To implement the authentication option for your site, add the `authentication` property to the
|
|
13
|
+
[APIToGo Configuration](./overview.md) file. The configuration is slightly different depending on
|
|
14
|
+
the authentication provider you use.
|
|
15
|
+
|
|
16
|
+
## Authentication Providers
|
|
17
|
+
|
|
18
|
+
APIToGo supports Clerk, Auth0, Supabase, Azure B2C, and any OpenID provider that supports the OpenID
|
|
19
|
+
Connect protocol.
|
|
20
|
+
|
|
21
|
+
Not seeing your authentication provider?
|
|
22
|
+
[Let us know](https://github.com/lukoweb/apitogo-doc-tool/issues)
|
|
23
|
+
|
|
24
|
+
### Auth0
|
|
25
|
+
|
|
26
|
+
For Auth0, you will need the `clientId` associated with the domain you are using.
|
|
27
|
+
|
|
28
|
+
You can find this in the Auth0 dashboard under
|
|
29
|
+
[Application Settings](https://auth0.com/docs/get-started/applications/application-settings).
|
|
30
|
+
|
|
31
|
+
```typescript
|
|
32
|
+
{
|
|
33
|
+
// ...
|
|
34
|
+
authentication: {
|
|
35
|
+
type: "auth0",
|
|
36
|
+
domain: "yourdomain.us.auth0.com",
|
|
37
|
+
clientId: "<your-auth0-clientId>",
|
|
38
|
+
scopes: ["openid", "profile", "email", "custom_scope"],
|
|
39
|
+
},
|
|
40
|
+
// ...
|
|
41
|
+
}
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
To setup Auth0, create a Single Page Application (SPA) application in the Auth0 dashboard. Set the
|
|
45
|
+
following options:
|
|
46
|
+
|
|
47
|
+
- Callback URL to `https://your-site.com/oauth/callback`.
|
|
48
|
+
- For development environments only, we recommend configuring your app to allow the a wildcard
|
|
49
|
+
callback like `https://*.zuplo.app/oauth/callback` to allow for testing each environment.
|
|
50
|
+
- For local development, set the callback url to `http://localhost:3000/oauth/callback`.
|
|
51
|
+
- Add your site hostname (your-site.com) to the list of allowed CORS origins.
|
|
52
|
+
|
|
53
|
+
### Clerk
|
|
54
|
+
|
|
55
|
+
For Clerk you will need the publishable key for your application. You can find this in the Clerk
|
|
56
|
+
dashboard on the [API Keys](https://dashboard.clerk.com/last-active?path=api-keys) page.
|
|
57
|
+
|
|
58
|
+
```typescript
|
|
59
|
+
{
|
|
60
|
+
// ...
|
|
61
|
+
authentication: {
|
|
62
|
+
type: "clerk",
|
|
63
|
+
clerkPubKey: "<your-clerk-publishable-key>",
|
|
64
|
+
// Optional. See: https://clerk.com/docs/backend-requests/jwt-templates
|
|
65
|
+
jwtTemplateName: "dev-portal",
|
|
66
|
+
},
|
|
67
|
+
// ...
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### OpenID
|
|
72
|
+
|
|
73
|
+
For authentication services that support OpenID, you will need to supply an `clientId` and `issuer`.
|
|
74
|
+
|
|
75
|
+
```typescript
|
|
76
|
+
{
|
|
77
|
+
// ...
|
|
78
|
+
authentication: {
|
|
79
|
+
type: "openid",
|
|
80
|
+
clientId: "<your-client-id>",
|
|
81
|
+
issuer: "<the-issuer-url>",
|
|
82
|
+
scopes: ["openid", "profile", "email", "custom_scope"] // Optional custom scopes
|
|
83
|
+
},
|
|
84
|
+
// ...
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
When configuring your OpenID provider, you will need to set the following:
|
|
89
|
+
|
|
90
|
+
- Callback or Redirect URI to `https://your-site.com/oauth/callback`.
|
|
91
|
+
- If your provider supports wildcard callback urls, we recommend configuring your development
|
|
92
|
+
identity provider to allow a wildcard callback like `https://*.zuplo.site/oauth/callback` to allow
|
|
93
|
+
for testing each environment.
|
|
94
|
+
- For local development set the callback url to `http://localhost:3000/oauth/callback`.
|
|
95
|
+
- Add your site hostname (your-site.com) to the list of allowed CORS origins.
|
|
96
|
+
|
|
97
|
+
By default, the scopes "openid", "profile", and "email" are requested. You can customize these by
|
|
98
|
+
providing your own array of scopes.
|
|
99
|
+
|
|
100
|
+
### Supabase
|
|
101
|
+
|
|
102
|
+
To use Supabase as your authentication provider, supply your project's URL, API key, and the OAuth
|
|
103
|
+
provider to use.
|
|
104
|
+
|
|
105
|
+
```typescript title="apitogo.config.ts"
|
|
106
|
+
{
|
|
107
|
+
// ...
|
|
108
|
+
authentication: {
|
|
109
|
+
type: "supabase",
|
|
110
|
+
provider: "github",
|
|
111
|
+
supabaseUrl: "https://your-project.supabase.co",
|
|
112
|
+
supabaseKey: "<your-supabase-key>",
|
|
113
|
+
redirectToAfterSignUp: "/",
|
|
114
|
+
redirectToAfterSignIn: "/",
|
|
115
|
+
redirectToAfterSignOut: "/",
|
|
116
|
+
},
|
|
117
|
+
// ...
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
The `provider` option can be any of Supabase Auth's supported providers, such as `apple`, `azure`,
|
|
122
|
+
`bitbucket`, `discord`, `facebook`, `figma`, `github`, `gitlab`, `google`, `kakao`, `keycloak`,
|
|
123
|
+
`linkedin`, `linkedin_oidc`, `notion`, `slack`, `slack_oidc`, `spotify`, `twitch`, `twitter`,
|
|
124
|
+
`workos`, `zoom`, or `fly`.
|
|
125
|
+
|
|
126
|
+
### Azure B2C
|
|
127
|
+
|
|
128
|
+
For Azure B2C authentication, you will need to provide your Azure B2C tenant name, client ID, and
|
|
129
|
+
policy name.
|
|
130
|
+
|
|
131
|
+
```typescript title="apitogo.config.ts"
|
|
132
|
+
{
|
|
133
|
+
// ...
|
|
134
|
+
authentication: {
|
|
135
|
+
type: "azureb2c",
|
|
136
|
+
clientId: "<your-azure-b2c-client-id>",
|
|
137
|
+
tenantName: "<your-tenant-name>",
|
|
138
|
+
policyName: "<your-policy-name>",
|
|
139
|
+
issuer: "<your-issuer-url>",
|
|
140
|
+
scopes: ["openid", "profile", "email", "custom_scope"]
|
|
141
|
+
},
|
|
142
|
+
// ...
|
|
143
|
+
}
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
When configuring your Azure B2C application, you will need to set the following:
|
|
147
|
+
|
|
148
|
+
- Redirect URI to `https://your-site.com/oauth/callback`
|
|
149
|
+
- For local development, set the redirect URI to `http://localhost:3000/oauth/callback`
|
|
150
|
+
- Add your site hostname (your-site.com) to the list of allowed CORS origins
|
|
151
|
+
- Configure the appropriate user flows (policies) in your Azure B2C tenant
|
|
152
|
+
|
|
153
|
+
By default, the scopes "openid", "profile", and "email" are requested. You can customize these by
|
|
154
|
+
providing your own array of scopes.
|
|
155
|
+
|
|
156
|
+
## User Data
|
|
157
|
+
|
|
158
|
+
After the user authenticates, the user profile is loaded via the provider's
|
|
159
|
+
[User Info endpoint](https://openid.net/specs/openid-connect-core-1_0.html#UserInfo). The following
|
|
160
|
+
fields are used to display the user profile:
|
|
161
|
+
|
|
162
|
+
- `name` - The user's full name
|
|
163
|
+
- `email` - The user's email address
|
|
164
|
+
- `picture` - The user's profile picture URL
|
|
165
|
+
- `email_verified` - Whether the user's email address has been verified
|
|
166
|
+
|
|
167
|
+
If the provider does not return a field, it will be left blank.
|
|
168
|
+
|
|
169
|
+
## Protected Routes
|
|
170
|
+
|
|
171
|
+
Once authentication is configured, you can protect specific routes in your documentation to require
|
|
172
|
+
users to be authenticated or meet custom authorization requirements. Routes can be protected with a
|
|
173
|
+
simple array of patterns, or with custom callback functions that support reason codes for
|
|
174
|
+
distinguishing between unauthorized and forbidden access.
|
|
175
|
+
|
|
176
|
+
```typescript title="apitogo.config.ts"
|
|
177
|
+
{
|
|
178
|
+
// ...
|
|
179
|
+
// Simple array format: requires authentication
|
|
180
|
+
protectedRoutes: [
|
|
181
|
+
"/admin/*",
|
|
182
|
+
"/settings",
|
|
183
|
+
"/api/*",
|
|
184
|
+
],
|
|
185
|
+
|
|
186
|
+
// Or object format: custom authorization with reason codes
|
|
187
|
+
protectedRoutes: {
|
|
188
|
+
"/admin/*": ({ auth, reasonCode }) =>
|
|
189
|
+
!auth.isAuthenticated
|
|
190
|
+
? reasonCode.UNAUTHORIZED
|
|
191
|
+
: auth.profile?.email?.endsWith("@example.com")
|
|
192
|
+
? true
|
|
193
|
+
: reasonCode.FORBIDDEN,
|
|
194
|
+
},
|
|
195
|
+
// ...
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
See the [Protected Routes](./protected-routes.md) documentation for detailed information on
|
|
200
|
+
configuring route protection, reason codes, and navigation behavior.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_icon: pickaxe
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Build Configuration
|
|
6
|
+
|
|
7
|
+
The `apitogo.build.ts` file allows you to configure build-time settings and processors for your
|
|
8
|
+
APIToGo project. This file is executed during the build process and can be used to transform your
|
|
9
|
+
API schemas before they are used in the documentation.
|
|
10
|
+
|
|
11
|
+
:::tip{title="Security Note"}
|
|
12
|
+
|
|
13
|
+
Unlike `apitogo.config.ts` which runs in both client and server environments, `apitogo.build.ts`
|
|
14
|
+
runs exclusively in Node.js during build time. This means:
|
|
15
|
+
|
|
16
|
+
- Sensitive operations (like API calls, file system access) can safely be performed
|
|
17
|
+
- No build-time code or data is included in the final client bundle
|
|
18
|
+
- Environment variables and secrets can be safely accessed
|
|
19
|
+
- No browser-specific APIs are available
|
|
20
|
+
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
## File Location
|
|
24
|
+
|
|
25
|
+
Create a file named `apitogo.build.ts` in the root of your project:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
your-project/
|
|
29
|
+
├── apitogo.config.ts
|
|
30
|
+
├── apitogo.build.ts # <-- Add this file
|
|
31
|
+
└── ...
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## Basic Configuration
|
|
35
|
+
|
|
36
|
+
Here's a basic example of a build configuration file:
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
import type { ApitogoBuildConfig } from "@lukoweb/apitogo";
|
|
40
|
+
|
|
41
|
+
const buildConfig: ApitogoBuildConfig = {
|
|
42
|
+
processors: [
|
|
43
|
+
async ({ schema }) => {
|
|
44
|
+
// Transform your schema here
|
|
45
|
+
return schema;
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
remarkPlugins: [],
|
|
49
|
+
rehypePlugins: [],
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export default buildConfig;
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Configuration Options
|
|
56
|
+
|
|
57
|
+
### `processors`
|
|
58
|
+
|
|
59
|
+
An array of functions that transform your API schemas. Each processor receives:
|
|
60
|
+
|
|
61
|
+
- `file`: The path to the schema file
|
|
62
|
+
- `schema`: The OpenAPI schema object
|
|
63
|
+
- `params`: Query parameters extracted from the input string (see
|
|
64
|
+
[Splitting Schemas](../guides/processors#using-query-parameters-to-split-schemas))
|
|
65
|
+
- `dereference`: A function to dereference the schema
|
|
66
|
+
|
|
67
|
+
Processors are executed in order, and each processor receives the output of the previous one.
|
|
68
|
+
|
|
69
|
+
:::tip
|
|
70
|
+
|
|
71
|
+
For detailed information about processors and available built-in processors, see the
|
|
72
|
+
[Schema Processors](../guides/processors) guide.
|
|
73
|
+
|
|
74
|
+
:::
|
|
75
|
+
|
|
76
|
+
Here's a simple example that adds a description to all operations:
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
async function addDescriptionProcessor({ schema }) {
|
|
80
|
+
if (!schema.paths) return schema;
|
|
81
|
+
|
|
82
|
+
// Add a description to all operations
|
|
83
|
+
Object.values(schema.paths).forEach((path) => {
|
|
84
|
+
Object.values(path).forEach((operation) => {
|
|
85
|
+
if (typeof operation === "object" && operation) {
|
|
86
|
+
operation.description = "This is a public API endpoint";
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
return schema;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export default {
|
|
95
|
+
processors: [addDescriptionProcessor],
|
|
96
|
+
};
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
### `remarkPlugins`
|
|
100
|
+
|
|
101
|
+
An array of [Remark](https://github.com/remarkjs/remark) plugins to transform Markdown content.
|
|
102
|
+
These plugins run before the content is converted to HTML.
|
|
103
|
+
|
|
104
|
+
```ts
|
|
105
|
+
import remarkContributors from "remark-contributors";
|
|
106
|
+
|
|
107
|
+
export default {
|
|
108
|
+
remarkPlugins: [remarkContributors],
|
|
109
|
+
};
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### `rehypePlugins`
|
|
113
|
+
|
|
114
|
+
An array of [Rehype](https://github.com/rehypejs/rehype) plugins to transform HTML content. These
|
|
115
|
+
plugins run after Markdown is converted to HTML.
|
|
116
|
+
|
|
117
|
+
```ts
|
|
118
|
+
import rehypeKatex from "rehype-katex";
|
|
119
|
+
|
|
120
|
+
export default {
|
|
121
|
+
rehypePlugins: [rehypeKatex],
|
|
122
|
+
};
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### `prerender`
|
|
126
|
+
|
|
127
|
+
Configuration for the prerendering process that generates static HTML pages during build time.
|
|
128
|
+
|
|
129
|
+
- `workers`: Number of parallel workers to use for prerendering. Defaults to 80% of available CPU
|
|
130
|
+
cores.
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
import os from "node:os";
|
|
134
|
+
|
|
135
|
+
export default {
|
|
136
|
+
prerender: {
|
|
137
|
+
workers: 4, // Fixed number of workers
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
// Or use a percentage of available CPU cores
|
|
142
|
+
export default {
|
|
143
|
+
prerender: {
|
|
144
|
+
workers: Math.floor(os.cpus().length * 0.75), // Use 75% of available cores
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
```
|