fix(copy-plugin): support JS input file system for glob copies#14023
Conversation
📦 Binary Size-limit
🎉 Size decreased by 12.00KB from 62.13MB to 62.12MB (⬇️0.02%) |
Rsdoctor Bundle Diff AnalysisFound 6 projects in monorepo, 0 projects with changes. 📊 Quick Summary
Generated by Rsdoctor GitHub Action |
Merging this PR will not alter performance
Comparing Footnotes
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 20cb57a1c8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Deploying rspack with
|
| Latest commit: |
aed483b
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://01dd61aa.rspack-v2.pages.dev |
| Branch Preview URL: | https://jin-glob-2.rspack-v2.pages.dev |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3cfcb9aab4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
This reverts commit 29ee4bc.
Summary
Reland the fast-glob based glob implementation from #13953 after it was reverted in #14010, with follow-up fixes for escaped glob path handling.
This PR also fixes a previous CopyPlugin bug where glob expansion did not use Rspack's JavaScript input file system. CopyPlugin can now resolve copied files through a custom/virtual
compiler.inputFileSysteminstead of being limited to the native filesystem path.The glob handling keeps escaped metacharacters such as
\[and\]intact while matching, but unescapes them when deriving the filesystem base directory for traversal. That fixes CopyPlugin patterns whose literal file or directory names contain brackets, such asdirectory[1]andfile[1].txt.Tests added
Related links
Testing
cargo test -p rspack_core glob_utils --libpnpm run build:binding:devpnpm --filter @rspack/tests test --project base Config.part3.test.js -t copy-plugin-bracketsChecklist
by OpenAI Codex