* refactor: executor functional options
* refactor: minor tidy up of list code
* fix: WithVersionCheck missing from call to NewExecutor
* feat: docstrings for structs with functional options
* refactor: prefix the functional options with the name of the struct they belong to
* feat: specify init filename with --taskfile flag
previously, it was not possible to specify which filename to use when initializing a new Taskfile as it was hardcoded as "Taskfile.yml".
now the --taskfile flag specifies where to write the file to, and the first * contained in it will be replaced by "Taskfile", so `task -it *.yaml` will create a `Taskfile.yaml` file.
* docs: update CLI reference
* fix Flags header being inside tip admonition
* change -t flag's default column and add a description
* add Default Filenames section
* docs: revert adding Default Filenames section
I didn't realize it already existed elsewhere.
* refactor: use path instead of filepath on InitTaskFile
as requested to prevent ambiguity with the stdlib package.
* fix TestInit (incorrectly merged)
* docs: remove outdated info on --taskfile flag
* refactor task initialization changes
- remove const DefaultTaskInitFilename from taskfile/taskfile.go
- revert description of Entrypoint flag
- make InitTaskfile accept a path to either a file or a directory, and join the default Taskfile name+ext to it if it is a directory
- take the target file path from the first argument instead of the Entrypoint flag
- detect extension-only filenames (".yaml") instead of replacing "*" with "Taskfile"
- use different format in success log so that it makes sense at different paths than the current dir
* print colon instead of "at"
it's a lot cleaner in most cases.
* rewrite init tests
test both initializing to a directory path and a file path
* return final path from InitTaskfile
...and print it's relative representation
* fix lint error (ineffassign)
* use filepathext.TryAbsToRel() instead
* define and use filepathext.IsExtOnly()
* link to default filenames list in cli ref docs
(specifically in the --taskfile flag description)
* change what is printed when creating Taskfile
When using --init to create a new Taskfile, it used to print the whole contents of the file to the terminal, which was unnecessarily verbose (and honestly felt unintentional).
Now only the filename is printed by default and the --silent and --verbose flags can be used to control the behavior (print nothing or content + filename, respectively).
* include additional new line with -i -v
it looks slightly better in the terminal.
* print init success text in green
* fix TestInit, create and pass in a logger
* move logging outside of InitTaskfile
- revert API changes made to InitTaskfile
- make consts in init.go public so they can be accessed from task.go
- rename variable "logger" to "log" in task.go to fix conflict with logger package
* move TestInit into init_test.go file
as requested by pd93.
* feat: docusaurus v3
* feat: update release tool to stop it from converting links - this is now done use mdx plugins
* fix: broken links
* feat: more github links and prettier config
* chore: changelog
* fix: blog emoji
* feat: remote taskfiles over http
* feat: allow insecure connections when --insecure flag is provided
* feat: better error handling for fetch errors
* fix: ensure cache directory always exists
* fix: setup logger before everything else
* feat: put remote taskfiles behind an experiment
* feat: --download and --offline flags for remote taskfiles
* feat: node.Read accepts a context
* feat: experiment docs
* chore: changelog
* chore: remove unused optional param from Node interface
* chore: tidy up and generalise NewNode function
* fix: use sha256 in remote checksum
* feat: --download by itself will not run a task
* feat: custom error if remote taskfiles experiment is not enabled
* refactor: BaseNode functional options and simplified FileNode
* fix: use hex encoding for checksum instead of b64