Moonrepo phát hành Moon v2.0 với chuỗi công cụ plugin WASM và CLI được thiết kế lại
Moonrepo vừa phát hành phiên bản moon v2.0 với mã danh "Phobos", đánh dấu bản cập nhật lớn đầu tiên kể từ v1. Phiên bản mới giới thiệu hệ thống chuỗi công cụ dựa trên plugin WASM, hỗ trợ nhiều định dạng cấu hình và cải thiện đáng kể việc quản lý tác vụ cũng như tích hợp Docker.

Moonrepo, nền tảng năng suất cho nhà phát triển chuyên về quản lý monorepo, đã chính thức phát hành moon v2.0 với mã danh "Phobos". Đây là phiên bản chính đầu tiên kể từ v1, ra mắt sau quá trình phát triển kéo dài gần hai tháng qua các giai đoạn alpha, beta và release candidate.
Bản cập nhật mang đến hệ thống chuỗi công cụ (toolchain) dựa trên plugin, hỗ trợ nhiều định dạng tệp cấu hình, một giao diện dòng lệnh (CLI) được tái thiết kế hoàn toàn, cùng các cải tiến về kế thừa tác vụ và tích hợp Docker.
Hệ thống chuỗi công cụ dựa trên WASM
Thay đổi đáng chú ý nhất trong moon v2.0 là sự chuyển dịch từ hệ thống nền tảng được mã hóa cứng (hard-coded) sang kiến trúc chuỗi công cụ dựa trên plugin WASM. Trước đây, các chuỗi công cụ được tích hợp sâu vào lõi của moon, giới hạn việc hỗ trợ ngôn ngữ chỉ trong những gì đội ngũ phát triển xây dựng trực tiếp.
Hệ thống mới cho phép cộng đồng tạo ra các plugin chuỗi công cụ tùy chỉnh cho bất kỳ ngôn ngữ hoặc runtime nào. Nó hỗ trợ mở rộng đồ thị dự án, sửa đổi lệnh tác vụ, tích hợp vào quy trình Docker và quản lý cài đặt công cụ thông qua proto, trình quản lý phiên bản đồng hành của moonrepo.
Cấu hình đa dạng và CLI được tái thiết kế
Song song với việc cải tổ chuỗi công cụ, moon v2.0 giờ đây hỗ trợ các định dạng tệp cấu hình JSON, JSONC, HCL, Pkl và TOML, ngoài YAML. Giao diện dòng lệnh (CLI) đã được viết lại với lệnh cấp thấp mới là moon exec. Lệnh này đóng vai trò là nền tảng cho moon ci, moon check và moon run, cung cấp lớp thực thi thống nhất với khả năng song song hóa công việc và lọc các mục bị ảnh hưởng.
Binary viết tắt moonx đã được ổn định hóa thành một tệp thực thi độc lập, đồng thời các dấu nhắc chọn dự án và tác vụ tương tác cũng đã được thêm vào cho các lệnh không cung cấp định danh.
Cải thiện kế thừa tác vụ và tích hợp Docker
Tính năng kế thừa tác vụ - một trong những điểm mạnh nhất của moon - đã được viết lại để dựa trên cấu hình thay vì dựa vào quy ước đặt tên tệp. Cài đặt mới inheritedBy cho phép người dùng xác định tiêu chí như chuỗi công cụ, stack, ngôn ngữ và thẻ tag để kiểm soát việc kế thừa tác vụ giữa các dự án. Các tác vụ hiện có thể liên kết với nhiều chuỗi công cụ. Việc xử lý tệp .env cũng được cải thiện với tính năng tải tự động các tệp .env.local và tệp dành riêng cho môi trường tại thời điểm thực thi thay vì khi tạo đồ thị.
Đối với các nhóm làm việc với Docker, moon v2.0 giới thiệu khả năng ghi đè cài đặt Docker cho từng dự án và hỗ trợ các mẫu Dockerfile tùy chỉnh được hỗ trợ bởi Tera.
Di chuyển và vị thế trên thị trường
Lớp VCS (Hệ thống kiểm soát phiên bản) đã được viết lại với việc triển khai Git mới hỗ trợ tốt hơn worktrees và submodule, cùng với hệ thống hooks không còn ghi trực tiếp vào .git/hooks.
Việc di chuyển từ moon v1 bao gồm một số thay đổi mang tính phá vỡ (breaking changes). Tuy nhiên, nhóm phát triển đã cung cấp lệnh moon migrate v2 chuyên dụng để tự động hóa phần lớn quy trình. Người dùng cần lưu ý rằng lệnh moon upgrade từ v1 sẽ không hoạt động do thay đổi trong định dạng phân phối.
Trong bối cảnh các công cụ monorepo hiện nay, moon chiếm một vị thế riêng biệt. Được viết bằng Rust, moon được mô tả là lựa chọn tiềm năng cho các kho chứa đa ngôn ngữ (polyglot repos như Node.js + Rust + Go) hoặc các đội nhóm muốn quản lý chuỗi công cụ có tính tái tạo cao tích hợp sẵn.
Bài viết liên quan

Phần mềm
Intel và AMD vá tổng cộng 70 lỗ hổng bảo mật trong Patch Tuesday tháng 5
13 tháng 5, 2026

Phần mềm
Plugin Checkmarx Jenkins bị xâm phạm trong cuộc tấn công chuỗi cung ứng
11 tháng 5, 2026

Công nghệ
Substrate (YC S24) tuyển dụng Technical Success Manager cho nền tảng AI chuyên xử lý thanh toán y tế
13 tháng 5, 2026
