To match the existing (4.x) behaviour, we need to lookup the zipFS for a
file path that's relative to the cwd. This is noticeable when the
executable is in another directory because the existing path lookups
didn't handle this case.
* refactor: compile with esmoudle interop
* Rigidify code replacement by using Lodash templates.
* Generate zip file bundle.
* Use yarn's fslib to implement the fake filesystem.
Leverage the work done by yarn, rather than reimplementing from scratch.
This means the fake fs is now reading from a zip file in the binary.
A few methods need custom implementations as the fake fs is not
writable. These were copied and adjusted from the yarn ZipOpenFS.
* Add test suite using the built artefact.
Smoke tests the different fs methods.
Not perfect in any world, but better than nothing.
* Fix tsc on Windows - globbing doesn't work there.
There's probably a cleaner way to do this...
* Bump version.
* Dep bumps.
* fixup 9d57b32: make fs patch code clearer.
* fixup 3771c720: simplify test to just use require directly.
---------
Co-authored-by: calebboyd <caleb.boyd@gmail.com>