zudoku 0.25.3 → 0.26.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/dev/handler.js +2 -2
- package/dist/cli/dev/handler.js.map +1 -1
- package/dist/config/config.d.ts +1 -0
- package/dist/config/loader.js +1 -1
- package/dist/config/loader.js.map +1 -1
- package/dist/config/validators/common.d.ts +39 -28
- package/dist/config/validators/common.js +1 -0
- package/dist/config/validators/common.js.map +1 -1
- package/dist/config/validators/icon-types.d.ts +1 -1
- package/dist/config/validators/validate.d.ts +17 -12
- package/dist/lib/authentication/providers/auth0.js +1 -1
- package/dist/lib/authentication/providers/auth0.js.map +1 -1
- package/dist/lib/authentication/providers/openid.d.ts +1 -1
- package/dist/lib/authentication/providers/openid.js +10 -6
- package/dist/lib/authentication/providers/openid.js.map +1 -1
- package/dist/lib/components/Autocomplete.d.ts +12 -0
- package/dist/lib/components/Autocomplete.js +47 -0
- package/dist/lib/components/Autocomplete.js.map +1 -0
- package/dist/lib/components/Header.js +3 -3
- package/dist/lib/components/Header.js.map +1 -1
- package/dist/lib/components/index.js +2 -2
- package/dist/lib/components/index.js.map +1 -1
- package/dist/lib/components/navigation/SidebarCategory.js +1 -1
- package/dist/lib/components/navigation/SidebarCategory.js.map +1 -1
- package/dist/lib/plugins/markdown/MdxPage.js +8 -2
- package/dist/lib/plugins/markdown/MdxPage.js.map +1 -1
- package/dist/lib/plugins/openapi/OperationList.js +3 -0
- package/dist/lib/plugins/openapi/OperationList.js.map +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js +1 -1
- package/dist/lib/plugins/openapi/ParameterListItem.js.map +1 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.d.ts +3 -1
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js +3 -2
- package/dist/lib/plugins/openapi/PlaygroundDialogWrapper.js.map +1 -1
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.d.ts +2 -1
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js +2 -2
- package/dist/lib/plugins/openapi/RequestBodySidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/Sidecar.js +9 -6
- package/dist/lib/plugins/openapi/Sidecar.js.map +1 -1
- package/dist/lib/plugins/openapi/SidecarBox.js +1 -1
- package/dist/lib/plugins/openapi/SidecarBox.js.map +1 -1
- package/dist/lib/plugins/openapi/SidecarExamples.d.ts +2 -1
- package/dist/lib/plugins/openapi/SidecarExamples.js +7 -4
- package/dist/lib/plugins/openapi/SidecarExamples.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.d.ts +6 -0
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js +12 -0
- package/dist/lib/plugins/openapi/playground/ExamplesDropdown.js.map +1 -0
- package/dist/lib/plugins/openapi/playground/Headers.js +66 -4
- package/dist/lib/plugins/openapi/playground/Headers.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/Playground.d.ts +5 -1
- package/dist/lib/plugins/openapi/playground/Playground.js +36 -11
- package/dist/lib/plugins/openapi/playground/Playground.js.map +1 -1
- package/dist/lib/plugins/openapi/playground/QueryParams.js +20 -30
- package/dist/lib/plugins/openapi/playground/QueryParams.js.map +1 -1
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.d.ts +2 -1
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js +5 -3
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.js.map +1 -1
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js +49 -0
- package/dist/lib/plugins/openapi/post-processors/removeExtensions.test.js.map +1 -1
- package/dist/lib/plugins/openapi/post-processors/removeParameters.d.ts +10 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.js +66 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.js.map +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.test.d.ts +1 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js +131 -0
- package/dist/lib/plugins/openapi/post-processors/removeParameters.test.js.map +1 -0
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js +1 -1
- package/dist/lib/plugins/openapi/schema/SchemaComponents.js.map +1 -1
- package/dist/lib/ui/Badge.d.ts +1 -1
- package/dist/lib/ui/Badge.js +1 -0
- package/dist/lib/ui/Badge.js.map +1 -1
- package/dist/lib/ui/Command.d.ts +9 -1
- package/dist/lib/ui/Command.js +5 -1
- package/dist/lib/ui/Command.js.map +1 -1
- package/dist/lib/util/joinUrl.d.ts +1 -0
- package/dist/lib/util/joinUrl.js +40 -0
- package/dist/lib/util/joinUrl.js.map +1 -0
- package/dist/vite/build.js +10 -10
- package/dist/vite/build.js.map +1 -1
- package/dist/vite/config.js +4 -1
- package/dist/vite/config.js.map +1 -1
- package/dist/vite/config.test.js +5 -1
- package/dist/vite/config.test.js.map +1 -1
- package/dist/vite/dev-server.js +4 -1
- package/dist/vite/dev-server.js.map +1 -1
- package/dist/vite/plugin-api.d.ts +1 -1
- package/dist/vite/plugin-api.js +23 -5
- package/dist/vite/plugin-api.js.map +1 -1
- package/dist/vite/plugin-auth.js +4 -1
- package/dist/vite/plugin-auth.js.map +1 -1
- package/dist/vite/plugin-mdx.js +9 -4
- package/dist/vite/plugin-mdx.js.map +1 -1
- package/dist/vite/prerender.d.ts +2 -2
- package/dist/vite/prerender.js +4 -4
- package/dist/vite/prerender.js.map +1 -1
- package/dist/zuplo/enrich-with-zuplo.d.ts +5 -0
- package/dist/zuplo/enrich-with-zuplo.js +184 -0
- package/dist/zuplo/enrich-with-zuplo.js.map +1 -0
- package/dist/zuplo/env.d.ts +1 -0
- package/dist/zuplo/env.js +3 -0
- package/dist/zuplo/env.js.map +1 -1
- package/dist/zuplo/policy-types.d.ts +33 -0
- package/dist/zuplo/policy-types.js +8 -0
- package/dist/zuplo/policy-types.js.map +1 -0
- package/dist/zuplo/with-zuplo-processors.d.ts +3 -0
- package/dist/zuplo/with-zuplo-processors.js +26 -0
- package/dist/zuplo/with-zuplo-processors.js.map +1 -0
- package/dist/zuplo/with-zuplo.d.ts +1 -2
- package/dist/zuplo/with-zuplo.js +6 -27
- package/dist/zuplo/with-zuplo.js.map +1 -1
- package/lib/{AnchorLink-DFZZbmvr.js → AnchorLink-bObQitZv.js} +3 -3
- package/lib/{AnchorLink-DFZZbmvr.js.map → AnchorLink-bObQitZv.js.map} +1 -1
- package/lib/{AuthenticationPlugin-D7G3me8L.js → AuthenticationPlugin-C9SwOxkc.js} +4 -4
- package/lib/{AuthenticationPlugin-D7G3me8L.js.map → AuthenticationPlugin-C9SwOxkc.js.map} +1 -1
- package/lib/{CategoryHeading-CBconmtI.js → CategoryHeading-MYL1u_6K.js} +3 -3
- package/lib/{CategoryHeading-CBconmtI.js.map → CategoryHeading-MYL1u_6K.js.map} +1 -1
- package/lib/{Markdown-CZDLNOFc.js → Markdown-DFN6p0J-.js} +1041 -1041
- package/lib/{Markdown-CZDLNOFc.js.map → Markdown-DFN6p0J-.js.map} +1 -1
- package/lib/{MdxPage-DKMbBROv.js → MdxPage-D9c4z09Q.js} +61 -56
- package/lib/MdxPage-D9c4z09Q.js.map +1 -0
- package/lib/{OperationList-B8bHMKme.js → OperationList-DGJWDx1G.js} +1264 -1244
- package/lib/OperationList-DGJWDx1G.js.map +1 -0
- package/lib/{Route-DYwKZ_c_.js → Route-VdmEyOD0.js} +5 -5
- package/lib/{Route-DYwKZ_c_.js.map → Route-VdmEyOD0.js.map} +1 -1
- package/lib/{Select-B_IxRUUC.js → Select-D3O7wISy.js} +36 -36
- package/lib/{Select-B_IxRUUC.js.map → Select-D3O7wISy.js.map} +1 -1
- package/lib/{SlotletProvider-pfc9oejW.js → SlotletProvider-_3zzX_g_.js} +53 -53
- package/lib/{SlotletProvider-pfc9oejW.js.map → SlotletProvider-_3zzX_g_.js.map} +1 -1
- package/lib/{Button-DeAoTouo.js → Spinner-BlzrEEk1.js} +16 -13
- package/lib/Spinner-BlzrEEk1.js.map +1 -0
- package/lib/{SyntaxHighlight-Bz-lOJtH.js → SyntaxHighlight-CJCSPG1F.js} +297 -301
- package/lib/{SyntaxHighlight-Bz-lOJtH.js.map → SyntaxHighlight-CJCSPG1F.js.map} +1 -1
- package/lib/{ZudokuContext-hmLMUdf2.js → ZudokuContext-DeQZEp-x.js} +357 -356
- package/lib/ZudokuContext-DeQZEp-x.js.map +1 -0
- package/lib/{chunk-D52XG6IA-Dl7HLe6j.js → chunk-SYFQ2XB5-BF5IDYrB.js} +410 -412
- package/lib/chunk-SYFQ2XB5-BF5IDYrB.js.map +1 -0
- package/lib/context-rwLGh-6_.js +22 -0
- package/lib/{context-h_UkBLvr.js.map → context-rwLGh-6_.js.map} +1 -1
- package/lib/{createServer-BznDkeSA.js → createServer-BcaswoFO.js} +1274 -1286
- package/lib/createServer-BcaswoFO.js.map +1 -0
- package/lib/{hook-CHq7pFyz.js → hook-BRQEDRbn.js} +17 -17
- package/lib/{hook-CHq7pFyz.js.map → hook-BRQEDRbn.js.map} +1 -1
- package/lib/index-B7mqiOei.js +509 -0
- package/lib/index-B7mqiOei.js.map +1 -0
- package/lib/index-CXRrqOIl.js +1750 -0
- package/lib/index-CXRrqOIl.js.map +1 -0
- package/lib/index-Djenk2Hj.js +36 -0
- package/lib/{index-CPNSgwSb.js.map → index-Djenk2Hj.js.map} +1 -1
- package/lib/{index-CBXSgjaE.js → index-Dl3Yl0yb.js} +65 -69
- package/lib/index-Dl3Yl0yb.js.map +1 -0
- package/lib/{index.esm-BSV1C092.js → index.esm-9-TF9KQB.js} +52 -52
- package/lib/{index.esm-BSV1C092.js.map → index.esm-9-TF9KQB.js.map} +1 -1
- package/lib/index.esm-CrSoEshU.js +1207 -0
- package/lib/index.esm-CrSoEshU.js.map +1 -0
- package/lib/joinUrl-BTy9bvoK.js +20 -0
- package/lib/joinUrl-BTy9bvoK.js.map +1 -0
- package/lib/{jsx-runtime-Dx-03ztt.js → jsx-runtime-Bdg6XQ1m.js} +135 -135
- package/lib/{jsx-runtime-Dx-03ztt.js.map → jsx-runtime-Bdg6XQ1m.js.map} +1 -1
- package/lib/post-processors/removeExtensions.js +7 -7
- package/lib/post-processors/removeExtensions.js.map +1 -1
- package/lib/post-processors/removeParameters.js +48 -0
- package/lib/post-processors/removeParameters.js.map +1 -0
- package/lib/{prism-bash.min-DadFsM4Z.js → prism-bash.min-HHIMdNJ_.js} +4 -4
- package/lib/{prism-bash.min-DadFsM4Z.js.map → prism-bash.min-HHIMdNJ_.js.map} +1 -1
- package/lib/{prism-csharp.min-DUwvItt4.js → prism-csharp.min-bQAo2pmx.js} +33 -33
- package/lib/{prism-csharp.min-DUwvItt4.js.map → prism-csharp.min-bQAo2pmx.js.map} +1 -1
- package/lib/{prism-java.min-BtgBR4yd.js → prism-java.min-BpvsOuIa.js} +12 -12
- package/lib/{prism-java.min-BtgBR4yd.js.map → prism-java.min-BpvsOuIa.js.map} +1 -1
- package/lib/{prism-markdown.min-F3U-vPBi.js → prism-markdown.min-C0Qn0m-5.js} +30 -30
- package/lib/{prism-markdown.min-F3U-vPBi.js.map → prism-markdown.min-C0Qn0m-5.js.map} +1 -1
- package/lib/{prism-ruby.min-DeDXCp1r.js → prism-ruby.min-Dx9KO9ds.js} +16 -16
- package/lib/{prism-ruby.min-DeDXCp1r.js.map → prism-ruby.min-Dx9KO9ds.js.map} +1 -1
- package/lib/prism-typescript.min-CD7H2IYQ.js.map +1 -1
- package/lib/state-mM7uaXTW.js +202 -0
- package/lib/state-mM7uaXTW.js.map +1 -0
- package/lib/ui/Accordion.js +1 -1
- package/lib/ui/ActionButton.js +10 -11
- package/lib/ui/ActionButton.js.map +1 -1
- package/lib/ui/Alert.js +2 -2
- package/lib/ui/AlertDialog.js +1 -1
- package/lib/ui/Badge.js +3 -2
- package/lib/ui/Badge.js.map +1 -1
- package/lib/ui/Breadcrumb.js +1 -1
- package/lib/ui/Button.js +2 -2
- package/lib/ui/Callout.js +1 -1
- package/lib/ui/Card.js +1 -1
- package/lib/ui/Carousel.js +3 -3
- package/lib/ui/Carousel.js.map +1 -1
- package/lib/ui/Checkbox.js +2 -2
- package/lib/ui/Command.js +125 -13
- package/lib/ui/Command.js.map +1 -1
- package/lib/ui/Dialog.js +1 -1
- package/lib/ui/Drawer.js +520 -519
- package/lib/ui/Drawer.js.map +1 -1
- package/lib/ui/DropdownMenu.js +1 -1
- package/lib/ui/Form.js +2 -2
- package/lib/ui/HoverCard.js +1 -1
- package/lib/ui/Input.js +1 -1
- package/lib/ui/Label.js +2 -2
- package/lib/ui/Pagination.js +7 -7
- package/lib/ui/Popover.js +1 -1
- package/lib/ui/Progress.js +1 -1
- package/lib/ui/RadioGroup.js +1 -1
- package/lib/ui/ScrollArea.js +1 -1
- package/lib/ui/Select.js +1 -1
- package/lib/ui/Skeleton.js +1 -1
- package/lib/ui/Slider.js +1 -1
- package/lib/ui/Switch.js +1 -1
- package/lib/ui/Tabs.js +1 -1
- package/lib/ui/Textarea.js +1 -1
- package/lib/ui/Toggle.js +2 -2
- package/lib/ui/ToggleGroup.js +1 -1
- package/lib/ui/Tooltip.js +1 -1
- package/lib/{useExposedProps-DE9lR6MF.js → useExposedProps-CetwhZpP.js} +2 -2
- package/lib/{useExposedProps-DE9lR6MF.js.map → useExposedProps-CetwhZpP.js.map} +1 -1
- package/lib/zudoku.auth-auth0.js +8 -10
- package/lib/zudoku.auth-auth0.js.map +1 -1
- package/lib/zudoku.auth-clerk.js +18 -18
- package/lib/zudoku.auth-openid.js +225 -221
- package/lib/zudoku.auth-openid.js.map +1 -1
- package/lib/zudoku.components.js +476 -461
- package/lib/zudoku.components.js.map +1 -1
- package/lib/zudoku.plugin-api-catalog.js +5 -5
- package/lib/zudoku.plugin-api-keys.js +7 -7
- package/lib/zudoku.plugin-custom-pages.js +3 -3
- package/lib/zudoku.plugin-markdown.js +2 -2
- package/lib/zudoku.plugin-openapi.js +5 -5
- package/lib/zudoku.plugin-redirect.js +1 -1
- package/lib/zudoku.plugin-search-inkeep.js +9 -9
- package/package.json +48 -48
- package/src/app/main.css +50 -50
- package/src/lib/authentication/providers/auth0.tsx +1 -4
- package/src/lib/authentication/providers/openid.tsx +12 -5
- package/src/lib/components/Autocomplete.tsx +111 -0
- package/src/lib/components/Header.tsx +3 -3
- package/src/lib/components/index.ts +2 -2
- package/src/lib/components/navigation/SidebarCategory.tsx +2 -2
- package/src/lib/plugins/markdown/MdxPage.tsx +9 -1
- package/src/lib/plugins/openapi/OperationList.tsx +4 -0
- package/src/lib/plugins/openapi/ParameterListItem.tsx +1 -5
- package/src/lib/plugins/openapi/PlaygroundDialogWrapper.tsx +5 -0
- package/src/lib/plugins/openapi/RequestBodySidecarBox.tsx +8 -2
- package/src/lib/plugins/openapi/Sidecar.tsx +15 -7
- package/src/lib/plugins/openapi/SidecarBox.tsx +1 -1
- package/src/lib/plugins/openapi/SidecarExamples.tsx +14 -6
- package/src/lib/plugins/openapi/playground/ExamplesDropdown.tsx +51 -0
- package/src/lib/plugins/openapi/playground/Headers.tsx +138 -41
- package/src/lib/plugins/openapi/playground/Playground.tsx +156 -62
- package/src/lib/plugins/openapi/playground/QueryParams.tsx +89 -122
- package/src/lib/plugins/openapi/post-processors/removeExtensions.test.ts +58 -0
- package/src/lib/plugins/openapi/post-processors/removeExtensions.ts +7 -4
- package/src/lib/plugins/openapi/post-processors/removeParameters.test.ts +148 -0
- package/src/lib/plugins/openapi/post-processors/removeParameters.ts +101 -0
- package/src/lib/plugins/openapi/schema/SchemaComponents.tsx +1 -1
- package/src/lib/ui/Badge.tsx +1 -0
- package/src/lib/ui/Command.tsx +20 -0
- package/src/lib/util/joinUrl.ts +57 -0
- package/dist/lib/plugins/openapi/playground/EnumSelector.d.ts +0 -8
- package/dist/lib/plugins/openapi/playground/EnumSelector.js +0 -21
- package/dist/lib/plugins/openapi/playground/EnumSelector.js.map +0 -1
- package/lib/Button-DeAoTouo.js.map +0 -1
- package/lib/Command-9x_kZHr4.js +0 -611
- package/lib/Command-9x_kZHr4.js.map +0 -1
- package/lib/MdxPage-DKMbBROv.js.map +0 -1
- package/lib/OperationList-B8bHMKme.js.map +0 -1
- package/lib/Spinner-DuxJLLNE.js +0 -7
- package/lib/Spinner-DuxJLLNE.js.map +0 -1
- package/lib/ZudokuContext-hmLMUdf2.js.map +0 -1
- package/lib/chunk-D52XG6IA-Dl7HLe6j.js.map +0 -1
- package/lib/context-h_UkBLvr.js +0 -22
- package/lib/createServer-BznDkeSA.js.map +0 -1
- package/lib/index-CBXSgjaE.js.map +0 -1
- package/lib/index-CPNSgwSb.js +0 -36
- package/lib/index-sD8L1_Dl.js +0 -1292
- package/lib/index-sD8L1_Dl.js.map +0 -1
- package/lib/index.esm-BnnBRKJX.js +0 -1214
- package/lib/index.esm-BnnBRKJX.js.map +0 -1
- package/lib/state-CFQsUZUP.js +0 -202
- package/lib/state-CFQsUZUP.js.map +0 -1
- package/src/lib/plugins/openapi/playground/EnumSelector.tsx +0 -86
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-auth.js","sourceRoot":"","sources":["../../src/vite/plugin-auth.ts"],"names":[],"mappings":"AAGA,MAAM,cAAc,GAAG,CAAC,SAAoC,EAAU,EAAE;IACtE,MAAM,eAAe,GAAG,qBAAqB,CAAC;IAC9C,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,oBAAoB,EAAE,gDAAgD;QAC5E,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC3D,OAAO,kDAAkD,CAAC;gBAC5D,CAAC;gBACD,6EAA6E;gBAC7E,OAAO;oBACL,
|
|
1
|
+
{"version":3,"file":"plugin-auth.js","sourceRoot":"","sources":["../../src/vite/plugin-auth.ts"],"names":[],"mappings":"AAGA,MAAM,cAAc,GAAG,CAAC,SAAoC,EAAU,EAAE;IACtE,MAAM,eAAe,GAAG,qBAAqB,CAAC;IAC9C,MAAM,uBAAuB,GAAG,IAAI,GAAG,eAAe,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,oBAAoB,EAAE,gDAAgD;QAC5E,SAAS,CAAC,EAAE;YACV,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;gBAC3B,OAAO,uBAAuB,CAAC;YACjC,CAAC;QACH,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,KAAK,uBAAuB,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;gBAE3B,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC3D,OAAO,kDAAkD,CAAC;gBAC5D,CAAC;gBACD,6EAA6E;gBAC7E,OAAO;oBACL;iBACO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;wBACvC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW;aAC1E;oBACH,MAAM,CAAC,IAAI,KAAK,UAAU;wBACxB,CAAC,CAAC,6BAA6B,MAAM,CAAC,SAAS,qCAAqC,MAAM,CAAC,cAAc,CAAC,IAAI,QAAQ;wBACtH,CAAC,CAAC,yCAAyC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI;oBAC3E,6DAA6D;iBAC9D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
package/dist/vite/plugin-mdx.js
CHANGED
|
@@ -12,6 +12,7 @@ import remarkFrontmatter from "remark-frontmatter";
|
|
|
12
12
|
import remarkGfm from "remark-gfm";
|
|
13
13
|
import remarkMdxFrontmatter from "remark-mdx-frontmatter";
|
|
14
14
|
import { EXIT, visit } from "unist-util-visit";
|
|
15
|
+
import { joinUrl } from "../lib/util/joinUrl.js";
|
|
15
16
|
import { remarkStaticGeneration } from "./remarkStaticGeneration.js";
|
|
16
17
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
17
18
|
const rehypeCodeBlockPlugin = () => (tree) => {
|
|
@@ -38,16 +39,16 @@ const remarkLinkRewritePlugin = (basePath = "") => (tree) => {
|
|
|
38
39
|
node.url = node.url.replace(/\.mdx?(#.*?)?/, "$1");
|
|
39
40
|
});
|
|
40
41
|
};
|
|
41
|
-
const
|
|
42
|
+
const rehypeMediaBase = (base = "") =>
|
|
42
43
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
43
44
|
(tree) => {
|
|
44
|
-
if (!
|
|
45
|
+
if (!base)
|
|
45
46
|
return;
|
|
46
47
|
visit(tree, "element", (node) => {
|
|
47
48
|
if (node.tagName !== "img" && node.tagName !== "video")
|
|
48
49
|
return;
|
|
49
50
|
if (node.properties.src && !node.properties.src.startsWith("http")) {
|
|
50
|
-
node.properties.src =
|
|
51
|
+
node.properties.src = joinUrl(base, node.properties.src);
|
|
51
52
|
}
|
|
52
53
|
});
|
|
53
54
|
};
|
|
@@ -98,8 +99,12 @@ const rehypeExcerptWithMdxExport = () => (tree, _vfile) => {
|
|
|
98
99
|
};
|
|
99
100
|
const viteMdxPlugin = (getConfig) => {
|
|
100
101
|
const config = getConfig();
|
|
102
|
+
let base;
|
|
101
103
|
return {
|
|
102
104
|
enforce: "pre",
|
|
105
|
+
configResolved: (v) => {
|
|
106
|
+
base = v.base;
|
|
107
|
+
},
|
|
103
108
|
...mdx({
|
|
104
109
|
providerImportSource: config.mode === "internal" || config.mode === "standalone"
|
|
105
110
|
? "@mdx-js/react"
|
|
@@ -123,7 +128,7 @@ const viteMdxPlugin = (getConfig) => {
|
|
|
123
128
|
rehypeSlug,
|
|
124
129
|
rehypeCodeBlockPlugin,
|
|
125
130
|
rehypeMetaAsAttributes,
|
|
126
|
-
[
|
|
131
|
+
[rehypeMediaBase, base],
|
|
127
132
|
withToc,
|
|
128
133
|
withTocExport,
|
|
129
134
|
rehypeExcerptWithMdxExport,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"AAAA,OAAO,sBAAsB,MAAM,qCAAqC,CAAC;AACzE,OAAO,GAAG,MAAM,gBAAgB,CAAC;AACjC,OAAO,OAAO,MAAM,kCAAkC,CAAC;AACvD,OAAO,aAAa,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAE/D,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,OAAO,aAAa,MAAM,gBAAgB,CAAC;AAC3C,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAC5D,OAAO,iBAAiB,MAAM,oBAAoB,CAAC;AACnD,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAG/C,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,8DAA8D;AAC9D,MAAM,qBAAqB,GAAG,GAAG,EAAE,CAAC,CAAC,IAAS,EAAE,EAAE;IAChD,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;YACvD,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,KAAK,KAAK,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAC3B,CAAC,QAAQ,GAAG,EAAE,EAAE,EAAE,CAClB,CAAC,IAAU,EAAE,EAAE;IACb,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QAEtB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC;aAAM,IACL,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5B,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YAC/B,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YACzB,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EACzB,CAAC;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEJ,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin-mdx.js","sourceRoot":"","sources":["../../src/vite/plugin-mdx.ts"],"names":[],"mappings":"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"}
|
package/dist/vite/prerender.d.ts
CHANGED
|
@@ -14,9 +14,9 @@ export declare class FileWritingResponse {
|
|
|
14
14
|
end(chunk?: string): Promise<void>;
|
|
15
15
|
isSent(): Promise<void>;
|
|
16
16
|
}
|
|
17
|
-
export declare const prerender: ({ html, dir,
|
|
17
|
+
export declare const prerender: ({ html, dir, basePath, serverConfigFilename, }: {
|
|
18
18
|
html: string;
|
|
19
19
|
dir: string;
|
|
20
|
-
|
|
20
|
+
basePath?: string;
|
|
21
21
|
serverConfigFilename: string;
|
|
22
22
|
}) => Promise<string[]>;
|
package/dist/vite/prerender.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { pathToFileURL } from "node:url";
|
|
4
|
-
import {
|
|
4
|
+
import { joinUrl } from "../lib/util/joinUrl.js";
|
|
5
5
|
import { generateSitemap } from "./sitemap.js";
|
|
6
6
|
export class FileWritingResponse {
|
|
7
7
|
fileName;
|
|
@@ -57,10 +57,10 @@ const routesToPaths = (routes) => {
|
|
|
57
57
|
addPaths(routes);
|
|
58
58
|
return paths;
|
|
59
59
|
};
|
|
60
|
-
export const prerender = async ({ html, dir,
|
|
60
|
+
export const prerender = async ({ html, dir, basePath = "", serverConfigFilename, }) => {
|
|
61
61
|
// eslint-disable-next-line no-console
|
|
62
62
|
console.log("Prerendering...");
|
|
63
|
-
const distDir = path.join(dir, "dist",
|
|
63
|
+
const distDir = path.join(dir, "dist", basePath);
|
|
64
64
|
const config = await import(pathToFileURL(path.join(distDir, "server", serverConfigFilename)).href).then((m) => m.default);
|
|
65
65
|
const module = await import(pathToFileURL(path.join(distDir, "server/entry.server.js")).href);
|
|
66
66
|
const render = module.render;
|
|
@@ -69,7 +69,7 @@ export const prerender = async ({ html, dir, base = "", serverConfigFilename, })
|
|
|
69
69
|
const paths = routesToPaths(routes);
|
|
70
70
|
const writtenFiles = [];
|
|
71
71
|
for (const urlPath of paths) {
|
|
72
|
-
const req = new Request(
|
|
72
|
+
const req = new Request(joinUrl("http://localhost", config.basePath, urlPath));
|
|
73
73
|
const filename = urlPath === "/" ? "/index.html" : `${urlPath}.html`;
|
|
74
74
|
const response = new FileWritingResponse(path.join(distDir, filename));
|
|
75
75
|
await render({ template: html, request: req, response, config });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMzC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"prerender.js","sourceRoot":"","sources":["../../src/vite/prerender.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
const API_KEY_REPLACEMENT_STRING = "YOUR_KEY_HERE";
|
|
2
|
+
const enrichWithApiKeyData = (operationObject, apiKeyPolicies) => {
|
|
3
|
+
if (apiKeyPolicies.length === 0) {
|
|
4
|
+
return operationObject;
|
|
5
|
+
}
|
|
6
|
+
const firstPolicy = apiKeyPolicies[0];
|
|
7
|
+
const authorizationHeader = firstPolicy?.handler.options?.["authHeader"] || "Authorization";
|
|
8
|
+
const authorizationScheme = (firstPolicy?.handler.options?.["authScheme"] ??
|
|
9
|
+
"Bearer");
|
|
10
|
+
const authSchemeExample = authorizationScheme !== ""
|
|
11
|
+
? `${authorizationScheme} ${API_KEY_REPLACEMENT_STRING}`
|
|
12
|
+
: API_KEY_REPLACEMENT_STRING;
|
|
13
|
+
// Add API key header parameter
|
|
14
|
+
const apiKeyHeader = {
|
|
15
|
+
name: authorizationHeader,
|
|
16
|
+
in: "header",
|
|
17
|
+
required: true,
|
|
18
|
+
example: authSchemeExample,
|
|
19
|
+
schema: {
|
|
20
|
+
type: "string",
|
|
21
|
+
},
|
|
22
|
+
description: `The \`${authorizationHeader}\` header is used to authenticate with the API using your API key. Value is of the format \`${authSchemeExample}\`.`,
|
|
23
|
+
};
|
|
24
|
+
const parameters = operationObject.parameters || [];
|
|
25
|
+
if (!parameters.some((param) => param.name === authorizationHeader)) {
|
|
26
|
+
operationObject.parameters = [apiKeyHeader, ...parameters];
|
|
27
|
+
}
|
|
28
|
+
// Add security scheme and requirement
|
|
29
|
+
const apiSecuritySchemeId = "api_key";
|
|
30
|
+
const apiKeySecurityRequirement = { [apiSecuritySchemeId]: [] };
|
|
31
|
+
if (!operationObject.security) {
|
|
32
|
+
operationObject.security = [apiKeySecurityRequirement];
|
|
33
|
+
}
|
|
34
|
+
else if (!operationObject.security.some((req) => req[apiSecuritySchemeId])) {
|
|
35
|
+
operationObject.security = [
|
|
36
|
+
apiKeySecurityRequirement,
|
|
37
|
+
...operationObject.security,
|
|
38
|
+
];
|
|
39
|
+
}
|
|
40
|
+
return operationObject;
|
|
41
|
+
};
|
|
42
|
+
const enrichWithRateLimitData = (operationObject, rateLimitPolicies) => {
|
|
43
|
+
if (rateLimitPolicies.length === 0) {
|
|
44
|
+
return operationObject;
|
|
45
|
+
}
|
|
46
|
+
const shouldIncludeHeader = rateLimitPolicies.some((policy) => policy.handler.options?.headerMode !== "none");
|
|
47
|
+
if (!operationObject.responses) {
|
|
48
|
+
operationObject.responses = {};
|
|
49
|
+
}
|
|
50
|
+
if (!operationObject.responses["429"]) {
|
|
51
|
+
operationObject.responses["429"] = {
|
|
52
|
+
$ref: shouldIncludeHeader
|
|
53
|
+
? "#/components/responses/RateLimitWithRetryAfter"
|
|
54
|
+
: "#/components/responses/RateLimitNoRetryAfter",
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
return operationObject;
|
|
58
|
+
};
|
|
59
|
+
// prettier-ignore
|
|
60
|
+
const operations = [
|
|
61
|
+
"get", "put", "post", "delete",
|
|
62
|
+
"options", "head", "patch", "trace",
|
|
63
|
+
];
|
|
64
|
+
const rateLimitingResponse = {
|
|
65
|
+
description: "Rate Limiting Response",
|
|
66
|
+
content: {
|
|
67
|
+
"application/json": {
|
|
68
|
+
schema: {
|
|
69
|
+
type: "object",
|
|
70
|
+
required: ["type", "title", "status"],
|
|
71
|
+
examples: [
|
|
72
|
+
{
|
|
73
|
+
type: "https://httpproblems.com/http-status/429",
|
|
74
|
+
title: "Too Many Requests",
|
|
75
|
+
status: 429,
|
|
76
|
+
instance: "/foo/bar",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
properties: {
|
|
80
|
+
type: {
|
|
81
|
+
type: "string",
|
|
82
|
+
example: "https://httpproblems.com/http-status/429",
|
|
83
|
+
description: "A URI reference that identifies the problem.",
|
|
84
|
+
},
|
|
85
|
+
title: {
|
|
86
|
+
type: "string",
|
|
87
|
+
example: "Too Many Requests",
|
|
88
|
+
description: "A short, human-readable summary of the problem.",
|
|
89
|
+
},
|
|
90
|
+
status: {
|
|
91
|
+
type: "number",
|
|
92
|
+
example: 429,
|
|
93
|
+
description: "The HTTP status code.",
|
|
94
|
+
},
|
|
95
|
+
instance: {
|
|
96
|
+
type: "string",
|
|
97
|
+
example: "/foo/bar",
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
},
|
|
103
|
+
};
|
|
104
|
+
const rateLimitingResponseWithHeader = {
|
|
105
|
+
...rateLimitingResponse,
|
|
106
|
+
headers: {
|
|
107
|
+
"retry-after": {
|
|
108
|
+
description: "The number of seconds to wait before making a new request.",
|
|
109
|
+
schema: {
|
|
110
|
+
type: "integer",
|
|
111
|
+
example: 60,
|
|
112
|
+
},
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
};
|
|
116
|
+
export const enrichWithZuploData = ({ policiesConfig, }) => {
|
|
117
|
+
return (spec) => {
|
|
118
|
+
if (!spec.paths)
|
|
119
|
+
return spec;
|
|
120
|
+
let hasRateLimitPolicies = false;
|
|
121
|
+
for (const [, pathItem] of Object.entries(spec.paths)) {
|
|
122
|
+
for (const method of operations) {
|
|
123
|
+
const operation = pathItem[method];
|
|
124
|
+
if (!operation["x-zuplo-route"])
|
|
125
|
+
continue;
|
|
126
|
+
const inboundPolicies = operation["x-zuplo-route"]?.policies?.inbound?.reduce((acc, policyName) => {
|
|
127
|
+
const policy = policiesConfig.policies?.find(({ name }) => name === policyName);
|
|
128
|
+
if (!policy)
|
|
129
|
+
return acc;
|
|
130
|
+
// Handle composite policies
|
|
131
|
+
if (policy.handler.export === "CompositeInboundPolicy") {
|
|
132
|
+
const childPolicies = policy.handler.options?.policies;
|
|
133
|
+
return childPolicies ? [...acc, ...childPolicies] : acc;
|
|
134
|
+
}
|
|
135
|
+
return [...acc, policyName];
|
|
136
|
+
}, []);
|
|
137
|
+
if (!inboundPolicies)
|
|
138
|
+
continue;
|
|
139
|
+
// Find API key policies
|
|
140
|
+
const apiKeyPolicies = policiesConfig.policies?.filter((policy) => inboundPolicies.includes(policy.name) &&
|
|
141
|
+
(policy.handler.export === "ApiAuthKeyInboundPolicy" ||
|
|
142
|
+
policy.handler.export === "ApiKeyInboundPolicy") &&
|
|
143
|
+
!policy.handler.options
|
|
144
|
+
?.disableAutomaticallyAddingKeyHeaderToOpenApi) ?? [];
|
|
145
|
+
// Find rate limit policies
|
|
146
|
+
const rateLimitPolicies = policiesConfig.policies?.filter((policy) => inboundPolicies.includes(policy.name) &&
|
|
147
|
+
(policy.handler.export === "RateLimitInboundPolicy" ||
|
|
148
|
+
policy.handler.export === "ComplexRateLimitInboundPolicy")) ?? [];
|
|
149
|
+
if (rateLimitPolicies.length > 0) {
|
|
150
|
+
hasRateLimitPolicies = true;
|
|
151
|
+
}
|
|
152
|
+
// Apply enrichments directly to the operation
|
|
153
|
+
pathItem[method] = enrichWithApiKeyData(operation, apiKeyPolicies);
|
|
154
|
+
pathItem[method] = enrichWithRateLimitData(pathItem[method], rateLimitPolicies);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
// Add security scheme if we have API key policies
|
|
158
|
+
if (policiesConfig.policies?.some((policy) => policy.handler.export === "ApiAuthKeyInboundPolicy" ||
|
|
159
|
+
policy.handler.export === "ApiKeyInboundPolicy")) {
|
|
160
|
+
if (!spec.components)
|
|
161
|
+
spec.components = {};
|
|
162
|
+
if (!spec.components.securitySchemes)
|
|
163
|
+
spec.components.securitySchemes = {};
|
|
164
|
+
if (!spec.components.securitySchemes.api_key) {
|
|
165
|
+
spec.components.securitySchemes.api_key = {
|
|
166
|
+
type: "http",
|
|
167
|
+
scheme: "bearer",
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
// Add rate limiting responses only if we found rate limiting policies
|
|
172
|
+
if (hasRateLimitPolicies) {
|
|
173
|
+
if (!spec.components)
|
|
174
|
+
spec.components = {};
|
|
175
|
+
if (!spec.components.responses)
|
|
176
|
+
spec.components.responses = {};
|
|
177
|
+
spec.components.responses.RateLimitNoRetryAfter = rateLimitingResponse;
|
|
178
|
+
spec.components.responses.RateLimitWithRetryAfter =
|
|
179
|
+
rateLimitingResponseWithHeader;
|
|
180
|
+
}
|
|
181
|
+
return spec;
|
|
182
|
+
};
|
|
183
|
+
};
|
|
184
|
+
//# sourceMappingURL=enrich-with-zuplo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrich-with-zuplo.js","sourceRoot":"","sources":["../../src/zuplo/enrich-with-zuplo.ts"],"names":[],"mappings":"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"}
|
package/dist/zuplo/env.d.ts
CHANGED
package/dist/zuplo/env.js
CHANGED
package/dist/zuplo/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/zuplo/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;IACnC,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/zuplo/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,IAAI,SAAS;QACX,OAAO,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;IACtC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
3
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
4
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
5
|
+
*/
|
|
6
|
+
export interface PoliciesConfigFile {
|
|
7
|
+
policies?: PolicyConfigurationFragment[];
|
|
8
|
+
corsPolicies?: CorsPolicyConfiguration[];
|
|
9
|
+
}
|
|
10
|
+
export interface PolicyConfigurationFragment {
|
|
11
|
+
name: string;
|
|
12
|
+
policyType: string;
|
|
13
|
+
handler: HandlerDefinition;
|
|
14
|
+
options?: {
|
|
15
|
+
[k: string]: unknown;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface HandlerDefinition {
|
|
19
|
+
module: string;
|
|
20
|
+
export: string;
|
|
21
|
+
options?: {
|
|
22
|
+
[k: string]: unknown;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
export interface CorsPolicyConfiguration {
|
|
26
|
+
name: string;
|
|
27
|
+
allowCredentials?: boolean;
|
|
28
|
+
maxAge?: number;
|
|
29
|
+
allowedOrigins: string[] | string;
|
|
30
|
+
allowedMethods?: ("GET" | "HEAD" | "POST" | "PUT" | "DELETE" | "CONNECT" | "OPTIONS" | "TRACE" | "PATCH")[] | string;
|
|
31
|
+
allowedHeaders?: string[] | string;
|
|
32
|
+
exposeHeaders?: string[] | string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
/**
|
|
3
|
+
* This file was automatically generated by json-schema-to-typescript.
|
|
4
|
+
* DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
|
|
5
|
+
* and run json-schema-to-typescript to regenerate this file.
|
|
6
|
+
*/
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=policy-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy-types.js","sourceRoot":"","sources":["../../src/zuplo/policy-types.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;GAIG"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import path from "node:path";
|
|
3
|
+
import { removeExtensions } from "../lib/plugins/openapi/post-processors/removeExtensions.js";
|
|
4
|
+
import { removeParameters } from "../lib/plugins/openapi/post-processors/removeParameters.js";
|
|
5
|
+
import { removePaths } from "../lib/plugins/openapi/post-processors/removePaths.js";
|
|
6
|
+
import { enrichWithZuploData } from "./enrich-with-zuplo.js";
|
|
7
|
+
import { ZuploEnv } from "./env.js";
|
|
8
|
+
export const getProcessors = async (rootDir) => {
|
|
9
|
+
const policiesConfig = JSON.parse(await fs.readFile(path.join(rootDir, "../config/policies.json"), "utf-8"));
|
|
10
|
+
return [
|
|
11
|
+
removePaths({ shouldRemove: ({ operation }) => operation["x-internal"] }),
|
|
12
|
+
removeParameters({
|
|
13
|
+
shouldRemove: ({ parameter }) => parameter["x-internal"],
|
|
14
|
+
}),
|
|
15
|
+
enrichWithZuploData({ policiesConfig }),
|
|
16
|
+
(spec) => {
|
|
17
|
+
const url = ZuploEnv.serverUrl;
|
|
18
|
+
if (!url)
|
|
19
|
+
return spec;
|
|
20
|
+
return { ...spec, servers: [{ url }] };
|
|
21
|
+
},
|
|
22
|
+
removeExtensions({ shouldRemove: (key) => key.startsWith("x-zuplo") }),
|
|
23
|
+
];
|
|
24
|
+
};
|
|
25
|
+
export default getProcessors;
|
|
26
|
+
//# sourceMappingURL=with-zuplo-processors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"with-zuplo-processors.js","sourceRoot":"","sources":["../../src/zuplo/with-zuplo-processors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,gBAAgB,EAAE,MAAM,4DAA4D,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,MAAM,uDAAuD,CAAC;AAEpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;IACrD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAC/B,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,EAAE,OAAO,CAAC,CAC1E,CAAC;IAEF,OAAO;QACL,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QACzE,gBAAgB,CAAC;YACf,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC;SACzD,CAAC;QACF,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAC;QACvC,CAAC,IAAe,EAAE,EAAE;YAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;YAC/B,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC;YACtB,OAAO,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;QACzC,CAAC;QACD,gBAAgB,CAAC,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;KACvE,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
package/dist/zuplo/with-zuplo.js
CHANGED
|
@@ -1,28 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
else {
|
|
9
|
-
config.apis = configureApis(config.apis);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
return config;
|
|
13
|
-
}
|
|
14
|
-
function configureApis(config) {
|
|
15
|
-
if (config.type === "file") {
|
|
16
|
-
config.postProcessors = [
|
|
17
|
-
removeExtensions({ keys: ["x-zuplo-route", "x-zuplo-path"] }),
|
|
18
|
-
removePaths({
|
|
19
|
-
// custom filter (method is `true` for all methods)
|
|
20
|
-
shouldRemove: ({ operation }) => operation["x-internal"],
|
|
21
|
-
}),
|
|
22
|
-
...(config.postProcessors ?? []),
|
|
23
|
-
];
|
|
24
|
-
}
|
|
25
|
-
return config;
|
|
26
|
-
}
|
|
27
|
-
export default withZuplo;
|
|
1
|
+
export const withZuplo = (config) => {
|
|
2
|
+
return {
|
|
3
|
+
...config,
|
|
4
|
+
isZuplo: true,
|
|
5
|
+
};
|
|
6
|
+
};
|
|
28
7
|
//# sourceMappingURL=with-zuplo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-zuplo.js","sourceRoot":"","sources":["../../src/zuplo/with-zuplo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"with-zuplo.js","sourceRoot":"","sources":["../../src/zuplo/with-zuplo.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAe,EACN,EAAE;IACX,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,IAAI;KACd,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import e from "react";
|
|
2
|
-
import { j as r } from "./jsx-runtime-
|
|
3
|
-
import { u as l, L as m } from "./chunk-
|
|
2
|
+
import { j as r } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
3
|
+
import { u as l, L as m } from "./chunk-SYFQ2XB5-BF5IDYrB.js";
|
|
4
4
|
const c = {}, u = e.createContext(c);
|
|
5
5
|
function f(t) {
|
|
6
6
|
const n = e.useContext(u);
|
|
@@ -31,4 +31,4 @@ export {
|
|
|
31
31
|
h as M,
|
|
32
32
|
f as u
|
|
33
33
|
};
|
|
34
|
-
//# sourceMappingURL=AnchorLink-
|
|
34
|
+
//# sourceMappingURL=AnchorLink-bObQitZv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnchorLink-
|
|
1
|
+
{"version":3,"file":"AnchorLink-bObQitZv.js","sources":["../../../node_modules/.pnpm/@mdx-js+react@3.1.0_@types+react@19.0.7_react@19.0.0/node_modules/@mdx-js/react/lib/index.js","../src/lib/components/AnchorLink.tsx"],"sourcesContent":["/**\n * @import {MDXComponents} from 'mdx/types.js'\n * @import {Component, ReactElement, ReactNode} from 'react'\n */\n\n/**\n * @callback MergeComponents\n * Custom merge function.\n * @param {Readonly<MDXComponents>} currentComponents\n * Current components from the context.\n * @returns {MDXComponents}\n * Additional components.\n *\n * @typedef Props\n * Configuration for `MDXProvider`.\n * @property {ReactNode | null | undefined} [children]\n * Children (optional).\n * @property {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @property {boolean | null | undefined} [disableParentContext=false]\n * Turn off outer component context (default: `false`).\n */\n\nimport React from 'react'\n\n/** @type {Readonly<MDXComponents>} */\nconst emptyComponents = {}\n\nconst MDXContext = React.createContext(emptyComponents)\n\n/**\n * Get current components from the MDX Context.\n *\n * @param {Readonly<MDXComponents> | MergeComponents | null | undefined} [components]\n * Additional components to use or a function that creates them (optional).\n * @returns {MDXComponents}\n * Current components.\n */\nexport function useMDXComponents(components) {\n const contextComponents = React.useContext(MDXContext)\n\n // Memoize to avoid unnecessary top-level context changes\n return React.useMemo(\n function () {\n // Custom merge via a function prop\n if (typeof components === 'function') {\n return components(contextComponents)\n }\n\n return {...contextComponents, ...components}\n },\n [contextComponents, components]\n )\n}\n\n/**\n * Provider for MDX context.\n *\n * @param {Readonly<Props>} properties\n * Properties.\n * @returns {ReactElement}\n * Element.\n * @satisfies {Component}\n */\nexport function MDXProvider(properties) {\n /** @type {Readonly<MDXComponents>} */\n let allComponents\n\n if (properties.disableParentContext) {\n allComponents =\n typeof properties.components === 'function'\n ? properties.components(emptyComponents)\n : properties.components || emptyComponents\n } else {\n allComponents = useMDXComponents(properties.components)\n }\n\n return React.createElement(\n MDXContext.Provider,\n {value: allComponents},\n properties.children\n )\n}\n","import React from \"react\";\nimport { Link, type LinkProps, useLocation } from \"react-router\";\n\n/**\n * Link that scrolls to anchor even if the hash is already set in the URL.\n */\nexport const AnchorLink = (props: LinkProps) => {\n const location = useLocation();\n const hash = typeof props.to === \"string\" ? props.to : props.to.hash;\n\n const handleClick = (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (!hash?.startsWith(\"#\") || hash !== location.hash) return;\n\n event.preventDefault();\n document.getElementById(hash.slice(1))?.scrollIntoView();\n };\n\n return <Link onClick={handleClick} {...props} />;\n};\n"],"names":["emptyComponents","MDXContext","React","useMDXComponents","components","contextComponents","MDXProvider","properties","allComponents","AnchorLink","props","location","useLocation","hash","handleClick","event","_a","jsx","Link"],"mappings":";;;AA0BA,MAAMA,IAAkB,CAAA,GAElBC,IAAaC,EAAM,cAAcF,CAAe;AAU/C,SAASG,EAAiBC,GAAY;AAC3C,QAAMC,IAAoBH,EAAM,WAAWD,CAAU;AAGrD,SAAOC,EAAM;AAAA,IACX,WAAY;AAEV,aAAI,OAAOE,KAAe,aACjBA,EAAWC,CAAiB,IAG9B,EAAC,GAAGA,GAAmB,GAAGD,EAAU;AAAA,IAC5C;AAAA,IACD,CAACC,GAAmBD,CAAU;AAAA,EAClC;AACA;AAWO,SAASE,EAAYC,GAAY;AAEtC,MAAIC;AAEJ,SAAID,EAAW,uBACbC,IACE,OAAOD,EAAW,cAAe,aAC7BA,EAAW,WAAWP,CAAe,IACrCO,EAAW,cAAcP,IAE/BQ,IAAgBL,EAAiBI,EAAW,UAAU,GAGjDL,EAAM;AAAA,IACXD,EAAW;AAAA,IACX,EAAC,OAAOO,EAAa;AAAA,IACrBD,EAAW;AAAA,EACf;AACA;AC5Ea,MAAAE,IAAa,CAACC,MAAqB;AAC9C,QAAMC,IAAWC,EAAY,GACvBC,IAAO,OAAOH,EAAM,MAAO,WAAWA,EAAM,KAAKA,EAAM,GAAG,MAE1DI,IAAc,CAACC,MAA+C;;AAClE,IAAI,EAACF,KAAA,QAAAA,EAAM,WAAW,SAAQA,MAASF,EAAS,SAEhDI,EAAM,eAAe,IACrBC,IAAA,SAAS,eAAeH,EAAK,MAAM,CAAC,CAAC,MAArC,QAAAG,EAAwC;AAAA,EAC1C;AAEA,SAAQC,gBAAAA,EAAAA,IAAAC,GAAA,EAAK,SAASJ,GAAc,GAAGJ,GAAO;AAChD;","x_google_ignoreList":[0]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { j as o } from "./jsx-runtime-
|
|
1
|
+
import { j as o } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
2
2
|
import { LogOutIcon as a } from "lucide-react";
|
|
3
3
|
import { useEffect as i } from "react";
|
|
4
|
-
import { b as u, a as r } from "./chunk-
|
|
5
|
-
import { a as s } from "./ZudokuContext-
|
|
4
|
+
import { b as u, a as r } from "./chunk-SYFQ2XB5-BF5IDYrB.js";
|
|
5
|
+
import { a as s } from "./ZudokuContext-DeQZEp-x.js";
|
|
6
6
|
const c = () => {
|
|
7
7
|
const t = s(), [e] = u();
|
|
8
8
|
return i(() => {
|
|
@@ -55,4 +55,4 @@ class d {
|
|
|
55
55
|
export {
|
|
56
56
|
d as A
|
|
57
57
|
};
|
|
58
|
-
//# sourceMappingURL=AuthenticationPlugin-
|
|
58
|
+
//# sourceMappingURL=AuthenticationPlugin-C9SwOxkc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthenticationPlugin-
|
|
1
|
+
{"version":3,"file":"AuthenticationPlugin-C9SwOxkc.js","sources":["../src/lib/authentication/components/SignIn.tsx","../src/lib/authentication/components/SignOut.tsx","../src/lib/authentication/components/SignUp.tsx","../src/lib/authentication/AuthenticationPlugin.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { useSearchParams } from \"react-router\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignIn = () => {\n const context = useZudoku();\n const [search] = useSearchParams();\n useEffect(() => {\n void context.authentication?.signIn({\n redirectTo: search.get(\"redirect\") ?? undefined,\n });\n }, [context.authentication, search]);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useNavigate } from \"react-router\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignOut = () => {\n const context = useZudoku();\n const navigate = useNavigate();\n\n useEffect(() => {\n void context.authentication?.signOut().then(() => navigate(\"/\"));\n }, []);\n\n return null;\n};\n","import { useEffect } from \"react\";\nimport { useZudoku } from \"../../components/context/ZudokuContext.js\";\n\nexport const SignUp = () => {\n const context = useZudoku();\n useEffect(() => {\n void (context.authentication?.signUp() ?? context.authentication?.signIn());\n }, [context.authentication]);\n\n return null;\n};\n","import { LogOutIcon } from \"lucide-react\";\nimport {\n CommonPlugin,\n NavigationPlugin,\n ProfileMenuPlugin,\n} from \"../core/plugins.js\";\nimport { SignIn } from \"./components/SignIn.js\";\nimport { SignOut } from \"./components/SignOut.js\";\nimport { SignUp } from \"./components/SignUp.js\";\n\ntype PluginInterface = NavigationPlugin & CommonPlugin & ProfileMenuPlugin;\n\nexport class AuthenticationPlugin implements PluginInterface {\n getRoutes() {\n return [\n {\n path: \"/signout\",\n element: <SignOut />,\n },\n {\n path: \"/signin\",\n element: <SignIn />,\n },\n {\n path: \"/signup\",\n element: <SignUp />,\n },\n ];\n }\n\n getProfileMenuItems() {\n return [\n {\n label: \"Logout\",\n path: \"/signout\",\n category: \"bottom\",\n icon: LogOutIcon,\n } as const,\n ];\n }\n}\n"],"names":["SignIn","context","useZudoku","search","useSearchParams","useEffect","_a","SignOut","navigate","useNavigate","SignUp","_b","AuthenticationPlugin","LogOutIcon"],"mappings":";;;;;AAIO,MAAMA,IAAS,MAAM;AAC1B,QAAMC,IAAUC,EAAU,GACpB,CAACC,CAAM,IAAIC,EAAgB;AACjC,SAAAC,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,OAAO;AAAA,MAClC,YAAYH,EAAO,IAAI,UAAU,KAAK;AAAA,IAAA;AAAA,EAEvC,GAAA,CAACF,EAAQ,gBAAgBE,CAAM,CAAC,GAE5B;AACT,GCVaI,IAAU,MAAM;AAC3B,QAAMN,IAAUC,EAAU,GACpBM,IAAWC,EAAY;AAE7B,SAAAJ,EAAU,MAAM;;AACT,KAAAC,IAAAL,EAAQ,mBAAR,QAAAK,EAAwB,UAAU,KAAK,MAAME,EAAS,GAAG;AAAA,EAChE,GAAG,EAAE,GAEE;AACT,GCVaE,IAAS,MAAM;AAC1B,QAAMT,IAAUC,EAAU;AAC1B,SAAAG,EAAU,MAAM;;AACd,MAAMC,IAAAL,EAAQ,mBAAR,gBAAAK,EAAwB,eAAYK,IAAAV,EAAQ,mBAAR,QAAAU,EAAwB;AAAA,EAAO,GACxE,CAACV,EAAQ,cAAc,CAAC,GAEpB;AACT;ACEO,MAAMW,EAAgD;AAAA,EAC3D,YAAY;AACH,WAAA;AAAA,MACL;AAAA,QACE,MAAM;AAAA,QACN,+BAAUL,GAAQ,CAAA,CAAA;AAAA,MACpB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUP,GAAO,CAAA,CAAA;AAAA,MACnB;AAAA,MACA;AAAA,QACE,MAAM;AAAA,QACN,+BAAUU,GAAO,CAAA,CAAA;AAAA,MAAA;AAAA,IAErB;AAAA,EAAA;AAAA,EAGF,sBAAsB;AACb,WAAA;AAAA,MACL;AAAA,QACE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU;AAAA,QACV,MAAMG;AAAA,MAAA;AAAA,IAEV;AAAA,EAAA;AAEJ;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as s } from "./jsx-runtime-
|
|
2
|
-
import { a as m } from "./index-
|
|
1
|
+
import { j as s } from "./jsx-runtime-Bdg6XQ1m.js";
|
|
2
|
+
import { a as m } from "./index-Djenk2Hj.js";
|
|
3
3
|
const e = ({
|
|
4
4
|
children: t,
|
|
5
5
|
className: r
|
|
@@ -7,4 +7,4 @@ const e = ({
|
|
|
7
7
|
export {
|
|
8
8
|
e as C
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=CategoryHeading-
|
|
10
|
+
//# sourceMappingURL=CategoryHeading-MYL1u_6K.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CategoryHeading-
|
|
1
|
+
{"version":3,"file":"CategoryHeading-MYL1u_6K.js","sources":["../src/lib/components/CategoryHeading.tsx"],"sourcesContent":["import { cx } from \"class-variance-authority\";\nimport type { ReactNode } from \"react\";\n\nexport const CategoryHeading = ({\n children,\n className,\n}: {\n children: ReactNode;\n className?: string;\n}) => {\n return (\n <div className={cx(\"text-sm font-semibold text-primary mb-2\", className)}>\n {children}\n </div>\n );\n};\n"],"names":["CategoryHeading","children","className","cx"],"mappings":";;AAGO,MAAMA,IAAkB,CAAC;AAAA,EAC9B,UAAAC;AAAA,EACA,WAAAC;AACF,4BAKK,OAAI,EAAA,WAAWC,EAAG,2CAA2CD,CAAS,GACpE,UAAAD,GACH;"}
|