IRIDA Next is an open source bioinformatics platform for the storage, management, and analysis of genomic sequences and metadata.
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#sssdTo 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.
$ devenv up
$ bin/setup
Navigate in your browser to http://localhost:3000
bin/rails test:allHEADLESS=false bin/rails test:systemView Coverage:
Open coverage/index.html
See docs.
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
- Hooks are configured in
lefthook.yml - Install hooks with
bundle exec lefthook install --reset-hooks-path(also run automatically bybin/setup) - On commit, staged files matching configured patterns are checked and auto-fixed
- You can bypass hooks with
git commit --no-verify(not recommended)
-
Run all formatters manually:
bin/rubocop -a pnpm run format
pnpm run herb:lint.prettierignoreexcludes build outputs, dependencies, and generated files from Prettier formatting