standard / standardx

:boom: JavaScript Standard Style with custom tweaks
MIT License
146 stars 11 forks source link

Bug: "No files matching ''**/*.mjs'' were found" on Windows #37

Open bcoe opened 3 years ago

bcoe commented 3 years ago

What version of this package are you using?

7.0.0

What operating system, Node.js, and npm version?

Windows (works fine on OSX/Linux).

What happened?

I receive an exception that the following matching rules does not work on Windows:

standardx --fix '**/*.mjs' && standardx --fix '**/*.cjs' && standardx --fix './*.mjs' && standardx --fix './*.cjs'

see: https://github.com/yargs/yargs/pull/1804

If I drop the quotes around the --fix statements, I begin receiving the following errors:

  /Users/bencoe/oss/yargs/test/parser.cjs:0:0: File ignored because of a matching ignore pattern. Use "--no-ignore" to override.
  /Users/bencoe/oss/yargs/test/usage.cjs:0:0: File ignored because of a matching ignore pattern. Use "--no-ignore" to override.
  /Users/bencoe/oss/yargs/test/validation.cjs:0:0: File ignored because of a matching ignore pattern. Use "--no-ignore" to override.
  /Users/bencoe/oss/yargs/test/yargs.cjs:0:0: File ignored because of a matching ignore pattern. Use "--no-ignore" to override.

What did you expect to happen?

I would like to figure out a glob pattern that works for .cjs, .mjs, in top level and nested folder, both on Windows and Linux.

Are you willing to submit a pull request to fix this bug?

If I was pointed in the right direction. Seem like potentially the tokenizer should drop quotes around glob patterns.

feross commented 3 years ago

This sounds like a bug. Does it occur with standard as well, or just standardx?

bcoe commented 3 years ago

@feross I haven't tested with standard, it didn't happen 6.x.x of standardx.

I can kick off tests with standard at some point this week, if that would help debug.

brandhaug commented 2 years ago

Had the same problem, but was able to fix it by using \" instead of ' around the paths in the scripts