Skip to content

phac-nml/irida-next

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,383 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IRIDA Next

IRIDA Next is an open source bioinformatics platform for the storage, management, and analysis of genomic sequences and metadata.

Contributing

devenv is used to provide a reproducible development environment for this project. Follow the getting started instructions (note: I recommend going with single-user mode for nix which can be found under the WSL2 tab, and then installing deven under the Nix profiles (requires experimental flags)).

Note: to use Nix profiles you will need to create the following file with the following content

~/.config/nix/nix.conf:

experimental-features = nix-command flakes

Note: If using a linux system with ldap auth via sssd, then install the following with nix.

nix profile install nixpkgs#sssd

To automatically load the environment you should install direnv and then load the direnv.

# The security mechanism didn't allow to load the `.envrc`.
# Since we trust it, let's allow it execution.
direnv allow .

At this point you should see the nix commands available in your terminal.

Startup the services

$ devenv up

Run the setup script (which will by default startup the application)

$ bin/setup

Navigate in your browser to http://localhost:3000

Test

bin/rails test:all

Running tests headful

HEADLESS=false bin/rails test:system

View Coverage:

Open coverage/index.html

Documentation

See docs.

Pre-commit Hooks & Formatting

This project uses Lefthook (via Bundler) to automatically format and lint code before each commit. The following tools run on staged files:

  • RuboCop: Ruby files (.rb) are auto-corrected and linted
  • Prettier: JavaScript, TypeScript, CSS, JSON, and Markdown files are formatted
  • ESLint: JavaScript files are auto-fixed
  • Herb: HTML+ERB templates (.erb) are formatted and linted
  • i18n-tasks: Locale files are normalized (i18n-tasks normalize) when locale YAML changes are staged

How it works

  • Hooks are configured in lefthook.yml
  • Install hooks with bundle exec lefthook install --reset-hooks-path (also run automatically by bin/setup)
  • On commit, staged files matching configured patterns are checked and auto-fixed
  • You can bypass hooks with git commit --no-verify (not recommended)

Manual formatting

  • Run all formatters manually:

    bin/rubocop -a
    pnpm run format

Manual linting (ERB)

pnpm run herb:lint

Ignore files

  • .prettierignore excludes build outputs, dependencies, and generated files from Prettier formatting

Releases

No releases published

Packages

 
 
 

Contributors