\r\n\r\n::: zh-CN\r\n中文\r\n:::\r\n\r\n::: en\r\nEnglish\r\n:::\r\n```\r\n\r\nThis reduces maintenance costs.\r\n\r\nI came up with a very low cost implementation - [CSS-I18N](https://github.com/valaxyjs/css-i18n)\r\nAnd I implemented it in my own project [valaxy](https://github.com/YunYouJun/valaxy).\r\n\r\nIt works well. You can preview it [here](https://valaxy.site/guide/i18n).\r\nAnd this is my implementation: [How to realize CSS i18n?](https://valaxy.site/posts/i18n#css-i18n-another-solution)\r\n\r\n---\r\n\r\nIt is very cost-effective and I hope to integrate it with vitepress.\r\nIf you agree with my proposal, please let me know and I can create a PR for vitepress.\r\n\r\n### Describe alternatives you've considered\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\r\n- [X] Read the [docs](https://vitepress.dev).\r\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\r\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[2884],{"name":2871,"color":2872},3047,"CSS i18n in one page","2025-03-02T18:10:37Z","https://github.com/vuejs/vitepress/issues/3047",0.74541354,{"description":2891,"labels":2892,"number":2897,"owner":2874,"repository":2875,"state":2876,"title":2898,"updated_at":2899,"url":2900,"score":2901},"### Describe the bug\r\n\r\nThe **vitepress build** script recognizes the --outDir argument. For example,\r\n- default script: `\"docs:build\": \"vitepress build\"` builds the `./.vitepress/dist` folder;\r\n- custom script: `\"docs:build\": \"vitepress build --outDir './dist\"'` builds the `./dist` folder.\r\n\r\nHowever, the **vitepress preview** script cannot locally preview the project in a different folder. For example,\r\n- default script: `\"docs:preview\": \"vitepress preview\"` considers the `./.vitepress/dist` folder;\r\n- custom script: there is no way to preview the project that was built on the `./dist` folder.\r\n\r\nWorkaround: setting `'../dist'` as the value of `outDir` option on `config.js` satisfies the expected result when running `vitepress preview`. The considered folder becomes `./dist` as expected.\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/edit/vite-tyd3c7?file=package.json\r\n\r\n### Expected behavior\r\n\r\nThe script `docs:preview` correctly recognizes the modified `outDir` folder.",[2893,2896],{"name":2894,"color":2895},"has-workaround","1B4515",{"name":2871,"color":2872},4073,"support specifying `outDir` in `vitepress preview`","2025-03-02T18:08:54Z","https://github.com/vuejs/vitepress/issues/4073",0.74620384,{"description":2903,"labels":2904,"number":2906,"owner":2874,"repository":2875,"state":2876,"title":2907,"updated_at":2908,"url":2909,"score":2910},"### Is your feature request related to a problem? Please describe.\r\n\r\nVite team has created a great repository to list the plugins for Vite: https://github.com/vitejs/awesome-vite\r\n\r\nVuePress did receive the same attention: https://github.com/vuepress/awesome-vuepress\r\nThe same goes on if we think of other projects. Example: https://github.com/stylelint/awesome-stylelint\r\n\r\nThere are many great plugins coming out for VitePress, but it is not easy to find them, since npm registry is not easy to search... the same applies to GitHub as a whole...\r\n\r\nAs long as I know, there are 2 \"awesome-vitepress\" repositories of sort, but they are not updated, the owners are not much online, and actually one of the repositories was targeted only for vitepress v1.\r\n\r\nhttps://github.com/logicspark/awesome-vitepress-v1\r\nhttps://github.com/jonsam-ng/awesome-vitepress\r\n\r\n### Describe the solution you'd like\r\n\r\nTo create a repository where we can contribute to the list of VitePress plugins.\r\nThis is a prestige for your own project and also for the plugin authors.\r\n\r\n### Describe alternatives you've considered\r\n\r\n_No response_\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\r\n- [X] Read the [docs](https://vitepress.dev).\r\n- [X] Read the [Contributing Guidelines](https://github.com/vuejs/vitepress/blob/main/.github/contributing.md).\r\n- [X] Check that there isn't already an issue that asks for the same feature to avoid creating a duplicate.",[2905],{"name":2871,"color":2872},4059,"Create a \"awesome-vitepress\" repository","2024-09-29T09:06:02Z","https://github.com/vuejs/vitepress/issues/4059",0.74898565,{"description":2912,"labels":2913,"number":2914,"owner":2874,"repository":2875,"state":2915,"title":2916,"updated_at":2917,"url":2918,"score":2919},"```\r\n/**\r\n * Fonts\r\n * -------------------------------------------------------------------------- */\r\n\r\n:root {\r\n --vp-font-family-base: LXGWWenKai; /* normal text font */\r\n --vp-font-family-mono: LXGWWenKaiMono; /* code font */\r\n}\r\n```\r\nI have set the overall font like the code above, but I still want \"home hero name\" to use \"Intel\" font. How do I do this? Thank you very much!",[],3678,"closed","Define the font for \"home hero name\"","2024-04-28T12:27:38Z","https://github.com/vuejs/vitepress/issues/3678",0.6939913,{"description":2921,"labels":2922,"number":2924,"owner":2874,"repository":2875,"state":2915,"title":2925,"updated_at":2926,"url":2927,"score":2928},"### Describe the bug\n\n\r\nI configured the logo as shown above and I can see my logo in dev mode,but after the build, the logo is gone,I can't find the logo.webp in the dist folder \n\n### Reproduction\n\nsee Describe the bug\n\n### Expected behavior\n\nExpect the logo file to be in the dist directory after build\n\n### System Info\n\n```Text\nSystem:\r\n OS: macOS 14.0\r\n CPU: (8) arm64 Apple M1\r\n Memory: 89.69 MB / 8.00 GB\r\n Shell: 5.9 - /bin/zsh\r\n Binaries:\r\n Node: 18.12.0 - ~/.nvm/versions/node/v18.12.0/bin/node\r\n Yarn: 1.22.19 - ~/.yarn/bin/yarn\r\n npm: 8.19.2 - ~/.nvm/versions/node/v18.12.0/bin/npm\r\n pnpm: 8.7.4 - ~/.nvm/versions/node/v18.12.0/bin/pnpm\r\n bun: 1.0.0 - ~/.bun/bin/bun\r\n Browsers:\r\n Chrome: 119.0.6045.105\r\n Safari: 17.0\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.dev).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[2923],{"name":2868,"color":2869},3197,"The logo disappears after it is built","2023-11-16T00:04:40Z","https://github.com/vuejs/vitepress/issues/3197",0.7040717,{"description":2930,"labels":2931,"number":2933,"owner":2874,"repository":2875,"state":2915,"title":2934,"updated_at":2935,"url":2936,"score":2937},"### Describe the bug\n\nJust follow the document, add workflow and push docs to repo.\r\nVitepress works well locally with `pnpm docs:dev`, but after deploy to github pages, it losts the index.md content, or in another word, useful part of them, as you can see, it does have the notes part\r\n[](https://imgse.com/i/xniiA1)\r\nI have checked the local build file, it contains the correct content.\r\nSince i used the exact workflow and already set the `base` config, i can't figure out why it leads to this.\n\n### Reproduction\n\nclone this repo [Youbei](https://github.com/Hellager/Youbei) and deploy its docs to the github pages\n\n### Expected behavior\n\nGithub pages show normally like docs in local\r\n[](https://imgse.com/i/xniuBd)\n\n### System Info\n\n```shell\nSystem:\r\n OS: Windows 10 10.0.19044\r\n CPU: (8) x64 Intel(R) Core(TM) i7-9700 CPU @ 3.00GHz\r\n Memory: 2.11 GB / 7.78 GB\r\n Binaries:\r\n Node: 16.13.1 - C:\\Program Files\\nodejs\\node.EXE\r\n Yarn: 1.22.19 - ~\\AppData\\Local\\pnpm\\yarn.CMD\r\n npm: 8.1.2 - C:\\Program Files\\nodejs\\npm.CMD\r\n Browsers:\r\n Edge: Spartan (44.19041.1266.0), Chromium (105.0.1343.50)\r\n Internet Explorer: 11.0.19041.1566\r\n npmPackages:\r\n vitepress: 1.0.0-alpha.17 => 1.0.0-alpha.17\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.vuejs.org).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[2932],{"name":2868,"color":2869},1413,"Deploying to github pages and lost both router and content ","2023-01-21T14:25:20Z","https://github.com/vuejs/vitepress/issues/1413",0.7150443,{"description":2939,"labels":2940,"number":2942,"owner":2874,"repository":2875,"state":2915,"title":2943,"updated_at":2944,"url":2945,"score":2946},"### Describe the bug\r\n\r\nI am trying to convert X.org documentation to a _VitePress_ site.\r\n\r\nThe volume of content is _**very large**_ and I ended up generating a huge `sidar` object, that is about `12,430` lines when formatted. The serialized `sidebar` object is available here: [sidebar.json](https://github.com/vuejs/vitepress/files/13722347/sidebar.json)\r\n\r\nThe vitepress dev server can handle it pretty well. But when I try to bundle it, the build command will stuck at \"rendering pages\", and then crash after a few minutes. I've attached the full crash log in \"additional context\".\r\n\r\n### Cause of the problem\r\n\r\nI have verified the problem is introduced by the `sidebar` object because as soon as I exclude the sidebar object from the config object exported by `config.mjs`, the problem went away.\r\n\r\n### My thoughts\r\n\r\nAlthough the sidebar object is huge, I do not think it is large enough to crash Node.js. I am assuming the sidebar component of the default theme ran into circular reference when parsing the sidebar.\r\n\r\nIn addition, I have ruled out the possibility of a circular reference in my exported `sidebar` object by using `JSON.parse(JSON.stringify(sidebar))`.\r\n\r\n### Reproduction\r\n\r\n> This problem cannot be reproduced without generating actual \".md\" sources.\r\n\r\n#### 1. Clone and initialize the project\r\n\r\n```sh\r\ngit clone https://github.com/zhangyx-lab/x-doc.git -b bug-reproduce --depth 1\r\ncd x-doc && npm install\r\n```\r\n\r\n> #### Optional: Download cached resources so the next command do not need to fetch from [x.org](www.x.org)\r\n>\r\n> Run following commands under `x-doc/`:\r\n>\r\n> ```sh\r\n> wget https://github.com/zhangyx-lab/x-doc/releases/download/v1.0-beta.0/caches.tar.gz && \\\r\n> tar -xzf caches.tar.gz\r\n> ```\r\n\r\n#### 2. Run \"setup\" to generate markdown source tree\r\n\r\n> [!WARNING]\r\n> This command takes a few minutes and will occupy all your CPUs\r\n\r\n```sh\r\nnode setup\r\n```\r\n\r\n#### 3. Now you can verify the project under dev server (should work fine):\r\n\r\n```sh\r\nnpm run dev # You can look around and the sidebar should be rendered correctly\r\n```\r\n\r\n#### 4. And reproduce the problem by building for distribution:\r\n\r\n```sh\r\nnpm run build # Will crash\r\n```\r\n\r\n### Expected behavior\r\n\r\nShould build just fine, since dev server worked fine.\r\n\r\n### System Info\r\n\r\n```Text\r\nSystem:\r\n OS: macOS 14.0\r\n CPU: (10) arm64 Apple M1 Max\r\n Memory: 65.84 MB / 32.00 GB\r\n Shell: 5.9 - /bin/zsh\r\nBinaries:\r\n Node: 20.8.0 - /opt/homebrew/bin/node\r\n npm: 10.1.0 - /opt/homebrew/bin/npm\r\n pnpm: 8.10.3 - ~/Library/pnpm/pnpm\r\nBrowsers:\r\n Chrome: 120.0.6099.109\r\n Safari: 17.0\r\nnpmPackages:\r\n vitepress: ^1.0.0-rc.32 => 1.0.0-rc.32\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n### Crash scene (command: `npm run build`)\r\n\r\n```plaintext\r\n> prebuild\r\n> mkdir -p var\r\n\r\n\r\n> build\r\n> vitepress build docs\r\n\r\n\r\n vitepress v1.0.0-rc.32\r\n\r\n- building client + server bundles...\r\n\r\n(!) Some chunks are larger than 500 kB after minification. Consider:\r\n- Using dynamic import() to code-split the application\r\n- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks\r\n- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.\r\n✓ building client + server bundles...\r\n- rendering pages...\r\n\r\n\u003C--- Last few GCs --->\r\n\r\n[87992:0x130008000] 147271 ms: Scavenge 4000.3 (4126.8) -> 3995.5 (4126.8) MB, 17.46 / 0.00 ms (average mu = 0.344, current mu = 0.336) allocation failure; \r\n[87992:0x130008000] 147290 ms: Scavenge 4006.3 (4126.8) -> 4001.8 (4127.0) MB, 9.62 / 0.00 ms (average mu = 0.344, current mu = 0.336) allocation failure; \r\n[87992:0x130008000] 147371 ms: Scavenge 4012.7 (4127.5) -> 4008.2 (4133.0) MB, 68.54 / 0.00 ms (average mu = 0.344, current mu = 0.336) allocation failure; \r\n\r\n\r\n\u003C--- JS stacktrace --->\r\n\r\nFATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory\r\n 1: 0x102fa3a04 node::Abort() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 2: 0x102fa4d58 node::ModifyCodeGenerationFromStrings(v8::Local\u003Cv8::Context>, v8::Local\u003Cv8::Value>, bool) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 3: 0x103111898 v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 4: 0x103111848 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, v8::OOMDetails const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 5: 0x1032a4134 v8::internal::Heap::CallGCPrologueCallbacks(v8::GCType, v8::GCCallbackFlags, v8::internal::GCTracer::Scope::ScopeId) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 6: 0x1032a6b78 v8::internal::Heap::ComputeMutatorUtilization(char const*, double, double) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 7: 0x1032a4dd8 v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::internal::GarbageCollectionReason, char const*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 8: 0x1032a2c64 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n 9: 0x10329ac24 v8::internal::HeapAllocator::AllocateRawWithLightRetrySlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n10: 0x10329b390 v8::internal::HeapAllocator::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n11: 0x10328428c v8::internal::Factory::NewFillerObject(int, v8::internal::AllocationAlignment, v8::internal::AllocationType, v8::internal::AllocationOrigin) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n12: 0x10358fcc0 v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n13: 0x102de0c44 Builtins_CEntry_Return1_ArgvOnStack_NoBuiltinExit [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n14: 0x10ad70438 \r\n15: 0x10b7ea7e8 \r\n16: 0x10b8f2430 \r\n17: 0x10b3a89c8 \r\n18: 0x10ad70150 \r\n19: 0x10b7ea7e8 \r\n20: 0x10b790a18 \r\n21: 0x10acda120 \r\n22: 0x10b6e589c \r\n23: 0x10b562ad4 \r\n24: 0x10b7eb38c \r\n25: 0x10b70be14 \r\n26: 0x10b7eb150 \r\n27: 0x10b70be14 \r\n28: 0x10b562b68 \r\n29: 0x10b790a5c \r\n30: 0x10acda120 \r\n31: 0x10b09f100 \r\n32: 0x10b971b80 \r\n33: 0x10b528d18 \r\n34: 0x10b738c3c \r\n35: 0x10acda120 \r\n36: 0x10b09f100 \r\n37: 0x10b749ea8 \r\n38: 0x10acda120 \r\n39: 0x10b6e589c \r\n40: 0x10b562ad4 \r\n41: 0x10acda5c0 \r\n42: 0x10b6e589c \r\n43: 0x10b562ad4 \r\n44: 0x10acda3d8 \r\n45: 0x10b6e589c \r\n46: 0x10b6e0fb0 \r\n47: 0x10b7555e0 \r\n48: 0x102d8f210 Builtins_AsyncFunctionAwaitResolveClosure [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n49: 0x102e3cfb8 Builtins_PromiseFulfillReactionJob [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n50: 0x102d7eb94 Builtins_RunMicrotasks [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n51: 0x102d563f4 Builtins_JSRunMicrotasksEntry [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n52: 0x1032308e4 v8::internal::(anonymous namespace)::Invoke(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n53: 0x103230d74 v8::internal::(anonymous namespace)::InvokeWithTryCatch(v8::internal::Isolate*, v8::internal::(anonymous namespace)::InvokeParams const&) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n54: 0x103251d80 v8::internal::MicrotaskQueue::RunMicrotasks(v8::internal::Isolate*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n55: 0x103251bb4 v8::internal::MicrotaskQueue::PerformCheckpointInternal(v8::Isolate*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n56: 0x102ed0bd4 node::InternalCallbackScope::Close() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n57: 0x102fab36c node::fs::FileHandle::CloseReq::Resolve() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n58: 0x102fabe14 node::fs::FileHandle::ClosePromise()::$_0::__invoke(uv_fs_s*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n59: 0x102f9ce64 node::MakeLibuvRequestCallback\u003Cuv_fs_s, void (*)(uv_fs_s*)>::Wrapper(uv_fs_s*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n60: 0x105f8b360 uv__work_done [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n61: 0x105f8e994 uv__async_io [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n62: 0x105f9e294 uv__io_poll [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n63: 0x105f8ee28 uv_run [/opt/homebrew/Cellar/libuv/1.46.0/lib/libuv.1.dylib]\r\n64: 0x102ed1a40 node::SpinEventLoopInternal(node::Environment*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n65: 0x102feadfc node::NodeMainInstance::Run(node::ExitCode*, node::Environment*) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n66: 0x102feab54 node::NodeMainInstance::Run() [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n67: 0x102f6c888 node::Start(int, char**) [/opt/homebrew/Cellar/node/20.8.0/bin/node]\r\n68: 0x181cc5058 start [/usr/lib/dyld]\r\n```\r\n\r\n### Validations\r\n\r\n- [X] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\r\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\r\n- [X] Read the [docs](https://vitepress.dev).\r\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[2941],{"name":2868,"color":2869},3362,"Node crashes when building default theme - \"JavaScript heap out of memory\"","2024-01-03T00:04:40Z","https://github.com/vuejs/vitepress/issues/3362",0.71587944,{"description":2948,"labels":2949,"number":2953,"owner":2874,"repository":2875,"state":2915,"title":2954,"updated_at":2955,"url":2956,"score":2957},"### Describe the bug\n\nI've no idea how to fix this properly so instead of giving a PR, I would like to just raise this issue.\r\n\r\n\r\n\n\n### Reproduction\n\nAny code-group with enough multiple tabs will cause this issue\n\n### Expected behavior\n\nThe marker should have the full-width\n\n### System Info\n\n```sh\nvitepress 1.0.0-beta.6\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Check if you're on the [latest VitePress version](https://github.com/vuejs/vitepress/releases/latest).\n- [X] Follow our [Code of Conduct](https://vuejs.org/about/coc.html)\n- [X] Read the [docs](https://vitepress.dev).\n- [X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.",[2950],{"name":2951,"color":2952},"theme","0754FB",2700,"🐞Bug(theme): Code group's `tab`'s `marker`'s width is limited and not following horizental scroll","2023-08-05T00:04:22Z","https://github.com/vuejs/vitepress/issues/2700",0.7176258,{"description":2959,"labels":2960,"number":2961,"owner":2874,"repository":2875,"state":2915,"title":2962,"updated_at":2963,"url":2964,"score":2965},"I noticed that `VitePress` imports `@vue/shared`, but it appears to only use one of its methods. However, there are more methods available in `@vue/shared`. Should `VitePress` directly import these additional methods from `@vue/shared` to reduce redundancy in the code?\r\n\r\nHere is one case of what I mentioned:\r\n\r\n`vitepress`:\r\nhttps://github.com/vuejs/vitepress/blob/a6a7645e942cc63c57ca5d79da4b76dee76d8a96/src/node/config.ts#L229\r\n\r\n`@vue/shared`:\r\nhttps://github.com/vuejs/core/blob/db374e54c9f5e07324728b85c74eca84e28dd352/packages/shared/src/general.ts#L52\r\n\r\nSeems that can directly use `import { isObject } from '@vue/shared`.",[],3720,"Reuse some of the existing methods in `@vue/shared`","2024-04-28T12:24:53Z","https://github.com/vuejs/vitepress/issues/3720",0.7332571,["Reactive",2967],{},["Set"],["ShallowReactive",2970],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fIx0jG-RO3NybHY2tOqDmbYT8v_AIjfUvxquULFKAI3c":-1},"/vuejs/vitepress/3781"]