BREAKING CHANGE: this is not breaking for users, but for library users, some bundling or a runtime supporting ES modules is now required.
BREAKING CHANGE: this changes how directories are listed, by replacing the recursive-readdir module with node's readdir method, and a custom implementation that is compatible with the changes to Node 16's fs implementation for testing.