Recent Events in the F#/.Net Ecosystem
Example usage: Paket
Monolithic
Required a Mono/.Net Framework tool
Inconsistent API
Required out-of-band dependency management
CLI was confusing and hard-to-parse
Lightweight Runner
Integrated Dependency Management
Pay-for-what-you-use
Consistent API style
Consistent CLI
Compile and cache scripts
Use a paket header to make your scripts self-contained
How does this work?
It's using a syntax similar to what's coming for FSI itself
The syntax is pluggable, allows for different resolvers (paket, nuget, API references, precompilation, etc)
Because you're including only the dependencies you care about, it's no longer a huge package download
There are now API Design Guidelines for modules to make them more consistent.
The FAKE 4 CLI made no distinction between arguments, environment variables, build targets, etc.
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: |
|
The FAKE 5 CLI is more structured and has much more detail
FAKE 5 will compile your fsx scripts and only recompile when the source changes. This opens up new use cases for fsx scripts (especially with a global tool install).