main_nf
ModuleLint.main_nf(module: NFCoreComponent, fix_version: bool, registry: str, progress_bar: Progress) → tuple[list[str], list[str]]
Lint a main.nf module file
Can also be used to lint local module files, in which case failures will be reported as warnings.
The following checks are performed:
main_nf_exists: Themain.nffile must exist.deprecated_dsl2: The file must not contain deprecated DSL2 identifiers (initOptions,saveFiles,getSoftwareName,getProcessName,publishDir).main_nf_script_outputs: The process must have anoutput:block.main_nf_container: Container tags across thesingularity,docker, andcondadirectives must reference the same software version. A warning is issued if they do not match.main_nf_script_shell: Exactly one ofscript:,shell:, orexec:blocks must be present.main_nf_shell_template: If ashell:block is used, it must call atemplate.main_nf_meta_output: Ifmetais present in the module inputs, it must also appear in at least one output channel.main_nf_version_topic: The module should emit software versions using atopic: versionsoutput. A warning is issued if no such topic is found.main_nf_version_emit: The number oftopic: versionsoutputs must equal the number ofemit:outputs whose name starts withversions. A warning is issued if a legacy YAML-basedversionsemit is used instead of a topic output.