"""Nox configuration file.""" from shutil import copytree from nox import Session, session @session() def lint(session: Session) -> None: session.install("ruff") session.run("ruff", "check", "--fix") session.run("ruff", "format") @session() def mypy(session: Session) -> None: session.install("-e", ".[dev]", "mypy", "types-PyYAML", "types-Markdown") session.run("mypy") @session def build(session: Session) -> None: """Run unit tests.""" session.install("nodeenv", "git+https://git.collectivit.org/collectivit/jean-website") session.run_install("nodeenv", "-p") session.run_install("npm", "install", "-g", "sass") session.log("Building website...") session.run("jwebsite", "build") session.log("Building css...") session.run("npx", "sass", "src/style.scss", "build/style.css", "--style=compressed") session.log("Copying static files to build directory...") copytree("assets", "build", dirs_exist_ok=True) @session() def devenv(session: Session) -> None: session.install("-e", ".[dev]")