rushstack icon indicating copy to clipboard operation
rushstack copied to clipboard

[rush] rush deploy does not copy files named with asterisk(*)

Open niyan-ly opened this issue 1 year ago • 2 comments

Summary

rush deploy does not copy files that named including asterisk(*), like :fileName(.*).ts

Repro steps

  1. in any rush managed project, exec rush init-deploy -t project to create a deploy conf
  2. add a file in project which path like service/src/:(cate|name)/:fileNmae(.*).ts.ts
  3. exec rush deploy -t project and check for the deployment folder

Expected result: should include all files Actual result: file named with '*' is not copied.

Details

Standard questions

Please answer these questions to help us investigate your issue more quickly:

Question Answer
@microsoft/rush globally installed version? 5.131.0
rushVersion from rush.json? 5.131.0
useWorkspaces from rush.json? don't have this options set
Operating system? both Mac / Linux have been tested, same issue
Would you consider contributing a PR?
Node.js version (node -v)? both v20, v22 have same issue

niyan-ly avatar Aug 06 '24 16:08 niyan-ly

Are you saying that Glob patterns aren't working, or that you have files with asterisk characters in their filenames? So you have files on disk with the literal filename service/src/:(cate|name)/:fileNmae(.*).ts.ts?

rush deploy uses minimatch and npm-packlist to decide what to include. This is an extremely obscure case, so our team likely won't have time to investigate and introduce a fix, but if you come up with one, we'll probably accept it.

iclanton avatar Aug 07 '24 18:08 iclanton

So you have files on disk with the literal filename service/src/:(cate|name)/:fileNmae(.*).ts.ts?

Yes! Our project use filed-based router, so running rush deploy currently would miss lots of files. Actually lots of node.js projects like next.js are using file-based router, it is rather popular.

niyan-ly avatar Aug 10 '24 02:08 niyan-ly