\n\n### Desired behavior\n\nA performance score of 90 or above\n\n### Reproduction\n\nhttps://vitepress-openapi.vercel.app/example/operations/getAllArtists.html\n\n### Steps to reproduce\n\n- Open any page generated by this plugin\n- Open Lighthouse\n- Look at the performance score\n",[2867,2870],{"name":2868,"color":2869},"enhancement","a2eeef",{"name":2871,"color":2872},"help wanted","008672",171,"enzonotario","vitepress-openapi","open","Performance issues","2025-02-08T02:57:38Z","https://github.com/enzonotario/vitepress-openapi/issues/171",0.7825213,{"description":2882,"labels":2883,"number":2887,"owner":2874,"repository":2875,"state":2888,"title":2889,"updated_at":2890,"url":2891,"score":2892},"### Current behavior\n\nI am using\r\n\r\n```\r\nuseTheme({\r\n\trequest: {\r\n\t\t// Set the default schema view.\r\n\t\tdefaultView: 'schema', // schema or contentType\r\n\t},\r\n});\r\n```\r\n\r\nto set the default view to schema but this does not work\n\n### Desired behavior\n\n_No response_\n\n### Reproduction\n\n_No response_\n\n### Steps to reproduce\n\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# navigate to http://localhost:5173/api-all-in-one/\r\n# it still use JSON as default view\r\n```\n\n### Logs and Error Messages\n\n_No response_\n\n### Other Information\n\n_No response_",[2884],{"name":2885,"color":2886},"documentation","0075ca",107,"closed","useTheme have no effect","2024-11-02T22:51:19Z","https://github.com/enzonotario/vitepress-openapi/issues/107",0.6927636,{"description":2894,"labels":2895,"number":2899,"owner":2874,"repository":2875,"state":2888,"title":2900,"updated_at":2901,"url":2902,"score":2903},"### What would you like?\n\nVitepress-openapi is beautiful. I have a doc site already, and I would like to add the vitepress-openapi docs as a menu item on my top navigation menu. \r\n\r\n\r\n\n\n### Why is this needed?\n\nThere is often a lot of material besides the openapi specification that one needs for documentation. I'd like to be able to include the openapi site within another site to keep everything together.\n\n### How could it be implemented?\n\nI'm not knowledgeable enough to know. Right now I am embedding `openapi-explorer` in a simple `layout: page` page associated with the menu item:\r\n\r\n```vue\r\n---\r\nlayout: page\r\nsidebar: false\r\n---\r\n\u003Cscript setup>\r\n import 'openapi-explorer/dist/es/openapi-explorer.js';\r\n import { useData } from 'vitepress'\r\n const { isDark, theme, page, frontmatter } = useData()\r\n\u003C/script>\r\n\r\n\u003CClientonly>\r\n \u003Copenapi-explorer\r\n v-if = isDark\r\n spec-url = \"/adm-spec.yaml\"\r\n hide-console = true\r\n hide-authentication = true\r\n hide-server-selection = true\r\n hide-components = false\r\n nav-bg-color = #1b1b1f\r\n secondary-color = #F8F8F5\r\n nav-hover-text-color = #85bd4f\r\n bg-color = #1b1b1f\r\n text-color = \"#F8F8F5\"\r\n >\r\n \u003C/openapi-explorer>\r\n\r\n\r\n \u003Copenapi-explorer\r\n v-else\r\n spec-url = \"/adm-spec.yaml\"\r\n hide-console = true\r\n hide-authentication = true\r\n hide-server-selection = true\r\n hide-components = false\r\n nav-bg-color = #ffffff\r\n secondary-color = #000000\r\n nav-hover-text-color = #F8F8F5\r\n >\r\n \u003C/openapi-explorer>\r\n\r\n\u003C/ClientOnly>\r\n```\r\n\r\nThis seems very awkward, and it's difficult to get the styles to match Vitepress's theme. Might there be a way to extend the default theme with a layout called `openapi` and somehow link my spec file in the front matter?\n\n### Other information\n\nI appreciate this work very much. Thanks for considering the suggestion.",[2896],{"name":2897,"color":2898},"question","d876e3",71,"Is it possible to add vitepress-openapi to an existing Vitepress site as a menu item","2024-10-19T02:30:08Z","https://github.com/enzonotario/vitepress-openapi/issues/71",0.7168841,{"description":2905,"labels":2906,"number":2908,"owner":2874,"repository":2875,"state":2888,"title":2909,"updated_at":2910,"url":2911,"score":2912},"### Current behavior\n\nI added two open api specification files to my site configuration. While building the site, it fails with a heap limit allocation failed error as follows:\r\n\r\n```\r\n\u003C--- Last few GCs --->\r\n\r\n[8528:0000028921749270] 51958 ms: Scavenge 4038.9 (4137.2) -> 4038.5 (4142.0) MB, 5.89 / 0.00 ms (average mu = 0.723, current mu = 0.560) allocation failure;\r\n[8528:0000028921749270] 53307 ms: Mark-Compact 4042.1 (4142.2) -> 4040.3 (4145.0) MB, 1345.40 / 0.00 ms (average mu = 0.530, current mu = 0.017) allocation failure; scavenge might not succeed\r\n\r\n\r\n\u003C--- JS stacktrace --->\r\n\r\nFATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory\r\n----- Native stack trace -----\r\n\r\n 1: 00007FF7257A39EB node::SetCppgcReference+18459\r\n 2: 00007FF725713238 DSA_meth_get_flags+93160\r\n 3: 00007FF72618C771 v8::Isolate::ReportExternalAllocationLimitReached+65\r\n 4: 00007FF726175EC8 v8::Function::Experimental_IsNopFunction+1336\r\n 5: 00007FF725FD7970 v8::Platform::SystemClockTimeMillis+659328\r\n 6: 00007FF725FD49F8 v8::Platform::SystemClockTimeMillis+647176\r\n 7: 00007FF725FE9D0A v8::Platform::SystemClockTimeMillis+733978\r\n 8: 00007FF725FEA587 v8::Platform::SystemClockTimeMillis+736151\r\n 9: 00007FF725FF8E7F v8::Platform::SystemClockTimeMillis+795791\r\n10: 00007FF725CB9565 v8::CodeEvent::GetFunctionName+116773\r\n11: 00007FF72623E0FE v8::PropertyDescriptor::writable+678094\r\n12: 00007FF6A726D238\r\n```\n\n### Desired behavior\n\nNo errors during build\n\n### Steps to reproduce\n\nI added a markdown file like this\r\n\r\n```\r\n---\r\naside: true\r\noutline: [1, 2]\r\ntitle: \u003Credactedname> API v1\r\n---\r\n\r\n\u003Cscript setup lang=\"ts\">\r\nimport { useData } from 'vitepress'\r\nimport spec from '../../Services/ServiceClients/swagger/\u003Credactedname>_v1.json'\r\nconst { isDark } = useData()\r\n\u003C/script>\r\n\r\n\u003COASpec :spec=\"spec\" :hideInfo=\"true\" :hideServers=\"true\" :isDark=\"isDark\" />\r\n```\n\n### Logs and Error Messages\n\n\u003C--- Last few GCs --->\r\n\r\n[8528:0000028921749270] 51958 ms: Scavenge 4038.9 (4137.2) -> 4038.5 (4142.0) MB, 5.89 / 0.00 ms (average mu = 0.723, current mu = 0.560) allocation failure;\r\n[8528:0000028921749270] 53307 ms: Mark-Compact 4042.1 (4142.2) -> 4040.3 (4145.0) MB, 1345.40 / 0.00 ms (average mu = 0.530, current mu = 0.017) allocation failure; scavenge might not succeed\r\n\r\n\r\n\u003C--- JS stacktrace --->\r\n\r\nFATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory\r\n----- Native stack trace -----\r\n\r\n 1: 00007FF7257A39EB node::SetCppgcReference+18459\r\n 2: 00007FF725713238 DSA_meth_get_flags+93160\r\n 3: 00007FF72618C771 v8::Isolate::ReportExternalAllocationLimitReached+65\r\n 4: 00007FF726175EC8 v8::Function::Experimental_IsNopFunction+1336\r\n 5: 00007FF725FD7970 v8::Platform::SystemClockTimeMillis+659328\r\n 6: 00007FF725FD49F8 v8::Platform::SystemClockTimeMillis+647176\r\n 7: 00007FF725FE9D0A v8::Platform::SystemClockTimeMillis+733978\r\n 8: 00007FF725FEA587 v8::Platform::SystemClockTimeMillis+736151\r\n 9: 00007FF725FF8E7F v8::Platform::SystemClockTimeMillis+795791\r\n10: 00007FF725CB9565 v8::CodeEvent::GetFunctionName+116773\r\n11: 00007FF72623E0FE v8::PropertyDescriptor::writable+678094\r\n12: 00007FF6A726D238\n\n### Other Information\n\nDuring the build, I also get many errors like this:\r\n\r\nReferenceError: localStorage is not defined\r\n at file:///C:/Repos/Work/\u003Credactedname>/Docs/node_modules/vitepress-theme-openapi/dist/vitepress-theme-openapi.es.js:66959:56\r\n at Array.map (\u003Canonymous>)\r\n at setup (file:///C:/Repos/Work/\u003Credactedname>/Docs/node_modules/vitepress-theme-openapi/dist/vitepress-theme-openapi.es.js:66957:43)\r\n at callWithErrorHandling (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\runtime-core\\dist\\runtime-core.cjs.prod.js:86:19)\r\n at setupStatefulComponent (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\runtime-core\\dist\\runtime-core.cjs.prod.js:6241:25)\r\n at setupComponent (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\runtime-core\\dist\\runtime-core.cjs.prod.js:6228:36)\r\n at renderComponentVNode (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:376:15)\r\n at renderVNode (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:507:14)\r\n at renderVNodeChildren (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:523:5)\r\n at renderElementVNode (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:567:9)\r\nReferenceError: localStorage is not defined\r\n at file:///C:/Repos/Work/\u003Credactedname>/Docs/node_modules/vitepress-theme-openapi/dist/vitepress-theme-openapi.es.js:66959:56\r\n at Array.map (\u003Canonymous>)\r\n at setup (file:///C:/Repos/Work/\u003Credactedname>/Docs/node_modules/vitepress-theme-openapi/dist/vitepress-theme-openapi.es.js:66957:43)\r\n at callWithErrorHandling (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\runtime-core\\dist\\runtime-core.cjs.prod.js:86:19)\r\n at setupStatefulComponent (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\runtime-core\\dist\\runtime-core.cjs.prod.js:6241:25)\r\n at setupComponent (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\runtime-core\\dist\\runtime-core.cjs.prod.js:6228:36)\r\n at renderComponentVNode (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:376:15)\r\n at renderVNode (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:507:14)\r\n at renderVNodeChildren (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:523:5)\r\n at renderElementVNode (C:\\Repos\\Work\\\u003Credactedname>\\Docs\\node_modules\\@vue\\server-renderer\\dist\\server-renderer.cjs.prod.js:567:9)",[2907],{"name":2868,"color":2869},65,"Build fails with \"heap limit allocation failed\"","2024-10-29T16:35:25Z","https://github.com/enzonotario/vitepress-openapi/issues/65",0.7669624,{"description":2914,"labels":2915,"number":2918,"owner":2874,"repository":2875,"state":2888,"title":2919,"updated_at":2920,"url":2921,"score":2922},"On my site I have the following in my vitepress config\r\n\r\n```\r\n search: {\r\n provider: 'local'\r\n }\r\n```\r\n\r\nper https://vitepress.dev/reference/default-theme-search\r\n\r\nHowever, pages rendered via the method suggested `*.paths.js` doesnt appear in the search.\r\n\r\n\r\n\r\nSeemingly none of the example sites currently include search, and thus the component doesnt appear to work with search?",[2916,2917],{"name":2885,"color":2886},{"name":2897,"color":2898},47,"Working example with search provider local set","2024-09-18T12:40:44Z","https://github.com/enzonotario/vitepress-openapi/issues/47",0.8015348,{"description":2924,"labels":2925,"number":2926,"owner":2874,"repository":2927,"state":2888,"title":2928,"updated_at":2929,"url":2930,"score":2931},"_Originally posted by @danielGithinji in https://github.com/moby/buildkit/pull/5291_",[],40,"esjs-dolar-api","H","2025-03-02T11:54:17Z","https://github.com/enzonotario/esjs-dolar-api/issues/40",0.8042046,{"description":2933,"labels":2934,"number":2936,"owner":2874,"repository":2875,"state":2888,"title":2937,"updated_at":2938,"url":2939,"score":2940},"### What would you like?\n\nThe current version generates \"static\" code for each language, based only on the url and method. Unfortunately, the url is simply: `const url = props.baseUrl + props.path`. This has the issue that any path parameters are left as-is in the code.\r\n\r\nIt would be great if the sample code could be updated to include the variables in the \"try it\" box. This way the code sample would be \"complete\". I _think_ this would be done in much the same was as the `OACodeBlock` currently computes the URL for curl\n\n### Why is this needed?\n\nIf you copy-and-paste the code sample as-is, you will end up with an invalid URL if there are path parameters.\r\n\r\nAlso, it would be nice to mix-and-match such that you can _remove_ the try it portion of the playground, but keep the sample code. This way people can \"build\" a request in their language of choice based on the variables form.\n\n### How could it be implemented?\n\nI _think_ you would need to extract (or just duplicate?) the code used to compute the curl information:\r\n\r\n```\r\nconst curl = computed(() => {\r\n const headers = request.value.headers\r\n if (!headers?.['Content-Type']) {\r\n headers['Content-Type'] = 'application/json'\r\n }\r\n\r\n return fetchToCurl({\r\n method: props.method.toUpperCase(),\r\n url: request.value.url,\r\n headers,\r\n body: request.value.body ? formatJson(request.value.body) : null,\r\n })\r\n})\r\n```\r\n\r\nThen pass this as a parameter to `generateCodeSamples` so that it can generate each code sample appropriately.\n\n### Other information\n\nIt would also be _awesome_ to select _which_ languages you want to support, and possibly even some way to provide the template for each language. I realize this is above-and-beyond, but something to think about if you're changing this.",[2935],{"name":2868,"color":2869},92,"Modify Sample Code Based on Variables","2024-11-15T02:40:07Z","https://github.com/enzonotario/vitepress-openapi/issues/92",0.8058325,{"description":2942,"labels":2943,"number":2945,"owner":2874,"repository":2875,"state":2888,"title":2946,"updated_at":2947,"url":2948,"score":2949},"### What would you like?\n\nWhen operations with different tags are rendered on the same page, they should be grouped by tags, as it happens in Swagger.\r\n\r\n\n\n### Why is this needed?\n\n_No response_\n\n### How could it be implemented?\n\n_No response_\n\n### Other information\n\n_No response_",[2944],{"name":2868,"color":2869},81,"Group operations into tags groups","2024-10-12T13:41:02Z","https://github.com/enzonotario/vitepress-openapi/issues/81",0.81043696,{"description":2951,"labels":2952,"number":2953,"owner":2874,"repository":2875,"state":2888,"title":2954,"updated_at":2955,"url":2956,"score":2957},"### What would you like?\n\nSwagger-ui has the option to set a token once for the site and have it be used for every test api call. Maybe such an option would also be nice for the openapi theme.\n\n### Why is this needed?\n\nMakes it a bit friendlier to use as you do not need to constantly insert a bearer token.\n\n### How could it be implemented?\n\nSimilarly to how swagger-ui does it. Have a global button which stores the authentication method / value.\n\n### Other information\n\n_No response_",[],59,"[Feature] Site-wide authentication","2024-09-29T13:52:47Z","https://github.com/enzonotario/vitepress-openapi/issues/59",0.81110007,{"description":2959,"labels":2960,"number":2962,"owner":2874,"repository":2875,"state":2888,"title":2963,"updated_at":2964,"url":2965,"score":2966},"### What would you like?\n\nI'd like to be able to render the openapi specification with a signle column layout. It would be nice if it is configurable in the parameters of the components like OASpec or globally in the theme config. In addition to that, it would also be nice if the different child components could be enabled/disabled (i.e. turn off samples). \n\n### Why is this needed?\n\nI want this because the standard theme does not have a lot of content width, Having a two column layout looks crowded and sometimes the content is wrapped. Having all the child components below each other with a single column layout would bring more clarity to the rendered documentation.\n\n### How could it be implemented?\n\n_No response_\n\n### Other information\n\n_No response_",[2961],{"name":2868,"color":2869},91,"Single column layout","2024-10-27T14:41:53Z","https://github.com/enzonotario/vitepress-openapi/issues/91",0.8202012,["Reactive",2968],{},["Set"],["ShallowReactive",2971],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fchadHV0YmOSnmPv_GsNkh-gM31dNpAClWhVvx0JrwL4":-1},"/enzonotario/vitepress-openapi/108"]