117 lines
3.5 KiB
TOML
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"
|