Skip to content

fix: ignore path casing differences in Vite config override warning - #16405

Closed
Nic-Polumeyv wants to merge 1 commit into
sveltejs:mainfrom
Nic-Polumeyv:fix-config-warning-case
Closed

fix: ignore path casing differences in Vite config override warning#16405
Nic-Polumeyv wants to merge 1 commit into
sveltejs:mainfrom
Nic-Polumeyv:fix-config-warning-case

Conversation

@Nic-Polumeyv

@Nic-Polumeyv Nic-Polumeyv commented Jul 18, 2026

Copy link
Copy Markdown
Contributor

Fixes #16317, follow-up to #16037 which normalized separators for this warning but left the comparison case-sensitive. #16239 addressed the same casing issue with a per-key whitelist before it was closed alongside #16293.

During svelte-check, @sveltejs/load-config resolves the Vite config with an explicit root derived from directory traversal (loadSvelteConfigFromVite passes { root, configFile } and chdirs first), so the config SvelteKit's plugin receives always contains root, and it gets compared against SvelteKit's posixify(process.cwd()). The two strings match exactly on Linux, which is why the warning only ever shows on Windows, where the two routes can disagree on casing (typically the drive letter) and #16037's slash normalization doesn't help. That matches #16317 still reproducing on 2.69.2 after #16293 was closed as unreproducible on non-Windows. Windows paths are case-insensitive, so the comparison now folds case on win32.

Traced by instrumenting find_overridden_config, Vite's resolveConfig and runConfigHook in a fresh kit 2.69.2 + svelte-check 4.7.3 app. Validated by injecting a case-only difference into that flow, where the current comparison prints the reported warning, the fixed one stays silent, and a genuine appType override still warns. The reporter has since confirmed the case-only difference on real Windows in #16317 (comment). Like #16037 there is no test, the function is internal and the behaviour platform-specific.


Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

  • It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
  • This message body should clearly illustrate what problems it solves.
  • Ideally, include a test that fails without this PR but passes with it.

Tests

  • Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

  • If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

Edits

  • Please ensure that 'Allow edits from maintainers' is checked. PRs without this option may be closed.

@pkg-svelte-dev

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from d05ce41:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/d05ce4115b6005a5123d372277caa9a4cbfd7d4d

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/kit/pr/16405

Note

This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed.

@changeset-bot

changeset-bot Bot commented Jul 18, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: d05ce41

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@sveltejs/kit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@Nic-Polumeyv

Copy link
Copy Markdown
Contributor Author

Replaced by #16545 against version-3, since main is winding down.

Rich-Harris pushed a commit that referenced this pull request Jul 28, 2026
…16545)

Replaces #16405 now that main is winding down. On Windows the drive
letter's casing can differ between user and resolved config values,
tripping the overridden-config warning.
@Nic-Polumeyv
Nic-Polumeyv deleted the fix-config-warning-case branch July 30, 2026 22:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant