-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
Addon-vitest: Support paths with spaces #31437
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…former logic. This change introduces a new function to convert file URLs to paths, improving compatibility in the transformer by replacing direct URL checks with this utility.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR fixes an issue where paths with spaces were not handled correctly in Vitest integration by introducing a new helper function to convert file URLs into proper file paths. Key changes include:
- Replacing direct usage of import.meta.url.includes(...) with convertToFilePath(import.meta.url).includes(...).
- Adding convertToFilePath to transform URL encoding (e.g. spaces) in file paths.
- Updating test files to validate the new path conversion logic.
Reviewed Changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
File | Description |
---|---|
code/core/src/csf-tools/vitest-plugin/transformer.ts | Updated logic to use convertToFilePath for checking file path includes, ensuring paths with spaces are correctly handled |
code/core/src/csf-tools/vitest-plugin/transformer.test.ts | Updated inline snapshots and assertions to reflect usage of convertToFilePath |
code/addons/vitest/src/vitest-plugin/test-utils.ts | Added the convertToFilePath utility function to perform URL decoding for file paths |
code/addons/vitest/src/vitest-plugin/index.ts | Removed an unused import, aligning with updated transformation logic |
View your CI Pipeline Execution ↗ for commit ecf03b2.
☁️ Nx Cloud last updated this comment at |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
4 file(s) reviewed, 2 comment(s)
Edit PR Review Bot Settings | Greptile
Closes #29572
What I did
This pull request introduces a utility function to handle file URL conversions and integrates it across multiple test cases to improve code clarity and maintainability. Below are the most important changes grouped by theme:
New Utility Function:
convertToFilePath
tocode/addons/vitest/src/vitest-plugin/test-utils.ts
. This function converts file URLs to file paths, handling URL encoding and Windows-specific path normalization.Refactoring Test Cases:
code/core/src/csf-tools/vitest-plugin/transformer.test.ts
to useconvertToFilePath
for determining if a test is running from the current file. This replaces direct usage ofimport.meta.url.includes
with the new utility function for improved readability and consistency. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]Code Cleanup:
PluginOption
type import fromcode/addons/vitest/src/vitest-plugin/index.ts
to streamline the code.Checklist for Contributors
Testing
The changes in this PR are covered in the following automated tests:
Manual testing
This section is mandatory for all contributions. If you believe no manual test is necessary, please state so explicitly. Thanks!
Documentation
MIGRATION.MD
Checklist for Maintainers
When this PR is ready for testing, make sure to add
ci:normal
,ci:merged
orci:daily
GH label to it to run a specific set of sandboxes. The particular set of sandboxes can be found incode/lib/cli-storybook/src/sandbox-templates.ts
Make sure this PR contains one of the labels below:
Available labels
bug
: Internal changes that fixes incorrect behavior.maintenance
: User-facing maintenance tasks.dependencies
: Upgrading (sometimes downgrading) dependencies.build
: Internal-facing build tooling & test updates. Will not show up in release changelog.cleanup
: Minor cleanup style change. Will not show up in release changelog.documentation
: Documentation only changes. Will not show up in release changelog.feature request
: Introducing a new feature.BREAKING CHANGE
: Changes that break compatibility in some way with current major version.other
: Changes that don't fit in the above categories.🦋 Canary release
This PR does not have a canary release associated. You can request a canary release of this pull request by mentioning the
@storybookjs/core
team here.core team members can create a canary release here or locally with
gh workflow run --repo storybookjs/storybook canary-release-pr.yml --field pr=<PR_NUMBER>
Greptile Summary
Added a new
convertToFilePath
utility function to handle paths with spaces in the Vitest addon, fixing test failures when project paths contain spaces.convertToFilePath
incode/addons/vitest/src/vitest-plugin/test-utils.ts
to properly decode URL-encoded pathscode/core/src/csf-tools/vitest-plugin/transformer.ts
to useconvertToFilePath
for file path checkstransformer.test.ts
to validate new path conversion functionality