zudoku 0.0.2-dev.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/cli.js +1 -0
- package/dist/app/DevPortal.d.ts +26 -0
- package/dist/app/DevPortal.js +41 -0
- package/dist/app/DevPortal.js.map +1 -0
- package/dist/app/Heading.d.ts +9 -0
- package/dist/app/Heading.js +27 -0
- package/dist/app/Heading.js.map +1 -0
- package/dist/app/app.d.ts +2 -0
- package/dist/app/app.js +69 -0
- package/dist/app/app.js.map +1 -0
- package/dist/app/authentication/authentication.d.ts +13 -0
- package/dist/app/authentication/authentication.js +2 -0
- package/dist/app/authentication/authentication.js.map +1 -0
- package/dist/app/authentication/clerk.d.ts +5 -0
- package/dist/app/authentication/clerk.js +36 -0
- package/dist/app/authentication/clerk.js.map +1 -0
- package/dist/app/authentication/openid.d.ts +11 -0
- package/dist/app/authentication/openid.js +118 -0
- package/dist/app/authentication/openid.js.map +1 -0
- package/dist/app/components/AnchorLink.d.ts +5 -0
- package/dist/app/components/AnchorLink.js +17 -0
- package/dist/app/components/AnchorLink.js.map +1 -0
- package/dist/app/components/CategoryHeading.d.ts +5 -0
- package/dist/app/components/CategoryHeading.js +6 -0
- package/dist/app/components/CategoryHeading.js.map +1 -0
- package/dist/app/components/DynamicIcon.d.ts +6 -0
- package/dist/app/components/DynamicIcon.js +6 -0
- package/dist/app/components/DynamicIcon.js.map +1 -0
- package/dist/app/components/Header.d.ts +2 -0
- package/dist/app/components/Header.js +15 -0
- package/dist/app/components/Header.js.map +1 -0
- package/dist/app/components/Layout.d.ts +4 -0
- package/dist/app/components/Layout.js +31 -0
- package/dist/app/components/Layout.js.map +1 -0
- package/dist/app/components/Markdown.d.ts +5 -0
- package/dist/app/components/Markdown.js +20 -0
- package/dist/app/components/Markdown.js.map +1 -0
- package/dist/app/components/SyntaxHighlight.d.ts +9 -0
- package/dist/app/components/SyntaxHighlight.js +31 -0
- package/dist/app/components/SyntaxHighlight.js.map +1 -0
- package/dist/app/components/TopNavigation.d.ts +1 -0
- package/dist/app/components/TopNavigation.js +11 -0
- package/dist/app/components/TopNavigation.js.map +1 -0
- package/dist/app/components/context/ComponentsContext.d.ts +10 -0
- package/dist/app/components/context/ComponentsContext.js +11 -0
- package/dist/app/components/context/ComponentsContext.js.map +1 -0
- package/dist/app/components/context/DevPortalProvider.d.ts +10 -0
- package/dist/app/components/context/DevPortalProvider.js +39 -0
- package/dist/app/components/context/DevPortalProvider.js.map +1 -0
- package/dist/app/components/context/PluginSystem.d.ts +1 -0
- package/dist/app/components/context/PluginSystem.js +2 -0
- package/dist/app/components/context/PluginSystem.js.map +1 -0
- package/dist/app/components/context/ThemeContext.d.ts +5 -0
- package/dist/app/components/context/ThemeContext.js +33 -0
- package/dist/app/components/context/ThemeContext.js.map +1 -0
- package/dist/app/components/context/ViewportAnchorContext.d.ts +15 -0
- package/dist/app/components/context/ViewportAnchorContext.js +89 -0
- package/dist/app/components/context/ViewportAnchorContext.js.map +1 -0
- package/dist/app/components/navigation/SideNavigation.d.ts +1 -0
- package/dist/app/components/navigation/SideNavigation.js +11 -0
- package/dist/app/components/navigation/SideNavigation.js.map +1 -0
- package/dist/app/components/navigation/SideNavigationCategory.d.ts +4 -0
- package/dist/app/components/navigation/SideNavigationCategory.js +26 -0
- package/dist/app/components/navigation/SideNavigationCategory.js.map +1 -0
- package/dist/app/components/navigation/SideNavigationItem.d.ts +12 -0
- package/dist/app/components/navigation/SideNavigationItem.js +38 -0
- package/dist/app/components/navigation/SideNavigationItem.js.map +1 -0
- package/dist/app/components/navigation/SideNavigationWrapper.d.ts +4 -0
- package/dist/app/components/navigation/SideNavigationWrapper.js +6 -0
- package/dist/app/components/navigation/SideNavigationWrapper.js.map +1 -0
- package/dist/app/components/navigation/useNavigationCollapsibleState.d.ts +7 -0
- package/dist/app/components/navigation/useNavigationCollapsibleState.js +16 -0
- package/dist/app/components/navigation/useNavigationCollapsibleState.js.map +1 -0
- package/dist/app/components/navigation/util.d.ts +8 -0
- package/dist/app/components/navigation/util.js +15 -0
- package/dist/app/components/navigation/util.js.map +1 -0
- package/dist/app/config.d.ts +3 -0
- package/dist/app/config.js +9 -0
- package/dist/app/config.js.map +1 -0
- package/dist/app/core/DevPortalContext.d.ts +80 -0
- package/dist/app/core/DevPortalContext.js +68 -0
- package/dist/app/core/DevPortalContext.js.map +1 -0
- package/dist/app/core/helmet.d.ts +4 -0
- package/dist/app/core/helmet.js +5 -0
- package/dist/app/core/helmet.js.map +1 -0
- package/dist/app/core/icons.d.ts +1 -0
- package/dist/app/core/icons.js +2 -0
- package/dist/app/core/icons.js.map +1 -0
- package/dist/app/core/plugins.d.ts +24 -0
- package/dist/app/core/plugins.js +4 -0
- package/dist/app/core/plugins.js.map +1 -0
- package/dist/app/core/router.d.ts +1 -0
- package/dist/app/core/router.js +2 -0
- package/dist/app/core/router.js.map +1 -0
- package/dist/app/core/types/combine.d.ts +4 -0
- package/dist/app/core/types/combine.js +2 -0
- package/dist/app/core/types/combine.js.map +1 -0
- package/dist/app/main.d.ts +1 -0
- package/dist/app/main.js +18 -0
- package/dist/app/main.js.map +1 -0
- package/dist/app/markdowns.d.ts +3 -0
- package/dist/app/markdowns.js +5 -0
- package/dist/app/markdowns.js.map +1 -0
- package/dist/app/oas/graphql/index.d.ts +12 -0
- package/dist/app/oas/graphql/index.js +290 -0
- package/dist/app/oas/graphql/index.js.map +1 -0
- package/dist/app/oas/graphql/server.d.ts +1 -0
- package/dist/app/oas/graphql/server.js +8 -0
- package/dist/app/oas/graphql/server.js.map +1 -0
- package/dist/app/oas/parser/dereference/index.d.ts +5 -0
- package/dist/app/oas/parser/dereference/index.js +43 -0
- package/dist/app/oas/parser/dereference/index.js.map +1 -0
- package/dist/app/oas/parser/dereference/resolveRef.d.ts +5 -0
- package/dist/app/oas/parser/dereference/resolveRef.js +26 -0
- package/dist/app/oas/parser/dereference/resolveRef.js.map +1 -0
- package/dist/app/oas/parser/index.d.ts +21 -0
- package/dist/app/oas/parser/index.js +58 -0
- package/dist/app/oas/parser/index.js.map +1 -0
- package/dist/app/oas/parser/schemas/v3.0.json +1489 -0
- package/dist/app/oas/parser/schemas/v3.1.json +1298 -0
- package/dist/app/oas/parser/upgrade/index.d.ts +9 -0
- package/dist/app/oas/parser/upgrade/index.js +90 -0
- package/dist/app/oas/parser/upgrade/index.js.map +1 -0
- package/dist/app/plugins/api-key/SettingsApiKeys.d.ts +4 -0
- package/dist/app/plugins/api-key/SettingsApiKeys.js +7 -0
- package/dist/app/plugins/api-key/SettingsApiKeys.js.map +1 -0
- package/dist/app/plugins/api-key/index.d.ts +32 -0
- package/dist/app/plugins/api-key/index.js +55 -0
- package/dist/app/plugins/api-key/index.js.map +1 -0
- package/dist/app/plugins/markdown/MdxPage.d.ts +3 -0
- package/dist/app/plugins/markdown/MdxPage.js +55 -0
- package/dist/app/plugins/markdown/MdxPage.js.map +1 -0
- package/dist/app/plugins/markdown/Toc.d.ts +4 -0
- package/dist/app/plugins/markdown/Toc.js +40 -0
- package/dist/app/plugins/markdown/Toc.js.map +1 -0
- package/dist/app/plugins/markdown/generateRoutes.d.ts +3 -0
- package/dist/app/plugins/markdown/generateRoutes.js +50 -0
- package/dist/app/plugins/markdown/generateRoutes.js.map +1 -0
- package/dist/app/plugins/markdown/index.d.ts +19 -0
- package/dist/app/plugins/markdown/index.js +9 -0
- package/dist/app/plugins/markdown/index.js.map +1 -0
- package/dist/app/plugins/openapi/ColorizedParam.d.ts +8 -0
- package/dist/app/plugins/openapi/ColorizedParam.js +40 -0
- package/dist/app/plugins/openapi/ColorizedParam.js.map +1 -0
- package/dist/app/plugins/openapi/MakeRequest.d.ts +4 -0
- package/dist/app/plugins/openapi/MakeRequest.js +11 -0
- package/dist/app/plugins/openapi/MakeRequest.js.map +1 -0
- package/dist/app/plugins/openapi/MethodBadge.d.ts +13 -0
- package/dist/app/plugins/openapi/MethodBadge.js +26 -0
- package/dist/app/plugins/openapi/MethodBadge.js.map +1 -0
- package/dist/app/plugins/openapi/OperationList.d.ts +47 -0
- package/dist/app/plugins/openapi/OperationList.js +82 -0
- package/dist/app/plugins/openapi/OperationList.js.map +1 -0
- package/dist/app/plugins/openapi/OperationListItem.d.ts +7 -0
- package/dist/app/plugins/openapi/OperationListItem.js +15 -0
- package/dist/app/plugins/openapi/OperationListItem.js.map +1 -0
- package/dist/app/plugins/openapi/ParameterList.d.ts +7 -0
- package/dist/app/plugins/openapi/ParameterList.js +5 -0
- package/dist/app/plugins/openapi/ParameterList.js.map +1 -0
- package/dist/app/plugins/openapi/ParameterListItem.d.ts +8 -0
- package/dist/app/plugins/openapi/ParameterListItem.js +13 -0
- package/dist/app/plugins/openapi/ParameterListItem.js.map +1 -0
- package/dist/app/plugins/openapi/RequestBodySidecarBox.d.ts +6 -0
- package/dist/app/plugins/openapi/RequestBodySidecarBox.js +19 -0
- package/dist/app/plugins/openapi/RequestBodySidecarBox.js.map +1 -0
- package/dist/app/plugins/openapi/ResponsesSidecarBox.d.ts +6 -0
- package/dist/app/plugins/openapi/ResponsesSidecarBox.js +15 -0
- package/dist/app/plugins/openapi/ResponsesSidecarBox.js.map +1 -0
- package/dist/app/plugins/openapi/Select.d.ts +9 -0
- package/dist/app/plugins/openapi/Select.js +5 -0
- package/dist/app/plugins/openapi/Select.js.map +1 -0
- package/dist/app/plugins/openapi/Sidecar.d.ts +4 -0
- package/dist/app/plugins/openapi/Sidecar.js +39 -0
- package/dist/app/plugins/openapi/Sidecar.js.map +1 -0
- package/dist/app/plugins/openapi/SidecarBox.d.ts +10 -0
- package/dist/app/plugins/openapi/SidecarBox.js +8 -0
- package/dist/app/plugins/openapi/SidecarBox.js.map +1 -0
- package/dist/app/plugins/openapi/graphql/index.d.ts +836 -0
- package/dist/app/plugins/openapi/graphql/index.js +4 -0
- package/dist/app/plugins/openapi/graphql/index.js.map +1 -0
- package/dist/app/plugins/openapi/index.d.ts +22 -0
- package/dist/app/plugins/openapi/index.js +91 -0
- package/dist/app/plugins/openapi/index.js.map +1 -0
- package/dist/app/plugins/openapi/util/generateSchemaExample.d.ts +3 -0
- package/dist/app/plugins/openapi/util/generateSchemaExample.js +52 -0
- package/dist/app/plugins/openapi/util/generateSchemaExample.js.map +1 -0
- package/dist/app/plugins/openapi/util/getCode.d.ts +2 -0
- package/dist/app/plugins/openapi/util/getCode.js +54 -0
- package/dist/app/plugins/openapi/util/getCode.js.map +1 -0
- package/dist/app/plugins/openapi/util/urql.d.ts +8 -0
- package/dist/app/plugins/openapi/util/urql.js +8 -0
- package/dist/app/plugins/openapi/util/urql.js.map +1 -0
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.d.ts +5 -0
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.js +47 -0
- package/dist/app/plugins/openapi/worker/createSharedWorkerClient.js.map +1 -0
- package/dist/app/plugins/openapi/worker/worker.d.ts +1 -0
- package/dist/app/plugins/openapi/worker/worker.js +20 -0
- package/dist/app/plugins/openapi/worker/worker.js.map +1 -0
- package/dist/app/plugins/redirect/index.d.ts +10 -0
- package/dist/app/plugins/redirect/index.js +11 -0
- package/dist/app/plugins/redirect/index.js.map +1 -0
- package/dist/app/tailwind.d.ts +3 -0
- package/dist/app/tailwind.js +69 -0
- package/dist/app/tailwind.js.map +1 -0
- package/dist/app/ui/Callout.d.ts +51 -0
- package/dist/app/ui/Callout.js +50 -0
- package/dist/app/ui/Callout.js.map +1 -0
- package/dist/app/ui/Card.d.ts +8 -0
- package/dist/app/ui/Card.js +17 -0
- package/dist/app/ui/Card.js.map +1 -0
- package/dist/app/ui/Note.d.ts +8 -0
- package/dist/app/ui/Note.js +23 -0
- package/dist/app/ui/Note.js.map +1 -0
- package/dist/app/util/MdxComponents.d.ts +27 -0
- package/dist/app/util/MdxComponents.js +40 -0
- package/dist/app/util/MdxComponents.js.map +1 -0
- package/dist/app/util/cn.d.ts +2 -0
- package/dist/app/util/cn.js +6 -0
- package/dist/app/util/cn.js.map +1 -0
- package/dist/app/util/createWaitForNotify.d.ts +1 -0
- package/dist/app/util/createWaitForNotify.js +15 -0
- package/dist/app/util/createWaitForNotify.js.map +1 -0
- package/dist/app/util/groupBy.d.ts +6 -0
- package/dist/app/util/groupBy.js +9 -0
- package/dist/app/util/groupBy.js.map +1 -0
- package/dist/app/util/joinPath.d.ts +1 -0
- package/dist/app/util/joinPath.js +8 -0
- package/dist/app/util/joinPath.js.map +1 -0
- package/dist/app/util/pastellize.d.ts +4 -0
- package/dist/app/util/pastellize.js +14 -0
- package/dist/app/util/pastellize.js.map +1 -0
- package/dist/app/util/slugify.d.ts +3 -0
- package/dist/app/util/slugify.js +3 -0
- package/dist/app/util/slugify.js.map +1 -0
- package/dist/app/util/traverseNavigation.d.ts +6 -0
- package/dist/app/util/traverseNavigation.js +30 -0
- package/dist/app/util/traverseNavigation.js.map +1 -0
- package/dist/app/util/useScrollToAnchor.d.ts +1 -0
- package/dist/app/util/useScrollToAnchor.js +33 -0
- package/dist/app/util/useScrollToAnchor.js.map +1 -0
- package/dist/app/util/useScrollToTop.d.ts +1 -0
- package/dist/app/util/useScrollToTop.js +13 -0
- package/dist/app/util/useScrollToTop.js.map +1 -0
- package/dist/auth.d.ts +2 -0
- package/dist/auth.js +3 -0
- package/dist/auth.js.map +1 -0
- package/dist/cli/build/handler.d.ts +4 -0
- package/dist/cli/build/handler.js +9 -0
- package/dist/cli/build/handler.js.map +1 -0
- package/dist/cli/cli.d.ts +1 -0
- package/dist/cli/cli.js +64 -0
- package/dist/cli/cli.js.map +1 -0
- package/dist/cli/cmds/build.d.ts +8 -0
- package/dist/cli/cmds/build.js +23 -0
- package/dist/cli/cmds/build.js.map +1 -0
- package/dist/cli/cmds/dev.d.ts +8 -0
- package/dist/cli/cmds/dev.js +29 -0
- package/dist/cli/cmds/dev.js.map +1 -0
- package/dist/cli/common/analytics/lib.d.ts +17 -0
- package/dist/cli/common/analytics/lib.js +53 -0
- package/dist/cli/common/analytics/lib.js.map +1 -0
- package/dist/cli/common/constants.d.ts +5 -0
- package/dist/cli/common/constants.js +9 -0
- package/dist/cli/common/constants.js.map +1 -0
- package/dist/cli/common/logger.d.ts +2 -0
- package/dist/cli/common/logger.js +14 -0
- package/dist/cli/common/logger.js.map +1 -0
- package/dist/cli/common/machine-id/lib.d.ts +1 -0
- package/dist/cli/common/machine-id/lib.js +74 -0
- package/dist/cli/common/machine-id/lib.js.map +1 -0
- package/dist/cli/common/outdated.d.ts +1 -0
- package/dist/cli/common/outdated.js +70 -0
- package/dist/cli/common/outdated.js.map +1 -0
- package/dist/cli/common/output.d.ts +9 -0
- package/dist/cli/common/output.js +65 -0
- package/dist/cli/common/output.js.map +1 -0
- package/dist/cli/common/utils/box.d.ts +33 -0
- package/dist/cli/common/utils/box.js +81 -0
- package/dist/cli/common/utils/box.js.map +1 -0
- package/dist/cli/common/utils/ports.d.ts +1 -0
- package/dist/cli/common/utils/ports.js +18 -0
- package/dist/cli/common/utils/ports.js.map +1 -0
- package/dist/cli/common/validators/lib.d.ts +20 -0
- package/dist/cli/common/validators/lib.js +31 -0
- package/dist/cli/common/validators/lib.js.map +1 -0
- package/dist/cli/common/xdg/lib.d.ts +6 -0
- package/dist/cli/common/xdg/lib.js +18 -0
- package/dist/cli/common/xdg/lib.js.map +1 -0
- package/dist/cli/dev/handler.d.ts +5 -0
- package/dist/cli/dev/handler.js +22 -0
- package/dist/cli/dev/handler.js.map +1 -0
- package/dist/config/config.d.ts +37 -0
- package/dist/config/config.js +2 -0
- package/dist/config/config.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins.d.ts +4 -0
- package/dist/plugins.js +6 -0
- package/dist/plugins.js.map +1 -0
- package/dist/vite/build.d.ts +3 -0
- package/dist/vite/build.js +29 -0
- package/dist/vite/build.js.map +1 -0
- package/dist/vite/config.d.ts +6 -0
- package/dist/vite/config.js +74 -0
- package/dist/vite/config.js.map +1 -0
- package/dist/vite/dev-server.d.ts +10 -0
- package/dist/vite/dev-server.js +53 -0
- package/dist/vite/dev-server.js.map +1 -0
- package/dist/vite/html.d.ts +5 -0
- package/dist/vite/html.js +32 -0
- package/dist/vite/html.js.map +1 -0
- package/dist/vite/import-auth-plugin.d.ts +3 -0
- package/dist/vite/import-auth-plugin.js +28 -0
- package/dist/vite/import-auth-plugin.js.map +1 -0
- package/dist/vite/plugin.d.ts +7 -0
- package/dist/vite/plugin.js +109 -0
- package/dist/vite/plugin.js.map +1 -0
- package/package.json +118 -0
- package/src/app/DevPortal.tsx +115 -0
- package/src/app/Heading.tsx +60 -0
- package/src/app/app.tsx +85 -0
- package/src/app/authentication/authentication.ts +18 -0
- package/src/app/authentication/clerk.ts +47 -0
- package/src/app/authentication/openid.ts +192 -0
- package/src/app/components/AnchorLink.tsx +19 -0
- package/src/app/components/CategoryHeading.tsx +16 -0
- package/src/app/components/DynamicIcon.tsx +60 -0
- package/src/app/components/Header.tsx +69 -0
- package/src/app/components/Layout.tsx +56 -0
- package/src/app/components/Markdown.tsx +37 -0
- package/src/app/components/SyntaxHighlight.tsx +92 -0
- package/src/app/components/TopNavigation.tsx +32 -0
- package/src/app/components/context/ComponentsContext.tsx +24 -0
- package/src/app/components/context/DevPortalProvider.ts +54 -0
- package/src/app/components/context/PluginSystem.ts +0 -0
- package/src/app/components/context/ThemeContext.tsx +46 -0
- package/src/app/components/context/ViewportAnchorContext.tsx +139 -0
- package/src/app/components/navigation/SideNavigation.tsx +18 -0
- package/src/app/components/navigation/SideNavigationCategory.tsx +74 -0
- package/src/app/components/navigation/SideNavigationItem.tsx +143 -0
- package/src/app/components/navigation/SideNavigationWrapper.tsx +15 -0
- package/src/app/components/navigation/useNavigationCollapsibleState.ts +27 -0
- package/src/app/components/navigation/util.ts +38 -0
- package/src/app/config.ts +20 -0
- package/src/app/core/DevPortalContext.ts +164 -0
- package/src/app/core/helmet.ts +5 -0
- package/src/app/core/icons.tsx +1 -0
- package/src/app/core/plugins.ts +43 -0
- package/src/app/core/router.tsx +1 -0
- package/src/app/core/types/combine.ts +16 -0
- package/src/app/main.css +137 -0
- package/src/app/main.tsx +22 -0
- package/src/app/markdowns.ts +7 -0
- package/src/app/oas/graphql/index.ts +422 -0
- package/src/app/oas/graphql/server.ts +10 -0
- package/src/app/oas/parser/dereference/index.ts +59 -0
- package/src/app/oas/parser/dereference/resolveRef.ts +32 -0
- package/src/app/oas/parser/index.ts +94 -0
- package/src/app/oas/parser/schemas/v3.0.json +1489 -0
- package/src/app/oas/parser/schemas/v3.1.json +1298 -0
- package/src/app/oas/parser/upgrade/index.ts +108 -0
- package/src/app/plugins/api-key/SettingsApiKeys.tsx +22 -0
- package/src/app/plugins/api-key/index.tsx +123 -0
- package/src/app/plugins/markdown/MdxPage.tsx +128 -0
- package/src/app/plugins/markdown/Toc.tsx +122 -0
- package/src/app/plugins/markdown/generateRoutes.tsx +72 -0
- package/src/app/plugins/markdown/index.tsx +31 -0
- package/src/app/plugins/openapi/ColorizedParam.tsx +73 -0
- package/src/app/plugins/openapi/MakeRequest.tsx +30 -0
- package/src/app/plugins/openapi/MethodBadge.tsx +36 -0
- package/src/app/plugins/openapi/OperationList.tsx +119 -0
- package/src/app/plugins/openapi/OperationListItem.tsx +55 -0
- package/src/app/plugins/openapi/ParameterList.tsx +32 -0
- package/src/app/plugins/openapi/ParameterListItem.tsx +60 -0
- package/src/app/plugins/openapi/RequestBodySidecarBox.tsx +48 -0
- package/src/app/plugins/openapi/ResponsesSidecarBox.tsx +60 -0
- package/src/app/plugins/openapi/Select.tsx +35 -0
- package/src/app/plugins/openapi/Sidecar.tsx +99 -0
- package/src/app/plugins/openapi/SidecarBox.tsx +35 -0
- package/src/app/plugins/openapi/graphql/env.d.ts +48 -0
- package/src/app/plugins/openapi/graphql/index.ts +13 -0
- package/src/app/plugins/openapi/index.tsx +142 -0
- package/src/app/plugins/openapi/util/generateSchemaExample.ts +59 -0
- package/src/app/plugins/openapi/util/getCode.tsx +69 -0
- package/src/app/plugins/openapi/util/urql.ts +8 -0
- package/src/app/plugins/openapi/worker/createSharedWorkerClient.ts +60 -0
- package/src/app/plugins/openapi/worker/worker.ts +30 -0
- package/src/app/plugins/redirect/index.tsx +20 -0
- package/src/app/tailwind.ts +72 -0
- package/src/app/ui/Callout.tsx +87 -0
- package/src/app/ui/Card.tsx +82 -0
- package/src/app/ui/Note.tsx +58 -0
- package/src/app/util/MdxComponents.tsx +70 -0
- package/src/app/util/cn.ts +6 -0
- package/src/app/util/createWaitForNotify.ts +18 -0
- package/src/app/util/groupBy.ts +24 -0
- package/src/app/util/joinPath.tsx +10 -0
- package/src/app/util/pastellize.ts +25 -0
- package/src/app/util/slugify.ts +3 -0
- package/src/app/util/traverseNavigation.ts +55 -0
- package/src/app/util/useScrollToAnchor.ts +38 -0
- package/src/app/util/useScrollToTop.ts +13 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Configuration
|
|
2
|
+
export const CLI_XDG_FOLDER_NAME = "zudoku";
|
|
3
|
+
export const VERSION_CHECK_FILE = "version.json";
|
|
4
|
+
// Sentry
|
|
5
|
+
export const SENTRY_DSN = undefined;
|
|
6
|
+
export const MAX_WAIT_PENDING_TIME_MS = 1000;
|
|
7
|
+
// PostHog
|
|
8
|
+
export const POST_HOG_CAPTURE_KEY = undefined;
|
|
9
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/cli/common/constants.ts"],"names":[],"mappings":"AAAA,gBAAgB;AAChB,MAAM,CAAC,MAAM,mBAAmB,GAAG,QAAQ,CAAC;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAEjD,SAAS;AACT,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,CAAC;AAE7C,UAAU;AACV,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Pino from "pino";
|
|
2
|
+
export const logger = Pino.pino({
|
|
3
|
+
level: process.env.LOG_LEVEL || "info",
|
|
4
|
+
transport: {
|
|
5
|
+
targets: [
|
|
6
|
+
{
|
|
7
|
+
target: "@zuplo/pino-pretty-configurations",
|
|
8
|
+
level: process.env.LOG_LEVEL || "info",
|
|
9
|
+
options: {},
|
|
10
|
+
},
|
|
11
|
+
],
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/cli/common/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IACtC,SAAS,EAAE;QACT,OAAO,EAAE;YACP;gBACE,MAAM,EAAE,mCAAmC;gBAC3C,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;gBACtC,OAAO,EAAE,EAAE;aACZ;SACF;KACF;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function machineId(): string;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* node-machine-id
|
|
3
|
+
* Copyright (c) 2016 Aleksandr Komlev
|
|
4
|
+
* MIT Licensed
|
|
5
|
+
*
|
|
6
|
+
* From https://github.com/automation-stack/node-machine-id
|
|
7
|
+
*/
|
|
8
|
+
import { execSync } from "node:child_process";
|
|
9
|
+
import { createHash } from "node:crypto";
|
|
10
|
+
const win32RegBinPath = {
|
|
11
|
+
skipped: "",
|
|
12
|
+
native: "%windir%\\System32",
|
|
13
|
+
mixed: "%windir%\\sysnative\\cmd.exe /c %windir%\\System32",
|
|
14
|
+
};
|
|
15
|
+
const guid = {
|
|
16
|
+
darwin: "ioreg -rd1 -c IOPlatformExpertDevice",
|
|
17
|
+
win32: `${win32RegBinPath[isWindowsProcessMixedOrNativeArchitecture()]}\\REG.exe ` +
|
|
18
|
+
"QUERY HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Cryptography " +
|
|
19
|
+
"/v MachineGuid",
|
|
20
|
+
linux: "( cat /var/lib/dbus/machine-id /etc/machine-id 2> /dev/null || hostname ) | head -n 1 || :",
|
|
21
|
+
};
|
|
22
|
+
function isWindowsProcessMixedOrNativeArchitecture() {
|
|
23
|
+
// detect if the node binary is the same arch as the Windows OS.
|
|
24
|
+
// or if this is 32 bit node on 64 bit windows.
|
|
25
|
+
if (process.platform !== "win32") {
|
|
26
|
+
return "skipped";
|
|
27
|
+
}
|
|
28
|
+
if (process.arch === "ia32" && process.env["PROCESSOR_ARCHITEW6432"]) {
|
|
29
|
+
return "mixed";
|
|
30
|
+
}
|
|
31
|
+
return "native";
|
|
32
|
+
}
|
|
33
|
+
function hash(guid) {
|
|
34
|
+
return createHash("sha256").update(guid).digest("hex");
|
|
35
|
+
}
|
|
36
|
+
function expose(result) {
|
|
37
|
+
switch (process.platform) {
|
|
38
|
+
case "darwin":
|
|
39
|
+
return result
|
|
40
|
+
.split("IOPlatformUUID")[1]
|
|
41
|
+
.split("\n")[0]
|
|
42
|
+
.replace(/=|\s+]"/gi, "")
|
|
43
|
+
.toLowerCase();
|
|
44
|
+
case "win32":
|
|
45
|
+
return result
|
|
46
|
+
.toString()
|
|
47
|
+
.split("REG_SZ")[1]
|
|
48
|
+
.replace(/\r+|\n+|\s+/gi, "")
|
|
49
|
+
.toLowerCase();
|
|
50
|
+
case "linux":
|
|
51
|
+
return result
|
|
52
|
+
.toString()
|
|
53
|
+
.replace(/\r+|\n+|\s+/gi, "")
|
|
54
|
+
.toLowerCase();
|
|
55
|
+
case "freebsd":
|
|
56
|
+
return result
|
|
57
|
+
.toString()
|
|
58
|
+
.replace(/\r+|\n+|\s+/gi, "")
|
|
59
|
+
.toLowerCase();
|
|
60
|
+
default:
|
|
61
|
+
throw new Error(`Unsupported platform: ${process.platform}`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
export function machineId() {
|
|
65
|
+
switch (process.platform) {
|
|
66
|
+
case "darwin":
|
|
67
|
+
case "win32":
|
|
68
|
+
case "linux":
|
|
69
|
+
return hash(expose(execSync(guid[process.platform]).toString()));
|
|
70
|
+
default:
|
|
71
|
+
return "e16fc483-5593-4d71-b485-a6533693da9b";
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/cli/common/machine-id/lib.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,eAAe,GAAG;IACtB,OAAO,EAAE,EAAE;IACX,MAAM,EAAE,oBAAoB;IAC5B,KAAK,EAAE,oDAAoD;CAC5D,CAAC;AACF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,sCAAsC;IAC9C,KAAK,EACH,GACE,eAAe,CAAC,yCAAyC,EAAE,CAC7D,YAAY;QACZ,8DAA8D;QAC9D,gBAAgB;IAClB,KAAK,EACH,4FAA4F;CAC/F,CAAC;AAEF,SAAS,yCAAyC;IAIhD,gEAAgE;IAChE,+CAA+C;IAC/C,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,IAAI,CAAC,IAAY;IACxB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,MAAM,CAAC,MAAc;IAC5B,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ;YACX,OAAO,MAAM;iBACV,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;iBAC1B,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACd,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;iBACxB,WAAW,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,MAAM;iBACV,QAAQ,EAAE;iBACV,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;iBAClB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;iBAC5B,WAAW,EAAE,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,MAAM;iBACV,QAAQ,EAAE;iBACV,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;iBAC5B,WAAW,EAAE,CAAC;QACnB,KAAK,SAAS;YACZ,OAAO,MAAM;iBACV,QAAQ,EAAE;iBACV,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;iBAC5B,WAAW,EAAE,CAAC;QACnB;YACE,MAAM,IAAI,KAAK,CAAC,yBAAyB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,QAAQ,CAAC;QACd,KAAK,OAAO,CAAC;QACb,KAAK,OAAO;YACV,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnE;YACE,OAAO,sCAAsC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function warnIfOutdatedVersion(currentVersion: string): Promise<boolean>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { existsSync, mkdirSync } from "node:fs";
|
|
3
|
+
import { readFile, writeFile } from "node:fs/promises";
|
|
4
|
+
import { join } from "node:path";
|
|
5
|
+
import { gt } from "semver";
|
|
6
|
+
import { VERSION_CHECK_FILE } from "./constants.js";
|
|
7
|
+
import { printWarningToConsole } from "./output.js";
|
|
8
|
+
import box from "./utils/box.js";
|
|
9
|
+
import { ZUPLO_XDG_STATE_HOME } from "./xdg/lib.js";
|
|
10
|
+
export async function warnIfOutdatedVersion(currentVersion) {
|
|
11
|
+
// Print update information, if available
|
|
12
|
+
if (!process.env.ZUPLO_OVERRIDE_CI_TO_TEST &&
|
|
13
|
+
(process.env.CI || process.env.ZUPLO_DISABLE_UPDATE_CHECK)) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
const versionCheckInfo = await getVersionCheckInfo();
|
|
17
|
+
const shouldWarn = gt(versionCheckInfo.latestVersion, currentVersion);
|
|
18
|
+
if (shouldWarn) {
|
|
19
|
+
printWarningToConsole(box(`Update available! ${chalk.gray(`v${currentVersion}`)} ≫ ${chalk.green(`v${versionCheckInfo.latestVersion}`)}
|
|
20
|
+
Run ${chalk.cyan("npm install zuplo@latest")} to update.
|
|
21
|
+
|
|
22
|
+
${chalk.gray("Older versions are unsupported and may not work as expected.")}`));
|
|
23
|
+
}
|
|
24
|
+
return shouldWarn;
|
|
25
|
+
}
|
|
26
|
+
async function getLatestVersion() {
|
|
27
|
+
const response = await fetch("https://raw.githubusercontent.com/zuplo/zudoku/main/packages/zudoku/package.json");
|
|
28
|
+
const result = await response.json();
|
|
29
|
+
return result.dependencies["zudoku"];
|
|
30
|
+
}
|
|
31
|
+
async function getVersionCheckInfo() {
|
|
32
|
+
if (!existsSync(ZUPLO_XDG_STATE_HOME)) {
|
|
33
|
+
mkdirSync(ZUPLO_XDG_STATE_HOME, { recursive: true });
|
|
34
|
+
}
|
|
35
|
+
const versionCheckPath = join(ZUPLO_XDG_STATE_HOME, VERSION_CHECK_FILE);
|
|
36
|
+
let versionCheckInfo;
|
|
37
|
+
if (existsSync(versionCheckPath)) {
|
|
38
|
+
try {
|
|
39
|
+
versionCheckInfo = await readFile(versionCheckPath, "utf-8").then(JSON.parse);
|
|
40
|
+
}
|
|
41
|
+
catch (err) {
|
|
42
|
+
// Error reading or parsing file, ignore it
|
|
43
|
+
}
|
|
44
|
+
// Check if the file is valid, if not ignore it
|
|
45
|
+
if (versionCheckInfo) {
|
|
46
|
+
if (typeof versionCheckInfo.lastCheck !== "number" ||
|
|
47
|
+
typeof versionCheckInfo.latestVersion !== "string") {
|
|
48
|
+
versionCheckInfo = undefined;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
let shouldCheck = true;
|
|
53
|
+
if (versionCheckInfo) {
|
|
54
|
+
const now = Date.now();
|
|
55
|
+
const lastCheck = versionCheckInfo.lastCheck;
|
|
56
|
+
if (now - lastCheck < 1000 * 60 * 60 * 24) {
|
|
57
|
+
shouldCheck = false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
if (!versionCheckInfo || shouldCheck) {
|
|
61
|
+
const latestVersion = await getLatestVersion();
|
|
62
|
+
versionCheckInfo = {
|
|
63
|
+
lastCheck: Date.now(),
|
|
64
|
+
latestVersion,
|
|
65
|
+
};
|
|
66
|
+
await writeFile(versionCheckPath, JSON.stringify(versionCheckInfo), "utf-8");
|
|
67
|
+
}
|
|
68
|
+
return versionCheckInfo;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=outdated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outdated.js","sourceRoot":"","sources":["../../../src/cli/common/outdated.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAMpD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,cAAsB;IAChE,yCAAyC;IACzC,IACE,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB;QACtC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAC1D,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,gBAAgB,GAAG,MAAM,mBAAmB,EAAE,CAAC;IACrD,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;IAEtE,IAAI,UAAU,EAAE,CAAC;QACf,qBAAqB,CACnB,GAAG,CACD,qBAAqB,KAAK,CAAC,IAAI,CAAC,IAAI,cAAc,EAAE,CAAC,MAAM,KAAK,CAAC,KAAK,CACpE,IAAI,gBAAgB,CAAC,aAAa,EAAE,CACrC;MACH,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC;;EAE1C,KAAK,CAAC,IAAI,CAAC,8DAA8D,CAAC,EAAE,CACvE,CACF,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,gBAAgB;IAC7B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,kFAAkF,CACnF,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAErC,OAAO,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,mBAAmB;IAChC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,oBAAoB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IAExE,IAAI,gBAA8C,CAAC;IACnD,IAAI,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,gBAAgB,GAAG,MAAM,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,IAAI,CAC/D,IAAI,CAAC,KAAK,CACX,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,2CAA2C;QAC7C,CAAC;QAED,+CAA+C;QAC/C,IAAI,gBAAgB,EAAE,CAAC;YACrB,IACE,OAAO,gBAAgB,CAAC,SAAS,KAAK,QAAQ;gBAC9C,OAAO,gBAAgB,CAAC,aAAa,KAAK,QAAQ,EAClD,CAAC;gBACD,gBAAgB,GAAG,SAAS,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,CAAC;QAC7C,IAAI,GAAG,GAAG,SAAS,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;YAC1C,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,gBAAgB,IAAI,WAAW,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAE/C,gBAAgB,GAAG;YACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,aAAa;SACd,CAAC;QACF,MAAM,SAAS,CACb,gBAAgB,EAChB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAChC,OAAO,CACR,CAAC;IACJ,CAAC;IAED,OAAO,gBAAgB,CAAC;AAC1B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function printDiagnosticsToConsole(message?: any): void;
|
|
2
|
+
export declare function printWarningToConsole(message?: any): void;
|
|
3
|
+
export declare function printCriticalFailureToConsoleAndExit(message?: any): Promise<void>;
|
|
4
|
+
export declare function printResultToConsole(message?: any): void;
|
|
5
|
+
export declare function printTableToConsole(table: any): void;
|
|
6
|
+
export declare function printResultToConsoleAndExitGracefully(message?: any): Promise<void>;
|
|
7
|
+
export declare function printTableToConsoleAndExitGracefully(table: any): Promise<void>;
|
|
8
|
+
export default function setBlocking(): void;
|
|
9
|
+
export declare function textOrJson(text: string): any;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable no-console */
|
|
3
|
+
import * as Sentry from "@sentry/node";
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { MAX_WAIT_PENDING_TIME_MS } from "./constants.js";
|
|
6
|
+
// We standardize printing to the terminal with this module
|
|
7
|
+
// According to https://unix.stackexchange.com/questions/331611/do-progress-reports-logging-information-belong-on-stderr-or-stdout
|
|
8
|
+
// any diagnostic information should go to stderr, and only the actual output goes to stdout
|
|
9
|
+
export function printDiagnosticsToConsole(message) {
|
|
10
|
+
console.error(chalk.bold.blue(message));
|
|
11
|
+
}
|
|
12
|
+
export function printWarningToConsole(message) {
|
|
13
|
+
console.error(message);
|
|
14
|
+
}
|
|
15
|
+
// This information is displayed to the user, so it should be actionable.
|
|
16
|
+
export async function printCriticalFailureToConsoleAndExit(message) {
|
|
17
|
+
console.error(chalk.bold.red(message));
|
|
18
|
+
await Sentry.close(MAX_WAIT_PENDING_TIME_MS).then(() => {
|
|
19
|
+
process.exit(1);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
// Only use this to output the actual result of a command
|
|
23
|
+
// This outputs to STDOUT, which is reserved for the actual result of a command
|
|
24
|
+
export function printResultToConsole(message) {
|
|
25
|
+
console.log(chalk.bold.green(message));
|
|
26
|
+
}
|
|
27
|
+
// Only use this to output the actual result of a command
|
|
28
|
+
// This outputs to STDOUT, which is reserved for the actual result of a command
|
|
29
|
+
export function printTableToConsole(table) {
|
|
30
|
+
console.table(table);
|
|
31
|
+
}
|
|
32
|
+
export async function printResultToConsoleAndExitGracefully(message) {
|
|
33
|
+
printResultToConsole(message);
|
|
34
|
+
await Sentry.close(MAX_WAIT_PENDING_TIME_MS).then(() => {
|
|
35
|
+
process.exit(0);
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
export async function printTableToConsoleAndExitGracefully(table) {
|
|
39
|
+
printTableToConsole(table);
|
|
40
|
+
await Sentry.close(MAX_WAIT_PENDING_TIME_MS).then(() => {
|
|
41
|
+
process.exit(0);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
export default function setBlocking() {
|
|
45
|
+
// Deno and browser have no process object:
|
|
46
|
+
if (typeof process === "undefined")
|
|
47
|
+
return;
|
|
48
|
+
[process.stdout, process.stderr].forEach((_stream) => {
|
|
49
|
+
const stream = _stream;
|
|
50
|
+
if (stream._handle &&
|
|
51
|
+
stream.isTTY &&
|
|
52
|
+
typeof stream._handle.setBlocking === "function") {
|
|
53
|
+
stream._handle.setBlocking(true);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
export function textOrJson(text) {
|
|
58
|
+
try {
|
|
59
|
+
return JSON.parse(text);
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
return text;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output.js","sourceRoot":"","sources":["../../../src/cli/common/output.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,+BAA+B;AAE/B,OAAO,KAAK,MAAM,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,2DAA2D;AAE3D,kIAAkI;AAClI,4FAA4F;AAC5F,MAAM,UAAU,yBAAyB,CAAC,OAAa;IACrD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAAa;IACjD,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACzB,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,OAAa;IACtE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IACvC,MAAM,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,yDAAyD;AACzD,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,OAAa;IAChD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,yDAAyD;AACzD,+EAA+E;AAC/E,MAAM,UAAU,mBAAmB,CAAC,KAAU;IAC5C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qCAAqC,CAAC,OAAa;IACvE,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oCAAoC,CAAC,KAAU;IACnE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAaD,MAAM,CAAC,OAAO,UAAU,WAAW;IACjC,2CAA2C;IAC3C,IAAI,OAAO,OAAO,KAAK,WAAW;QAAE,OAAO;IAC3C,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,OAAuC,CAAC;QACvD,IACE,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,KAAK;YACZ,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU,EAChD,CAAC;YACD,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export interface BoxOptions {
|
|
2
|
+
borderColor?: "black" | "red" | "green" | "yellow" | "blue" | "magenta" | "cyan" | "white";
|
|
3
|
+
padding?: number;
|
|
4
|
+
textAlignment?: "left" | "center" | "right";
|
|
5
|
+
terminalColumns?: number;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Renders text centered inside a yellow box. If terminal is too narrow to fit
|
|
9
|
+
* the text without wrapping, the box will only consist of a top and bottom
|
|
10
|
+
* horizontal rule with the text left justified.
|
|
11
|
+
*
|
|
12
|
+
* @param message The multiline message to display
|
|
13
|
+
* @param options Various formatting options
|
|
14
|
+
* @returns The rendered string
|
|
15
|
+
*
|
|
16
|
+
* @example Simple box
|
|
17
|
+
*
|
|
18
|
+
* # Usage
|
|
19
|
+
* ```
|
|
20
|
+
* console.log(box('Hello world!\nThe quick brown fox jumps over the lazy dog'));
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* # Result
|
|
24
|
+
* ```
|
|
25
|
+
* â•─────────────────────────────────────────────────╮
|
|
26
|
+
* │ │
|
|
27
|
+
* │ Hello world! │
|
|
28
|
+
* │ The quick brown fox jumps over the lazy dog │
|
|
29
|
+
* │ │
|
|
30
|
+
* ╰─────────────────────────────────────────────────╯
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export default function box(message: string, { borderColor, padding, textAlignment, terminalColumns: cols, }?: BoxOptions): string;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Source: https://github.com/vercel/vercel/blob/main/packages/cli/src/util/output/box.ts#L48
|
|
2
|
+
// Copyright 2017 Vercel, Inc.
|
|
3
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import stripAnsi from "strip-ansi";
|
|
6
|
+
const border = ["─", "â•", "â•®", "│", "│", "â•°", "╯"];
|
|
7
|
+
const nothing = ["─", "", "", "", "", "", ""];
|
|
8
|
+
/**
|
|
9
|
+
* Renders text centered inside a yellow box. If terminal is too narrow to fit
|
|
10
|
+
* the text without wrapping, the box will only consist of a top and bottom
|
|
11
|
+
* horizontal rule with the text left justified.
|
|
12
|
+
*
|
|
13
|
+
* @param message The multiline message to display
|
|
14
|
+
* @param options Various formatting options
|
|
15
|
+
* @returns The rendered string
|
|
16
|
+
*
|
|
17
|
+
* @example Simple box
|
|
18
|
+
*
|
|
19
|
+
* # Usage
|
|
20
|
+
* ```
|
|
21
|
+
* console.log(box('Hello world!\nThe quick brown fox jumps over the lazy dog'));
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* # Result
|
|
25
|
+
* ```
|
|
26
|
+
* â•─────────────────────────────────────────────────╮
|
|
27
|
+
* │ │
|
|
28
|
+
* │ Hello world! │
|
|
29
|
+
* │ The quick brown fox jumps over the lazy dog │
|
|
30
|
+
* │ │
|
|
31
|
+
* ╰─────────────────────────────────────────────────╯
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export default function box(message, { borderColor, padding = 1, textAlignment = "center", terminalColumns: cols = process.stdout.columns ||
|
|
35
|
+
(process.env.COLUMNS && parseInt(process.env.COLUMNS, 10)) ||
|
|
36
|
+
80, } = {}) {
|
|
37
|
+
const lines = message
|
|
38
|
+
.split(/\r?\n/)
|
|
39
|
+
.map((line) => [line, stripAnsi(line).length]);
|
|
40
|
+
const maxLine = lines.reduce((p, [, len]) => Math.max(p, len), 0);
|
|
41
|
+
const borderColorFn = (borderColor && chalk[borderColor]) || chalk.yellow;
|
|
42
|
+
const clampedSidePadding = Math.max(1, padding * 3);
|
|
43
|
+
const narrowMode = maxLine + 2 + clampedSidePadding * 2 > cols;
|
|
44
|
+
const sidePadding = narrowMode ? 0 : clampedSidePadding;
|
|
45
|
+
const innerWidth = Math.min(maxLine + sidePadding * 2, cols);
|
|
46
|
+
const [hr, topLeft, topRight, left, right, bottomLeft, bottomRight] = narrowMode ? nothing : border;
|
|
47
|
+
const spacerRow = narrowMode
|
|
48
|
+
? "\n".repeat(padding)
|
|
49
|
+
: `${borderColorFn(`${left}${" ".repeat(innerWidth)}${right}`)}\n`.repeat(padding);
|
|
50
|
+
const renderLine = ([line, len]) => {
|
|
51
|
+
let leftPadding = 0;
|
|
52
|
+
let rightPadding = 0;
|
|
53
|
+
if (!narrowMode) {
|
|
54
|
+
leftPadding = sidePadding;
|
|
55
|
+
rightPadding = sidePadding;
|
|
56
|
+
if (textAlignment === "center") {
|
|
57
|
+
leftPadding += Math.floor((maxLine - len) / 2);
|
|
58
|
+
rightPadding += maxLine - len - leftPadding + sidePadding;
|
|
59
|
+
}
|
|
60
|
+
else if (textAlignment === "right") {
|
|
61
|
+
leftPadding += maxLine - len;
|
|
62
|
+
}
|
|
63
|
+
else if (textAlignment === "left") {
|
|
64
|
+
rightPadding += maxLine - len;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return (borderColorFn(left) +
|
|
68
|
+
" ".repeat(leftPadding) +
|
|
69
|
+
line +
|
|
70
|
+
" ".repeat(rightPadding) +
|
|
71
|
+
borderColorFn(right));
|
|
72
|
+
};
|
|
73
|
+
return (borderColorFn(`${topLeft}${hr.repeat(innerWidth)}${topRight}`) +
|
|
74
|
+
"\n" +
|
|
75
|
+
spacerRow +
|
|
76
|
+
lines.map(renderLine).join("\n") +
|
|
77
|
+
"\n" +
|
|
78
|
+
spacerRow +
|
|
79
|
+
borderColorFn(`${bottomLeft}${hr.repeat(innerWidth)}${bottomRight}`));
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"box.js","sourceRoot":"","sources":["../../../../src/cli/common/utils/box.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isPortAvailable(host: string, port: number): Promise<boolean>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import net from "net";
|
|
2
|
+
export function isPortAvailable(host, port) {
|
|
3
|
+
return new Promise((resolve) => {
|
|
4
|
+
const socket = new net.Socket();
|
|
5
|
+
socket.connect(port, host);
|
|
6
|
+
socket.on("connect", () => {
|
|
7
|
+
// If we can connect, that means that the port is not free
|
|
8
|
+
socket.destroy(); // Close the socket
|
|
9
|
+
resolve(false);
|
|
10
|
+
});
|
|
11
|
+
socket.on("error", () => {
|
|
12
|
+
// If we cannot connect, that means that the port is not free
|
|
13
|
+
socket.destroy(); // Close the socket
|
|
14
|
+
resolve(true);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=ports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ports.js","sourceRoot":"","sources":["../../../../src/cli/common/utils/ports.ts"],"names":[],"mappings":"AAAA,OAAO,GAAe,MAAM,KAAK,CAAC;AAElC,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,IAAY;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAW,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QAExC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAE3B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;YACxB,0DAA0D;YAC1D,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,mBAAmB;YACrC,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,6DAA6D;YAC7D,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,mBAAmB;YACrC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type Result<V = null, E = Error> = {
|
|
2
|
+
ok: true;
|
|
3
|
+
error?: V;
|
|
4
|
+
} | {
|
|
5
|
+
ok: false;
|
|
6
|
+
error: E;
|
|
7
|
+
};
|
|
8
|
+
export interface ValidationRule<W, V = null, E = Error> {
|
|
9
|
+
validate(what: W): Promise<Result<V, E>> | Result<V, E>;
|
|
10
|
+
}
|
|
11
|
+
export declare class CompositeValidator<W> implements ValidationRule<W> {
|
|
12
|
+
private readonly validators;
|
|
13
|
+
constructor(...validators: Array<ValidationRule<W>>);
|
|
14
|
+
validate(what: W): Promise<Result>;
|
|
15
|
+
}
|
|
16
|
+
export declare class YargsChecker<W> {
|
|
17
|
+
private readonly validator;
|
|
18
|
+
constructor(validator: ValidationRule<W>);
|
|
19
|
+
check(what: W): Promise<string | true>;
|
|
20
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export class CompositeValidator {
|
|
2
|
+
validators = new Array();
|
|
3
|
+
constructor(...validators) {
|
|
4
|
+
this.validators = validators;
|
|
5
|
+
}
|
|
6
|
+
async validate(what) {
|
|
7
|
+
for (const rule of this.validators) {
|
|
8
|
+
const result = await rule.validate(what);
|
|
9
|
+
if (!result.ok) {
|
|
10
|
+
return result;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return { ok: true };
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export class YargsChecker {
|
|
17
|
+
validator;
|
|
18
|
+
constructor(validator) {
|
|
19
|
+
this.validator = validator;
|
|
20
|
+
}
|
|
21
|
+
async check(what) {
|
|
22
|
+
const result = await this.validator.validate(what);
|
|
23
|
+
if (!result.ok) {
|
|
24
|
+
return result.error.message;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/cli/common/validators/lib.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,kBAAkB;IACZ,UAAU,GAAG,IAAI,KAAK,EAAqB,CAAC;IAE7D,YAAY,GAAG,UAAoC;QACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAO;QACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACtB,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACN,SAAS,CAAoB;IAE9C,YAAY,SAA4B;QACtC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,IAAO;QACjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const XDG_CONFIG_HOME: string;
|
|
2
|
+
export declare const XDG_DATA_HOME: string;
|
|
3
|
+
export declare const XDG_STATE_HOME: string;
|
|
4
|
+
export declare const ZUPLO_XDG_CONFIG_HOME: string;
|
|
5
|
+
export declare const ZUPLO_XDG_DATA_HOME: string;
|
|
6
|
+
export declare const ZUPLO_XDG_STATE_HOME: string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { homedir } from "node:os";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { CLI_XDG_FOLDER_NAME } from "../constants.js";
|
|
4
|
+
function defineDirectoryWithFallback(xdgName, fallback) {
|
|
5
|
+
if (process.env[xdgName]) {
|
|
6
|
+
return process.env[xdgName];
|
|
7
|
+
}
|
|
8
|
+
else {
|
|
9
|
+
return path.join(homedir(), fallback);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export const XDG_CONFIG_HOME = defineDirectoryWithFallback("XDG_CONFIG_HOME", ".config");
|
|
13
|
+
export const XDG_DATA_HOME = defineDirectoryWithFallback("XDG_DATA_HOME", ".local/share");
|
|
14
|
+
export const XDG_STATE_HOME = defineDirectoryWithFallback("XDG_DATA_HOME", ".local/state");
|
|
15
|
+
export const ZUPLO_XDG_CONFIG_HOME = path.join(XDG_CONFIG_HOME, CLI_XDG_FOLDER_NAME);
|
|
16
|
+
export const ZUPLO_XDG_DATA_HOME = path.join(XDG_DATA_HOME, CLI_XDG_FOLDER_NAME);
|
|
17
|
+
export const ZUPLO_XDG_STATE_HOME = path.join(XDG_STATE_HOME, CLI_XDG_FOLDER_NAME);
|
|
18
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/cli/common/xdg/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,SAAS,2BAA2B,CAAC,OAAe,EAAE,QAAgB;IACpE,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,GAAG,CAAC,OAAO,CAAW,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,2BAA2B,CACxD,iBAAiB,EACjB,SAAS,CACV,CAAC;AACF,MAAM,CAAC,MAAM,aAAa,GAAG,2BAA2B,CACtD,eAAe,EACf,cAAc,CACf,CAAC;AACF,MAAM,CAAC,MAAM,cAAc,GAAG,2BAA2B,CACvD,eAAe,EACf,cAAc,CACf,CAAC;AACF,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAC5C,eAAe,EACf,mBAAmB,CACpB,CAAC;AACF,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAC1C,aAAa,EACb,mBAAmB,CACpB,CAAC;AACF,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAC3C,cAAc,EACd,mBAAmB,CACpB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DevServer } from "../../vite/dev-server.js";
|
|
2
|
+
import { printDiagnosticsToConsole } from "../common/output.js";
|
|
3
|
+
export async function dev(argv) {
|
|
4
|
+
const server = new DevServer(argv);
|
|
5
|
+
await server.start();
|
|
6
|
+
printDiagnosticsToConsole("Started local development setup");
|
|
7
|
+
printDiagnosticsToConsole("Ctrl+C to exit");
|
|
8
|
+
printDiagnosticsToConsole("");
|
|
9
|
+
printDiagnosticsToConsole(`🚀 Zudoku Portal: http://localhost:${argv.port}`);
|
|
10
|
+
printDiagnosticsToConsole("");
|
|
11
|
+
printDiagnosticsToConsole("");
|
|
12
|
+
return new Promise((resolve) => {
|
|
13
|
+
async function exit() {
|
|
14
|
+
printDiagnosticsToConsole("Closing local development setup");
|
|
15
|
+
await server.stop();
|
|
16
|
+
resolve();
|
|
17
|
+
}
|
|
18
|
+
process.on("SIGTERM", exit);
|
|
19
|
+
process.on("SIGINT", exit);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/cli/dev/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAOhE,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAe;IACvC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;IAEnC,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IAErB,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;IAC7D,yBAAyB,CAAC,gBAAgB,CAAC,CAAC;IAC5C,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CAAC,sCAAsC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAC9B,yBAAyB,CAAC,EAAE,CAAC,CAAC;IAE9B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QACnC,KAAK,UAAU,IAAI;YACjB,yBAAyB,CAAC,iCAAiC,CAAC,CAAC;YAE7D,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YAEpB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type MdxComponentsType } from "src/app/util/MdxComponents.js";
|
|
2
|
+
import { NavigationItem } from "../app/core/DevPortalContext.js";
|
|
3
|
+
import { MarkdownPluginOptions } from "../app/plugins/markdown/index.js";
|
|
4
|
+
import { OasPluginConfig } from "../app/plugins/openapi/index.js";
|
|
5
|
+
import { DevPortalPluginOptions } from "../vite/plugin.js";
|
|
6
|
+
export interface ZudokuConfig {
|
|
7
|
+
ui?: UIConfig;
|
|
8
|
+
mdx?: {
|
|
9
|
+
components?: MdxComponentsType;
|
|
10
|
+
};
|
|
11
|
+
authentication?: AuthenticationConfig;
|
|
12
|
+
navigation?: NavigationItem[];
|
|
13
|
+
docs?: DocsConfig;
|
|
14
|
+
apis?: ApiConfig | ApiConfig[];
|
|
15
|
+
build?: DevPortalPluginOptions;
|
|
16
|
+
}
|
|
17
|
+
export interface UIConfig {
|
|
18
|
+
/**
|
|
19
|
+
* The site title
|
|
20
|
+
*/
|
|
21
|
+
headerTitle?: string;
|
|
22
|
+
pageTitle?: string;
|
|
23
|
+
logo?: string;
|
|
24
|
+
metadata?: MetadataConfig;
|
|
25
|
+
}
|
|
26
|
+
export interface MetadataConfig {
|
|
27
|
+
favicon?: string;
|
|
28
|
+
}
|
|
29
|
+
export interface DocsConfig {
|
|
30
|
+
files?: MarkdownPluginOptions["markdownFiles"];
|
|
31
|
+
}
|
|
32
|
+
export type ApiConfig = OasPluginConfig;
|
|
33
|
+
export interface ClerkAuthenticationConfig {
|
|
34
|
+
type: "clerk";
|
|
35
|
+
clerkPubKey: string;
|
|
36
|
+
}
|
|
37
|
+
export type AuthenticationConfig = ClerkAuthenticationConfig;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":""}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import DevPortal from "./app/DevPortal.js";
|
|
2
|
+
export { DynamicIcon } from "./app/components/DynamicIcon.js";
|
|
3
|
+
export { Link } from "./app/core/router.js";
|
|
4
|
+
export { DevPortal };
|
|
5
|
+
export type { NavigationCategory, NavigationCategoryItem, NavigationItem, } from "./app/core/DevPortalContext.js";
|
|
6
|
+
export type { MDXImport } from "./app/plugins/markdown/index.js";
|
|
7
|
+
export type { ZudokuConfig } from "./config/config.js";
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAE3C,mBAAmB;AACnB,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
package/dist/plugins.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Plugins
|
|
2
|
+
export { apiKeyPlugin } from "./app/plugins/api-key/index.js";
|
|
3
|
+
export { markdownPlugin } from "./app/plugins/markdown/index.js";
|
|
4
|
+
export { openApiPlugin } from "./app/plugins/openapi/index.js";
|
|
5
|
+
export { redirectPlugin } from "./app/plugins/redirect/index.js";
|
|
6
|
+
//# sourceMappingURL=plugins.js.map
|