Title: Replace globby with native fs.glob() when Node 20 support is dropped
Labels: enhancement, dependencies
Description:
Node.js v22 introduced native glob support via fs.glob() and fs.globSync(). Once we drop Node 20 support, we can remove the globby dependency and use the built-in alternative.
Current usage
lib/workspace.ts:
import { globbySync } from 'globby';
return globbySync(workspace, {
onlyDirectories: true,
cwd: root,
ignore: ['**/node_modules', ...exclusionPatterns],
});
Native equivalent
import { globSync } from 'node:fs';
return globSync(workspace, {
cwd: root,
exclude: (name) => name === 'node_modules' || exclusionPatterns.some(p => p.test(name)),
}).filter(entry => entry.isDirectory()).map(entry => entry.name);
Requirements
Benefits
- One fewer runtime dependency
- Native performance
- Reduced install size
References
Title: Replace
globbywith nativefs.glob()when Node 20 support is droppedLabels:
enhancement,dependenciesDescription:
Node.js v22 introduced native glob support via
fs.glob()andfs.globSync(). Once we drop Node 20 support, we can remove theglobbydependency and use the built-in alternative.Current usage
lib/workspace.ts:Native equivalent
Requirements
enginesto>=22)Benefits
References
fs.glob()docs