v2.3.1 - Mercury Vulture Formatting
⚠️ TLDR: Run Prettier on your pipeline's codebase before attempting the template sync merge.
The sync PR may be a little big because of many major changes (whitespace, quotation mark styles etc). To help with the merge, we highly recommend running Prettier on your pipeline's codebase before attempting the template merge.
Please copy .editorconfig
and .prettierrc.yml
from the template to your pipeline root first, as they configure the behaviour of Prettier.
This patch release is primarily to address problems that we had in the v2.3 release with code linting. Instead of resolving those specific issues, we chose to replace the linting tools (markdownlint
, yamllint
) with a new tool: Prettier
This is a fairly major change and affects a lot of files. However, it will hopefully simplify future usage. Prettier can auto-format many different file formats (for pipelines the most relevant are markdown and YAML) and is extensible with plugins (Nextflow, anyone?). It tends to be a bit less strict than markdownlint
and yamllint
and importantly can fix files for you rather than just complaining.
To run Prettier, go to the base of the repository where .editorconfig
and .prettierrc.yml
are located. Make sure your git status
is clean so that the changes don't affect anything you're working on and run:
prettier --write .
This runs Prettier and tells it to fix any issues it finds in place.
Please note that there are many excellent integrations for Prettier available, for example VSCode can be set up to automatically format files on save.
Template
- Replace
markdownlint
andyamllint
with Prettier for linting formatting / whitespace (#1470) - Add CI test using
editorconfig-checker
for other file types to look for standardised indentation and formatting (#1476) - Add md5sum check of
versions.yml
totest.yml
on the modules template. - Update bundled module wrappers to latest versions (#1462)
- Renamed
assets/multiqc_config.yaml
toassets/multiqc_config.yml
(yml
notyaml
) (#1471)
General
- Convert nf-core/tools API / lint test documentation to MyST (#1245)
- Build documentation for the
nf-core modules lint
tests (#1250) - Fix some colours in the nf-core/tools API docs (#1467)
- Install tools inside GitPod Docker using the repo itself and not from Conda.
- Rewrite GitHub Actions workflow for publishing the GitPod Docker image.
- Improve config for PyTest so that you can run
pytest
instead ofpytest tests/
(#1461) - New pipeline lint test
multiqc_config
that checks YAML structure instead of basic file contents (#1461) - Updates to the GitPod docker image to install the latest version of nf-core/tools