- Added support for multiline template literals as well as comment commands (commands starting with "//").
- fixed an issue when running under Github actions environments (thanks to SanderRonde).
- improved TypeScript support for enum arguments (thanks to SanderRonde).
- fixed an issue of commands not being detected when there was both a local and global installation of makfy and the global one was run.
- whole new syntax to define commands more easily. see README.md for further details.
- added run() as short syntax for argument-less / help-less commands. see README.md for further details.
- list is now the default when no option is used; to get help use --help
- fixed help command
- support for .ts files out of the box
- added support for commands/args/enum arg values with '-', '_' and ':' characters
- 'fooBar' names are no longer automatically transformed to 'foo-bar' and vice-versa
- added utils.makfyContext to get info about the file makfy is running
- added a dependencies export that allows to require other commands and keep the cache in sync
- symlinks are now properly followed when using glob patterns
- fixed hanging on windows sometimes when the child process tries to access stdin
- added expandGlobs to utils
- made parallel execution have a limited concurrency for better performance
- added a setEnvVar method to utils
- added a FAQ with recommended CLI packages for usual operations
- added support for MINGW/cygwin (e.g. git-bash) on windows
- added fixPath to utils
- environment variables and current directory are now persisted under the same exec:
- use
set x=y
on windows - use
export x=y
on unix - if you want to persist it on different execs then do:
const a = await exec(...); await a.keepContext(...);
- use
- breaking changes:
- removed utils.filesChanged
- added utils.getFileChangesAsync, a better approach to detect which files have changed
- renamed utils.cleanCacheSync to utils.cleanCache
- first release