Add Bun language support

Implements Bun as a new language option for pre-commit hooks, enabling
hooks to run using the Bun JavaScript runtime and package manager.

- Add bun.py language implementation with binary download/install
- Support system-installed Bun or automatic version download
- Add comprehensive tests including version handling and hook execution
- Register bun in all_languages.py
- Include test repository fixture for integration tests
This commit is contained in:
Matan Shavit 2025-10-28 21:15:51 -04:00
parent 65175f3cf3
commit ae5018d3e5
No known key found for this signature in database
GPG key ID: 2093205717EFF8A5
6 changed files with 366 additions and 0 deletions

View file

@ -1,6 +1,7 @@
from __future__ import annotations
from pre_commit.lang_base import Language
from pre_commit.languages import bun
from pre_commit.languages import conda
from pre_commit.languages import coursier
from pre_commit.languages import dart
@ -25,6 +26,7 @@ from pre_commit.languages import system
languages: dict[str, Language] = {
'bun': bun,
'conda': conda,
'coursier': coursier,
'dart': dart,