Files
metabase/mise.toml
Stas Gavrylov 3f2ad8bd17 Upgrade Node.js to 22.23.2 (#80995)
* Upgrade Node.js to 22.23.2

* Use .nvmrc as mise Node version source
2026-08-26 16:46:12 +03:00

117 lines
3.5 KiB
TOML

#:schema https://mise.jdx.dev/schema/mise.json
# Metabase Development Environment
# =================================
#
# This file defines the tools required for Metabase development.
# We use mise (https://mise.jdx.dev) to manage tool versions consistently
# across all development machines.
#
# Getting started:
# 1. Run: ./bin/dev-install
#
# The install script handles all the setup.
# This will install mise, configure your shell, and set up all required tools.
#
# IDE/Editor users (not cd'd into the repo):
# ------------------------------------------
# If your workflow doesn't involve cd'ing into the repo (e.g., Emacs server,
# IDE running commands with absolute paths), you have three options:
#
# 1. Use mise shims (recommended for IDEs):
# Add ~/.local/share/mise/shims to your PATH instead of using `mise activate`.
# Shims determine the correct tool version at runtime based on the command's
# working directory.
#
# 2. Use the -C flag to specify the project directory:
# mise exec -C /path/to/metabase -- bun run build
#
# 3. Set MISE_PROJECT_DIR environment variable:
# MISE_PROJECT_DIR=/path/to/metabase bun run build
#
# For more info, see: docs/developers-guide/devenv.md > 'IDE and editor setup' Section
[settings]
# Automatically install tools when entering the project directory
auto_install = true
# Uses the version in each tool's idiomatic version file when installing
idiomatic_version_file_enable_tools = ["bun", "node"]
[env]
# Add bin/ to PATH so mage and other project scripts are available
_.path = ["{{ config_root }}/bin"]
# Disable corepack - we use bun installed via mise
COREPACK_ENABLE_AUTO_PIN = "0"
# =============================================================================
# Required Tools
# =============================================================================
[tools]
# Node.js - for frontend development, installed with the version specified in .nvmrc
# Bun - for package management and running scripts, installed with the version specified in package.json
# Java - for Clojure backend
# We require Eclipse *Temurin* (AdoptOpenJDK successor) for consistency.
java = "temurin-25.0.3+9.0.LTS"
# Clojure CLI - for backend development and REPL
clojure = "1.12.3"
# Babashka
babashka = "1.12.212"
# Python - for sqlglot installation via uv
python = "3.12"
# Uv - for sqlglot installation
uv = "0.10.2"
# =============================================================================
# Other Tools (quality of life)
# =============================================================================
#
# Project-required tools belong here.
# Anything custom should go to your personal mise.local.toml file (gitignored 👻)
#
# See: https://mise.jdx.dev/registry.html#tools
# bat - A cat clone with syntax highlighting
# https://github.com/sharkdp/bat
bat = "latest"
# fzf - A fuzzy finder for the terminal
# https://github.com/junegunn/fzf
fzf = "latest"
# fd - A fast alternative to find
# https://github.com/sharkdp/fd
fd = "latest"
# ripgrep - A fast alternative to grep
# https://github.com/BurntSushi/ripgrep
ripgrep = "latest"
# GitHub CLI - for GitHub operations from the terminal
# https://cli.github.com/
gh = "latest"
# AWS CLI - for AWS operations
# https://aws.amazon.com/cli/
awscli = "latest"
# One Password CLI - for password management
# https://developer.1password.com/docs/cli/get-started/
op = "latest"
# jq - Command-line JSON processor
# https://github.com/jqlang/jq
jq = "latest"
# actionlint - Linting for Github Actions workflows
# https://github.com/rhysd/actionlint
actionlint = "latest"