xstate-tools icon indicating copy to clipboard operation
xstate-tools copied to clipboard

CLI: Unable to specify multiple globs

Open simonflk opened this issue 2 years ago • 2 comments

Hi,

Great work on the CLI, I'm really excited to use this, and this will help me finally get my typegen PR merged.

I just tried it out and ran into a couple of issues:


  1. This is minor, but I could not get the example in the docs to work:
xstate typegen "src/**/*.tsx?"

I believe it needs to change to:

xstate typegen "src/**/*.ts?(x)"

  1. Excessive logging

It logs out ${file} - success for every matching file - even if the file does not contain any machines.


  1. I cannot specify multiple globs

I have a monorepo situation, and I want to be able to run typegen across the "apps" folder, and also the "libs" folder. I was trying this:

xstate typegen "apps/**/*.ts" "libs/**/*.ts"

However, only the 'apps' folder is touched.

I also tried brace expansion:

xstate typegen "{apps,libs}/**/*.ts"

but this is not supported by picomatch (used by chokidar)

I also tried

xstate typegen "**/*.ts"

however, this traverses everything, including node_modules.

simonflk avatar Mar 04 '22 17:03 simonflk

Do you have an example of some other CLI that accepts multiple globs? I rarely need such a thing and would like to take a look at the prior art.

Andarist avatar Mar 04 '22 20:03 Andarist

Do you have an example of some other CLI that accepts multiple globs? I rarely need such a thing and would like to take a look at the prior art.

Good question. In most cases CLIs I use just accept a list of filenames and you can use multiple globs which will be resolved by your shell . E.g. git add *json *ts

But I think an example of a CLI that accepts and interprets multiple globs itself would be prettier

Edit: babel CLI also accepts multiple globs as patterns to excludes

simonflk avatar Mar 04 '22 22:03 simonflk