-
Notifications
You must be signed in to change notification settings - Fork 135
Open
Labels
Description
Environment
- OS Version: Windows 11
- Node.js Version: 20.15.0
Works fine on non-Windows, e.g. Mac. convertPathToPattern
checks OS so reproduces only on Windows.
Actual behavior
const resolved = path.join(require.resolve("@vitest/coverage-v8"), "..");
const pattern = fg.convertPathToPattern(resolved) + "/**";
const files = fg.globSync(pattern);
// resolved: 'C:\\Users\\Ari\\git\\fastglob\\node_modules\\@vitest\\coverage-v8\\dist',
// pattern: 'C:/Users/Ari/git/fastglob/node_modules\\@vitest/coverage-v8/dist/**',
// ^^^
// files: []
Expected behavior
// resolved: 'C:\\Users\\Ari\\git\\fastglob\\node_modules\\@vitest\\coverage-v8\\dist',
// pattern: 'C:/Users/Ari/git/fastglob/node_modules/@vitest/coverage-v8/dist/**',
// ^^
// files: [
// 'C:/Users/Ari/git/fastglob/node_modules/@vitest/coverage-v8/dist/index.d.ts',
// 'C:/Users/Ari/git/fastglob/node_modules/@vitest/coverage-v8/dist/index.js',
// 'C:/Users/Ari/git/fastglob/node_modules/@vitest/coverage-v8/dist/provider.d.ts',
// 'C:/Users/Ari/git/fastglob/node_modules/@vitest/coverage-v8/dist/provider.js'
// ]
Steps to reproduce
npm init
npm i -D fast-glob @vitest/coverage-v8
- Save code sample to
index.js
node index.js
Code sample
const path = require("node:path");
const fg = require("fast-glob");
const resolved = path.join(require.resolve("@vitest/coverage-v8"), "..");
const pattern = fg.convertPathToPattern(resolved) + "/**";
const files = fg.globSync(pattern);
console.log({
resolved,
pattern,
files,
fixedPattern: pattern.replaceAll("\\@", "/@"),
fixed: fg.globSync(pattern.replaceAll("\\@", "/@")),
});