\n\n \n\n### Desired behavior\n\nShiki should be initialized once and reused for subsequent highlight calls.\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\nLoad a large vitepress project with any code in it\n\n### Logs and Error Messages\n\nvitepress-openapi.client.es.js:62532 [Shiki] 590 instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call `highlighter.dispose()` to release unused instances.\n\n### Other Information\n\n_No response_",[],278,"enzonotario","vitepress-openapi","open","Shiki instance not being reused","2025-07-20T22:19:25Z","https://github.com/enzonotario/vitepress-openapi/issues/278",0.78005385,{"description":3027,"labels":3028,"number":3029,"owner":3019,"repository":3020,"state":3021,"title":3030,"updated_at":3031,"url":3032,"score":3033},"So, following on from https://github.com/enzonotario/vitepress-openapi/issues/237#issuecomment-2994204686\n\nThis \"issue\" is rather a place to collect my thoughts and discuss, potentially some of these ideas are bad, but its the combination of thoughts given the `xxx` confusion I had, + pulling in thoughts from other tooling I have used.\n\n---\n\n\n\nThe display of `xxx` is unclear to me in terms of what it is trying to communicate.\nIt could be one of these things\n - xxx is the example, a placeholder for you to enter something into\n - It could be representing the fact that a value is there, but we dont want to show you (like `***` for passwords)\n - It could be the actual value saved in local storage? waiting for you to update it?\n\nWhen loading first time and making a request, I actually saw that it made a request with a literal `xxx`\n\n\n\nNot sure if this is something I had entered though?\n\nIt was indeed stored in local storage (and the UI didn't really help me figure that out...)\n\n\n\nDeleting the key from local storage, and I then correctly see the example appear in the latest version\n\n\n\nAs a result, im not sure if https://github.com/enzonotario/vitepress-openapi/issues/237 even was an issue, or rather just I had no idea where the `xxx` was coming from?\n\nSo, I would propose......\n\n**1)When key is stored and coming form local storage, keep it editable**\n\nCurrently when its coming form local storage, it is the placeholder for the field..\n\n\n\nThis makes it appear exactly like the example, and examples else where and thus is easily confused.\n\nI see other API sandboxes just keep / load the field into the text box and leave it there, so perhaps just do that?\n\n**2)Hover text for field saying it is stored between sessions in local storage?**\n\nAgain, a subtle way to make it easier for folks to understand what it going on?\n\n**3)Provide a way to clear from local storage**\n\nPerhaps a small clear button next to the APIKey name?\n\n\n\nMaybe there should even be a save button here rather than doing it automatically?\n\nPerhaps all of what I have said and am saying should be other in the other component?\n\n\n\n**4) Provide an optional button next to token field, to take a user to a page to setup the api key?**\n\nThis could be a custom dedicated page with custom content.\nIt thus could be as simple as just a page with instructions, and also a text box and save button that would put the key in local storage?\nIt could also just be a popup?\n\nPerhaps a default component for use on such as page could be used that takes the key and puts it in the right place in local storage?\n\nAnd perhaps another way of default option that could be provided would be a link to the route page that would generate the token, such as in my case http://localhost:8093/apis/v2/post-users-login\nOnce making the request and getting a response, next to the response would be a button to say \"set as API key\" or such?\nSo this would require some additional options on the route component?\n\nPerhaps something in one of these 3 green places?\n\n",[],246,"Ideas around Authorization saving and population","2025-06-23T08:01:09Z","https://github.com/enzonotario/vitepress-openapi/issues/246",0.82122225,{"description":3035,"labels":3036,"number":3037,"owner":3019,"repository":3020,"state":3038,"title":3039,"updated_at":3040,"url":3041,"score":3042},"Hi! It took me some time to figure out how to prevent vitepress-openapi styles from leaking into `.vp-raw` (`:::raw`) blocks. Consider adding an example to the documentation:\n\n```js\n// docs/postcss.config.mjs\n\nimport { postcssIsolateStyles } from 'vitepress';\n\nexport default {\n plugins: [\n // Make `::: raw` sections be isolated from vitepress-openapi plugin styles\n postcssIsolateStyles({\n includeFiles: [ /vitepress-openapi\\.css/ ], // ← NOT `vitepress-openapi/dist/style.css` (!)\n }),\n ],\n};\n```\n\nThank you for your work!",[],251,"closed","Mention style isolation in documentation","2025-07-05T14:22:04Z","https://github.com/enzonotario/vitepress-openapi/issues/251",0.77174306,{"description":3044,"labels":3045,"number":3046,"owner":3019,"repository":3020,"state":3038,"title":3047,"updated_at":3048,"url":3049,"score":3050},"### Current behavior\n\nIn OpenAPI you can create a nullable object with:\n```yaml\ntype: [object, 'null']\nproperties:\n example:\n type: string\n```\n\nCurrently, vitepress-openapi will not display the properties correctly.\n\n### Desired behavior\n\nIf the object is nullable, it should still list all properties of nullable object and not just `object | null`\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\n```json\n{\n \"openapi\": \"3.1.0\",\n \"info\": {\n \"title\": \"Nullable objects\"\n },\n \"servers\": [\n {\n \"url\": \"https://whatever.com\",\n \"description\": \"Mock Server\"\n }\n ],\n \"paths\": {\n \"/nullable\": {\n \"get\": {\n \"tags\": [\n \"Nullable\"\n ],\n \"summary\": \"Get nullable object\",\n \"description\": \"Yayy\",\n \"operationId\": \"getNullableObject\",\n \"responses\": {\n \"200\": {\n \"description\": \"OK\",\n \"content\": {\n \"application/json\": {\n \"schema\": {\n \"type\": \"object\",\n \"properties\": {\n \"a\": {\n \"type\": [\n \"object\",\n \"null\"\n ],\n \"properties\": {\n \"a\": {\n \"type\": \"number\"\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n }\n },\n \"tags\": [],\n \"externalDocs\": {}\n}\n```\n\n\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\n_No response_",[],206,"\"nullable\" objects","2025-04-24T01:25:01Z","https://github.com/enzonotario/vitepress-openapi/issues/206",0.78247803,{"description":3052,"labels":3053,"number":3057,"owner":3019,"repository":3020,"state":3038,"title":3058,"updated_at":3059,"url":3060,"score":3061},"### Current behavior\n\n[plugin:vite:import-analysis] Failed to resolve import \"vitepress-openapi/client\" from \".vitepress/theme/index.ts\". Does the file exist?\n\n\n```\n~/demo2/.vitepress/theme/index.ts:1:44\n1 | import { theme, useOpenapi, useShiki } from \"vitepress-openapi/client\";\n | ^\n2 | import DefaultTheme from \"vitepress/theme\";\n3 | import spec from \"../../public/openapi.json\" with { type: \"json\" };\n```\n\n### Desired behavior\n\n_No response_\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\n```\ngit clone https://github.com/enzonotario/vitepress-openapi\ncd vitepress-openapi\ncp -r docs ~/demos\n```\n\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\n_No response_",[3054],{"name":3055,"color":3056},"question","d876e3",208,"init error","2025-04-20T13:05:55Z","https://github.com/enzonotario/vitepress-openapi/issues/208",0.7978695,{"description":3063,"labels":3064,"number":3068,"owner":3019,"repository":3020,"state":3038,"title":3069,"updated_at":3070,"url":3071,"score":3072},"### Current behavior\n\n\n\n### Desired behavior\n\nEither the text should wrap, or just be displayed in a better way\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\n```\n \"securitySchemes\": {\n \"ApiKeyAuth\": {\n \"in\": \"header\",\n \"name\": \"Authorization\",\n \"type\": \"apiKey\",\n\"description\": \"API Key for authentication. Retrieval from either API version login routes, or other authentication token type. See \u003Ca href='/apis/authentication'>Authentication\u003C/a> for more details.\",\n\"example\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsImlhdCI6MTY3Mjc2NjAyOCwiZXhwIjoxNjc0NDk0MDI4fQ.kCak9sLJr74frSRVQp0_27BY4iBCgQSmoT3vQVWKzJg\"\n }\n }\n```\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\n_No response_",[3065],{"name":3066,"color":3067},"bug","d73a4a",236,"Long Authorization example doesnt display nicely","2025-06-22T12:55:43Z","https://github.com/enzonotario/vitepress-openapi/issues/236",0.79791844,{"description":3074,"labels":3075,"number":3079,"owner":3019,"repository":3020,"state":3038,"title":3080,"updated_at":3081,"url":3082,"score":3083},"### Current behavior\n\n\n\n### Desired behavior\n\nI'm not sure what the desired behaviour should be here.\nHowever the `xxx` is seemingly hardcoded in the components currently, and i half would have expected the example to override this based on the behaviours of other parameter and variables examples in the playground.\n\nIt might even be nicer to just have the default auth actually always be an empty string rather than xxx?\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\nJust provide an example, and see it not appear in the playground...\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\n_No response_",[3076],{"name":3077,"color":3078},"enhancement","a2eeef",237,"Authorization example not shown in playground, inconsistent with other examples?","2025-06-22T12:55:44Z","https://github.com/enzonotario/vitepress-openapi/issues/237",0.8073601,{"description":3085,"labels":3086,"number":1225,"owner":3019,"repository":3090,"state":3038,"title":3091,"updated_at":3092,"url":3093,"score":3094},"Antes que nada, ¡excelente API!. En cuanto al código python en los ejemplos de la `documentación`, contiene una mezcla de \r\n`js` y `python`😅 en cada una de las rutas. \r\n\r\nEl código básico podría ser algo así para imprimir el dict con cada tipo de cambio:\r\n```python\r\nimport requests\r\n\r\ndata = requests.get(\"https://dolarapi.com/v1/dolares\").json()\r\nfor item in data:\r\n print(item)\r\n```",[3087],{"name":3088,"color":3089},"documentation","0075ca","esjs-dolar-api","Ejemplos: Código Python Erróneo","2024-02-01T23:20:05Z","https://github.com/enzonotario/esjs-dolar-api/issues/6",0.8110946,{"description":3096,"labels":3097,"number":1225,"owner":3019,"repository":3098,"state":3038,"title":3099,"updated_at":3100,"url":3101,"score":3102},"Hi @enzonotario \r\n\r\nFirst of all, thank you for this repo! It is very helpful.\r\nI followed exactly the steps you wrote, but i get a strange error, and i ran out of ideas what could be wrong. I receive an error message from Pusher in the console saying: json returned from auth endpoint was invalid, yet status code was 200.\r\nIn the DevTools i see that it hits the authEndpoint with status code 200, but as a response i get back the content of my app.blade.php. It is really strange. Do you have any idea what could cause this?\r\n\r\nIt's not just my app. I downloaded and installed this repo of yours, and i get the same error.",[],"lighthouse-laravel-websockets","json returned from auth endpoint was invalid, yet status code was 200.","2020-04-16T18:51:33Z","https://github.com/enzonotario/lighthouse-laravel-websockets/issues/6",0.8114298,{"description":3104,"labels":3105,"number":3107,"owner":3019,"repository":3020,"state":3038,"title":3108,"updated_at":3109,"url":3110,"score":3111},"### Current behavior\r\n\r\nMy openapi spec contains oneOf and prefixItems \r\n\r\n- [x] #124\r\n\r\n- [x] #125\r\n\r\n### Desired behavior\r\n\r\n_No response_\r\n\r\n### Reproduction\r\n\r\n_No response_\r\n\r\n### Steps to reproduce\r\n\r\n```\r\ngit clone https://github.com/wighawag/fuzd.git\r\ncd fuzd\r\ngit checkout feat/vitepress-openapi\r\npnpm i\r\npnpm docs:dev\r\n# for oneOf, see http://localhost:5173/api-all-in-one/#get-api-paymentAccountBroadcaster\r\n# it shows null, while null is only one of the possible type\r\n\r\n# for prefixItems I had an earlier example here : https://github.com/wighawag/fuzd/commit/d47b3452280a13aeb6d38c6c7301e51b8be7f2fc\r\n# where error (click 500) where not showing properly because I was using prefixItems\r\n```\r\n\r\n### Logs and Error Messages\r\n\r\n_No response_\r\n\r\n### Other Information\r\n\r\n_No response_",[3106],{"name":3077,"color":3078},111,"prefixItems and oneOf does not seems to be supported","2025-05-03T22:18:47Z","https://github.com/enzonotario/vitepress-openapi/issues/111",0.8168216,["Reactive",3113],{},["Set"],["ShallowReactive",3116],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fTpChV7oj6w6eBGJC0hFeDDoOP6AnmL5xEqHjK0W19x8":-1},"/enzonotario/vitepress-openapi/212"]