From 656987088c32ae15b6d9df3f5d0d2c16c056ff60 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 5 Aug 2025 10:33:36 +0800 Subject: [PATCH 1/7] docs: add troubleshooting entry for case sensitivity ENOENT errors (#20523) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> Co-authored-by: 翠 Co-authored-by: Bjorn Lu --- guide/troubleshooting.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/guide/troubleshooting.md b/guide/troubleshooting.md index bd52dcd7..dd4e9dd8 100644 --- a/guide/troubleshooting.md +++ b/guide/troubleshooting.md @@ -146,6 +146,10 @@ See [Reason: CORS request not HTTP - HTTP | MDN](https://developer.mozilla.org/e You will need to access the file with `http` protocol. The easiest way to achieve this is to run `npx vite preview`. +### No such file or directory error due to case sensitivity + +If you encounter errors like `ENOENT: no such file or directory` or `Module not found`, this often occurs when your project was developed on a case-insensitive filesystem (Windows / macOS) but built on a case-sensitive one (Linux). Please make sure that the imports have the correct casing. + ## Optimized Dependencies ### Outdated pre-bundled deps when linking to a local package From b2d3c2243bb985506a9a93801bdad2eec4206401 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0?= Date: Tue, 5 Aug 2025 13:18:59 +0900 Subject: [PATCH 2/7] fix: don't resolve as relative for specifiers starting with a dot (#20528) --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 1fc560b0..16c3a2e5 100644 --- a/index.md +++ b/index.md @@ -15,12 +15,12 @@ markdownStyles: false import { useData } from 'vitepress' import { onBeforeUnmount, onMounted, ref } from 'vue' -import Hero from '.vitepress/theme/components/landing/1. hero-section/HeroSection.vue' +import Hero from './.vitepress/theme/components/landing/1. hero-section/HeroSection.vue' import FeatureSection from './.vitepress/theme/components/landing/2. feature-section/FeatureSection.vue' import FrameworksSection from './.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue' import CommunitySection from './.vitepress/theme/components/landing/4. community-section/CommunitySection.vue' import SponsorSection from './.vitepress/theme/components/landing/5. sponsor-section/SponsorSection.vue' -import GetStartedSection from '.vitepress/theme/components/landing/6. get-started-section/GetStartedSection.vue' +import GetStartedSection from './.vitepress/theme/components/landing/6. get-started-section/GetStartedSection.vue' import FeatureInstantServerStart from './.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue' import FeatureHMR from './.vitepress/theme/components/landing/2. feature-section/FeatureHMR.vue' import FeatureRichFeatures from './.vitepress/theme/components/landing/2. feature-section/FeatureRichFeatures.vue' From 64107d2820eb1d8e9d76b03cf61760f8a614dd01 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 5 Aug 2025 14:17:20 +0900 Subject: [PATCH 3/7] fix(deps): update all non-major dependencies (#20537) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 5694bd49..87f5c8c6 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,14 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^3.8.1", + "@shikijs/vitepress-twoslash": "^3.9.2", "@types/express": "^5.0.3", "feed": "^5.1.0", "gsap": "^3.13.0", "markdown-it-image-size": "^14.7.0", "vitepress": "^2.0.0-alpha.9", "vitepress-plugin-group-icons": "^1.6.1", - "vitepress-plugin-llms": "^1.7.1", + "vitepress-plugin-llms": "^1.7.2", "vue": "^3.5.18" } } From 3308bf113500b48ae576b212370fe5e6016e6164 Mon Sep 17 00:00:00 2001 From: Copilot <198982749+Copilot@users.noreply.github.com> Date: Tue, 5 Aug 2025 17:44:10 +0900 Subject: [PATCH 4/7] docs: improve manifest.json documentation clarity and completeness (#20524) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- guide/backend-integration.md | 49 ++++++++++++++++++++++++++---------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/guide/backend-integration.md b/guide/backend-integration.md index 5838fc03..12013bc3 100644 --- a/guide/backend-integration.md +++ b/guide/backend-integration.md @@ -75,6 +75,10 @@ If you need a custom integration, you can follow the steps in this guide to conf "file": "assets/shared-ChJ_j-JJ.css", "src": "_shared-ChJ_j-JJ.css" }, + "logo.svg": { + "file": "assets/logo-BuPIv-2h.svg", + "src": "logo.svg" + }, "baz.js": { "file": "assets/baz-B2H3sXNv.js", "name": "baz", @@ -100,11 +104,31 @@ If you need a custom integration, you can follow the steps in this guide to conf } ``` - - The manifest has a `Record` structure - - For entry or dynamic entry chunks, the key is the relative src path from project root. - - For non entry chunks, the key is the base name of the generated file prefixed with `_`. - - For the CSS file generated when [`build.cssCodeSplit`](/config/build-options.md#build-csscodesplit) is `false`, the key is `style.css`. - - Chunks will contain information on its static and dynamic imports (both are keys that map to the corresponding chunk in the manifest), and also its corresponding CSS and asset files (if any). + The manifest has a `Record` structure where each chunk follows the `ManifestChunk` interface: + + ```ts + interface ManifestChunk { + src?: string + file: string + css?: string[] + assets?: string[] + isEntry?: boolean + name?: string + names?: string[] + isDynamicEntry?: boolean + imports?: string[] + dynamicImports?: string[] + } + ``` + + Each entry in the manifest represents one of the following: + - **Entry chunks**: Generated from files specified in [`build.rollupOptions.input`](https://rollupjs.org/configuration-options/#input). These chunks have `isEntry: true` and their key is the relative src path from project root. + - **Dynamic entry chunks**: Generated from dynamic imports. These chunks have `isDynamicEntry: true` and their key is the relative src path from project root. + - **Non-entry chunks**: Their key is the base name of the generated file prefixed with `_`. + - **Asset chunks**: Generated from imported assets like images, fonts. Their key is the relative src path from project root. + - **CSS files**: When [`build.cssCodeSplit`](/config/build-options.md#build-csscodesplit) is `false`, a single CSS file is generated with the key `style.css`. When `build.cssCodeSplit` is not `false`, the key is generated similar to JS chunks (i.e. entry chunks will not have `_` prefix and non-entry chunks will have `_` prefix). + + Chunks will contain information on their static and dynamic imports (both are keys that map to the corresponding chunk in the manifest), and also their corresponding CSS and asset files (if any). 4. You can use this file to render links or preload directives with hashed filenames. @@ -129,14 +153,13 @@ If you need a custom integration, you can follow the steps in this guide to conf ``` Specifically, a backend generating HTML should include the following tags given a manifest - file and an entry point: - - A `` tag for each file in the entry point chunk's `css` list - - Recursively follow all chunks in the entry point's `imports` list and include a - `` tag for each CSS file of each imported chunk. - - A tag for the `file` key of the entry point chunk (`