Recently I've used babashka/fs a little bit, here are some quick notes for it:
- Path vs File. Use Path whenever possible, according to this SO answer to "Java: Path vs File". This is actually Java related.
- It's ok to use a pathas a key for a clojure map. At my first try, I somehow came to the conclusion that it's not ok, while I was refactoring the live reload for clay. And later I found that it's totally fine to use it as a key. 😞
- Use fs/path to construct file/directory paths, for example, (fs/path "/tmp" "foo" "bar" "baz.clj")will result in a path object for/tmp/foo/bar/baz.cljon linux. If you're coming from Python, it might remind you of os.path.join(path, *paths).
- Use fs/createdirsformkdir -p, though its name is a bit misleading, I first thought it's for creating a few dirs.
- fs/with-temp-diris convenient for creating tests.