zudoku 0.1.1-dev.9 → 0.3.0-dev.3
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/dist/app/App.js +15 -6
- package/dist/app/App.js.map +1 -1
- package/dist/app/main.js +10 -2
- package/dist/app/main.js.map +1 -1
- package/dist/cli/build/handler.js +3 -1
- package/dist/cli/build/handler.js.map +1 -1
- package/dist/cli/common/analytics/lib.js +1 -1
- package/dist/cli/common/analytics/lib.js.map +1 -1
- package/dist/cli/common/logger.js +3 -1
- package/dist/cli/common/logger.js.map +1 -1
- package/dist/cli/common/outdated.js +4 -4
- package/dist/cli/common/outdated.js.map +1 -1
- package/dist/cli/common/output.js +4 -4
- package/dist/cli/common/output.js.map +1 -1
- package/dist/cli/common/utils/box.js +2 -2
- package/dist/cli/common/utils/box.js.map +1 -1
- package/dist/cli/dev/handler.js +4 -2
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/config.d.ts +30 -6
- package/dist/config/validators/auth.d.ts +2 -0
- package/dist/config/validators/auth.js +2 -0
- package/dist/config/validators/auth.js.map +1 -0
- package/dist/config/validators/validate.d.ts +2 -0
- package/dist/config/validators/validate.js +4 -0
- package/dist/config/validators/validate.js.map +1 -0
- package/dist/index.d.ts +2 -6
- package/dist/index.js +1 -5
- package/dist/index.js.map +1 -1
- package/dist/lib/authentication/Callback.d.ts +3 -0
- package/dist/lib/authentication/Callback.js +34 -0
- package/dist/lib/authentication/Callback.js.map +1 -0
- package/dist/lib/authentication/authentication.d.ts +14 -0
- package/dist/lib/authentication/authentication.js.map +1 -0
- package/dist/lib/authentication/errors.d.ts +15 -0
- package/dist/lib/authentication/errors.js +10 -0
- package/dist/lib/authentication/errors.js.map +1 -0
- package/dist/lib/authentication/hook.d.ts +7 -0
- package/dist/lib/authentication/hook.js +29 -0
- package/dist/lib/authentication/hook.js.map +1 -0
- package/dist/lib/authentication/providers/auth0.d.ts +4 -0
- package/dist/lib/authentication/providers/auth0.js +40 -0
- package/dist/lib/authentication/providers/auth0.js.map +1 -0
- package/dist/lib/authentication/providers/clerk.d.ts +4 -0
- package/dist/lib/authentication/providers/clerk.js +54 -0
- package/dist/lib/authentication/providers/clerk.js.map +1 -0
- package/dist/lib/authentication/providers/openid.d.ts +35 -0
- package/dist/lib/authentication/providers/openid.js +204 -0
- package/dist/lib/authentication/providers/openid.js.map +1 -0
- package/dist/lib/authentication/state.d.ts +13 -0
- package/dist/lib/authentication/state.js +5 -0
- package/dist/lib/authentication/state.js.map +1 -0
- package/dist/{app → lib}/components/AnchorLink.js.map +1 -1
- package/dist/{app → lib}/components/CategoryHeading.js.map +1 -1
- package/dist/lib/components/DevPortal.d.ts +25 -0
- package/dist/lib/components/DevPortal.js +32 -0
- package/dist/lib/components/DevPortal.js.map +1 -0
- package/dist/{app → lib}/components/Dialog.d.ts +2 -2
- package/dist/{app → lib}/components/Dialog.js +3 -3
- package/dist/lib/components/Dialog.js.map +1 -0
- package/dist/lib/components/Header.d.ts +1 -0
- package/dist/lib/components/Header.js +15 -0
- package/dist/lib/components/Header.js.map +1 -0
- package/dist/{app → lib/components}/Heading.js +2 -2
- package/dist/lib/components/Heading.js.map +1 -0
- package/dist/{app → lib}/components/Input.js.map +1 -1
- package/dist/{app → lib}/components/Layout.js +4 -7
- package/dist/lib/components/Layout.js.map +1 -0
- package/dist/lib/components/Link.d.ts +1 -0
- package/dist/lib/components/Link.js +2 -0
- package/dist/lib/components/Link.js.map +1 -0
- package/dist/{app → lib}/components/Markdown.js.map +1 -1
- package/dist/lib/components/Router.d.ts +4 -0
- package/dist/lib/components/Router.js +20 -0
- package/dist/lib/components/Router.js.map +1 -0
- package/dist/lib/components/Select.d.ts +13 -0
- package/dist/lib/components/Select.js +27 -0
- package/dist/lib/components/Select.js.map +1 -0
- package/dist/lib/components/Spinner.d.ts +3 -0
- package/dist/lib/components/Spinner.js +4 -0
- package/dist/lib/components/Spinner.js.map +1 -0
- package/dist/{app → lib}/components/SyntaxHighlight.d.ts +2 -1
- package/dist/{app → lib}/components/SyntaxHighlight.js +4 -1
- package/dist/lib/components/SyntaxHighlight.js.map +1 -0
- package/dist/{app → lib}/components/TopNavigation.js.map +1 -1
- package/dist/{app → lib}/components/context/ComponentsContext.d.ts +1 -1
- package/dist/{app → lib}/components/context/ComponentsContext.js.map +1 -1
- package/dist/{app → lib}/components/context/DevPortalProvider.js +1 -1
- package/dist/lib/components/context/DevPortalProvider.js.map +1 -0
- package/dist/lib/components/context/PluginSystem.js.map +1 -0
- package/dist/{app → lib}/components/context/ThemeContext.js +1 -1
- package/dist/{app → lib}/components/context/ThemeContext.js.map +1 -1
- package/dist/{app → lib}/components/context/ViewportAnchorContext.js.map +1 -1
- package/dist/lib/components/index.d.ts +3 -0
- package/dist/lib/components/index.js +4 -0
- package/dist/lib/components/index.js.map +1 -0
- package/dist/{app → lib}/components/navigation/SideNavigation.js +1 -1
- package/dist/{app → lib}/components/navigation/SideNavigation.js.map +1 -1
- package/dist/{app → lib}/components/navigation/SideNavigationCategory.js +1 -1
- package/dist/{app → lib}/components/navigation/SideNavigationCategory.js.map +1 -1
- package/dist/{app → lib}/components/navigation/SideNavigationItem.d.ts +2 -1
- package/dist/{app → lib}/components/navigation/SideNavigationItem.js +12 -6
- package/dist/lib/components/navigation/SideNavigationItem.js.map +1 -0
- package/dist/{app → lib}/components/navigation/SideNavigationWrapper.d.ts +3 -0
- package/dist/lib/components/navigation/SideNavigationWrapper.js +7 -0
- package/dist/lib/components/navigation/SideNavigationWrapper.js.map +1 -0
- package/dist/{app → lib}/components/navigation/useNavigationCollapsibleState.js.map +1 -1
- package/dist/{app → lib}/components/navigation/util.js.map +1 -1
- package/dist/{app → lib}/core/DevPortalContext.d.ts +10 -32
- package/dist/lib/core/DevPortalContext.js +48 -0
- package/dist/lib/core/DevPortalContext.js.map +1 -0
- package/dist/{app → lib}/core/helmet.js.map +1 -1
- package/dist/lib/core/icons.js.map +1 -0
- package/dist/{app → lib}/core/plugins.d.ts +2 -7
- package/dist/{app → lib}/core/plugins.js +1 -1
- package/dist/{app → lib}/core/plugins.js.map +1 -1
- package/dist/lib/core/router.js.map +1 -0
- package/dist/{app → lib}/oas/graphql/index.js +2 -2
- package/dist/lib/oas/graphql/index.js.map +1 -0
- package/dist/{app → lib}/oas/parser/dereference/index.js.map +1 -1
- package/dist/{app → lib}/oas/parser/dereference/resolveRef.js.map +1 -1
- package/dist/{app → lib}/oas/parser/index.js.map +1 -1
- package/dist/{app → lib}/oas/parser/upgrade/index.js.map +1 -1
- package/dist/lib/plugins/api-key/CreateApiKey.d.ts +5 -0
- package/dist/lib/plugins/api-key/CreateApiKey.js +37 -0
- package/dist/lib/plugins/api-key/CreateApiKey.js.map +1 -0
- package/dist/lib/plugins/api-key/SettingsApiKeys.d.ts +5 -0
- package/dist/lib/plugins/api-key/SettingsApiKeys.js +38 -0
- package/dist/lib/plugins/api-key/SettingsApiKeys.js.map +1 -0
- package/dist/lib/plugins/api-key/index.d.ts +30 -0
- package/dist/lib/plugins/api-key/index.js +67 -0
- package/dist/lib/plugins/api-key/index.js.map +1 -0
- package/dist/lib/plugins/index.d.ts +4 -0
- package/dist/lib/plugins/index.js +5 -0
- package/dist/lib/plugins/index.js.map +1 -0
- package/dist/lib/plugins/markdown/MdxPage.d.ts +5 -0
- package/dist/lib/plugins/markdown/MdxPage.js +60 -0
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -0
- package/dist/{app → lib}/plugins/markdown/Toc.js.map +1 -1
- package/dist/{app → lib}/plugins/markdown/generateRoutes.js +1 -6
- package/dist/lib/plugins/markdown/generateRoutes.js.map +1 -0
- package/dist/{app → lib}/plugins/markdown/index.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/ColorizedParam.d.ts +1 -2
- package/dist/{app → lib}/plugins/openapi/ColorizedParam.js +2 -2
- package/dist/lib/plugins/openapi/ColorizedParam.js.map +1 -0
- package/dist/lib/plugins/openapi/MakeRequest.js +43 -0
- package/dist/lib/plugins/openapi/MakeRequest.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/MethodBadge.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/OperationList.js +12 -3
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -0
- package/dist/lib/plugins/openapi/OperationListItem.js +17 -0
- package/dist/lib/plugins/openapi/OperationListItem.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/ParameterList.d.ts +2 -2
- package/dist/lib/plugins/openapi/ParameterList.js +5 -0
- package/dist/lib/plugins/openapi/ParameterList.js.map +1 -0
- package/dist/lib/plugins/openapi/ParameterListItem.js +13 -0
- package/dist/{app → lib}/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/RequestBodySidecarBox.js +1 -1
- package/dist/{app → lib}/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/ResponsesSidecarBox.js +3 -3
- package/dist/{app → lib}/plugins/openapi/ResponsesSidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/SchemaListView.d.ts +7 -0
- package/dist/lib/plugins/openapi/SchemaListView.js +43 -0
- package/dist/lib/plugins/openapi/SchemaListView.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/Select.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/Sidecar.js +15 -15
- package/dist/{app → lib}/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/SidecarBox.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/graphql/fragment-masking.d.ts +1 -1
- package/dist/{app → lib}/plugins/openapi/graphql/fragment-masking.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/graphql/gql.d.ts +5 -5
- package/dist/{app → lib}/plugins/openapi/graphql/gql.js +2 -3
- package/dist/lib/plugins/openapi/graphql/gql.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/graphql/graphql.d.ts +9 -0
- package/dist/{app → lib}/plugins/openapi/graphql/graphql.js +50 -0
- package/dist/lib/plugins/openapi/graphql/graphql.js.map +1 -0
- package/dist/lib/plugins/openapi/graphql/index.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/index.js +3 -1
- package/dist/lib/plugins/openapi/index.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Editor.d.ts +1 -0
- package/dist/lib/plugins/openapi/playground/Editor.js +5 -0
- package/dist/lib/plugins/openapi/playground/Editor.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Headers.d.ts +7 -0
- package/dist/lib/plugins/openapi/playground/Headers.js +15 -0
- package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/InlineInput.d.ts +4 -0
- package/dist/lib/plugins/openapi/playground/InlineInput.js +3 -0
- package/dist/lib/plugins/openapi/playground/InlineInput.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/PathParams.d.ts +6 -0
- package/dist/lib/plugins/openapi/playground/PathParams.js +21 -0
- package/dist/lib/plugins/openapi/playground/PathParams.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +31 -0
- package/dist/lib/plugins/openapi/playground/Playground.js +97 -0
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/QueryParams.d.ts +5 -0
- package/dist/lib/plugins/openapi/playground/QueryParams.js +22 -0
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/UrlDisplay.d.ts +4 -0
- package/dist/lib/plugins/openapi/playground/UrlDisplay.js +22 -0
- package/dist/lib/plugins/openapi/playground/UrlDisplay.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/createUrl.d.ts +2 -0
- package/dist/lib/plugins/openapi/playground/createUrl.js +15 -0
- package/dist/lib/plugins/openapi/playground/createUrl.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/util/generateSchemaExample.d.ts +1 -1
- package/dist/{app → lib}/plugins/openapi/util/generateSchemaExample.js +17 -9
- package/dist/lib/plugins/openapi/util/generateSchemaExample.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/util/urql.js.map +1 -1
- package/dist/{app → lib}/plugins/openapi/worker/createSharedWorkerClient.js +2 -1
- package/dist/lib/plugins/openapi/worker/createSharedWorkerClient.js.map +1 -0
- package/dist/lib/plugins/openapi/worker/shared-worker.d.ts +1 -0
- package/dist/lib/plugins/openapi/worker/shared-worker.js +6 -0
- package/dist/lib/plugins/openapi/worker/shared-worker.js.map +1 -0
- package/dist/{app → lib}/plugins/openapi/worker/worker.js.map +1 -1
- package/dist/lib/plugins/openapi-worker.d.ts +1 -0
- package/dist/lib/plugins/openapi-worker.js +2 -0
- package/dist/lib/plugins/openapi-worker.js.map +1 -0
- package/dist/{app → lib}/plugins/redirect/index.d.ts +1 -2
- package/dist/{app → lib}/plugins/redirect/index.js.map +1 -1
- package/dist/lib/ui/Button.d.ts +7 -0
- package/dist/lib/ui/Button.js +11 -0
- package/dist/lib/ui/Button.js.map +1 -0
- package/dist/{app → lib}/ui/Callout.js.map +1 -1
- package/dist/{app → lib}/ui/Card.js.map +1 -1
- package/dist/{app → lib}/ui/Note.js.map +1 -1
- package/dist/{app → lib}/ui/Tabs.d.ts +2 -2
- package/dist/{app → lib}/ui/Tabs.js +2 -2
- package/dist/{app → lib}/ui/Tabs.js.map +1 -1
- package/dist/lib/ui/button-variants.d.ts +4 -0
- package/dist/{app/ui/Button.js → lib/ui/button-variants.js} +2 -12
- package/dist/lib/ui/button-variants.js.map +1 -0
- package/dist/{app → lib}/util/MdxComponents.js +9 -9
- package/dist/lib/util/MdxComponents.js.map +1 -0
- package/dist/{app → lib}/util/cn.js.map +1 -1
- package/dist/lib/util/createVariantComponent.d.ts +9 -0
- package/dist/lib/util/createVariantComponent.js +17 -0
- package/dist/lib/util/createVariantComponent.js.map +1 -0
- package/dist/{app → lib}/util/createWaitForNotify.js.map +1 -1
- package/dist/{app → lib}/util/groupBy.js.map +1 -1
- package/dist/{app → lib}/util/joinPath.js.map +1 -1
- package/dist/{app → lib}/util/pastellize.js.map +1 -1
- package/dist/lib/util/slugify.js.map +1 -0
- package/dist/{app → lib}/util/traverseNavigation.js.map +1 -1
- package/dist/{app → lib}/util/useScrollToAnchor.js.map +1 -1
- package/dist/{app → lib}/util/useScrollToTop.js.map +1 -1
- package/dist/ts.js +1 -2
- package/dist/ts.js.map +1 -1
- package/dist/vite/build.js +2 -8
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/common.d.ts +1 -0
- package/dist/vite/common.js +5 -0
- package/dist/vite/common.js.map +1 -0
- package/dist/vite/config.d.ts +9 -2
- package/dist/vite/config.js +69 -28
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/dev-server.d.ts +2 -0
- package/dist/vite/dev-server.js +30 -10
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/plugin-api-keys.d.ts +4 -0
- package/dist/vite/plugin-api-keys.js +33 -0
- package/dist/vite/plugin-api-keys.js.map +1 -0
- package/dist/vite/plugin-api.js +4 -2
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.js +3 -2
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-component.d.ts +4 -0
- package/dist/vite/plugin-component.js +16 -0
- package/dist/vite/plugin-component.js.map +1 -0
- package/dist/vite/plugin-config.d.ts +1 -0
- package/dist/vite/plugin-config.js +4 -3
- package/dist/vite/plugin-config.js.map +1 -1
- package/dist/vite/plugin-docs.js +4 -2
- package/dist/vite/plugin-docs.js.map +1 -1
- package/dist/vite/plugin-docs.test.js +1 -2
- package/dist/vite/plugin-docs.test.js.map +1 -1
- package/dist/vite/plugin-html.js +0 -3
- package/dist/vite/plugin-html.js.map +1 -1
- package/dist/vite/plugin-mdx.js +3 -1
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/plugin-metadata.d.ts +6 -0
- package/dist/vite/plugin-metadata.js +24 -0
- package/dist/vite/plugin-metadata.js.map +1 -0
- package/dist/vite/plugin-openapi-worker.d.ts +4 -0
- package/dist/vite/plugin-openapi-worker.js +28 -0
- package/dist/vite/plugin-openapi-worker.js.map +1 -0
- package/dist/vite/plugin-redirect.d.ts +4 -0
- package/dist/vite/plugin-redirect.js +32 -0
- package/dist/vite/plugin-redirect.js.map +1 -0
- package/dist/vite/plugin.js +8 -0
- package/dist/vite/plugin.js.map +1 -1
- package/lib/Spinner-7LezPqGn.js +8393 -0
- package/lib/_commonjsHelpers-BkfeUUK-.js +28 -0
- package/lib/assets/index-BPdJm2ty.js +4764 -0
- package/lib/assets/worker-BCcpCNJ7.js +14473 -0
- package/lib/clerk-Wslx_mPo.js +19685 -0
- package/lib/index-DNx3xWa2.js +3461 -0
- package/lib/prism-bash.min-DadFsM4Z.js +6 -0
- package/lib/prism-java.min-d5iT_mOd.js +6 -0
- package/lib/prism-json.min-B1GJqK1k.js +1 -0
- package/lib/prism-markup-templating-DZrrEs0A.js +61 -0
- package/lib/prism-php.min-o7FpoMP_.js +10 -0
- package/lib/prism-ruby.min-C7LwcKyz.js +9 -0
- package/lib/state-oycsxkHz.js +287 -0
- package/lib/urql-DMlBWUKL.js +1591 -0
- package/lib/zudoku.auth-auth0.js +26 -0
- package/lib/zudoku.auth-clerk.js +47 -0
- package/lib/zudoku.auth-openid.js +1058 -0
- package/lib/zudoku.components.js +925 -0
- package/lib/zudoku.openapi-worker.js +225 -0
- package/lib/zudoku.plugins.js +19863 -0
- package/package.json +69 -39
- package/src/app/App.tsx +16 -6
- package/src/app/main.css +1 -0
- package/src/app/main.tsx +12 -3
- package/src/lib/authentication/Callback.tsx +60 -0
- package/src/lib/authentication/authentication.ts +19 -0
- package/src/lib/authentication/errors.ts +21 -0
- package/src/lib/authentication/hook.ts +33 -0
- package/src/lib/authentication/providers/auth0.tsx +52 -0
- package/src/lib/authentication/providers/clerk.tsx +64 -0
- package/src/lib/authentication/providers/openid.tsx +312 -0
- package/src/lib/authentication/state.ts +19 -0
- package/src/{app → lib/components}/DevPortal.tsx +30 -42
- package/src/{app → lib}/components/Dialog.tsx +37 -37
- package/src/{app → lib}/components/Header.tsx +25 -20
- package/src/{app → lib/components}/Heading.tsx +2 -2
- package/src/{app → lib}/components/Layout.tsx +18 -12
- package/src/lib/components/Link.tsx +1 -0
- package/src/lib/components/Router.tsx +28 -0
- package/src/lib/components/Select.tsx +157 -0
- package/src/lib/components/Spinner.tsx +5 -0
- package/src/{app → lib}/components/SyntaxHighlight.tsx +10 -3
- package/src/{app → lib}/components/context/DevPortalProvider.ts +1 -1
- package/src/lib/components/index.ts +3 -0
- package/src/{app → lib}/components/navigation/SideNavigation.tsx +4 -1
- package/src/{app → lib}/components/navigation/SideNavigationCategory.tsx +3 -1
- package/src/{app → lib}/components/navigation/SideNavigationItem.tsx +16 -7
- package/src/lib/components/navigation/SideNavigationWrapper.tsx +24 -0
- package/src/{app → lib}/core/DevPortalContext.ts +28 -64
- package/src/{app → lib}/core/plugins.ts +5 -5
- package/src/{app → lib}/oas/graphql/index.ts +2 -2
- package/src/lib/plugins/api-key/CreateApiKey.tsx +100 -0
- package/src/lib/plugins/api-key/SettingsApiKeys.tsx +125 -0
- package/src/lib/plugins/api-key/index.tsx +115 -0
- package/src/lib/plugins/index.ts +4 -0
- package/src/{app → lib}/plugins/markdown/MdxPage.tsx +32 -10
- package/src/{app → lib}/plugins/markdown/generateRoutes.tsx +1 -16
- package/src/{app → lib}/plugins/openapi/ColorizedParam.tsx +1 -3
- package/src/lib/plugins/openapi/MakeRequest.tsx +63 -0
- package/src/{app → lib}/plugins/openapi/OperationList.tsx +14 -4
- package/src/{app → lib}/plugins/openapi/OperationListItem.tsx +40 -6
- package/src/{app → lib}/plugins/openapi/ParameterList.tsx +4 -4
- package/src/{app → lib}/plugins/openapi/ParameterListItem.tsx +5 -2
- package/src/{app → lib}/plugins/openapi/RequestBodySidecarBox.tsx +1 -1
- package/src/{app → lib}/plugins/openapi/ResponsesSidecarBox.tsx +2 -3
- package/src/lib/plugins/openapi/SchemaListView.tsx +228 -0
- package/src/{app → lib}/plugins/openapi/Sidecar.tsx +23 -23
- package/src/{app → lib}/plugins/openapi/graphql/gql.ts +7 -7
- package/src/{app → lib}/plugins/openapi/graphql/graphql.ts +59 -0
- package/src/{app → lib}/plugins/openapi/index.tsx +8 -2
- package/src/lib/plugins/openapi/playground/Editor.tsx +4 -0
- package/src/lib/plugins/openapi/playground/Headers.tsx +60 -0
- package/src/lib/plugins/openapi/playground/InlineInput.tsx +6 -0
- package/src/lib/plugins/openapi/playground/PathParams.tsx +63 -0
- package/src/lib/plugins/openapi/playground/Playground.tsx +366 -0
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +89 -0
- package/src/lib/plugins/openapi/playground/UrlDisplay.tsx +32 -0
- package/src/lib/plugins/openapi/playground/createUrl.ts +22 -0
- package/src/{app → lib}/plugins/openapi/util/generateSchemaExample.ts +22 -9
- package/src/{app → lib}/plugins/openapi/worker/createSharedWorkerClient.ts +2 -1
- package/src/lib/plugins/openapi/worker/shared-worker.ts +5 -0
- package/src/lib/plugins/openapi-worker.ts +1 -0
- package/src/{app → lib}/plugins/redirect/index.tsx +1 -1
- package/src/lib/ui/Button.tsx +25 -0
- package/src/{app → lib}/ui/Tabs.tsx +2 -2
- package/src/{app/ui/Button.tsx → lib/ui/button-variants.ts} +4 -29
- package/src/{app → lib}/util/MdxComponents.tsx +33 -8
- package/src/{app → lib}/util/createVariantComponent.tsx +12 -7
- package/dist/app/DevPortal.d.ts +0 -25
- package/dist/app/DevPortal.js +0 -41
- package/dist/app/DevPortal.js.map +0 -1
- package/dist/app/Heading.js.map +0 -1
- package/dist/app/authentication/authentication.d.ts +0 -13
- package/dist/app/authentication/authentication.js.map +0 -1
- package/dist/app/authentication/clerk.d.ts +0 -5
- package/dist/app/authentication/clerk.js +0 -36
- package/dist/app/authentication/clerk.js.map +0 -1
- package/dist/app/authentication/openid.d.ts +0 -11
- package/dist/app/authentication/openid.js +0 -118
- package/dist/app/authentication/openid.js.map +0 -1
- package/dist/app/components/Dialog.js.map +0 -1
- package/dist/app/components/DynamicIcon.d.ts +0 -6
- package/dist/app/components/DynamicIcon.js +0 -6
- package/dist/app/components/DynamicIcon.js.map +0 -1
- package/dist/app/components/Header.d.ts +0 -1
- package/dist/app/components/Header.js +0 -15
- package/dist/app/components/Header.js.map +0 -1
- package/dist/app/components/Layout.js.map +0 -1
- package/dist/app/components/SyntaxHighlight.js.map +0 -1
- package/dist/app/components/context/DevPortalProvider.js.map +0 -1
- package/dist/app/components/context/PluginSystem.js.map +0 -1
- package/dist/app/components/navigation/SideNavigationItem.js.map +0 -1
- package/dist/app/components/navigation/SideNavigationWrapper.js +0 -6
- package/dist/app/components/navigation/SideNavigationWrapper.js.map +0 -1
- package/dist/app/core/DevPortalContext.js +0 -68
- package/dist/app/core/DevPortalContext.js.map +0 -1
- package/dist/app/core/icons.js.map +0 -1
- package/dist/app/core/router.js.map +0 -1
- package/dist/app/core/types/combine.d.ts +0 -4
- package/dist/app/core/types/combine.js +0 -2
- package/dist/app/core/types/combine.js.map +0 -1
- package/dist/app/oas/graphql/index.js.map +0 -1
- package/dist/app/oas/graphql/server.d.ts +0 -1
- package/dist/app/oas/graphql/server.js +0 -8
- package/dist/app/oas/graphql/server.js.map +0 -1
- package/dist/app/plugins/api-key/SettingsApiKeys.d.ts +0 -4
- package/dist/app/plugins/api-key/SettingsApiKeys.js +0 -7
- package/dist/app/plugins/api-key/SettingsApiKeys.js.map +0 -1
- package/dist/app/plugins/api-key/index.d.ts +0 -32
- package/dist/app/plugins/api-key/index.js +0 -55
- package/dist/app/plugins/api-key/index.js.map +0 -1
- package/dist/app/plugins/markdown/MdxPage.d.ts +0 -3
- package/dist/app/plugins/markdown/MdxPage.js +0 -55
- package/dist/app/plugins/markdown/MdxPage.js.map +0 -1
- package/dist/app/plugins/markdown/generateRoutes.js.map +0 -1
- package/dist/app/plugins/openapi/ColorizedParam.js.map +0 -1
- package/dist/app/plugins/openapi/MakeRequest.js +0 -23
- package/dist/app/plugins/openapi/MakeRequest.js.map +0 -1
- package/dist/app/plugins/openapi/OperationList.js.map +0 -1
- package/dist/app/plugins/openapi/OperationListItem.js +0 -15
- package/dist/app/plugins/openapi/OperationListItem.js.map +0 -1
- package/dist/app/plugins/openapi/ParameterList.js +0 -5
- package/dist/app/plugins/openapi/ParameterList.js.map +0 -1
- package/dist/app/plugins/openapi/ParameterListItem.js +0 -13
- package/dist/app/plugins/openapi/graphql/gql.js.map +0 -1
- package/dist/app/plugins/openapi/graphql/graphql.js.map +0 -1
- package/dist/app/plugins/openapi/graphql/index.js.map +0 -1
- package/dist/app/plugins/openapi/index.js.map +0 -1
- package/dist/app/plugins/openapi/playground/Playground.d.ts +0 -8
- package/dist/app/plugins/openapi/playground/Playground.js +0 -98
- package/dist/app/plugins/openapi/playground/Playground.js.map +0 -1
- package/dist/app/plugins/openapi/util/generateSchemaExample.js.map +0 -1
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.js.map +0 -1
- package/dist/app/ui/Button.d.ts +0 -11
- package/dist/app/ui/Button.js.map +0 -1
- package/dist/app/util/MdxComponents.js.map +0 -1
- package/dist/app/util/createVariantComponent.d.ts +0 -15
- package/dist/app/util/createVariantComponent.js +0 -12
- package/dist/app/util/createVariantComponent.js.map +0 -1
- package/dist/app/util/slugify.js.map +0 -1
- package/dist/auth.d.ts +0 -2
- package/dist/auth.js +0 -3
- package/dist/auth.js.map +0 -1
- package/dist/plugins.d.ts +0 -4
- package/dist/plugins.js +0 -6
- package/dist/plugins.js.map +0 -1
- package/src/app/authentication/authentication.ts +0 -18
- package/src/app/authentication/clerk.ts +0 -47
- package/src/app/authentication/openid.ts +0 -192
- package/src/app/components/DynamicIcon.tsx +0 -60
- package/src/app/components/navigation/SideNavigationWrapper.tsx +0 -15
- package/src/app/core/types/combine.ts +0 -16
- package/src/app/oas/graphql/server.ts +0 -10
- package/src/app/plugins/api-key/SettingsApiKeys.tsx +0 -22
- package/src/app/plugins/api-key/index.tsx +0 -123
- package/src/app/plugins/openapi/MakeRequest.tsx +0 -49
- package/src/app/plugins/openapi/playground/Playground.tsx +0 -309
- package/src/app/plugins/openapi/queries.graphql +0 -6
- package/dist/{app → lib}/authentication/authentication.js +0 -0
- package/dist/{app → lib}/components/AnchorLink.d.ts +0 -0
- package/dist/{app → lib}/components/AnchorLink.js +0 -0
- package/dist/{app → lib}/components/CategoryHeading.d.ts +0 -0
- package/dist/{app → lib}/components/CategoryHeading.js +0 -0
- package/dist/{app → lib/components}/Heading.d.ts +0 -0
- package/dist/{app → lib}/components/Input.d.ts +0 -0
- package/dist/{app → lib}/components/Input.js +0 -0
- package/dist/{app → lib}/components/Layout.d.ts +0 -0
- package/dist/{app → lib}/components/Markdown.d.ts +0 -0
- package/dist/{app → lib}/components/Markdown.js +0 -0
- package/dist/{app → lib}/components/TopNavigation.d.ts +0 -0
- package/dist/{app → lib}/components/TopNavigation.js +0 -0
- package/dist/{app → lib}/components/context/ComponentsContext.js +0 -0
- package/dist/{app → lib}/components/context/DevPortalProvider.d.ts +0 -0
- package/dist/{app → lib}/components/context/PluginSystem.d.ts +0 -0
- package/dist/{app → lib}/components/context/PluginSystem.js +0 -0
- package/dist/{app → lib}/components/context/ThemeContext.d.ts +0 -0
- package/dist/{app → lib}/components/context/ViewportAnchorContext.d.ts +0 -0
- package/dist/{app → lib}/components/context/ViewportAnchorContext.js +0 -0
- package/dist/{app → lib}/components/navigation/SideNavigation.d.ts +0 -0
- package/dist/{app → lib}/components/navigation/SideNavigationCategory.d.ts +0 -0
- package/dist/{app → lib}/components/navigation/useNavigationCollapsibleState.d.ts +0 -0
- package/dist/{app → lib}/components/navigation/useNavigationCollapsibleState.js +0 -0
- package/dist/{app → lib}/components/navigation/util.d.ts +0 -0
- package/dist/{app → lib}/components/navigation/util.js +0 -0
- package/dist/{app → lib}/core/helmet.d.ts +0 -0
- package/dist/{app → lib}/core/helmet.js +0 -0
- package/dist/{app → lib}/core/icons.d.ts +0 -0
- package/dist/{app → lib}/core/icons.js +0 -0
- package/dist/{app → lib}/core/router.d.ts +0 -0
- package/dist/{app → lib}/core/router.js +0 -0
- package/dist/{app → lib}/oas/graphql/index.d.ts +0 -0
- package/dist/{app → lib}/oas/parser/dereference/index.d.ts +0 -0
- package/dist/{app → lib}/oas/parser/dereference/index.js +0 -0
- package/dist/{app → lib}/oas/parser/dereference/resolveRef.d.ts +0 -0
- package/dist/{app → lib}/oas/parser/dereference/resolveRef.js +0 -0
- package/dist/{app → lib}/oas/parser/index.d.ts +0 -0
- package/dist/{app → lib}/oas/parser/index.js +0 -0
- package/dist/{app → lib}/oas/parser/upgrade/index.d.ts +0 -0
- package/dist/{app → lib}/oas/parser/upgrade/index.js +0 -0
- package/dist/{app → lib}/plugins/markdown/Toc.d.ts +0 -0
- package/dist/{app → lib}/plugins/markdown/Toc.js +0 -0
- package/dist/{app → lib}/plugins/markdown/generateRoutes.d.ts +0 -0
- package/dist/{app → lib}/plugins/markdown/index.d.ts +0 -0
- package/dist/{app → lib}/plugins/markdown/index.js +0 -0
- package/dist/{app → lib}/plugins/openapi/MakeRequest.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/MethodBadge.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/MethodBadge.js +0 -0
- package/dist/{app → lib}/plugins/openapi/OperationList.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/OperationListItem.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/ParameterListItem.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/RequestBodySidecarBox.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/ResponsesSidecarBox.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/Select.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/Select.js +0 -0
- package/dist/{app → lib}/plugins/openapi/Sidecar.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/SidecarBox.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/SidecarBox.js +0 -0
- package/dist/{app → lib}/plugins/openapi/graphql/fragment-masking.js +0 -0
- package/dist/{app → lib}/plugins/openapi/graphql/index.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/graphql/index.js +0 -0
- package/dist/{app → lib}/plugins/openapi/index.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/util/urql.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/util/urql.js +0 -0
- package/dist/{app → lib}/plugins/openapi/worker/createSharedWorkerClient.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/worker/worker.d.ts +0 -0
- package/dist/{app → lib}/plugins/openapi/worker/worker.js +0 -0
- package/dist/{app → lib}/plugins/redirect/index.js +0 -0
- package/dist/{app → lib}/ui/Callout.d.ts +0 -0
- package/dist/{app → lib}/ui/Callout.js +0 -0
- package/dist/{app → lib}/ui/Card.d.ts +0 -0
- package/dist/{app → lib}/ui/Card.js +0 -0
- package/dist/{app → lib}/ui/Note.d.ts +0 -0
- package/dist/{app → lib}/ui/Note.js +0 -0
- package/dist/{app → lib}/util/MdxComponents.d.ts +0 -0
- package/dist/{app → lib}/util/cn.d.ts +0 -0
- package/dist/{app → lib}/util/cn.js +0 -0
- package/dist/{app → lib}/util/createWaitForNotify.d.ts +0 -0
- package/dist/{app → lib}/util/createWaitForNotify.js +0 -0
- package/dist/{app → lib}/util/groupBy.d.ts +0 -0
- package/dist/{app → lib}/util/groupBy.js +0 -0
- package/dist/{app → lib}/util/joinPath.d.ts +0 -0
- package/dist/{app → lib}/util/joinPath.js +0 -0
- package/dist/{app → lib}/util/pastellize.d.ts +0 -0
- package/dist/{app → lib}/util/pastellize.js +0 -0
- package/dist/{app → lib}/util/slugify.d.ts +0 -0
- package/dist/{app → lib}/util/slugify.js +0 -0
- package/dist/{app → lib}/util/traverseNavigation.d.ts +0 -0
- package/dist/{app → lib}/util/traverseNavigation.js +0 -0
- package/dist/{app → lib}/util/useScrollToAnchor.d.ts +0 -0
- package/dist/{app → lib}/util/useScrollToAnchor.js +0 -0
- package/dist/{app → lib}/util/useScrollToTop.d.ts +0 -0
- package/dist/{app → lib}/util/useScrollToTop.js +0 -0
- package/src/{app → lib}/components/AnchorLink.tsx +0 -0
- package/src/{app → lib}/components/CategoryHeading.tsx +1 -1
- package/src/{app → lib}/components/Input.tsx +0 -0
- package/src/{app → lib}/components/Markdown.tsx +0 -0
- package/src/{app → lib}/components/TopNavigation.tsx +0 -0
- package/src/{app → lib}/components/context/ComponentsContext.tsx +0 -0
- package/src/{app → lib}/components/context/PluginSystem.ts +0 -0
- package/src/{app → lib}/components/context/ThemeContext.tsx +1 -1
- package/src/{app → lib}/components/context/ViewportAnchorContext.tsx +0 -0
- package/src/{app → lib}/components/navigation/useNavigationCollapsibleState.ts +0 -0
- package/src/{app → lib}/components/navigation/util.ts +0 -0
- package/src/{app → lib}/core/helmet.ts +0 -0
- package/src/{app → lib}/core/icons.tsx +0 -0
- package/src/{app → lib}/core/router.tsx +0 -0
- package/src/{app → lib}/oas/parser/dereference/index.ts +0 -0
- package/src/{app → lib}/oas/parser/dereference/resolveRef.ts +0 -0
- package/src/{app → lib}/oas/parser/index.ts +0 -0
- package/src/{app → lib}/oas/parser/schemas/v3.0.json +0 -0
- package/src/{app → lib}/oas/parser/schemas/v3.1.json +0 -0
- package/src/{app → lib}/oas/parser/upgrade/index.ts +0 -0
- package/src/{app → lib}/plugins/markdown/Toc.tsx +0 -0
- package/src/{app → lib}/plugins/markdown/index.tsx +0 -0
- package/src/{app → lib}/plugins/openapi/MethodBadge.tsx +0 -0
- package/src/{app → lib}/plugins/openapi/Select.tsx +0 -0
- package/src/{app → lib}/plugins/openapi/SidecarBox.tsx +0 -0
- package/src/{app → lib}/plugins/openapi/graphql/fragment-masking.ts +1 -1
- /package/src/{app → lib}/plugins/openapi/graphql/index.ts +0 -0
- /package/src/{app → lib}/plugins/openapi/util/urql.ts +0 -0
- /package/src/{app → lib}/plugins/openapi/worker/worker.ts +0 -0
- /package/src/{app → lib}/ui/Callout.tsx +0 -0
- /package/src/{app → lib}/ui/Card.tsx +0 -0
- /package/src/{app → lib}/ui/Note.tsx +0 -0
- /package/src/{app → lib}/util/cn.ts +0 -0
- /package/src/{app → lib}/util/createWaitForNotify.ts +0 -0
- /package/src/{app → lib}/util/groupBy.ts +0 -0
- /package/src/{app → lib}/util/joinPath.tsx +0 -0
- /package/src/{app → lib}/util/pastellize.ts +0 -0
- /package/src/{app → lib}/util/slugify.ts +0 -0
- /package/src/{app → lib}/util/traverseNavigation.ts +0 -0
- /package/src/{app → lib}/util/useScrollToAnchor.ts +0 -0
- /package/src/{app → lib}/util/useScrollToTop.ts +0 -0
package/package.json
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "zudoku",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0-dev.3",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
|
-
"
|
|
8
|
-
"cli.js"
|
|
7
|
+
"lib",
|
|
8
|
+
"cli.js",
|
|
9
|
+
"src/lib",
|
|
10
|
+
"src/app"
|
|
9
11
|
],
|
|
10
12
|
"module": "./dist/index.js",
|
|
11
13
|
"types": "./dist/index.d.ts",
|
|
@@ -16,11 +18,23 @@
|
|
|
16
18
|
".": {
|
|
17
19
|
"import": "./dist/index.js"
|
|
18
20
|
},
|
|
19
|
-
"./auth": {
|
|
20
|
-
"import": "./
|
|
21
|
+
"./auth/clerk": {
|
|
22
|
+
"import": "./lib/zudoku.auth-clerk.js"
|
|
23
|
+
},
|
|
24
|
+
"./auth/auth0": {
|
|
25
|
+
"import": "./lib/zudoku.auth-auth0.js"
|
|
26
|
+
},
|
|
27
|
+
"./auth/openid": {
|
|
28
|
+
"import": "./lib/zudoku.auth-openid.js"
|
|
21
29
|
},
|
|
22
30
|
"./plugins": {
|
|
23
|
-
"import": "./
|
|
31
|
+
"import": "./lib/zudoku.plugins.js"
|
|
32
|
+
},
|
|
33
|
+
"./openapi-worker": {
|
|
34
|
+
"import": "./lib/zudoku.openapi-worker.js"
|
|
35
|
+
},
|
|
36
|
+
"./components": {
|
|
37
|
+
"import": "./lib/zudoku.components.js"
|
|
24
38
|
},
|
|
25
39
|
"./vite": {
|
|
26
40
|
"require": "./dist/vite/plugin.js",
|
|
@@ -30,84 +44,79 @@
|
|
|
30
44
|
"require": "./dist/app/tailwind.js",
|
|
31
45
|
"import": "./dist/app/tailwind.js"
|
|
32
46
|
},
|
|
33
|
-
"./icons": {
|
|
34
|
-
"require": "./dist/app/core/icons.js",
|
|
35
|
-
"import": "./dist/app/core/icons.js"
|
|
36
|
-
},
|
|
37
47
|
"./main.css": {
|
|
38
48
|
"require": "./src/app/main.css",
|
|
39
49
|
"import": "./src/app/main.css"
|
|
50
|
+
},
|
|
51
|
+
"./app/*": {
|
|
52
|
+
"import": "./src/app/*"
|
|
40
53
|
}
|
|
41
54
|
},
|
|
42
55
|
"dependencies": {
|
|
43
|
-
"@cfworker/json-schema": "1.12.8",
|
|
44
|
-
"@clerk/clerk-js": "5.2.2",
|
|
45
56
|
"@graphql-typed-document-node/core": "3.2.0",
|
|
46
57
|
"@lekoarts/rehype-meta-as-attributes": "3.0.1",
|
|
47
58
|
"@mdx-js/react": "3.0.1",
|
|
48
59
|
"@mdx-js/rollup": "3.0.1",
|
|
60
|
+
"@monaco-editor/react": "^4.6.0",
|
|
49
61
|
"@pothos/core": "3.41.0",
|
|
50
|
-
"@radix-ui/react-
|
|
51
|
-
"@radix-ui/react-
|
|
52
|
-
"@radix-ui/react-slot": "1.1.0",
|
|
53
|
-
"@radix-ui/react-tabs": "1.1.0",
|
|
62
|
+
"@radix-ui/react-select": "2.1.1",
|
|
63
|
+
"@radix-ui/react-visually-hidden": "1.1.0",
|
|
54
64
|
"@sentry/node": "8.11.0",
|
|
55
65
|
"@stefanprobst/rehype-extract-toc": "2.2.0",
|
|
56
66
|
"@tailwindcss/typography": "0.5.13",
|
|
57
|
-
"@
|
|
58
|
-
"@vitejs/plugin-react": "4.3.0",
|
|
59
|
-
"@zudoku/httpsnippet": "10.0.9",
|
|
67
|
+
"@vitejs/plugin-react": "4.3.1",
|
|
60
68
|
"autoprefixer": "10.4.19",
|
|
61
|
-
"
|
|
62
|
-
"class-variance-authority": "0.7.0",
|
|
63
|
-
"clsx": "2.1.1",
|
|
69
|
+
"chokidar": "^3.6.0",
|
|
64
70
|
"dotenv": "16.4.5",
|
|
65
71
|
"esbuild": "0.23.0",
|
|
66
72
|
"express": "4.19.2",
|
|
67
73
|
"graphql": "16.9.0",
|
|
68
74
|
"graphql-type-json": "0.3.2",
|
|
69
75
|
"graphql-yoga": "5.2.0",
|
|
76
|
+
"loglevel": "^1.9.1",
|
|
70
77
|
"lru-cache": "10.2.0",
|
|
71
|
-
"lucide-react": "0.378.0",
|
|
72
78
|
"mdx": "0.3.1",
|
|
73
|
-
"oauth4webapi": "2.10.4",
|
|
74
79
|
"object-hash": "3.0.0",
|
|
75
80
|
"openapi-types": "12.1.3",
|
|
76
|
-
"
|
|
81
|
+
"picocolors": "^1.0.1",
|
|
82
|
+
"postcss": "8.4.39",
|
|
77
83
|
"posthog-node": "^4.0.1",
|
|
78
84
|
"prism-react-renderer": "2.3.1",
|
|
79
85
|
"prismjs": "1.29.0",
|
|
80
86
|
"react": "18.3.1",
|
|
81
87
|
"react-dom": "18.3.1",
|
|
82
88
|
"react-helmet-async": "2.0.5",
|
|
89
|
+
"react-hook-form": "^7.52.1",
|
|
83
90
|
"react-markdown": "9.0.1",
|
|
84
|
-
"react-router-dom": "6.
|
|
91
|
+
"react-router-dom": "6.24.1",
|
|
85
92
|
"rehype-slug": "6.0.0",
|
|
86
93
|
"remark-comment": "1.0.0",
|
|
87
94
|
"remark-directive": "3.0.0",
|
|
88
95
|
"remark-directive-rehype": "0.4.2",
|
|
89
96
|
"remark-frontmatter": "5.0.0",
|
|
90
97
|
"remark-gfm": "4.0.0",
|
|
91
|
-
"remark-mdx-frontmatter": "
|
|
98
|
+
"remark-mdx-frontmatter": "5.0.0",
|
|
92
99
|
"semver": "7.6.2",
|
|
93
100
|
"slugify": "1.6.6",
|
|
94
101
|
"strip-ansi": "7.1.0",
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"ulid": "2.3.0",
|
|
102
|
+
"tailwindcss": "3.4.4",
|
|
103
|
+
"ulidx": "^2.3.0",
|
|
98
104
|
"unist-util-visit": "5.0.0",
|
|
99
105
|
"urql": "4.1.0",
|
|
100
|
-
"vite": "5.3.
|
|
101
|
-
"vite-plugin-dts": "3.9.1",
|
|
106
|
+
"vite": "5.3.3",
|
|
102
107
|
"yaml": "2.4.1",
|
|
103
|
-
"yargs": "17.7.2"
|
|
104
|
-
"zustand": "4.5.4"
|
|
108
|
+
"yargs": "17.7.2"
|
|
105
109
|
},
|
|
106
110
|
"devDependencies": {
|
|
107
|
-
"@
|
|
111
|
+
"@radix-ui/react-collapsible": "1.1.0",
|
|
112
|
+
"@radix-ui/react-dialog": "1.1.1",
|
|
113
|
+
"@radix-ui/react-slot": "1.1.0",
|
|
114
|
+
"@radix-ui/react-tabs": "1.1.0",
|
|
115
|
+
"@tanstack/react-query": "5.50.1",
|
|
108
116
|
"@types/express": "^4.17.21",
|
|
109
117
|
"@types/har-format": "^1.2.15",
|
|
110
118
|
"@types/json-schema": "7.0.15",
|
|
119
|
+
"@types/loglevel": "^1.6.3",
|
|
111
120
|
"@types/mdx": "2.0.13",
|
|
112
121
|
"@types/node": "20.12.10",
|
|
113
122
|
"@types/object-hash": "^3.0.6",
|
|
@@ -115,11 +124,32 @@
|
|
|
115
124
|
"@types/react-dom": "18.3.0",
|
|
116
125
|
"@types/semver": "^7.5.8",
|
|
117
126
|
"@types/yargs": "^17.0.32",
|
|
118
|
-
"
|
|
127
|
+
"@zudoku/httpsnippet": "10.0.9",
|
|
128
|
+
"class-variance-authority": "0.7.0",
|
|
129
|
+
"clsx": "2.1.1",
|
|
130
|
+
"lucide-react": "0.378.0",
|
|
131
|
+
"oauth4webapi": "2.11.1",
|
|
132
|
+
"prism-react-renderer": "2.3.1",
|
|
133
|
+
"prismjs": "1.29.0",
|
|
134
|
+
"react-helmet-async": "2.0.5",
|
|
135
|
+
"react-markdown": "9.0.1",
|
|
136
|
+
"react-router-dom": "6.24.1",
|
|
137
|
+
"tailwind-merge": "2.3.0",
|
|
138
|
+
"typescript": "5.5.3",
|
|
139
|
+
"zustand": "4.5.4"
|
|
140
|
+
},
|
|
141
|
+
"peerDependencies": {
|
|
142
|
+
"react": ">18.0.0",
|
|
143
|
+
"react-dom": ">18.0.0"
|
|
144
|
+
},
|
|
145
|
+
"optionalDependencies": {
|
|
146
|
+
"@clerk/clerk-js": "5.2.2"
|
|
119
147
|
},
|
|
120
148
|
"scripts": {
|
|
121
|
-
"build": "tsc --project tsconfig.
|
|
122
|
-
"
|
|
123
|
-
"
|
|
149
|
+
"build": "tsc --project tsconfig.json",
|
|
150
|
+
"build:vite": "vite build && pnpm run hack:fix-worker-paths",
|
|
151
|
+
"hack:fix-worker-paths": "node ./scripts/hack-worker.mjs",
|
|
152
|
+
"clean": "tsc --build --clean",
|
|
153
|
+
"test": "node --test --enable-source-maps"
|
|
124
154
|
}
|
|
125
155
|
}
|
package/src/app/App.tsx
CHANGED
|
@@ -4,27 +4,37 @@ import "./main.css";
|
|
|
4
4
|
import config from "virtual:zudoku-config";
|
|
5
5
|
|
|
6
6
|
// Virtual Plugins
|
|
7
|
+
import { configuredApiKeysPlugin } from "virtual:zudoku-api-keys-plugin";
|
|
7
8
|
import { configuredApiPlugins } from "virtual:zudoku-api-plugins";
|
|
8
9
|
import { configuredAuthProvider } from "virtual:zudoku-auth";
|
|
9
10
|
import { configuredDocsPlugins } from "virtual:zudoku-docs-plugins";
|
|
11
|
+
import { configuredRedirectPlugin } from "virtual:zudoku-redirect-plugin";
|
|
10
12
|
|
|
11
13
|
// Base React Component
|
|
12
|
-
import DevPortal from "
|
|
14
|
+
import { DevPortal } from "zudoku/components";
|
|
15
|
+
|
|
16
|
+
// IMPORTANT: This component must not contain tailwind classes
|
|
17
|
+
// This directory is not processed by the tailwind plugin
|
|
13
18
|
|
|
14
19
|
export default function App() {
|
|
15
20
|
return (
|
|
16
21
|
<DevPortal
|
|
17
22
|
meta={{
|
|
18
|
-
headerTitle: config
|
|
19
|
-
pageTitle: config
|
|
20
|
-
logo: config
|
|
23
|
+
headerTitle: config.ui?.headerTitle ?? "Developer Portal",
|
|
24
|
+
pageTitle: config.ui?.pageTitle ?? "%s | Dev Portal",
|
|
25
|
+
logo: config.ui?.logo ?? "https://cdn.zuplo.com/www/favicon.png",
|
|
21
26
|
favicon:
|
|
22
|
-
config
|
|
27
|
+
config.ui?.metadata?.favicon ??
|
|
23
28
|
"https://cdn.zuplo.com/www/favicon.png",
|
|
24
29
|
}}
|
|
25
30
|
navigation={config.navigation ?? []}
|
|
26
31
|
authentication={configuredAuthProvider}
|
|
27
|
-
plugins={[
|
|
32
|
+
plugins={[
|
|
33
|
+
...configuredDocsPlugins,
|
|
34
|
+
...configuredApiPlugins,
|
|
35
|
+
configuredApiKeysPlugin,
|
|
36
|
+
configuredRedirectPlugin,
|
|
37
|
+
]}
|
|
28
38
|
/>
|
|
29
39
|
);
|
|
30
40
|
}
|
package/src/app/main.css
CHANGED
package/src/app/main.tsx
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
import
|
|
1
|
+
import log from "loglevel";
|
|
2
|
+
import { StrictMode } from "react";
|
|
2
3
|
import { createRoot } from "react-dom/client";
|
|
3
4
|
import App from "./App.js";
|
|
4
5
|
|
|
6
|
+
log.setDefaultLevel("silent");
|
|
7
|
+
|
|
8
|
+
if (import.meta.env.DEV) {
|
|
9
|
+
log.setLevel("debug");
|
|
10
|
+
} else if (localStorage.getItem("ENABLE_DEBUG_LOGS")) {
|
|
11
|
+
log.setLevel("debug");
|
|
12
|
+
}
|
|
13
|
+
|
|
5
14
|
createRoot(document.getElementById("root")!).render(
|
|
6
|
-
<
|
|
15
|
+
<StrictMode>
|
|
7
16
|
<App />
|
|
8
|
-
</
|
|
17
|
+
</StrictMode>,
|
|
9
18
|
);
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { useEffect, useRef, useState } from "react";
|
|
2
|
+
import { useNavigate } from "../core/router.js";
|
|
3
|
+
import { OAuthAuthorizationError } from "./errors.js";
|
|
4
|
+
|
|
5
|
+
export function Callback({
|
|
6
|
+
handleCallback,
|
|
7
|
+
}: {
|
|
8
|
+
handleCallback: () => Promise<void>;
|
|
9
|
+
}) {
|
|
10
|
+
const didInitialize = useRef(false);
|
|
11
|
+
const [error, setError] = useState<Error | undefined>(undefined);
|
|
12
|
+
const navigate = useNavigate();
|
|
13
|
+
|
|
14
|
+
// This should not use react query, etc. It is important that it
|
|
15
|
+
// only ever runs once. The didInitialize ref keeps it from double
|
|
16
|
+
// initializing in dev mode with ReactStrict enabled.
|
|
17
|
+
useEffect(() => {
|
|
18
|
+
if (didInitialize.current) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
didInitialize.current = true;
|
|
22
|
+
handleCallback()
|
|
23
|
+
.then(() => {
|
|
24
|
+
// TODO: Handle return url, state, etc
|
|
25
|
+
navigate("/");
|
|
26
|
+
})
|
|
27
|
+
.catch((err) => {
|
|
28
|
+
setError(err);
|
|
29
|
+
});
|
|
30
|
+
}, []);
|
|
31
|
+
|
|
32
|
+
if (error) {
|
|
33
|
+
if (error instanceof OAuthAuthorizationError) {
|
|
34
|
+
return (
|
|
35
|
+
<div>
|
|
36
|
+
<h2>Error</h2>
|
|
37
|
+
<pre>
|
|
38
|
+
{error.error.error}
|
|
39
|
+
|
|
40
|
+
{error.error.error_description}
|
|
41
|
+
|
|
42
|
+
{error.error.error_uri}
|
|
43
|
+
</pre>
|
|
44
|
+
</div>
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
return (
|
|
48
|
+
<div>
|
|
49
|
+
<h2>Error</h2>
|
|
50
|
+
<pre>
|
|
51
|
+
{error.message}
|
|
52
|
+
|
|
53
|
+
{error.stack}
|
|
54
|
+
</pre>
|
|
55
|
+
</div>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return <div>Loading...</div>;
|
|
60
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {
|
|
2
|
+
InitializationPlugin,
|
|
3
|
+
NavigationPlugin,
|
|
4
|
+
} from "../../lib/core/plugins.js";
|
|
5
|
+
|
|
6
|
+
type AuthenticationPlugin = NavigationPlugin & InitializationPlugin;
|
|
7
|
+
|
|
8
|
+
export interface AuthenticationProvider extends AuthenticationPlugin {
|
|
9
|
+
login(): Promise<void>;
|
|
10
|
+
getAccessToken(): Promise<string>;
|
|
11
|
+
logout(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Function to get an initialized AuthenticationProvider
|
|
16
|
+
*/
|
|
17
|
+
export interface AuthenticationProviderInitializer<TConfig> {
|
|
18
|
+
(config: TConfig): AuthenticationProvider;
|
|
19
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export class AuthorizationError extends Error {}
|
|
2
|
+
|
|
3
|
+
interface OAuthError {
|
|
4
|
+
readonly error: string;
|
|
5
|
+
readonly error_description?: string;
|
|
6
|
+
readonly error_uri?: string;
|
|
7
|
+
readonly algs?: string;
|
|
8
|
+
readonly scope?: string;
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
+
readonly [parameter: string]: any | undefined;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export class OAuthAuthorizationError extends AuthorizationError {
|
|
14
|
+
constructor(
|
|
15
|
+
message: string,
|
|
16
|
+
public error: OAuthError,
|
|
17
|
+
options?: ErrorOptions,
|
|
18
|
+
) {
|
|
19
|
+
super(message, options);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useDevPortal } from "../components/context/DevPortalProvider.js";
|
|
2
|
+
import { useAuthState } from "./state.js";
|
|
3
|
+
|
|
4
|
+
export const useAuth = () => {
|
|
5
|
+
const { authentication } = useDevPortal();
|
|
6
|
+
const authState = useAuthState();
|
|
7
|
+
const isAuthEnabled = typeof authentication !== "undefined";
|
|
8
|
+
|
|
9
|
+
return {
|
|
10
|
+
isAuthEnabled,
|
|
11
|
+
profile: authState.profile,
|
|
12
|
+
isAuthenticated: authState.profile,
|
|
13
|
+
|
|
14
|
+
login: async () => {
|
|
15
|
+
if (!isAuthEnabled) {
|
|
16
|
+
throw new Error("Authentication is not enabled.");
|
|
17
|
+
}
|
|
18
|
+
// TODO: Should handle errors/state
|
|
19
|
+
await authentication.login();
|
|
20
|
+
},
|
|
21
|
+
|
|
22
|
+
logout: async () => {
|
|
23
|
+
if (!isAuthEnabled) {
|
|
24
|
+
throw new Error("Authentication is not enabled.");
|
|
25
|
+
}
|
|
26
|
+
// TODO: Should handle errors/state
|
|
27
|
+
await authentication.logout();
|
|
28
|
+
|
|
29
|
+
// Redirect to home
|
|
30
|
+
window.location.href = "/";
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Auth0AuthenticationConfig } from "../../../config/config.js";
|
|
2
|
+
import { AuthenticationProviderInitializer } from "../authentication.js";
|
|
3
|
+
import { useAuthState } from "../state.js";
|
|
4
|
+
import { OpenIDAuthenticationProvider } from "./openid.js";
|
|
5
|
+
|
|
6
|
+
class Auth0AuthenticationProvider extends OpenIDAuthenticationProvider {
|
|
7
|
+
override async logout(): Promise<void> {
|
|
8
|
+
useAuthState.setState({
|
|
9
|
+
isAuthenticated: false,
|
|
10
|
+
profile: undefined,
|
|
11
|
+
});
|
|
12
|
+
const as = await this.getAuthServer();
|
|
13
|
+
|
|
14
|
+
const redirectUrl = new URL(window.location.href);
|
|
15
|
+
redirectUrl.pathname = this.logoutRedirectUrlPath;
|
|
16
|
+
|
|
17
|
+
// SEE: https://auth0.com/docs/authenticate/login/logout/log-users-out-of-auth0
|
|
18
|
+
// For Auth0 tenants created on or after 14 November 2023, RP-Initiated
|
|
19
|
+
// Logout End Session Endpoint Discovery is enabled by default.
|
|
20
|
+
// Otherwise we fallback to the old non-compliant logout
|
|
21
|
+
|
|
22
|
+
let logoutUrl: URL;
|
|
23
|
+
// The endSessionEndpoint is set, the IdP supports some form of logout,
|
|
24
|
+
// so we use the IdP logout. Otherwise, just redirect the user to home
|
|
25
|
+
if (as.end_session_endpoint) {
|
|
26
|
+
logoutUrl = new URL(as.end_session_endpoint);
|
|
27
|
+
// TODO: get id_token and set hint
|
|
28
|
+
// const { id_token } = session;
|
|
29
|
+
// if (id_token) {
|
|
30
|
+
// logoutUrl.searchParams.set("id_token_hint", id_token);
|
|
31
|
+
// }
|
|
32
|
+
logoutUrl.searchParams.set(
|
|
33
|
+
"post_logout_redirect_uri",
|
|
34
|
+
redirectUrl.toString(),
|
|
35
|
+
);
|
|
36
|
+
} else {
|
|
37
|
+
logoutUrl = new URL(`${this.issuer}oidc/logout`);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
const auth0Auth: AuthenticationProviderInitializer<
|
|
43
|
+
Auth0AuthenticationConfig
|
|
44
|
+
> = ({ domain, clientId, audience }) =>
|
|
45
|
+
new Auth0AuthenticationProvider({
|
|
46
|
+
type: "openid",
|
|
47
|
+
issuer: `https://${domain}`,
|
|
48
|
+
clientId: clientId,
|
|
49
|
+
audience: audience,
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
export default auth0Auth;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { Clerk } from "@clerk/clerk-js";
|
|
2
|
+
import { ClerkAuthenticationConfig } from "../../../config/config.js";
|
|
3
|
+
import { AuthenticationProviderInitializer } from "../authentication.js";
|
|
4
|
+
import { useAuthState } from "../state.js";
|
|
5
|
+
|
|
6
|
+
const clerkAuth: AuthenticationProviderInitializer<
|
|
7
|
+
ClerkAuthenticationConfig
|
|
8
|
+
> = ({ clerkPubKey }) => {
|
|
9
|
+
let clerkApi: Clerk;
|
|
10
|
+
|
|
11
|
+
const ensureLoaded = (async () => {
|
|
12
|
+
const { Clerk } = await import("@clerk/clerk-js");
|
|
13
|
+
clerkApi = new Clerk(clerkPubKey);
|
|
14
|
+
|
|
15
|
+
await clerkApi.load({});
|
|
16
|
+
})();
|
|
17
|
+
|
|
18
|
+
async function getAccessToken() {
|
|
19
|
+
await ensureLoaded;
|
|
20
|
+
if (!clerkApi.session) {
|
|
21
|
+
throw new Error("No session available");
|
|
22
|
+
}
|
|
23
|
+
const response = await clerkApi.session.getToken();
|
|
24
|
+
if (!response) {
|
|
25
|
+
throw new Error("Could not get access token from Clerk");
|
|
26
|
+
}
|
|
27
|
+
return response;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return {
|
|
31
|
+
initialize: async () => {
|
|
32
|
+
await ensureLoaded;
|
|
33
|
+
|
|
34
|
+
if (clerkApi.session) {
|
|
35
|
+
useAuthState.setState({
|
|
36
|
+
isAuthenticated: true,
|
|
37
|
+
profile: {
|
|
38
|
+
sub: clerkApi.session.user.id,
|
|
39
|
+
name: clerkApi.session.user.fullName ?? undefined,
|
|
40
|
+
email: clerkApi.session.user.emailAddresses[0]?.emailAddress,
|
|
41
|
+
emailVerified: false, // TODO: Check this
|
|
42
|
+
// emailVerified: clerkApi.session.user.hasVerifiedEmailAddress,
|
|
43
|
+
pictureUrl: clerkApi.session.user.imageUrl,
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
} else {
|
|
47
|
+
useAuthState.setState({
|
|
48
|
+
isAuthenticated: false,
|
|
49
|
+
profile: undefined,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
getAccessToken,
|
|
54
|
+
logout: async () => {
|
|
55
|
+
await clerkApi.signOut();
|
|
56
|
+
},
|
|
57
|
+
login: async () => {
|
|
58
|
+
await clerkApi.redirectToSignIn();
|
|
59
|
+
},
|
|
60
|
+
getRoutes: () => [],
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export default clerkAuth;
|