zuplo 6.67.32 → 6.68.0
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 +9 -0
- package/docs/_index.md +44 -0
- package/docs/ai-gateway/apps.mdx +28 -0
- package/docs/ai-gateway/custom-providers.mdx +54 -0
- package/docs/ai-gateway/getting-started.mdx +224 -0
- package/docs/ai-gateway/guardrails.mdx +65 -0
- package/docs/ai-gateway/integrations/ai-sdk.mdx +109 -0
- package/docs/ai-gateway/integrations/claude-code.mdx +49 -0
- package/docs/ai-gateway/integrations/codex.mdx +78 -0
- package/docs/ai-gateway/integrations/goose.mdx +104 -0
- package/docs/ai-gateway/integrations/langchain.mdx +66 -0
- package/docs/ai-gateway/integrations/openai.mdx +99 -0
- package/docs/ai-gateway/introduction.mdx +85 -0
- package/docs/ai-gateway/managing-apps.mdx +46 -0
- package/docs/ai-gateway/managing-providers.mdx +66 -0
- package/docs/ai-gateway/managing-teams.mdx +63 -0
- package/docs/ai-gateway/policies/akamai-ai-firewall.mdx +125 -0
- package/docs/ai-gateway/policies/comet-opik-tracing.mdx +139 -0
- package/docs/ai-gateway/policies/galileo-tracing.mdx +147 -0
- package/docs/ai-gateway/providers.mdx +32 -0
- package/docs/ai-gateway/teams.mdx +38 -0
- package/docs/ai-gateway/universal-api.mdx +43 -0
- package/docs/ai-gateway/usage-limits.mdx +89 -0
- package/docs/api-management/introduction.md +127 -0
- package/docs/articles/accounts/audit-logs.mdx +227 -0
- package/docs/articles/accounts/billing.mdx +25 -0
- package/docs/articles/accounts/default-api-key.mdx +30 -0
- package/docs/articles/accounts/delete-account.mdx +36 -0
- package/docs/articles/accounts/enterprise-sso.mdx +116 -0
- package/docs/articles/accounts/managing-account-members.mdx +45 -0
- package/docs/articles/accounts/managing-project-members.mdx +37 -0
- package/docs/articles/accounts/members-and-roles.mdx +21 -0
- package/docs/articles/accounts/roles-and-permissions.mdx +115 -0
- package/docs/articles/accounts/zuplo-api-keys.mdx +94 -0
- package/docs/articles/add-api-to-backstage.mdx +216 -0
- package/docs/articles/advanced-path-matching.mdx +139 -0
- package/docs/articles/api-key-administration.mdx +47 -0
- package/docs/articles/api-key-api.mdx +220 -0
- package/docs/articles/api-key-authentication.mdx +195 -0
- package/docs/articles/api-key-buckets.mdx +61 -0
- package/docs/articles/api-key-end-users.mdx +52 -0
- package/docs/articles/api-key-leak-detection.mdx +75 -0
- package/docs/articles/api-key-management.mdx +100 -0
- package/docs/articles/api-key-react-component.mdx +90 -0
- package/docs/articles/api-key-service-limits.mdx +14 -0
- package/docs/articles/archiving-requests-to-storage.mdx +119 -0
- package/docs/articles/branch-based-deployments.mdx +184 -0
- package/docs/articles/bypass-policy-for-testing.mdx +117 -0
- package/docs/articles/check-ip-address.mdx +17 -0
- package/docs/articles/ci-cd-azure/basic-deployment.mdx +49 -0
- package/docs/articles/ci-cd-azure/deploy-and-test.mdx +47 -0
- package/docs/articles/ci-cd-azure/local-testing.mdx +59 -0
- package/docs/articles/ci-cd-azure/multi-stage-deployment.mdx +88 -0
- package/docs/articles/ci-cd-azure/pr-preview-environments.mdx +50 -0
- package/docs/articles/ci-cd-azure/tag-based-releases.mdx +37 -0
- package/docs/articles/ci-cd-bitbucket/basic-deployment.mdx +27 -0
- package/docs/articles/ci-cd-bitbucket/deploy-and-test.mdx +41 -0
- package/docs/articles/ci-cd-bitbucket/local-testing.mdx +34 -0
- package/docs/articles/ci-cd-bitbucket/multi-stage-deployment.mdx +52 -0
- package/docs/articles/ci-cd-bitbucket/pr-preview-environments.mdx +46 -0
- package/docs/articles/ci-cd-bitbucket/tag-based-releases.mdx +27 -0
- package/docs/articles/ci-cd-circleci/basic-deployment.mdx +34 -0
- package/docs/articles/ci-cd-circleci/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-circleci/local-testing.mdx +50 -0
- package/docs/articles/ci-cd-circleci/multi-stage-deployment.mdx +82 -0
- package/docs/articles/ci-cd-circleci/pr-preview-environments.mdx +47 -0
- package/docs/articles/ci-cd-circleci/tag-based-releases.mdx +38 -0
- package/docs/articles/ci-cd-github/basic-deployment.mdx +48 -0
- package/docs/articles/ci-cd-github/cleanup-on-branch-delete.mdx +123 -0
- package/docs/articles/ci-cd-github/deploy-and-test.mdx +82 -0
- package/docs/articles/ci-cd-github/local-testing.mdx +102 -0
- package/docs/articles/ci-cd-github/multi-stage-deployment.mdx +136 -0
- package/docs/articles/ci-cd-github/pr-preview-environments.mdx +106 -0
- package/docs/articles/ci-cd-github/tag-based-releases.mdx +99 -0
- package/docs/articles/ci-cd-gitlab/basic-deployment.mdx +28 -0
- package/docs/articles/ci-cd-gitlab/deploy-and-test.mdx +44 -0
- package/docs/articles/ci-cd-gitlab/local-testing.mdx +39 -0
- package/docs/articles/ci-cd-gitlab/mr-preview-environments.mdx +52 -0
- package/docs/articles/ci-cd-gitlab/multi-stage-deployment.mdx +64 -0
- package/docs/articles/ci-cd-gitlab/tag-based-releases.mdx +28 -0
- package/docs/articles/composite-policy-reference.mdx +284 -0
- package/docs/articles/configuring-auth0-for-mcp-auth.mdx +186 -0
- package/docs/articles/configuring-okta-for-mcp-auth.mdx +208 -0
- package/docs/articles/convert-urls-to-openapi.mdx +62 -0
- package/docs/articles/cors.mdx +447 -0
- package/docs/articles/custom-audit-log-policy.mdx +95 -0
- package/docs/articles/custom-ci-cd-azure.mdx +81 -0
- package/docs/articles/custom-ci-cd-bitbucket.mdx +80 -0
- package/docs/articles/custom-ci-cd-circleci.mdx +78 -0
- package/docs/articles/custom-ci-cd-github.mdx +99 -0
- package/docs/articles/custom-ci-cd-gitlab.mdx +79 -0
- package/docs/articles/custom-ci-cd.mdx +82 -0
- package/docs/articles/custom-code-patterns.md +418 -0
- package/docs/articles/custom-domains.mdx +258 -0
- package/docs/articles/custom-logging-example.mdx +139 -0
- package/docs/articles/ddos-protection.mdx +138 -0
- package/docs/articles/development-options.mdx +49 -0
- package/docs/articles/environment-variables.mdx +134 -0
- package/docs/articles/environments.mdx +143 -0
- package/docs/articles/fastly-zuplo-host-setup.mdx +41 -0
- package/docs/articles/github-deployment-testing.mdx +101 -0
- package/docs/articles/gke-with-upstream-auth-policy.mdx +192 -0
- package/docs/articles/graphql-security.mdx +180 -0
- package/docs/articles/handling-form-data.mdx +61 -0
- package/docs/articles/health-checks.mdx +109 -0
- package/docs/articles/hosting-options.mdx +70 -0
- package/docs/articles/lazy-load-configuration-into-cache.mdx +92 -0
- package/docs/articles/limits.mdx +98 -0
- package/docs/articles/local-development-debugging.mdx +44 -0
- package/docs/articles/local-development-env-variables.mdx +23 -0
- package/docs/articles/local-development-installing-packages.mdx +23 -0
- package/docs/articles/local-development-routes-designer.mdx +27 -0
- package/docs/articles/local-development-services.mdx +40 -0
- package/docs/articles/local-development-troubleshooting.mdx +56 -0
- package/docs/articles/local-development.mdx +81 -0
- package/docs/articles/log-plugin-aws-cloudwatch.mdx +83 -0
- package/docs/articles/log-plugin-datadog.mdx +84 -0
- package/docs/articles/log-plugin-dynatrace.mdx +75 -0
- package/docs/articles/log-plugin-gcp.mdx +75 -0
- package/docs/articles/log-plugin-loki.mdx +136 -0
- package/docs/articles/log-plugin-new-relic.mdx +84 -0
- package/docs/articles/log-plugin-splunk.mdx +104 -0
- package/docs/articles/log-plugin-sumo.mdx +73 -0
- package/docs/articles/log-plugin-vmware-log-insight.mdx +154 -0
- package/docs/articles/log-request-response-data.mdx +398 -0
- package/docs/articles/logging.mdx +115 -0
- package/docs/articles/manual-mcp-oauth-testing.mdx +193 -0
- package/docs/articles/mcp-quickstart.mdx +135 -0
- package/docs/articles/metrics-plugins.mdx +371 -0
- package/docs/articles/migrate-from-apigee.md +408 -0
- package/docs/articles/migrate-from-aws-api-gateway.md +248 -0
- package/docs/articles/migrate-from-azure-apim.md +292 -0
- package/docs/articles/migrate-from-kong.md +300 -0
- package/docs/articles/migration-overview.md +81 -0
- package/docs/articles/monetization/api-access.mdx +69 -0
- package/docs/articles/monetization/billing-models.md +520 -0
- package/docs/articles/monetization/developer-portal.md +167 -0
- package/docs/articles/monetization/features.mdx +98 -0
- package/docs/articles/monetization/index.mdx +113 -0
- package/docs/articles/monetization/meters.mdx +135 -0
- package/docs/articles/monetization/monetization-policy.md +314 -0
- package/docs/articles/monetization/plan-examples.mdx +366 -0
- package/docs/articles/monetization/plans.mdx +266 -0
- package/docs/articles/monetization/pricing-models.mdx +225 -0
- package/docs/articles/monetization/private-plans.md +154 -0
- package/docs/articles/monetization/quickstart.md +355 -0
- package/docs/articles/monetization/rate-cards.mdx +171 -0
- package/docs/articles/monetization/stripe-integration.md +195 -0
- package/docs/articles/monetization/subscription-lifecycle.md +298 -0
- package/docs/articles/monetization/tax-collection.md +166 -0
- package/docs/articles/monetization/troubleshooting.md +272 -0
- package/docs/articles/monetization-custom.mdx +71 -0
- package/docs/articles/monetization-integrations.mdx +104 -0
- package/docs/articles/monitoring-your-gateway.mdx +53 -0
- package/docs/articles/monorepo-deployment.mdx +350 -0
- package/docs/articles/multiple-auth-policies.mdx +81 -0
- package/docs/articles/non-standard-ports.mdx +30 -0
- package/docs/articles/oauth-authentication.mdx +54 -0
- package/docs/articles/openapi-server-urls.mdx +60 -0
- package/docs/articles/openapi.mdx +130 -0
- package/docs/articles/opentelemetry.mdx +250 -0
- package/docs/articles/per-user-rate-limits-using-db.mdx +112 -0
- package/docs/articles/performance-testing.mdx +304 -0
- package/docs/articles/plugin-akamai-api-security.mdx +76 -0
- package/docs/articles/plugin-azure-blob.mdx +73 -0
- package/docs/articles/plugin-azure-event-hubs.mdx +64 -0
- package/docs/articles/plugin-hydrolix-traffic-peak.mdx +147 -0
- package/docs/articles/policies.mdx +33 -0
- package/docs/articles/rename-or-move-project.mdx +39 -0
- package/docs/articles/rick-and-morty-api-developer-portal-example.mdx +23 -0
- package/docs/articles/routing.mdx +193 -0
- package/docs/articles/s3-signed-url-uploads.mdx +521 -0
- package/docs/articles/secure-tunnel.mdx +84 -0
- package/docs/articles/securing-backend-mtls.mdx +268 -0
- package/docs/articles/securing-your-backend.mdx +148 -0
- package/docs/articles/security.mdx +105 -0
- package/docs/articles/sharing-code-across-projects.mdx +412 -0
- package/docs/articles/source-control-setup-azure.mdx +13 -0
- package/docs/articles/source-control-setup-bitbucket.mdx +43 -0
- package/docs/articles/source-control-setup-github.mdx +172 -0
- package/docs/articles/source-control-setup-gitlab.mdx +12 -0
- package/docs/articles/source-control.mdx +80 -0
- package/docs/articles/step-1-setup-basic-gateway-local.mdx +136 -0
- package/docs/articles/step-1-setup-basic-gateway.mdx +118 -0
- package/docs/articles/step-2-add-rate-limiting-local.mdx +126 -0
- package/docs/articles/step-2-add-rate-limiting.mdx +82 -0
- package/docs/articles/step-3-add-api-key-auth-local.mdx +199 -0
- package/docs/articles/step-3-add-api-key-auth.mdx +166 -0
- package/docs/articles/step-4-deploying-to-the-edge.mdx +220 -0
- package/docs/articles/step-5-dynamic-rate-limiting.mdx +167 -0
- package/docs/articles/support.mdx +144 -0
- package/docs/articles/terraform.mdx +114 -0
- package/docs/articles/testing-graphql.mdx +34 -0
- package/docs/articles/testing.mdx +522 -0
- package/docs/articles/troubleshooting-slow-responses.mdx +301 -0
- package/docs/articles/troubleshooting.md +302 -0
- package/docs/articles/tsconfig.mdx +105 -0
- package/docs/articles/tunnel-setup.mdx +195 -0
- package/docs/articles/tunnel-troubleshooting.mdx +50 -0
- package/docs/articles/update-zup-in-github-action.mdx +110 -0
- package/docs/articles/use-openapi-extension-data.mdx +79 -0
- package/docs/articles/users/multifactor-authentication.mdx +64 -0
- package/docs/articles/users/profile.mdx +13 -0
- package/docs/articles/versioning-on-zuplo.mdx +89 -0
- package/docs/articles/waf-ddos-akamai.md +133 -0
- package/docs/articles/waf-ddos-aws-waf-shield.mdx +85 -0
- package/docs/articles/waf-ddos-fastly.mdx +251 -0
- package/docs/articles/waf-ddos.mdx +140 -0
- package/docs/articles/zuplo-waf.mdx +156 -0
- package/docs/ask.mdx +3 -0
- package/docs/cli/authentication.mdx +56 -0
- package/docs/cli/connectivity.mdx +38 -0
- package/docs/cli/create-zuplo-api.mdx +80 -0
- package/docs/cli/delete.mdx +79 -0
- package/docs/cli/deploy.mdx +156 -0
- package/docs/cli/deploy.partial.mdx +46 -0
- package/docs/cli/dev.mdx +115 -0
- package/docs/cli/docs.mdx +66 -0
- package/docs/cli/editor.mdx +50 -0
- package/docs/cli/global-options.mdx +19 -0
- package/docs/cli/init.mdx +74 -0
- package/docs/cli/link.mdx +74 -0
- package/docs/cli/list.mdx +55 -0
- package/docs/cli/mtls-certificate-create.mdx +94 -0
- package/docs/cli/mtls-certificate-delete.mdx +55 -0
- package/docs/cli/mtls-certificate-describe.mdx +55 -0
- package/docs/cli/mtls-certificate-disable.mdx +55 -0
- package/docs/cli/mtls-certificate-list.mdx +47 -0
- package/docs/cli/mtls-certificate-update.mdx +72 -0
- package/docs/cli/openapi-convert.mdx +111 -0
- package/docs/cli/openapi-merge.mdx +138 -0
- package/docs/cli/openapi-merge.partial.mdx +29 -0
- package/docs/cli/openapi-overlay.mdx +123 -0
- package/docs/cli/overview.mdx +78 -0
- package/docs/cli/project-create.mdx +43 -0
- package/docs/cli/source-migrate.mdx +18 -0
- package/docs/cli/source-upgrade.mdx +41 -0
- package/docs/cli/test.mdx +70 -0
- package/docs/cli/test.partial.mdx +7 -0
- package/docs/cli/tunnel-create.mdx +53 -0
- package/docs/cli/tunnel-create.partial.mdx +9 -0
- package/docs/cli/tunnel-delete.mdx +35 -0
- package/docs/cli/tunnel-delete.partial.mdx +9 -0
- package/docs/cli/tunnel-describe.mdx +45 -0
- package/docs/cli/tunnel-describe.partial.mdx +5 -0
- package/docs/cli/tunnel-list.mdx +35 -0
- package/docs/cli/tunnel-list.partial.mdx +9 -0
- package/docs/cli/tunnel-rate-token.partial.mdx +9 -0
- package/docs/cli/tunnel-rotate-token.mdx +39 -0
- package/docs/cli/tunnel-services-describe.mdx +45 -0
- package/docs/cli/tunnel-services-describe.partial.mdx +9 -0
- package/docs/cli/tunnel-services-update.mdx +48 -0
- package/docs/cli/variable-create.mdx +91 -0
- package/docs/cli/variable-create.partial.mdx +5 -0
- package/docs/cli/variable-update.mdx +75 -0
- package/docs/cli/variable-update.partial.mdx +5 -0
- package/docs/concepts/api-keys.md +146 -0
- package/docs/concepts/authentication.mdx +109 -0
- package/docs/concepts/how-zuplo-works.mdx +120 -0
- package/docs/concepts/project-structure.mdx +174 -0
- package/docs/concepts/rate-limiting.md +246 -0
- package/docs/concepts/request-lifecycle.mdx +56 -0
- package/docs/concepts/source-control-and-deployment.mdx +229 -0
- package/docs/conferences/conference-prize-terms.mdx +80 -0
- package/docs/dedicated/akamai/ai-powered-applications.mdx +223 -0
- package/docs/dedicated/akamai/architecture.mdx +280 -0
- package/docs/dedicated/akamai/caching.mdx +212 -0
- package/docs/dedicated/akamai/cdn.mdx +156 -0
- package/docs/dedicated/architecture.mdx +208 -0
- package/docs/dedicated/custom-domains.mdx +31 -0
- package/docs/dedicated/federated-gateways.mdx +80 -0
- package/docs/dedicated/networking.mdx +69 -0
- package/docs/dedicated/overview.mdx +80 -0
- package/docs/dedicated/source-control.mdx +63 -0
- package/docs/dev-portal/dev-portal-create-consumer-on-auth.mdx +134 -0
- package/docs/dev-portal/introduction.mdx +65 -0
- package/docs/dev-portal/local-development.mdx +72 -0
- package/docs/dev-portal/migration.mdx +526 -0
- package/docs/dev-portal/node-modules.mdx +45 -0
- package/docs/dev-portal/updating.mdx +28 -0
- package/docs/dev-portal/zudoku/components/alert.mdx +130 -0
- package/docs/dev-portal/zudoku/components/badge.mdx +70 -0
- package/docs/dev-portal/zudoku/components/button.mdx +132 -0
- package/docs/dev-portal/zudoku/components/callout.mdx +112 -0
- package/docs/dev-portal/zudoku/components/card.mdx +104 -0
- package/docs/dev-portal/zudoku/components/checkbox.mdx +72 -0
- package/docs/dev-portal/zudoku/components/client-only.mdx +79 -0
- package/docs/dev-portal/zudoku/components/code-tabs.mdx +179 -0
- package/docs/dev-portal/zudoku/components/dialog.mdx +167 -0
- package/docs/dev-portal/zudoku/components/head.mdx +199 -0
- package/docs/dev-portal/zudoku/components/icons.mdx +27 -0
- package/docs/dev-portal/zudoku/components/input.mdx +96 -0
- package/docs/dev-portal/zudoku/components/label.mdx +86 -0
- package/docs/dev-portal/zudoku/components/link.mdx +242 -0
- package/docs/dev-portal/zudoku/components/markdown.mdx +151 -0
- package/docs/dev-portal/zudoku/components/mermaid.mdx +81 -0
- package/docs/dev-portal/zudoku/components/playground.mdx +87 -0
- package/docs/dev-portal/zudoku/components/secret.mdx +78 -0
- package/docs/dev-portal/zudoku/components/select.mdx +176 -0
- package/docs/dev-portal/zudoku/components/shadcn.mdx +73 -0
- package/docs/dev-portal/zudoku/components/slider.mdx +108 -0
- package/docs/dev-portal/zudoku/components/slot.mdx +119 -0
- package/docs/dev-portal/zudoku/components/stepper.mdx +138 -0
- package/docs/dev-portal/zudoku/components/switch.mdx +96 -0
- package/docs/dev-portal/zudoku/components/syntax-highlight.mdx +602 -0
- package/docs/dev-portal/zudoku/components/textarea.mdx +78 -0
- package/docs/dev-portal/zudoku/components/tooltip.mdx +195 -0
- package/docs/dev-portal/zudoku/components/typography.mdx +61 -0
- package/docs/dev-portal/zudoku/configuration/ai-assistants.md +64 -0
- package/docs/dev-portal/zudoku/configuration/api-catalog.md +108 -0
- package/docs/dev-portal/zudoku/configuration/api-reference.md +397 -0
- package/docs/dev-portal/zudoku/configuration/authentication-auth0.md +173 -0
- package/docs/dev-portal/zudoku/configuration/authentication-azure-ad.md +238 -0
- package/docs/dev-portal/zudoku/configuration/authentication-clerk.md +110 -0
- package/docs/dev-portal/zudoku/configuration/authentication-firebase.md +61 -0
- package/docs/dev-portal/zudoku/configuration/authentication-pingfederate.md +136 -0
- package/docs/dev-portal/zudoku/configuration/authentication-supabase.md +225 -0
- package/docs/dev-portal/zudoku/configuration/authentication.md +199 -0
- package/docs/dev-portal/zudoku/configuration/build-configuration.mdx +147 -0
- package/docs/dev-portal/zudoku/configuration/docs.md +282 -0
- package/docs/dev-portal/zudoku/configuration/footer.mdx +214 -0
- package/docs/dev-portal/zudoku/configuration/llms.md +89 -0
- package/docs/dev-portal/zudoku/configuration/navigation.mdx +408 -0
- package/docs/dev-portal/zudoku/configuration/overview.md +380 -0
- package/docs/dev-portal/zudoku/configuration/protected-routes.md +149 -0
- package/docs/dev-portal/zudoku/configuration/search.md +169 -0
- package/docs/dev-portal/zudoku/configuration/sentry.mdx +44 -0
- package/docs/dev-portal/zudoku/configuration/site.md +124 -0
- package/docs/dev-portal/zudoku/configuration/slots.mdx +124 -0
- package/docs/dev-portal/zudoku/configuration/vite-config.md +18 -0
- package/docs/dev-portal/zudoku/custom-plugins.md +287 -0
- package/docs/dev-portal/zudoku/customization/colors-theme.mdx +275 -0
- package/docs/dev-portal/zudoku/customization/fonts.md +110 -0
- package/docs/dev-portal/zudoku/extending/events.md +124 -0
- package/docs/dev-portal/zudoku/guides/custom-pages.md +106 -0
- package/docs/dev-portal/zudoku/guides/environment-variables.md +99 -0
- package/docs/dev-portal/zudoku/guides/mermaid.mdx +70 -0
- package/docs/dev-portal/zudoku/guides/navigation-migration.md +87 -0
- package/docs/dev-portal/zudoku/guides/navigation-rules.mdx +197 -0
- package/docs/dev-portal/zudoku/guides/processors.mdx +234 -0
- package/docs/dev-portal/zudoku/guides/static-files.md +55 -0
- package/docs/dev-portal/zudoku/guides/transforming-examples.md +156 -0
- package/docs/dev-portal/zudoku/guides/using-multiple-apis.md +87 -0
- package/docs/dev-portal/zudoku/markdown/admonitions.md +128 -0
- package/docs/dev-portal/zudoku/markdown/code-blocks.md +196 -0
- package/docs/dev-portal/zudoku/markdown/frontmatter.md +172 -0
- package/docs/dev-portal/zudoku/markdown/mdx.md +68 -0
- package/docs/dev-portal/zudoku/markdown/overview.md +275 -0
- package/docs/dev-portal/zudoku/plugins.md +5 -0
- package/docs/dev-portal/zudoku/writing.mdx +72 -0
- package/docs/errors/bad-request.mdx +39 -0
- package/docs/errors/build-error.mdx +45 -0
- package/docs/errors/fatal-project-error.mdx +39 -0
- package/docs/errors/gateway-timeout.mdx +33 -0
- package/docs/errors/get-head-body-error.mdx +41 -0
- package/docs/errors/main-mod-error.mdx +40 -0
- package/docs/errors/no-project-set.mdx +41 -0
- package/docs/errors/not-found.mdx +43 -0
- package/docs/errors/rate-limit-exceeded.mdx +31 -0
- package/docs/errors/schema-validation-failed.mdx +51 -0
- package/docs/errors/system-configuration-error.mdx +44 -0
- package/docs/errors/unauthorized.mdx +50 -0
- package/docs/errors/unknown-error.mdx +42 -0
- package/docs/errors.mdx +14 -0
- package/docs/guides/canary-routing-for-employees.mdx +385 -0
- package/docs/guides/geolocation-backend-routing.mdx +404 -0
- package/docs/guides/modify-openapi-paths.mdx +371 -0
- package/docs/guides/openapi-overlays.mdx +492 -0
- package/docs/guides/overview.mdx +12 -0
- package/docs/guides/user-based-backend-routing.mdx +437 -0
- package/docs/handlers/aws-lambda.mdx +201 -0
- package/docs/handlers/custom-handler.mdx +112 -0
- package/docs/handlers/legacy-dev-portal-handler.mdx +135 -0
- package/docs/handlers/mcp-server.mdx +730 -0
- package/docs/handlers/openapi.mdx +78 -0
- package/docs/handlers/redirect.mdx +115 -0
- package/docs/handlers/system-handlers.mdx +41 -0
- package/docs/handlers/url-forward.mdx +204 -0
- package/docs/handlers/url-rewrite.mdx +224 -0
- package/docs/handlers/websocket-handler.mdx +154 -0
- package/docs/home.mdx +6 -0
- package/docs/managed-edge/overview.md +78 -0
- package/docs/mcp-server/configuration-migration-guide.mdx +344 -0
- package/docs/mcp-server/custom-tools.mdx +487 -0
- package/docs/mcp-server/graphql.mdx +241 -0
- package/docs/mcp-server/introduction.mdx +122 -0
- package/docs/mcp-server/openai-apps-sdk.mdx +160 -0
- package/docs/mcp-server/prompts.mdx +283 -0
- package/docs/mcp-server/resources.mdx +288 -0
- package/docs/mcp-server/testing.mdx +53 -0
- package/docs/mcp-server/tools.mdx +306 -0
- package/docs/policies/_index.md +92 -0
- package/docs/policies/ab-test-inbound/intro.md +8 -0
- package/docs/policies/ab-test-inbound/policy.ts +14 -0
- package/docs/policies/ab-test-inbound/schema.json +27 -0
- package/docs/policies/ab-test-outbound/intro.md +8 -0
- package/docs/policies/ab-test-outbound/policy.ts +26 -0
- package/docs/policies/ab-test-outbound/schema.json +27 -0
- package/docs/policies/acl-policy-inbound/intro.md +5 -0
- package/docs/policies/acl-policy-inbound/policy.ts +32 -0
- package/docs/policies/acl-policy-inbound/schema.json +52 -0
- package/docs/policies/akamai-ai-firewall/schema.json +98 -0
- package/docs/policies/amberflo-metering-inbound/doc.md +183 -0
- package/docs/policies/amberflo-metering-inbound/intro.md +20 -0
- package/docs/policies/amberflo-metering-inbound/schema.json +108 -0
- package/docs/policies/api-key-inbound/doc.md +77 -0
- package/docs/policies/api-key-inbound/intro.md +30 -0
- package/docs/policies/api-key-inbound/schema.json +84 -0
- package/docs/policies/archive-request-aws-s3-inbound/intro.md +4 -0
- package/docs/policies/archive-request-aws-s3-inbound/policy.ts +58 -0
- package/docs/policies/archive-request-aws-s3-inbound/schema.json +68 -0
- package/docs/policies/archive-request-azure-storage-inbound/doc.md +31 -0
- package/docs/policies/archive-request-azure-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-azure-storage-inbound/policy.ts +54 -0
- package/docs/policies/archive-request-azure-storage-inbound/schema.json +53 -0
- package/docs/policies/archive-request-gcp-storage-inbound/doc.md +63 -0
- package/docs/policies/archive-request-gcp-storage-inbound/intro.md +4 -0
- package/docs/policies/archive-request-gcp-storage-inbound/policy.ts +68 -0
- package/docs/policies/archive-request-gcp-storage-inbound/schema.json +47 -0
- package/docs/policies/archive-response-aws-s3-outbound/intro.md +2 -0
- package/docs/policies/archive-response-aws-s3-outbound/policy.ts +59 -0
- package/docs/policies/archive-response-aws-s3-outbound/schema.json +68 -0
- package/docs/policies/archive-response-azure-storage-outbound/doc.md +31 -0
- package/docs/policies/archive-response-azure-storage-outbound/intro.md +3 -0
- package/docs/policies/archive-response-azure-storage-outbound/policy.ts +54 -0
- package/docs/policies/archive-response-azure-storage-outbound/schema.json +53 -0
- package/docs/policies/audit-log-inbound/doc.md +78 -0
- package/docs/policies/audit-log-inbound/intro.md +10 -0
- package/docs/policies/audit-log-inbound/schema.json +81 -0
- package/docs/policies/auth0-jwt-auth-inbound/doc.md +125 -0
- package/docs/policies/auth0-jwt-auth-inbound/intro.md +17 -0
- package/docs/policies/auth0-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/authzen-inbound/doc.md +24 -0
- package/docs/policies/authzen-inbound/intro.md +31 -0
- package/docs/policies/authzen-inbound/schema.json +126 -0
- package/docs/policies/axiomatics-authz-inbound/doc.md +144 -0
- package/docs/policies/axiomatics-authz-inbound/intro.md +11 -0
- package/docs/policies/axiomatics-authz-inbound/schema.json +161 -0
- package/docs/policies/basic-auth-inbound/intro.md +9 -0
- package/docs/policies/basic-auth-inbound/schema.json +99 -0
- package/docs/policies/bot-detection-inbound/intro.md +4 -0
- package/docs/policies/bot-detection-inbound/schema.json +56 -0
- package/docs/policies/brownout-inbound/doc.md +55 -0
- package/docs/policies/brownout-inbound/intro.md +12 -0
- package/docs/policies/brownout-inbound/schema.json +115 -0
- package/docs/policies/caching-inbound/doc.md +209 -0
- package/docs/policies/caching-inbound/intro.md +23 -0
- package/docs/policies/caching-inbound/schema.json +98 -0
- package/docs/policies/change-method-inbound/schema.json +56 -0
- package/docs/policies/clear-headers-inbound/schema.json +59 -0
- package/docs/policies/clear-headers-outbound/schema.json +59 -0
- package/docs/policies/clerk-jwt-auth-inbound/doc.md +85 -0
- package/docs/policies/clerk-jwt-auth-inbound/intro.md +4 -0
- package/docs/policies/clerk-jwt-auth-inbound/schema.json +68 -0
- package/docs/policies/cognito-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/cognito-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/comet-opik-tracing-inbound/schema.json +65 -0
- package/docs/policies/complex-rate-limit-inbound/doc.md +20 -0
- package/docs/policies/complex-rate-limit-inbound/intro.md +23 -0
- package/docs/policies/complex-rate-limit-inbound/schema.json +142 -0
- package/docs/policies/composite-inbound/doc.md +69 -0
- package/docs/policies/composite-inbound/intro.md +15 -0
- package/docs/policies/composite-inbound/schema.json +59 -0
- package/docs/policies/composite-outbound/intro.md +6 -0
- package/docs/policies/composite-outbound/schema.json +59 -0
- package/docs/policies/curity-phantom-token-inbound/doc.md +109 -0
- package/docs/policies/curity-phantom-token-inbound/intro.md +3 -0
- package/docs/policies/curity-phantom-token-inbound/schema.json +68 -0
- package/docs/policies/custom-code-inbound/doc.md +267 -0
- package/docs/policies/custom-code-inbound/intro.md +2 -0
- package/docs/policies/custom-code-inbound/schema.json +48 -0
- package/docs/policies/custom-code-outbound/doc.md +235 -0
- package/docs/policies/custom-code-outbound/intro.md +2 -0
- package/docs/policies/custom-code-outbound/schema.json +43 -0
- package/docs/policies/firebase-jwt-inbound/intro.md +6 -0
- package/docs/policies/firebase-jwt-inbound/schema.json +68 -0
- package/docs/policies/formdata-to-json-inbound/schema.json +60 -0
- package/docs/policies/galileo-tracing-inbound/schema.json +65 -0
- package/docs/policies/geo-filter-inbound/doc.md +33 -0
- package/docs/policies/geo-filter-inbound/schema.json +108 -0
- package/docs/policies/graphql-complexity-limit-inbound/doc.md +48 -0
- package/docs/policies/graphql-complexity-limit-inbound/intro.md +2 -0
- package/docs/policies/graphql-complexity-limit-inbound/schema.json +90 -0
- package/docs/policies/graphql-disable-introspection-inbound/doc.md +66 -0
- package/docs/policies/graphql-disable-introspection-inbound/intro.md +15 -0
- package/docs/policies/graphql-disable-introspection-inbound/schema.json +48 -0
- package/docs/policies/graphql-introspection-filter-outbound/doc.md +148 -0
- package/docs/policies/graphql-introspection-filter-outbound/schema.json +79 -0
- package/docs/policies/hmac-auth-inbound/doc.md +30 -0
- package/docs/policies/hmac-auth-inbound/intro.md +10 -0
- package/docs/policies/hmac-auth-inbound/policy.ts +70 -0
- package/docs/policies/hmac-auth-inbound/schema.json +53 -0
- package/docs/policies/http-deprecation-outbound/doc.md +73 -0
- package/docs/policies/http-deprecation-outbound/schema.json +83 -0
- package/docs/policies/ip-restriction-inbound/intro.md +8 -0
- package/docs/policies/ip-restriction-inbound/policy.ts +40 -0
- package/docs/policies/ip-restriction-inbound/schema.json +58 -0
- package/docs/policies/jwt-scopes-inbound/schema.json +59 -0
- package/docs/policies/ldap-auth-inbound/schema.json +56 -0
- package/docs/policies/mock-api-inbound/schema.json +72 -0
- package/docs/policies/moesif-inbound/doc.md +44 -0
- package/docs/policies/moesif-inbound/intro.md +6 -0
- package/docs/policies/moesif-inbound/schema.json +68 -0
- package/docs/policies/monetization-inbound/doc.md +87 -0
- package/docs/policies/monetization-inbound/intro.md +6 -0
- package/docs/policies/monetization-inbound/schema.json +102 -0
- package/docs/policies/mtls-auth-inbound/intro.md +6 -0
- package/docs/policies/mtls-auth-inbound/schema.json +68 -0
- package/docs/policies/okta-fga-authz-inbound/doc.md +181 -0
- package/docs/policies/okta-fga-authz-inbound/intro.md +20 -0
- package/docs/policies/okta-fga-authz-inbound/schema.json +104 -0
- package/docs/policies/okta-jwt-auth-inbound/intro.md +7 -0
- package/docs/policies/okta-jwt-auth-inbound/schema.json +74 -0
- package/docs/policies/open-id-jwt-auth-inbound/doc.md +58 -0
- package/docs/policies/open-id-jwt-auth-inbound/intro.md +30 -0
- package/docs/policies/open-id-jwt-auth-inbound/schema.json +128 -0
- package/docs/policies/openfga-authz-inbound/doc.md +207 -0
- package/docs/policies/openfga-authz-inbound/intro.md +17 -0
- package/docs/policies/openfga-authz-inbound/schema.json +191 -0
- package/docs/policies/openmeter-inbound/doc.md +163 -0
- package/docs/policies/openmeter-inbound/intro.md +18 -0
- package/docs/policies/openmeter-inbound/schema.json +183 -0
- package/docs/policies/prompt-injection-outbound/doc.md +106 -0
- package/docs/policies/prompt-injection-outbound/intro.md +4 -0
- package/docs/policies/prompt-injection-outbound/schema.json +74 -0
- package/docs/policies/propel-auth-jwt-inbound/doc.md +88 -0
- package/docs/policies/propel-auth-jwt-inbound/intro.md +4 -0
- package/docs/policies/propel-auth-jwt-inbound/schema.json +74 -0
- package/docs/policies/query-param-to-header-inbound/doc.md +70 -0
- package/docs/policies/query-param-to-header-inbound/intro.md +5 -0
- package/docs/policies/query-param-to-header-inbound/schema.json +74 -0
- package/docs/policies/quota-inbound/doc.md +235 -0
- package/docs/policies/quota-inbound/intro.md +7 -0
- package/docs/policies/quota-inbound/schema.json +133 -0
- package/docs/policies/rate-limit-inbound/doc.md +78 -0
- package/docs/policies/rate-limit-inbound/intro.md +30 -0
- package/docs/policies/rate-limit-inbound/schema.json +134 -0
- package/docs/policies/rbac-policy-inbound/intro.md +3 -0
- package/docs/policies/rbac-policy-inbound/policy.ts +42 -0
- package/docs/policies/rbac-policy-inbound/schema.json +52 -0
- package/docs/policies/readme-metrics-inbound/doc.md +1 -0
- package/docs/policies/readme-metrics-inbound/intro.md +3 -0
- package/docs/policies/readme-metrics-inbound/schema.json +84 -0
- package/docs/policies/remove-headers-inbound/schema.json +59 -0
- package/docs/policies/remove-headers-outbound/schema.json +59 -0
- package/docs/policies/remove-query-params-inbound/schema.json +59 -0
- package/docs/policies/replace-string-outbound/schema.json +69 -0
- package/docs/policies/request-size-limit-inbound/schema.json +60 -0
- package/docs/policies/request-validation-inbound/doc.md +72 -0
- package/docs/policies/request-validation-inbound/intro.md +24 -0
- package/docs/policies/request-validation-inbound/schema.json +98 -0
- package/docs/policies/require-origin-inbound/intro.md +12 -0
- package/docs/policies/require-origin-inbound/schema.json +65 -0
- package/docs/policies/secret-masking-outbound/doc.md +41 -0
- package/docs/policies/secret-masking-outbound/intro.md +13 -0
- package/docs/policies/secret-masking-outbound/schema.json +65 -0
- package/docs/policies/semantic-cache-inbound/doc.md +63 -0
- package/docs/policies/semantic-cache-inbound/intro.md +4 -0
- package/docs/policies/semantic-cache-inbound/schema.json +179 -0
- package/docs/policies/set-body-inbound/intro.md +7 -0
- package/docs/policies/set-body-inbound/schema.json +56 -0
- package/docs/policies/set-headers-inbound/doc.md +41 -0
- package/docs/policies/set-headers-inbound/intro.md +2 -0
- package/docs/policies/set-headers-inbound/schema.json +83 -0
- package/docs/policies/set-headers-outbound/schema.json +83 -0
- package/docs/policies/set-query-params-inbound/schema.json +83 -0
- package/docs/policies/set-status-outbound/schema.json +62 -0
- package/docs/policies/sleep-inbound/schema.json +56 -0
- package/docs/policies/stripe-webhook-verification-inbound/intro.md +2 -0
- package/docs/policies/stripe-webhook-verification-inbound/schema.json +60 -0
- package/docs/policies/supabase-jwt-auth-inbound/doc.md +29 -0
- package/docs/policies/supabase-jwt-auth-inbound/intro.md +12 -0
- package/docs/policies/supabase-jwt-auth-inbound/schema.json +86 -0
- package/docs/policies/transform-body-inbound/intro.md +8 -0
- package/docs/policies/transform-body-inbound/policy.ts +16 -0
- package/docs/policies/transform-body-inbound/schema.json +27 -0
- package/docs/policies/transform-body-outbound/intro.md +8 -0
- package/docs/policies/transform-body-outbound/policy.ts +19 -0
- package/docs/policies/transform-body-outbound/schema.json +27 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/doc.md +82 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/intro.md +20 -0
- package/docs/policies/upstream-azure-ad-service-auth-inbound/schema.json +84 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/intro.md +10 -0
- package/docs/policies/upstream-firebase-admin-auth-inbound/schema.json +68 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/intro.md +2 -0
- package/docs/policies/upstream-firebase-user-auth-inbound/schema.json +113 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/doc.md +139 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/intro.md +21 -0
- package/docs/policies/upstream-gcp-federated-auth-inbound/schema.json +96 -0
- package/docs/policies/upstream-gcp-jwt-inbound/intro.md +10 -0
- package/docs/policies/upstream-gcp-jwt-inbound/schema.json +62 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/doc.md +132 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/intro.md +25 -0
- package/docs/policies/upstream-gcp-service-auth-inbound/schema.json +95 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/doc.md +213 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/intro.md +16 -0
- package/docs/policies/upstream-zuplo-jwt-auth-inbound/schema.json +101 -0
- package/docs/policies/validate-json-schema-inbound/doc.md +129 -0
- package/docs/policies/validate-json-schema-inbound/intro.md +7 -0
- package/docs/policies/validate-json-schema-inbound/schema.json +56 -0
- package/docs/policies/web-bot-auth-inbound/doc.md +104 -0
- package/docs/policies/web-bot-auth-inbound/intro.md +16 -0
- package/docs/policies/web-bot-auth-inbound/schema.json +76 -0
- package/docs/policies/xml-to-json-outbound/doc.md +71 -0
- package/docs/policies/xml-to-json-outbound/intro.md +4 -0
- package/docs/policies/xml-to-json-outbound/schema.json +117 -0
- package/docs/programmable-api/audit-log.mdx +74 -0
- package/docs/programmable-api/background-dispatcher.mdx +124 -0
- package/docs/programmable-api/background-loader.mdx +104 -0
- package/docs/programmable-api/cache.mdx +186 -0
- package/docs/programmable-api/compatibility-dates.mdx +201 -0
- package/docs/programmable-api/console-logging.mdx +48 -0
- package/docs/programmable-api/context-data.mdx +127 -0
- package/docs/programmable-api/custom-cors-policy.mdx +64 -0
- package/docs/programmable-api/environment.mdx +328 -0
- package/docs/programmable-api/hooks.mdx +569 -0
- package/docs/programmable-api/http-problems.mdx +385 -0
- package/docs/programmable-api/jwt-service-plugin.mdx +420 -0
- package/docs/programmable-api/logger.mdx +223 -0
- package/docs/programmable-api/memory-zone-read-through-cache.mdx +96 -0
- package/docs/programmable-api/node-modules.mdx +67 -0
- package/docs/programmable-api/not-found-handler.mdx +47 -0
- package/docs/programmable-api/oauth-protected-resource-plugin.mdx +46 -0
- package/docs/programmable-api/overview.mdx +213 -0
- package/docs/programmable-api/problem-response-formatter.mdx +183 -0
- package/docs/programmable-api/request-user.mdx +289 -0
- package/docs/programmable-api/reusing-code.mdx +26 -0
- package/docs/programmable-api/route-raw.mdx +55 -0
- package/docs/programmable-api/runtime-behaviors.mdx +25 -0
- package/docs/programmable-api/runtime-errors.mdx +246 -0
- package/docs/programmable-api/runtime-extensions.mdx +340 -0
- package/docs/programmable-api/safely-clone-a-request-or-response.mdx +57 -0
- package/docs/programmable-api/streaming-zone-cache.mdx +155 -0
- package/docs/programmable-api/web-crypto-apis.mdx +219 -0
- package/docs/programmable-api/web-standard-apis.mdx +109 -0
- package/docs/programmable-api/zone-cache.mdx +131 -0
- package/docs/programmable-api/zp-body-removed.mdx +32 -0
- package/docs/programmable-api/zuplo-context.mdx +414 -0
- package/docs/programmable-api/zuplo-id-token.mdx +90 -0
- package/docs/programmable-api/zuplo-json.mdx +91 -0
- package/docs/programmable-api/zuplo-request.mdx +200 -0
- package/docs/sample-apis.mdx +78 -0
- package/docs/self-hosted/overview.md +60 -0
- package/package.json +6 -5
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Dev Portal Migration Guide
|
|
3
|
+
sidebar_label: Migration Guide
|
|
4
|
+
description:
|
|
5
|
+
Instruction for migrating from the legacy developer portal to Zudoku.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
This guide walks you through migrating your existing documentation from the
|
|
9
|
+
current Dev Portal to the new Dev Portal powered by Zudoku. Follow these steps
|
|
10
|
+
sequentially for a smooth transition.
|
|
11
|
+
|
|
12
|
+
## Before you begin
|
|
13
|
+
|
|
14
|
+
It's important to note that this migration is to a completely new developer
|
|
15
|
+
portal. As such, there could be things that are different or don't map exactly
|
|
16
|
+
to the old developer portal. This new developer portal is more powerful and
|
|
17
|
+
flexible, but it may require some adjustments to your existing content and
|
|
18
|
+
configuration.
|
|
19
|
+
|
|
20
|
+
A few things to keep in mind before starting the migration:
|
|
21
|
+
|
|
22
|
+
### Separate domain for Dev Portal
|
|
23
|
+
|
|
24
|
+
New Dev Portals run on their own dedicated domain instead of a `/docs` path
|
|
25
|
+
under your API. You must create a redirect route on `/docs` to maintain existing
|
|
26
|
+
links. You can use the
|
|
27
|
+
[Legacy Dev Portal Handler](/docs/handlers/legacy-dev-portal-handler) to achieve
|
|
28
|
+
this.
|
|
29
|
+
|
|
30
|
+
:::note
|
|
31
|
+
|
|
32
|
+
Builder plans have been automatically upgraded to include two custom domains
|
|
33
|
+
instead of one. This allows you to have a custom domain for both your API and
|
|
34
|
+
your developer portal.
|
|
35
|
+
|
|
36
|
+
:::
|
|
37
|
+
|
|
38
|
+
### Authentication changes
|
|
39
|
+
|
|
40
|
+
Not all authentication providers from the old Dev Portal are supported in the
|
|
41
|
+
new Developer Portal. The previous "external" provider isn't supported. If you
|
|
42
|
+
were using that provider, you will need to switch to a supported provider such
|
|
43
|
+
as Auth0 or implement a custom authentication solution.
|
|
44
|
+
|
|
45
|
+
### Other considerations
|
|
46
|
+
|
|
47
|
+
- **Theming**: Custom CSS from the old Dev Portal isn't directly supported. You
|
|
48
|
+
will need to reapply any custom styles using the new theming options in
|
|
49
|
+
Zudoku.
|
|
50
|
+
- **Navigation**: Navigation in the new developer portal is much more flexible,
|
|
51
|
+
but this does mean you will likely need to update your navigation structure.
|
|
52
|
+
- **Dark Mode**: The new Dev Portal has built-in support for dark mode, which
|
|
53
|
+
wasn't available in the old portal. You may want to use a different logo for
|
|
54
|
+
dark mode.
|
|
55
|
+
|
|
56
|
+
### Test in a preview environment
|
|
57
|
+
|
|
58
|
+
Don't perform the migration directly on your production environment. Instead,
|
|
59
|
+
create a preview environment to test the migration. This allows you to verify
|
|
60
|
+
that everything works as expected before making the changes live.
|
|
61
|
+
|
|
62
|
+
Things to test in the preview environment:
|
|
63
|
+
|
|
64
|
+
- Navigation between pages
|
|
65
|
+
- Authentication flows
|
|
66
|
+
- API reference rendering
|
|
67
|
+
- API Playground functionality
|
|
68
|
+
- Custom theming and styles
|
|
69
|
+
|
|
70
|
+
## Migration options
|
|
71
|
+
|
|
72
|
+
There are three ways to migrate your existing Dev Portal to the new version.
|
|
73
|
+
Choose the one that best fits your needs:
|
|
74
|
+
|
|
75
|
+
- Migrate in the portal (for simple setups)
|
|
76
|
+
- Quick migration with CLI (for most projects)
|
|
77
|
+
- Manual migration process (for full control)
|
|
78
|
+
|
|
79
|
+
### Migrate in the portal
|
|
80
|
+
|
|
81
|
+
If you have a simple Dev Portal setup and prefer to migrate directly in the
|
|
82
|
+
Zuplo Portal, you can use the built-in migration tool by opening the
|
|
83
|
+
`config/dev-portal.json` file in the Zuplo Portal and clicking the **Migrate to
|
|
84
|
+
Zudoku** button at the top of the editor. This will automatically create the
|
|
85
|
+
necessary files and move your existing configuration and markdown files to the
|
|
86
|
+
new format.
|
|
87
|
+
|
|
88
|
+
<YouTubeEmbed videoId="g4AVK12nMAY" title="Dev Portal Migration" />
|
|
89
|
+
|
|
90
|
+
### Quick migration with CLI
|
|
91
|
+
|
|
92
|
+
For most projects, you can use the Zuplo CLI to automate the migration process:
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
npx zuplo source migrate dev-portal
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
This command will automatically:
|
|
99
|
+
|
|
100
|
+
- Create the required directory structure
|
|
101
|
+
- Generate necessary configuration files
|
|
102
|
+
- Migrate your existing dev portal configuration
|
|
103
|
+
- Move markdown files to the correct location
|
|
104
|
+
|
|
105
|
+
See the [Source Commands](../cli/source-migrate.mdx) documentation for more
|
|
106
|
+
details and options.
|
|
107
|
+
|
|
108
|
+
If you prefer to understand each step or need more control over the migration
|
|
109
|
+
process, continue with the manual migration steps below.
|
|
110
|
+
|
|
111
|
+
### Manual migration process
|
|
112
|
+
|
|
113
|
+
<Stepper>
|
|
114
|
+
|
|
115
|
+
1. **Prepare Your Environment**
|
|
116
|
+
|
|
117
|
+
Clone your existing Zuplo project locally. We recommend trying this in a
|
|
118
|
+
branch and deploying to a preview environment first.
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
git clone https://github.com/my-org/my-api
|
|
122
|
+
cd my-api
|
|
123
|
+
git checkout -b dev-portal-migration
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
:::caution
|
|
127
|
+
|
|
128
|
+
Currently, this migration must be done locally. It cannot be done in the
|
|
129
|
+
Zuplo Portal.
|
|
130
|
+
|
|
131
|
+
:::
|
|
132
|
+
|
|
133
|
+
1. **Create Directory Structure**
|
|
134
|
+
|
|
135
|
+
Set up your new directory structure by creating the following files and
|
|
136
|
+
folders:
|
|
137
|
+
- Create `docs/zudoku.config.ts` as an empty file, the contents will be added
|
|
138
|
+
later.
|
|
139
|
+
- Create `docs/package.json` as an empty file, the contents will be added
|
|
140
|
+
later.
|
|
141
|
+
- Create `docs/tsconfig.json` as an empty file, the contents will be added
|
|
142
|
+
later.
|
|
143
|
+
- Create a directory `docs/pages` for your markdown files
|
|
144
|
+
- Create a directory `docs/public` for images and other static assets
|
|
145
|
+
|
|
146
|
+
Once these files are created your directory structure should look like this.
|
|
147
|
+
Note, that the old dev portal files are still in place. You will delete them
|
|
148
|
+
later.
|
|
149
|
+
|
|
150
|
+
```txt
|
|
151
|
+
my-api/
|
|
152
|
+
├─ config/
|
|
153
|
+
│ ├─ dev-portal.json # <- Your existing dev-portal.json
|
|
154
|
+
│ ├─ routes.oas.json
|
|
155
|
+
│ ├─ policies.json
|
|
156
|
+
├─ docs/
|
|
157
|
+
│ ├─ sidebar.json # <- Your existing sidebar.json
|
|
158
|
+
│ ├─ theme.css # <- Your existing theme.css
|
|
159
|
+
│ ├─ zudoku.config.ts
|
|
160
|
+
│ ├─ package.json
|
|
161
|
+
│ ├─ tsconfig.json
|
|
162
|
+
│ ├─ pages/
|
|
163
|
+
│ │ ├─ doc.md # <- Your existing markdown files
|
|
164
|
+
│ ├─ public/ # <- Your images and other static assets
|
|
165
|
+
├─ .gitignore
|
|
166
|
+
├─ package.json
|
|
167
|
+
├─ tsconfig.json
|
|
168
|
+
├─ README.md
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
1. **Update TypeScript Configuration File**
|
|
172
|
+
|
|
173
|
+
If you haven't already, create a `tsconfig.json` file in the `docs` folder
|
|
174
|
+
and update the file with the following content.
|
|
175
|
+
|
|
176
|
+
```json title="docs/tsconfig.json"
|
|
177
|
+
{
|
|
178
|
+
"compilerOptions": {
|
|
179
|
+
"target": "ES2022",
|
|
180
|
+
"lib": ["ESNext", "DOM", "DOM.Iterable", "WebWorker"],
|
|
181
|
+
"module": "ESNext",
|
|
182
|
+
"moduleResolution": "Bundler",
|
|
183
|
+
"useDefineForClassFields": true,
|
|
184
|
+
"skipLibCheck": true,
|
|
185
|
+
"skipDefaultLibCheck": true,
|
|
186
|
+
"resolveJsonModule": true,
|
|
187
|
+
"isolatedModules": true,
|
|
188
|
+
"useUnknownInCatchVariables": false,
|
|
189
|
+
"types": ["zudoku/client"],
|
|
190
|
+
"jsx": "react-jsx"
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
1. Update `package.json`File
|
|
196
|
+
|
|
197
|
+
If you haven't already, create a `package.json` file in the `docs` folder and
|
|
198
|
+
update the file with the following content.
|
|
199
|
+
|
|
200
|
+
```json title="docs/package.json"
|
|
201
|
+
{
|
|
202
|
+
"name": "docs",
|
|
203
|
+
"version": "0.1.0",
|
|
204
|
+
"type": "module",
|
|
205
|
+
"private": true,
|
|
206
|
+
"scripts": {
|
|
207
|
+
"dev": "zudoku dev --zuplo",
|
|
208
|
+
"build": "zudoku build --zuplo"
|
|
209
|
+
},
|
|
210
|
+
"dependencies": {
|
|
211
|
+
"react": ">19.0.0",
|
|
212
|
+
"react-dom": ">19.0.0",
|
|
213
|
+
"zudoku": "^0.39"
|
|
214
|
+
},
|
|
215
|
+
"devDependencies": {
|
|
216
|
+
"typescript": "^5",
|
|
217
|
+
"@types/node": "^22",
|
|
218
|
+
"@types/react": "^19",
|
|
219
|
+
"@types/react-dom": "^19"
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
1. **Update Root Package.json**
|
|
225
|
+
|
|
226
|
+
Add the `workspaces` configuration to your root `package.json` file.
|
|
227
|
+
Optionally, add a new script `docs` to run the dev portal.
|
|
228
|
+
|
|
229
|
+
```json title="package.json"
|
|
230
|
+
{
|
|
231
|
+
"name": "my-api",
|
|
232
|
+
"version": "0.1.0",
|
|
233
|
+
"scripts": {
|
|
234
|
+
"dev": "zuplo dev",
|
|
235
|
+
"test": "zuplo test",
|
|
236
|
+
"docs": "npm run dev --workspace docs"
|
|
237
|
+
},
|
|
238
|
+
"workspaces": {
|
|
239
|
+
"packages": ["docs"]
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
1. **Migrate Dev Portal Configuration**
|
|
245
|
+
|
|
246
|
+
If you haven't already done so, create a new `zudoku.config.ts` file in the
|
|
247
|
+
`docs` directory to replace your existing `dev-portal.json`.
|
|
248
|
+
|
|
249
|
+
Here's how several fields map from old to new format. See the
|
|
250
|
+
[configuration](./zudoku/configuration/overview.mdx) documentation for a
|
|
251
|
+
complete list of options.
|
|
252
|
+
|
|
253
|
+
| Old (`dev-portal.json`) | New (`zudoku.config.ts`) |
|
|
254
|
+
| -------------------------- | ------------------------------------------------ |
|
|
255
|
+
| `pageTitle` | `site.title` |
|
|
256
|
+
| `faviconUrl` | `metadata.favicon` |
|
|
257
|
+
| `enableAuthentication` | Implied by presence of `authentication` property |
|
|
258
|
+
| `authentication.provider` | `authentication.type` |
|
|
259
|
+
| `authentication.authority` | Provider-specific properties |
|
|
260
|
+
| (from sidebar.json) | `navigation` array |
|
|
261
|
+
|
|
262
|
+
Example configuration:
|
|
263
|
+
|
|
264
|
+
```ts title="docs/zudoku.config.ts"
|
|
265
|
+
import type { ZudokuConfig } from "zudoku";
|
|
266
|
+
|
|
267
|
+
const config: ZudokuConfig = {
|
|
268
|
+
site: {
|
|
269
|
+
title: "My API", // Was pageTitle in the old format
|
|
270
|
+
},
|
|
271
|
+
metadata: {
|
|
272
|
+
favicon: "https://www.example.org/favicon.ico", // Was faviconUrl
|
|
273
|
+
},
|
|
274
|
+
navigation: [
|
|
275
|
+
{
|
|
276
|
+
type: "category",
|
|
277
|
+
label: "Documentation",
|
|
278
|
+
items: [
|
|
279
|
+
"introduction", // Using shorthand for docs
|
|
280
|
+
"other-example",
|
|
281
|
+
],
|
|
282
|
+
},
|
|
283
|
+
{ type: "link", to: "/api", label: "API Reference" },
|
|
284
|
+
],
|
|
285
|
+
redirects: [{ from: "/", to: "/introduction" }],
|
|
286
|
+
apis: [
|
|
287
|
+
{
|
|
288
|
+
type: "file",
|
|
289
|
+
input: "../config/routes.oas.json",
|
|
290
|
+
path: "/api",
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
apiKeys: {
|
|
294
|
+
// Enable API Key Management, disabled by default
|
|
295
|
+
enabled: true,
|
|
296
|
+
},
|
|
297
|
+
authentication: {
|
|
298
|
+
type: "auth0", // Was provider in the old format
|
|
299
|
+
domain: process.env.ZUPLO_PUBLIC_AUTH0_DOMAIN,
|
|
300
|
+
clientId: process.env.ZUPLO_PUBLIC_AUTH0_CLIENT_ID,
|
|
301
|
+
},
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
export default config;
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
:::tip
|
|
308
|
+
|
|
309
|
+
Environment variables are now referenced using `process.env` instead of
|
|
310
|
+
`$env()`.
|
|
311
|
+
|
|
312
|
+
:::
|
|
313
|
+
|
|
314
|
+
1. **Migrate Sidebar Configuration**
|
|
315
|
+
|
|
316
|
+
Move your [sidebar configuration](./zudoku/configuration/navigation.mdx) from
|
|
317
|
+
`sidebar.json` to the `navigation` array in `zudoku.config.ts`:
|
|
318
|
+
|
|
319
|
+
**Old format (`sidebar.json`):**
|
|
320
|
+
|
|
321
|
+
```json
|
|
322
|
+
[
|
|
323
|
+
{
|
|
324
|
+
"type": "category",
|
|
325
|
+
"label": "Getting Started",
|
|
326
|
+
"items": ["introduction", "quickstart"]
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"type": "doc",
|
|
330
|
+
"id": "api-reference"
|
|
331
|
+
}
|
|
332
|
+
]
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**New format (in `zudoku.config.ts`):**
|
|
336
|
+
|
|
337
|
+
```ts
|
|
338
|
+
navigation: [
|
|
339
|
+
{
|
|
340
|
+
type: "category",
|
|
341
|
+
label: "Documentation",
|
|
342
|
+
items: [
|
|
343
|
+
{
|
|
344
|
+
type: "category",
|
|
345
|
+
label: "Getting Started",
|
|
346
|
+
items: [
|
|
347
|
+
{
|
|
348
|
+
type: "doc",
|
|
349
|
+
file: "introduction", // Note: no path prefix needed
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
type: "doc",
|
|
353
|
+
file: "quickstart",
|
|
354
|
+
},
|
|
355
|
+
],
|
|
356
|
+
},
|
|
357
|
+
"authentication", // Directly reference doc files
|
|
358
|
+
],
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
type: "link",
|
|
362
|
+
to: "/api",
|
|
363
|
+
label: "API Reference",
|
|
364
|
+
},
|
|
365
|
+
];
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
1. **Move Markdown Files**
|
|
369
|
+
|
|
370
|
+
Move your markdown files to the `docs/pages` directory. The front matter
|
|
371
|
+
format remains largely the same:
|
|
372
|
+
|
|
373
|
+
```md
|
|
374
|
+
---
|
|
375
|
+
title: Introduction
|
|
376
|
+
sidebar_label: Intro
|
|
377
|
+
description: Introduction to our API
|
|
378
|
+
---
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
1. **Set Up Images and Assets**
|
|
382
|
+
|
|
383
|
+
Create a `docs/public` directory for your images and other static assets. See
|
|
384
|
+
the [documentation](./zudoku/guides/static-files.mdx) for more information on
|
|
385
|
+
how to use static files in the new dev portal.
|
|
386
|
+
|
|
387
|
+
1. **Install Dependencies**
|
|
388
|
+
|
|
389
|
+
Run `npm install` from your project root to install all dependencies for both
|
|
390
|
+
your API and documentation.
|
|
391
|
+
|
|
392
|
+
1. **Test Locally**
|
|
393
|
+
|
|
394
|
+
Start the dev portal locally with `npm run docs` and verify that:
|
|
395
|
+
- All pages load correctly
|
|
396
|
+
- Authentication works (if using it)
|
|
397
|
+
- All links between pages work
|
|
398
|
+
- API reference section loads your OpenAPI definitions
|
|
399
|
+
- Images and assets display properly
|
|
400
|
+
|
|
401
|
+
1. **Delete Legacy Files**
|
|
402
|
+
|
|
403
|
+
After confirming everything works, delete these files:
|
|
404
|
+
- `/config/dev-portal.json`
|
|
405
|
+
- `/docs/sidebar.json`
|
|
406
|
+
- `/docs/theme.css`
|
|
407
|
+
|
|
408
|
+
:::caution
|
|
409
|
+
|
|
410
|
+
It is critical that you delete the `config/dev-portal.json` file after
|
|
411
|
+
completing the migration. If that file is not deleted, the Zuplo build system
|
|
412
|
+
will use the legacy dev portal.
|
|
413
|
+
|
|
414
|
+
:::
|
|
415
|
+
|
|
416
|
+
1. **Deploy and Verify**
|
|
417
|
+
|
|
418
|
+
Deploy your changes by either pushing to a git branch or by running
|
|
419
|
+
[`npx zuplo deploy`](../cli/deploy.mdx). After the deployment has completed,
|
|
420
|
+
perform these final checks:
|
|
421
|
+
- Test all site navigation paths
|
|
422
|
+
- Verify authentication flows work correctly
|
|
423
|
+
- Check API reference documentation renders
|
|
424
|
+
- Test across different browsers and devices
|
|
425
|
+
- Verify custom styling and theming is applied correctly
|
|
426
|
+
|
|
427
|
+
</Stepper>
|
|
428
|
+
|
|
429
|
+
## Theming
|
|
430
|
+
|
|
431
|
+
For instructions on theming the dev portal, see
|
|
432
|
+
[Colors & Theme](./zudoku/customization/colors-theme.mdx) and
|
|
433
|
+
[Fonts](./zudoku/customization/fonts.mdx).
|
|
434
|
+
|
|
435
|
+
## Redirect legacy URLs
|
|
436
|
+
|
|
437
|
+
The previous Dev Portal was hosted on a path on the same domains your Zuplo API
|
|
438
|
+
(i.e. `https://api.example.com/docs`). The new Dev Portal is hosted on its own
|
|
439
|
+
domain and can have its own custom domain (i.e. `https://docs.example.com`).
|
|
440
|
+
Learn more about setting up custom domains in the
|
|
441
|
+
[Custom Domains documentation](/docs/articles/custom-domains).
|
|
442
|
+
|
|
443
|
+
If you were using the previous Dev Portal, you can redirect all requests from
|
|
444
|
+
the legacy path to the new domain using the
|
|
445
|
+
[Legacy Dev Portal Handler](/docs/handlers/legacy-dev-portal-handler). This
|
|
446
|
+
allows you to maintain backwards compatibility for users who may have bookmarked
|
|
447
|
+
or linked to the old Dev Portal URL.
|
|
448
|
+
|
|
449
|
+
### Setup Instructions
|
|
450
|
+
|
|
451
|
+
1. **Create a New Routes File**: In your Zuplo project, create a new OpenAPI
|
|
452
|
+
file called `legacy.oas.json` (or any name you prefer).
|
|
453
|
+
|
|
454
|
+
2. **Add a Route**: Inside this file, add a route that matches the legacy path
|
|
455
|
+
and redirects to the new Dev Portal domain. You must set the path to the path
|
|
456
|
+
used by the previous Dev Portal, such as `/docs(.*)`. It's important not to
|
|
457
|
+
make the route `/docs(.*)` not `/docs/(.*)` in order to also match the root
|
|
458
|
+
path `/docs`.
|
|
459
|
+
|
|
460
|
+
For example:
|
|
461
|
+
|
|
462
|
+
```json
|
|
463
|
+
{
|
|
464
|
+
"openapi": "3.1.0",
|
|
465
|
+
"info": {
|
|
466
|
+
"version": "1.0.0",
|
|
467
|
+
"title": "Dev Portal Redirect"
|
|
468
|
+
},
|
|
469
|
+
"paths": {
|
|
470
|
+
"/docs(.*)": {
|
|
471
|
+
"x-zuplo-path": {
|
|
472
|
+
"pathMode": "url-pattern"
|
|
473
|
+
},
|
|
474
|
+
"get": {
|
|
475
|
+
"summary": "Redirect",
|
|
476
|
+
"description": "Redirect to the new Dev Portal domain",
|
|
477
|
+
"x-zuplo-route": {
|
|
478
|
+
"corsPolicy": "none",
|
|
479
|
+
"handler": {
|
|
480
|
+
"export": "legacyDevPortalHandler",
|
|
481
|
+
"module": "$import(@zuplo/runtime)",
|
|
482
|
+
"options": {
|
|
483
|
+
"mode": "redirect"
|
|
484
|
+
}
|
|
485
|
+
},
|
|
486
|
+
"policies": {
|
|
487
|
+
"inbound": []
|
|
488
|
+
}
|
|
489
|
+
},
|
|
490
|
+
"operationId": "dev-portal-redirect"
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
```
|
|
496
|
+
|
|
497
|
+
After you redeploy your Zuplo project, whenever the user navigates to the legacy
|
|
498
|
+
developer portal paths, they will be redirected to the new Dev Portal domain.
|
|
499
|
+
|
|
500
|
+
For more detailed information about the handler, including how to configure
|
|
501
|
+
proxy mode to keep your developer portal on the same domain, see the
|
|
502
|
+
[Legacy Dev Portal Handler](/docs/handlers/legacy-dev-portal-handler)
|
|
503
|
+
documentation.
|
|
504
|
+
|
|
505
|
+
### Additional redirects
|
|
506
|
+
|
|
507
|
+
Your new developer portal may also change other paths. To create redirects for
|
|
508
|
+
specific docs or other path in your new Dev Portal, we recommend using the
|
|
509
|
+
`redirects` configuration in the `zudoku.config.ts` file. This allows you to
|
|
510
|
+
specify multiple redirects easily. For more information, see the
|
|
511
|
+
[Redirects section in the configuration docs](/docs/dev-portal/zudoku/configuration/overview#redirects)
|
|
512
|
+
|
|
513
|
+
## Troubleshooting
|
|
514
|
+
|
|
515
|
+
If you encounter issues during migration, check these common problems:
|
|
516
|
+
|
|
517
|
+
- **Missing dependencies**: Ensure you've run `npm install` from the project
|
|
518
|
+
root.
|
|
519
|
+
- **Authentication issues**: Verify your environment variables are correctly set
|
|
520
|
+
and authentication is properly configured.
|
|
521
|
+
- **Sidebar not showing**: Check your sidebar configuration in
|
|
522
|
+
`zudoku.config.ts` and make sure file IDs match your markdown files.
|
|
523
|
+
- **Images not loading**: Confirm image paths have been updated to point to the
|
|
524
|
+
new location.
|
|
525
|
+
- **Environment variables not working**: Use `process.env.VARIABLE_NAME` instead
|
|
526
|
+
of `$env(VARIABLE_NAME)`.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Node Modules & Customization
|
|
3
|
+
description:
|
|
4
|
+
Guide to installing custom node modules in Zuplo's developer portal.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
The Dev Portal supports installing and using custom node modules in your
|
|
8
|
+
documentation. This allows you to extend your documentation with custom React
|
|
9
|
+
components, utilities, or any other npm packages.
|
|
10
|
+
|
|
11
|
+
## Installing Custom Packages
|
|
12
|
+
|
|
13
|
+
Inside your project's `/docs` directory, you can install any npm package using
|
|
14
|
+
the standard npm commands:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
npm install your-package-name
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Using Custom React Components
|
|
21
|
+
|
|
22
|
+
You can import and use custom React components directly in the
|
|
23
|
+
`zudoku.config.tsx` file or your MDX files:
|
|
24
|
+
|
|
25
|
+
```jsx
|
|
26
|
+
import { MyCustomComponent } from "your-package-name";
|
|
27
|
+
|
|
28
|
+
<MyCustomComponent />;
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## TypeScript Support
|
|
32
|
+
|
|
33
|
+
The Dev Portal includes full TypeScript support for your custom components. Make
|
|
34
|
+
sure your `tsconfig.json` includes the appropriate type definitions for your
|
|
35
|
+
packages.
|
|
36
|
+
|
|
37
|
+
## Limitations
|
|
38
|
+
|
|
39
|
+
While you can use most npm packages, be mindful of:
|
|
40
|
+
|
|
41
|
+
- Package size impact on build time
|
|
42
|
+
- Browser compatibility for client-side components
|
|
43
|
+
- Node.js-specific packages (like `fs` or `path`) cannot be used in
|
|
44
|
+
`zudoku.config.tsx` since it runs in both server and browser environments -
|
|
45
|
+
use environment-agnostic code only
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Updating Versions
|
|
3
|
+
description:
|
|
4
|
+
How to update Zuplo's developer portal to keep it up to date with the latest
|
|
5
|
+
changes.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
When developing your Dev Portal locally, you likely want to keep your version of
|
|
9
|
+
the Dev Portal up-to-date with the latest changes. This guide will walk you
|
|
10
|
+
through the process of installing the latest version of the Dev Portal.
|
|
11
|
+
|
|
12
|
+
Inside of your project's `/docs` directory, run the following command to update
|
|
13
|
+
the Dev Portal's dependencies:
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npm install zudoku@latest
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Occasionally, there may be peer dependencies such as `react` that need to be
|
|
20
|
+
updated. If you encounter any messages that indicate that peer dependencies need
|
|
21
|
+
to be updated, run the following command:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install react@latest react-dom@latest
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Updates that require more than just updating the dependencies will be noted in
|
|
28
|
+
the changelog.
|