TypeORM chính thức ra mắt phiên bản 1.0 sau gần một thập kỷ, đánh dấu sự trở lại mạnh mẽ

Phần mềm05 tháng 6, 2026·4 phút đọc

TypeORM 1.0 đã được phát hành, mang đến bản cập nhật lớn đầu tiên kể từ năm 2016 với việc hiện đại hóa yêu cầu nền tảng, loại bỏ các API lỗi thời và củng cố bảo mật. Phiên bản này yêu cầu Node.js 20 trở lên và cho thấy dự án đang được bảo trì tích cực sau thời gian dài vắng bóng.

TypeORM chính thức ra mắt phiên bản 1.0 sau gần một thập kỷ, đánh dấu sự trở lại mạnh mẽ

TypeORM chính thức ra mắt phiên bản 1.0 sau gần một thập kỷ, đánh dấu sự trở lại mạnh mẽ

Đội ngũ phát triển TypeORM đã chính thức ra mắt TypeORM 1.0, phiên bản chính (major release) đầu tiên của framework ORM này phổ biến cho TypeScript và JavaScript, đánh dấu việc dự án thoát khỏi trạng thái "pre-1.0" vốn kéo dài từ năm 2016 đến nay.

Bản phát hành này không chỉ là một bước đi mang tính biểu tượng mà còn mang đến những thay đổi mang tính chiến lược, loại bỏ các API đã bị đánh dấu lỗi thời (deprecated) từ lâu, hiện đại hóa các yêu cầu nền tảng và khắc phục hàng loạt lỗi bug tích lũy trong chu kỳ 0.3.x.

Hiện đại hóa nền tảng và yêu cầu hệ thống

Thay đổi nổi bật nhất trong TypeORM 1.0 là việc nâng cấp cơ sở mã (codebase). TypeORM hiện được biên dịch sang tiêu chuẩn ECMAScript 2023. Điều này đồng nghĩa với việc Node.js 20 giờ đây là phiên bản tối thiểu được hỗ trợ, trong khi các bản cũ hơn như Node.js 16 và 18 đã bị ngừng hỗ trợ.

Ngoài ra, dự án cũng đã loại bỏ một số thư viện phụ thuộc nặng nề để tối ưu hóa hiệu suất:

  • Thay thế thư viện mysql cũ bằng mysql2.
  • Thay thế sqlite3 bằng better-sqlite3.
  • Chuyển đổi các thao tác băm (hashing) sang sử dụng module crypto native.

Các tính năng mới và cải tiến bảo mật

Phiên bản 1.0 tập trung vào khả năng xử lý dữ liệu thực tế với các cải tiến hấp dẫn cho lập trình viên:

  • InsertQueryBuilder cải tiến: Giờ đây hỗ trợ thực thi lệnh INSERT INTO ... SELECT FROM ... thông qua phương thức mới valuesFromSelect().
  • Hỗ trợ Returning: Các phương thức update()upsert() giờ đây có tùy chọn returning trên các hệ cơ sở dữ liệu hỗ trợ mệnh đề RETURNING.
  • Cú pháp await using: QueryRunner hiện hỗ trợ cú pháp await using để dọn dẹp tài nguyên tự động.

Về mặt bảo mật, TypeORM 1.0 đã được củng cố mạnh mẽ. Các truy vấn tham số hóa (parameterised queries) và định danh được thoát (escaped identifiers) hiện được áp dụng trên tất cả các driver cho introspection schema và lệnh DDL. Đồng thời, runtime validation được áp dụng chặt chẽ hơn cho các điều kiện orderBy và phương thức .limit().

Di chuyển và nâng cấp (Migration)

Để hỗ trợ cộng đồng developer chuyển đổi sang phiên bản mới, đội ngũ phát triển đã cung cấp một công cụ codemod tự động. Công cụ này giúp cập nhật các câu lệnh import, đổi tên API, cú pháp find options và các phụ thuộc trực tiếp tại chỗ.

Người dùng có thể xem trước các thay đổi trước khi áp dụng bằng lệnh:

npx @typeorm/codemod v1 src/ --dry

Một số thay đổi thủ công quan trọng cần lưu ý trong hướng dẫn nâng cấp bao gồm:

  • Loại bỏ alias Connection, chuyển sang sử dụng DataSource.
  • Loại bỏ các phương thức findByIdsfindOneById.
  • Thay đổi hành vi mặc định đối với các giá trị where không hợp lệ (thay vì bị âm thầm bỏ qua, giờ đây sẽ ném ra lỗi).

Người dùng NestJS sẽ không bị ảnh hưởng nhiều, tuy nhiên họ nên nâng cấp gói @nestjs/typeorm lên phiên bản v11.0.1 trở lên, việc mà codemod có thể thực hiện tự động.

Phản hồi của cộng đồng và vị thế trên thị trường

Sự ra mắt của phiên bản 1.0 đã mang lại tín hiệu tích cực cho cộng đồng. Trong nhiều năm qua, đã có nhiều lo ngại trên các diễn đàn như Reddit hay Hacker News về việc TypeORM có bị bỏ rơi hay không. Việc nhảy vọt lên phiên bản 1.0 được xem là lời khẳng định rõ ràng rằng việc bảo trì dự án đã đi vào quỹ đạo.

Trong bối cảnh thị trường ORM cho JavaScript/TypeScript đầy cạnh tranh với sự hiện diện của Prisma (vừa viết lại query engine ở phiên bản 7) và Drizzle (được đánh giá cao cho edge deployments), TypeORM vẫn giữ vững vị thế là lựa chọn tối ưu cho các mã nguồn hiện có, các mẫu thiết kế doanh nghiệp (enterprise patterns) và các hệ cơ sở dữ liệu đặc thù.

TypeORM là một dự án mã nguồn mã (open source) hỗ trợ cả mô hình Data Mapper và Active Record, tương thích với nhiều hệ cơ sở dữ liệu phổ biến như PostgreSQL, MySQL, MariaDB, SQLite, SQL Server, Oracle, MongoDB, và Google Cloud Spanner.

Chia sẻ:FacebookX
Nội dung tổng hợp bằng AI, mang tính tham khảo. Xem bài gốc ↗